准备搭博客了。以前了解了一下vuepress
,它 极简并且又 支持MD语法,并且还可使用Vue
本身 开发个性化插件,还有一个重要的理由是有本身的网站感受很酷?!
相关的教程网络上已经一搜一大堆了,个人参考教程, 不少重复的劳动都简要写一下好了。html
# 全局安装 npm install -g vuepress # 创建my-blog文件夹 mkdir my-blog # 进入my-blog文件夹 cd my-blog # 初始化项目 该命令会自动生成package.json等文件 npm init -y
在my-blog
下建立文件结构以下所示:vue
.根目录 ├── docs │ ├── .vuepress │ │ ├── public 存放图片等静态资源 │ │ ├── styles │ │ │ └── palette.styl 主题样式->全局 │ │ └── config.js 配置 │ ├── README.md 首页 │ └── blog │ └── README.md └── package.json
⚠️注意:README.md
是必须的,访问/blog/
时将自动指向blog
文件夹下面的README.md
,没有该文件会引起编译错误。git
config.js
module.exports = { title: '游客17846', description: 'Just do it!', head: [// 会加入<head>中 ['link', { rel: 'icon', href: '/logo.ico' }],// 指定浏览器Tab图标 ['link', { rel: 'manifest', href: '/manifest.json' }],//PWA ['link', { rel: 'apple-touch-icon', href: '/logo.png' }]// 指定safari浏览器保存书签至桌面图标 ], serviceWorker: true, base: '/',// 部署时指定存放的项目的地址 markdown: { lineNumbers: true// 代码块行号显示 }, themeConfig: { logo: '/logo.png',// 主页显示图标 nav: [ { text: '首页', link: '/' },// 首页地址不想指定的话就不用改,默认指向docs下面的README.md { text: '博文', link: '/blog/' },// 默认指向blog下的README.md { text: 'GitHub', link: 'https://github.com/UAERNAME' } ], lastUpdated: '上次更新时间'// 页面最下方的最后更新时间戳 } };
参考资料:github
palette.styl
$accentColor = #87cefa // 主题色 $textColor = #000 // 文字颜色 $borderColor = #eaecef // 边框颜色 $codeBgColor = #282c34 // 代码背景颜色
这是全局样式文件,能够本身设置主题色等,另外在写本身的插件或页面时,这些样式能够继承使用。shell
package.json
在package.json
的"scripts"
里面添加以下代码:npm
{ ... "scripts": { "dev": "vuepress dev docs",// 开发环境运行 "build": "vuepress build docs"// 打包生成部署环境的文件 } ... }
也能够不添加,直接用vuepress dev docs
和vuepress build docs
,macOS下请在命令前加sudo
。json
接下来就能够跑一下试试了 => npm run dev
。windows
这部分有会遇到一些比较常见的错误/问题,参见第三部分浏览器
部署这里须要使用GitHub来托管代码,使用GitHub Pages
搭建静态站点,有的用就好了,要啥自行车。bash
在GitHub中新建一个仓库,该仓库将被用来存放打包生成好的用来部署的文件(就是npm run build
/vuepress build docs
命令生成的存放在docs/.vuepress
里面的dist
文件夹)。
⚠️注意:该仓库必须具备如下特征:
USERNAME.github.io
,注意这是用户名而不是昵称。该仓库不用克隆至本地。用户名能够从GitHub地址中看出来 -> 红圈内容,可不分大小写。
GitHub Pages
开启。步骤:进入仓库->点击选项卡中的Setting
->GitHub Pages
中选择master branch
。
上面的仓库用来存放部署项目编译后生成的文件,本仓库用来存放博客项目的源代码,就是my-blog
文件夹。
deploy.sh
在项目根目录建立deploy.sh
,写入如下内容:
# 确保脚本抛出遇到的错误 set -e # 编译生成静态文件 npm run build # 进入生成的文件夹 cd docs/.vuepress/dist git init git add -A git commit -m 'deploy' # 发布到上面创建的第一个仓库 git push -f git@github.com:USERNAME/USERNAME.github.io.git master # 返回上一次工做目录 cd -
在package.json
的scripts
中添加命令:
{ ... "scripts": { "dev": "vuepress dev docs",// 开发环境运行 "build": "vuepress build docs",// 打包生成部署环境的文件 // 自动执行deploy.sh脚本,执行自动编译并将dist上传至USERNAME.github.io仓库 "deploy": "sudo bash deploy.sh", } ... }
这里前面加了一个sudo
是由于macOS中执行须要管理员权限,windows下就不用加了,另外windows下执行的话须要在powershell中执行,cmd是不认得这个bash
的。
差很少一个博客项目就搭建完了,另外还搭建了自动化部署的一整套流程。
npm run dev
,固然也能够边写边运行,保存后经过热更新能够直接看到效果。npm run deploy
,就能够执行deploy.sh
脚本执行编译和自动部署。Typora
这个Markdowm
编写神器是很是好用?。通常是刚建的md
的文件里面没有写入任何字符,致使错误。
不知道为啥,我这里很常见,写着写着就这样,须要control + c
退出,而且从新npm run dev
。