之前有很多朋友问我,我的开源项目文档网站是用什么搭建的。其实是用Docsify搭建的,具体可以参考如何写出优雅的开源项目文档 。Docsify用来搭建成体系的文档网站基本够用了,但有时候我们既有成体系的文章、又有碎片化的文章,如果把文章都挂上去,看起来未免有些凌乱,这时候我们可能需要搭建一个类似知识库的网站了。最近发现使用VuePress可以搭建一个功能强大的文档网站,推荐给大家!
SpringBoot实战电商项目mall(50k+star)地址:github.com/macrozheng/…
VuePress简介
VuePress是Vue驱动的静态网站生成器。对比我们的Docsify动态生成网站,对SEO更加友好。
使用VuePress具有如下优点:
- 使用Markdown来写文章,程序员写起来顺手,配置网站非常简洁。
- 我们可以在Markdown中使用Vue组件,如果你熟悉Vue的话会非常方便。
- 打包网站时会为每个页面预渲染生成静态的HTML,性能好,也有利于SEO。
Vdoing主题
一般我们使用VuePress搭建网站的时候,都会选择一个主题。这里选择的是vuepress-theme-vdoing
,一款简洁高效的知识管理&博客主题,用来搭建文档网站绰绰有余。
学了技术老忘怎么破?用Vdoing搭建一个知识库试试!它能帮助我们更好地管理知识,并能够快速地把遗忘的知识点找回来。
使用Vdoing主题具有如下优点:
- 知识管理:由于该主题具有目录、分类、标签等功能,可以方便地整合结构化或碎片化的内容。
- 简洁高效:以 Markdown 为中心的项目结构,内置自动化工具,以更少的配置完成更多的事。
- 沉浸式阅读:专为阅读设计的UI,配合多种颜色模式、可关闭的侧边栏和导航栏,带给你一种沉浸式阅读体验。
效果演示
我们先来看下成品效果,有三种不同模式可供选择,是不是够炫酷!
搭建
通过Vdoing搭建网站非常简单,就算你对Vue不熟悉也没关系。
- 首先我们需要去Vdoing的官网下载项目,下载地址:github.com/xugaoyi/vue…
- 下载完成后导入IDEA中,由于是Vue项目,导入成功后需要使用如下命令来安装依赖,之后以
dev
模式运行;
1 | bash复制代码# 安装 |
- 运行成功后,随便找个文章进去体验下,界面还是挺不错的,访问地址:http://localhost:8080/
- 还支持主题切换,比如切换到
深色模式
。
配置
由于Vdoing本身就是个完整的网站了,里面有很多我们不需要的文章和配置,所以我们得替换这些文章并自定义这些配置。
- 我们先来看下我自定义后的首页效果,这个主题还是非常简洁的,看起来挺舒服;
- 项目文件基本都在
docs
目录下,我们来看下这些文件的作用;
1 | lua复制代码docs |
- 大家都用过SpringBoot,有
约定优于配置
的说法,Vdoing也有这种说法,如果我们想要根据目录结构自动生成文章目录的话,需要给目录和文件添加序号,比如下面的目录;
- 在此目录结构下,一级目录被称为专栏,二级目录为专栏内容,专栏之间是相互独立的,上面的目录结构将生成如下结构的侧边栏,同时也会生成右侧的大纲栏;
- 如果你还想给专栏添加个目录页的话,可以在
00.目录页
文件夹中添加02.mall学习教程.md
作为目录,目录页内容如下,permalink
可以指定目录页的永久路径;
1 | markdown复制代码--- |
- 接下来通过如下地址就可以访问目录页了:http://localhost:8080/mall-learning/
- 当然你也可以修改导航栏配置
nav.js
,这样会访问起来会方便许多;
1 | js复制代码module.exports = [ |
- 添加成功后导航栏显示效果如下,点击导航栏即可跳转到该目录;
- 其实你还可以在首页
index.md
中通过添加feature
来实现快速访问,这里我们创建了三个feature
;
1 | markdown复制代码--- |
- 首页显示效果如下;
- 每次我们创建文章的Markdown文件时,会自动生成
front matter
,比如下面这个格式;
1 | markdown复制代码--- |
- 下面分别介绍下这些属性的作用:
- title:文章标题,默认为文件名称;
- date:文章日期,默认为文件创建日期;
- permalink:文件访问永久链接,可以自行修改;
- categories:文章的分类,根据目录会自动生成;
- tags:文章标签,方便碎片化文章的查找。
- 如果你仔细看下文章列表的话,可以发现有的文章会显示摘要,而有的不会显示,我们可以通过
<!-- more -->
注释来控制摘要的显示,该注释之前内容均会作为摘要来显示;
- 文章列表是否显示摘要对比如下;
- 如果你想修改文章作者信息、侧边栏是否折叠、社交信息、页面底部版权信息等信息的话,可以修改主题配置文件
themeConfig.js
;
1 | js复制代码// 主题配置 |
- Vdoing添加了很多插件,有些你用不上,可以通过修改
plugins.js
来禁用,比如禁用下百度统计插件,第二个参数改为false
就行了;
1 | js复制代码// 插件配置 |
- Vdoing浅色主题默认代码块主题也是浅色主题,我们可以通过修改
palette.styl
文件来改成深色主题;
1 | sass复制代码 // 浅色模式 |
- 我们放在
docs
一级目录下的带序号的专栏默认会生成目录,如果我们有些碎片化的文章不想生成结构化目录的话,可以放在_posts
目录下;
- Linux命令这篇文章就没有生成结构化目录,只是使用文章中的二级标题生成了个目录。
部署
VuePress生成网站也非常简单,一个命令完成打包,然后放置到Nginx的html目录下即可。
- 在命令行使用
npm run build
命令可以将项目打包成静态文件,输出文件目录为docs/.vuepress/dist
;
- 接下来把
dist
目录下的所有文件复制到Nginx的html
目录下即可完成部署,部署后显示内容如下。
总结
使用VuePress+Vdoing来搭建文档网站不仅炫酷而且功能强大!对比Docsify的动态生成文档,VuePress生成静态页面性能更好,同时对SEO也更友好。 如果你只想搭建简单的单项目文档的话,Docsify基本上也够用了。如果你想搭建多项目文档,或者博客网站的话,还是推荐你使用VuePress的。
参考资料
- vuepress-theme-vdoing主题官网:doc.xugaoyi.com/
- VuePress官网:vuepress.vuejs.org/zh/
项目地址
本文 GitHub github.com/macrozheng/… 已经收录,欢迎大家Star!
本文转载自: 掘金