[toc]
基于 vuepress 创建的模板,用于快速创建自己的技术博客,学习笔记,或者自己写的某个库的文档。
模板主要做的事:
- 根据文件和目录的组织结构来自动生成导航栏和侧边栏;
- 配置了 eslint, markdownlint, stylelint 等规范检查工具
模板会有一些特有的约定,但是相较于每次增删改一个文件或目录时,都要手动去修改导航栏配置或侧边栏配置数据时,省去了这些麻烦的事情,好让我们只需要关注在写作上面即可,写完文章后不需要做什么即可拥有对应的导航栏和侧边栏。
VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。
每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。
# 先在远程创建一个自己项目的空的代码仓库,然后将它克隆到本地电脑上。
# 克隆自己的代码仓库到电脑本地
git clone https://github.com/xxx/xxx.git
# 进入项目目录
cd xxx
# 关联本仓库 uniapp-vant-template 到自己的项目
# 实际上就是添加一个远程仓库,将这个远程命名为 temp
git remote add temp https://github.com/drylint/vuepress-template.git
# 从本模板拉取代码到自己的项目,以后有更新时也执行此命令拉取所有更新
git pull temp master
# 安装依赖
npm install
# 运行项目 (开发时使用)
npm run serve
# 打包项目 (发布时使用)
npm run build
# 开发一些功能后,推送到自己的仓库
git push
开始写一些东西:
docs
目录下的所有文件和目录,除了.vuepress
以外,其他的可以全部删除。- 在
docs
目录下新建README.md
,然后可以在其中写一些文字了,这个文件将会打包作为首页。 - 在终端命令行运行
npm run serve
,然后稍等一下即可看到控制台显示了一个网址,通常是http://localhost:8080/
- 按住
ctrl
然后使用鼠标左键单击那个链接即可在浏览器打开进入首页了,可以看到刚才书写的内容已经出现在页面上。 - 配置自己的网站标题,logo 等信息,在
docs/.vuepress/config.js
中配置,具体的配置项可以参照 vuepress 配置 。
VuePress 遵循 「约定优于配置」 的原则,所以此模板完全遵循官方约定及配置。
- 所有文档放置在
docs/
目录下 - 每一个文件夹下的
README.md
或者index.md
文件都会被自动编译为index.html
,对应的链接将被视为/
,所以目录内不要同时拥有README.md
和index.md
- 不需要生成导航或侧边栏的文件或文件夹命名以
_
或.
开头,但是依然可以通过对应 URL 进行访问 - 如果不需要打包成页面,也就是不能通过 URL 访问,可以放在根目录下的
temp
目录中,通常用于草稿或未完成的文章等。
此模板编写了一个 docs/.vuepress/utils/NavAndSidebar.js
文件来根据 docs
下的文件和目录结构,自动递归生成一个导航栏和对应页面的侧边栏。
注意,有些文章可能不想暴露到导航栏或者侧边栏中,本项目约定为:所有使用 _
或 .
开头来命名的文件和目录均不会生成到导航栏或是侧边栏。
- 如果目录内出现
README.md
或者index.md
文件,则此目录名会作为导航栏的一个链接,点击此链接后,此目录内的所有页面将作为此链接的侧边栏内容。 - 否则,将会一直递归生成导航栏配置。
- 导航栏嵌套深度不能超过 3 层,否则会报错。
项目配置了 eslint, markdownlint, stylelint 等规范检查工具,但是如果需要在编写的时候有及时的错误提示,需要在 VS Code 插件中安装 eslint
, markdownlint
, stylelint
工具。
同时,本仓库也将这几个需要的 VS Code 插件作为推荐插件放在了共享配置 .vscode/extensions.json
里面,通常来说,如果打开了本项目,如果 VS Code 检测到这些插件没有被安装,应该会弹出弹窗询问是否需要安装这些插件。