在CentOS 8上搭建VuePress博客
在CentOS 8上搭建VuePress博客
什么是VuePress
VuePress 是尤雨溪(vue.js 框架作者)4月12日发布的一个全新的基于 vue 的静态网站生成器,实际上就是一个 vue 的 spa 应用,内置 webpack,可以用来写文档。详见 VuePress中文网 VuePress 由两部分组成:第一部分是一个极简静态网站生成器,它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。
每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。
开始搭建
安装Node.js
- 打开终端,输入
1 | wget https://npm.taobao.org/mirrors/node/latest-v12.x/node-v12.18.3-linux-x64.tar.xz |
或者前往Node.js官网寻找最新版的.tar.xz
文件的链接,下载。
这里如果提示缺失
wget
命令,请输入
sudo yum install -y wget
下载wget依赖包
- 创建并解压至Node.js安装⽬录
1 | sudo mkdir -p /usr/local/lib/nodejs |
- 验证node.js是否解压成功
1 | cd /usr/local/lib/nodejs/node-v12.18.3-linux-x64/bin |
如果显示了版本号,即安装成功。
注意:由于版本更新和下载的问题,未来最新版的肯定跟我这个版本号不相同,所以不要盲目复制粘贴以上的命令,注意命令中的node版本号是否不同。
配置环境变量
修改环境变量,使得能在任意⽬录下执⾏node命令
1
vim ~/.bash_profile
找到 PATH=$PATH:$HOME/bin,再按
I
键进行编辑,在PATH=$PATH:$HOME/bin 后⾯添加路径:/usr/local/lib/node-v12.18.3-linux-x64/bin
,结果为:PATH=\$PATH:\$HOME/bin:/usr/local/lib/nodejs/node-v12.18.3-linux-x64/bin
按esc键退出编辑模式,再输入:wq进行保存修改,然后输入命令重载一下:
source ~/.bash_profile
到其他⽬录下验证
1
2
3
4cd /home
node -v
npm version
npx -v如果有相应的显示,即Node.js安装完毕。
切换npm源
一、通过命令配置
命令
1
npm config set registry https://registry.npm.taobao.org
验证命令
1
npm config get registry
如果返回https://registry.npm.taobao.org,说明镜像配置成功。
二、通过npm安装
安装 cnpm
1
npm install -g cnpm --registry=https://registry.npm.taobao.org
验证 cnpm
cnpm -v
使用 cnpm
之后使用
cnpm
命令替换npm
命令。cnpm install xxx
代替npm install xxx
安装VuePress
- 全局安装
1 | npm install -g vuepress |
- 创建项目文件夹
1 | mkdir vuepress_blogs |
- 项目初始化
1 | npm init -y |
- 配置项目 VuePress中有两个命令:
vuepress dev docs
命令运行本地服务,通过访问http://localhost:8080即可预览网站;
vuepress build docs
命令用来生成静态文件。
默认情况下,放置在docs/.vuepress/dist目录中,当然你也可以在docs/.vuepress/config.js中的dest字段来修改默认存放目录。在这里将两个命令封装成脚本的方式,直接使用npm run docs:dev
和npm run docs:build
即可。
1
2
3
4
5
6
7vim package.json
修改scripts中的内容如下:
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
},1
2
3
4
5
6
7mkdir docs
cd docs
echo '# Hello VuePress - first blog!' >README.md
mkdir .vuepress
cd .vuepress
mkdir public
vim config.js
在 config.js 文件中配置网站标题、描述、主题等信息
1 | module.exports = { |
- title:网站标题
- description:网站描述
- head:额外的需要被注入到当前页面的HTML”head”中的标签,其中路径的”/”就是public资源目录。
- nav:导航栏配置,此配置主要用于配置导航栏的链接,例如以上主页的link为”/”,默认是根目录下的README.md。”/android/”链接到根目录docs下的android文件夹下的README.md文件。
- sidebar:侧边栏配置,你可以省略.md拓展名,同时以/结尾的路径将会被视为 */README.md。
- sidebarDepth:嵌套的标题链接深度,默认的深度为1。
- lastUpdated:最后更新时间。
到此,项目的结构差不多就出来了。
1 | vuepress_blogs |
docs :以后要在这⾥⾯写⽂章,直接在此⽂件夹下新建⽂件夹,然后再建 md⽂档就⾏,链接会⾃动⽣成。
README.md :这个 md文件 是以后的首页
.vuepress :这个⾥⾯会存放⼀些配置和组件
public : 静态⽂件存放地
config.js :配置⽂件,以后的所有配置基本都在这⾥写
package.json :运行脚本
- 运行vuepress博客
1 | cd .. |
vuepress build docs
命 令 ⽤ 来 ⽣ 成 静 态 ⽂ 件 , 默
认 情 况 下 , 放 置 在
docs/.vuepress/dist⽬录中,当然你也可以在docs/.vuepress/config.js中的dest字段
来修改默认存放⽬录。 vuepress dev docs
命令运⾏本地服务,通过访问(http://localhost:8080)即可预览⽹站。
在这⾥已经将两个命令封装成了脚本的⽅式,可以直接使⽤npm run docs:dev和npm run docs:build即可运行上述命令。
部署、推送到网站上
由于构建的时候生成静态页面,所以将dist文件夹中的内容可以部署在gitHub的pages或者coding的pages都可以。这里使用脚本的方式自动部署到github上。
安装Git
1 | yum -y install git |
顺便说一下,yum安装git被安装在/usr/libexec/git-core
目录下
创建一个deploy.sh
在 vuepress_blogs 下创建 deploy.sh 。
1 | touch deploy.sh |
编写脚本
1 |
|
再次编辑package.json
1 | { |
运行 npm run deploy
即可自动构建部署到github上。
编者的话
目前对于刚上手的我来说,VuePress还是比较简单的,只不过在Linux上安装会使用很多命令而已。对比起hexo,vuepress的配置过于繁杂,不过能看出vuepress还是拥有极高的自我定制性。