前言
只听过vue,没听过vuepress?它可是新的vue全家桶成员之一,尤雨溪大神推出的一款好用的模板。
不信?请看Evan You github。star数已过万,并不少。
vuepress用于迅速搭建技术文档网站与个人博客,简单快捷,下面和我一起开始学习吧!
(想直接coding的同学可从第三节开始)
一、模块概述
1. 定义
Vue 驱动的静态网站生成器
2. 亮点
自己总结的vuepress优点
3. 同类模块横向对比
①. Nuxt:
- Nuxt: VuePress 能做的事情,Nuxt 理论上确实能够胜任,但Nuxt 是为构建应用程序而生的
- VuePress: 专注在以内容为中心的静态网站上,同时提供了一些为技术文档定制的开箱即用的特性
②. Docsify / Docute:
同样都是基于 Vue,然而它们都是完全的运行时驱动,因此对 SEO 不够友好
③. Hexo:
主题系统太过于静态以及过度地依赖纯字符串, 而不是基于Vue。同时,Hexo 的 Markdown 渲染的配置也不是最灵活的
④. GitBook:
- 当文件很多时,每次编辑后的重新加载时间长得令人无法忍受
- 默认主题导航结构也比较有限制性
- 主题系统也不是 Vue 驱动的
- GitBook 团队更专注于将其打造为一个商业产品而不是开源工具
二、成品展示
1. 技术文档网站:
vue全家桶官网:vue、vuex、vue-cli、vue-router以及vuepress本身
2. 个人博客:
博客1(默认主题)、博客2(自定义主题)
三、开始搭建
coding之前,建议大家先了解markdown语法,为之后的文档撰写做铺垫:传送门
1. 全局安装 VuePress
npm install \-g vuepress
2. 创建并进入项目
mkdir vuepress-demo && cd vuepress-demo
3. 初始化项目
npm init \-y // 默认配置yes
在生成的package.json
中,添加如下两个启动命令:
"scripts": {
"dev": "vuepress dev docs",
"build": "vuepress build docs"
}
4. 创建基本项目结构
官方只有推荐目录结构,并没有现成的cli,所以需要通过命令行或手动创建如下结构:
vuepress-demo
├─package.json
├─docs
| ├─README.md
| ├─.vuepress
| | ├─config.js
| | ├─public
| | | └avatar.png
| | | └spider.png
其中有后缀的是文件,没后缀的是文件夹
5. 配置config.js
该文件为项目最重要的配置文件,几乎所有配置项都是在此进行。
我们先来一个最简单的配置看看效果:
module.exports = {
title: '南宫的博客',
head: [ // 注入到当前页面的 HTML <head> 中的标签
['link', {
rel: 'icon', href: <