vuepress wiki系统
支持markdown的wiki系统
一.背景
VuePress 由两部分组成:第一部分是一个极简静态网站生成器,它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。
每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。
优势
- markdown编写
- 静态化页面
- 轻量化,不需要数据库等的支持,可以与github wiki系统集成
二.基本使用
- 安装
- 安装node >8
- npm vuepress i -g
- 搭建
VuePress 遵循 “约定优于配置” 的原则,推荐的目录结构如下:
.
├── docs
│ ├── .vuepress (可选的)
│ │ ├── components (可选的)
│ │ ├── theme (可选的)
│ │ │ └── Layout.vue
│ │ ├── public (可选的)
│ │ ├── styles (可选的)
│ │ │ ├── index.styl
│ │ │ └── palette.styl
│ │ ├── templates (可选的, 谨慎配置)
│ │ │ ├── dev.html
│ │ │ └── ssr.html
│ │ ├── config.js (可选的)
│ │ └── enhanceApp.js (可选的)
│ │
│ ├── README.md
│ ├── guide
│ │ └── README.md
│ └── config.md
│
└── package.json
- config.js 核心配置文件
主要维护导航菜单配置
- nav
顶部导航栏
nav: [
{text: '主页', link: '/'},
{text: 'JAVA', link: '/java/',
items: [
{text: 'spring', link: '/java/spring/'},
{text: 'jpa', link: '/java/jpa/'},
]
},
{text: 'VUE', link: '/vue/'},
{text: 'Hadoop', link: '/hadoop/'},
],
四个一级菜单,通过items嵌套二级菜单
- sidebar
侧边导航栏
sidebar: {
'/java/': [
['/java/', 'java简介'],
{
title: "spring",
collapsable: false,
children: [
['/java/spring/Security.md', 'spring安全框架'],
['/java/spring/Social.md', 'spring social'],
]
}],
}
1.侧边栏通过children进行嵌套
2.通过link地址匹配与nav保持同步
三.场景
- 项目文档系统
- 个人博客系统