vuepress 结合 GitHub pages 打造自己的博客网站
参考链接vuepress 中文官方文档.
一.前期工作
1.新建一个空的文件夹执行
1 | npm init -y | 
2.安装依赖
1 | npm install -D vuepress | 
3.配置 package.json
1 | { | 
2 |   "scripts": { | 
3 |     "docs:dev": "vuepress dev docs", | 
4 |     "docs:build": "vuepress build docs" | 
5 |   } | 
6 | } | 
4.运行以下命令开始写作
1 | npm run docs:dev | 
二.配置项目
项目目录

1.项目根目录下新建 docs 文件夹
2.docs 文件夹下新建文件 .vuepress 文件夹
.vuepress 文件夹下新建 public 文件夹用来放静态资源
public 文件夹下放两张图片下面配置会用到
favicon.ico
home.png
3..vuepress 文件夹下新建 config.js 用来配置网站
1 | module.exports = { | 
2 |   title: '网站标题', | 
3 |   // base: 网站域名前缀对应自己的GitHub仓库名称 | 
4 |   // 一定要以/开头结尾,不然会出现资源找不到 | 
5 |   base: '/blog/', | 
6 |   port: 8888, // | 
7 |   description: 'description', | 
8 |   markdown: { | 
9 |     lineNumbers: true | 
10 |   }, | 
11 |   // 默认语言 | 
12 |   locales: { | 
13 |     '/': { | 
14 |       // 将会被设置为 <html> 的 lang 属性 (博客文章底部更新时间也会修改为中文时间) | 
15 |       lang: 'zh-CN' | 
16 |     } | 
17 |   }, | 
18 |   themeConfig: { | 
19 |     lastUpdated: '上次更新', // 博客文章底部添加更新时间 | 
20 |     serviceWorker: { | 
21 |       updatePopup: true, | 
22 |       updatePopup: { | 
23 |         message: '有新的内容', | 
24 |         buttonText: '点击更新' | 
25 |       } | 
26 |     }, | 
27 |     sidebarDepth: 2, // 侧边栏深度 | 
28 |     displayAllHeaders: true, | 
29 |     // 导航栏 | 
30 |     nav: [ | 
31 |       { text: '首页', link: '/' }, | 
32 |       { text: '我的csdn', link: 'https://blog.csdn.net/qq_39953537' }, | 
33 |       { text: 'github', link: 'https://github.com/l-x-f' } | 
34 |     ], | 
35 |     //  侧边栏 | 
36 |     sidebar: [ | 
37 |       // 数组配置第一个参数是路径 /home/ 指的是 docs 文件夹下的home文件夹下的README.md | 
38 |       // 第二个参数是侧边栏标题 | 
39 |       ['/home/', '欢迎页'], | 
40 | |
41 |       // 对象配置: 是两级目录 title 是指侧边栏一级标题 | 
42 |       // collapsable: false会让这个二级侧边栏一直展开 | 
43 |       // children里的字段又是一个数组配置,参数含义如上 | 
44 |         title: 'vue', | 
45 |         collapsable: false, | 
46 |         children: [ | 
47 |         //  路径  /vue/function-api  指的是 docs 文件夹下的vue文件夹下的function-api.md | 
48 |           ['/vue/function-api', ' vue Function API'], | 
49 |           ['/vue/amap', 'vue amap'] | 
50 |         ] | 
51 |       } | 
52 |     ] | 
53 |   }, | 
54 |   dest: './dist',  // 打包文件夹 | 
55 |   head: [ | 
56 |     [ | 
57 |       'link', | 
58 |       { | 
59 |         rel: 'icon', | 
60 |         href: '/favicon.ico' // 网站的icon 已经放到public文件夹下 | 
61 |       } | 
62 |     ] | 
63 |   ] | 
64 | }; | 
上面其他未注释配置项的含义见官网
3.docs 文件夹下新建文件 README.md 用来配置网站首页
1 | --- | 
2 | home: true              <!--home: true 表示这是首页 --> | 
3 | heroImage: /home.png    <!--heroImage:表示图片地址  上文提到已放到public文件夹下--> | 
4 | actionText: 快速上手 →   <!--actionText:按钮文字 --> | 
5 | actionLink: /home/      <!--按钮跳转链接 --> | 
6 | features: | 
7 |   - title: 简洁至上 | 
8 |     details: 以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。 | 
9 |   - title: Vue 驱动 | 
10 |     details: 享受 Vue + webpack 的开发体验,在 Markdown 中使用 Vue 组件,同时可以使用 Vue 来开发自定义主题。 | 
11 |   - title: 高性能 | 
12 |     details: VuePress 为每个页面预渲染生成静态的 HTML,同时在页面被加载的时候,将作为 SPA 运行。 | 
13 |     footer: MIT Licensed | Copyright © 2018-present Evan You | 
14 | --- | 
效果如图

三.部署
提示:以下仓库地址根据自己建的仓库更换
1.配置自己的 GitHub pages
新建一个仓库如 blog (仓库地址:https://github.com/l-x-f/blog)
如图

点击设置 settings 找到如图

如图选择 master branch

2.项目根目录下新建 deploy.sh
1 |  | 
2 | |
3 | success="更新成功" | 
4 | |
5 | # 确保脚本抛出遇到的错误 | 
6 | set -e | 
7 | |
8 | # 生成静态文件 | 
9 | npm run docs:build | 
10 | |
11 | # 进入生成的文件夹 | 
12 | cd ./dist | 
13 | |
14 | |
15 | git init | 
16 | git add -A | 
17 | git commit -m 'deploy' | 
18 | |
19 | # 自己的仓库地址,blog这个仓库名称和config.js里的base:/blog/保持一致 | 
20 | git push -f https://github.com/l-x-f/blog.git master | 
21 | echo $success; | 
22 | |
23 | # 回到之前的文件目录 | 
24 | cd - | 
3.打包上线
项目根目录下运行
1 | ./deploy.sh | 
4.然后在https://l-x-f.github.io/blog/这个地址就可以看到自己的网站了
5.如果想要把网站建在你的 github pages 的根目录下 https://l-x-f.github.io,你的仓库名称必须是l-x-f.github.io这样的 ,.github.io前面是你的 git 账户名称,vuePress 的配置文件 config.js 里的 base 改为 base:'/'即可。