vuepress介绍
相信大家在学习vue的时候也看到了,官方文档逻辑清晰,设计合理,对我们的学习有很大的帮助。是不是也想有这么一个风格的网站,用来记录自己平时的一些积累。
vuepress就是为此而生,通过vuepress你可以搭建一个和vue官方文档一摸一样的网站,天然的友好seo,你可以不用关注任何设置,开箱即用,当然你也可以尽情折腾,创造属于自己style的网站。
实际上,vuepress网站就是一个类似vue全家桶的单页应用。如果你的vue比较熟练,你甚至可以随意开发,自定义主题。vuepress在构建时,会创造一个服务端渲染的版本,这样就类似于nuxt。
开始搭建
完整的搭建指南可以到vuepress官网查看,本篇只提供一个基础的示例
新建目录blog作为博客项目的主体, 依次执行以下代码
yarn init // 初始化
yarn add -D vuepress // 安装vuepress
安装好vuepress后,就可以写文章了。新建docs作为文章的存放目录,在docs下新建一个README.md,写入yaml数据
---
home: true
heroImage: /hero.png
actionText: 快速上手 →
actionLink: /zh/guide/
features:
- title: 简洁至上
details: 以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。
- title: Vue驱动
details: 享受 Vue + webpack 的开发体验,在 Markdown 中使用 Vue 组件,同时可以使用 Vue 来开发自定义主题。
- title: 高性能
details: VuePress 为每个页面预渲染生成静态的 HTML,同时在页面被加载的时候,将作为 SPA 运行。
footer: MIT Licensed | Copyright © 2018-present Evan You
---
还差一步我们就能看到我们的成果了,在package.json的script中添加指令
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs",
执行指令,访问本地地址即可看到熟悉的页面。
yarn docs:dev
部署
各个平台的部署指南可以到vuepress官网查看,本篇只提供一个github page的部署示例
-
在 docs/.vuepress/config.js 中设置正确的 base。
如果你打算发布到
https://<USERNAME>.github.io/,(需要首先创建<USERNAME>.github.io远程仓库)则可以省略这一步,因为 base 默认即是 "/"。如果你打算发布到
https://<USERNAME>.github.io/<REPO>/(也就是说你的仓库在https://github.com/<USERNAME>/<REPO>),则将 base 设置为/<REPO>/ -
在你的项目中,创建一个如下的
deploy.sh文件(请自行判断去掉高亮行的注释):#!/usr/bin/env sh # 确保脚本抛出遇到的错误 set -e # 生成静态文件 npm run docs:build # 进入生成的文件夹 cd docs/.vuepress/dist # 如果是发布到自定义域名 # echo 'www.example.com' > CNAME git init git add -A git commit -m 'deploy' # 如果发布到 https://<USERNAME>.github.io # git push -f git@github.com:<USERNAME>/<USERNAME>.github.io.git master # 如果发布到 https://<USERNAME>.github.io/<REPO> # git push -f git@github.com:<USERNAME>/<REPO>.git master:gh-pages cd -双击执行
deploy.sh,如果没有意外,博客就会自动部署到你想要发布的仓库。
使用自己的域名
vuepress也支持部署到自定义域名下,但是需要将自己的域名解析。如下图添加解析后即可
持续集成
整个blog项目提交github后,手动触发deploy.sh部署,也比较麻烦,有没有方法在push之后就自动触发呢。可以,我们通过travis-ci来达到目的。
-
登录www.travis-ci.org, 关联自己的github
-
在头像处选择
setting,打开博客仓库的设置,进入设置后,我们需要填入github的令牌{access_token: token} -
打开自己的github,点击
Generate new token,选择所有的选项,生成令牌,复制后填入步骤2 -
修改
deploy.sh
# 如果使用 travis 持续集成
git push -f https://${access_token}@github.com/<USERNAME>/<USERNAME>.github.io.git master
# git push -f https://${access_token}@github.com/<USERNAME>/<REPO>.git master:gh-pages
- 在blog项目根目录创建
.travis.yml,填入内容
language: node_js
sudo: required
node_js:
- 8.11.2
branch: master
cache:
directories:
- node_modules
script:
- ./deploy.sh
- 最后一步,将
deploy.sh变成可执行文件,执行命令:
git update-index --add --chmod=+x build.sh
这样每次push代码,都会自动部署,可以点击www.travis-ci.org/dashboard查看是否部署成功。