秒建炫酷的开源项目文档,这款神器用起来够优雅

学习过我的开源项目mall的朋友应该知道,我有一个使用Docsify 搭建的项目文档网站。使用Docsify搭建文档网站虽然简单,但是缺少分类、标签、SEO这类功能,随着文档越来越多,查找起来有点不方便!今天给大家推荐一个炫酷的文档主题vuepress-theme-hope,用来搭建项目文档网站正合适!

vuepress-theme-hope 简介

vuepress-theme-hope是一个具有强大功能的VuePress主题,为Markdown添加了更多增强语法,可用于搭建项目文档和博客网站。支持分类和标签功能,可以让你的文档更加结构化!内置多种插件,功能强大,值得一试!

演示效果

我们先来看下使用vuepress-theme-hope搭建的网站演示效果,还是挺炫酷的!

安装

使用vuepress-theme-hope搭建文档网站非常简单,基本就是开箱即用,我们先来安装它。

首先在安装目录下创建docs目录,然后使用如下命令初始化项目;

npminit vuepress-theme-hope@next docs

初始化过程中会安装所有依赖,还需要对项目进行一些设置,具体参考下图;

安装完成后可以选择立刻启动,也可以使用如下命令启动;

npmrun docs:dev

启动成功后即可访问,下面是我已经配置完成的效果图,访问地址:http://localhost:8080/

我们可以发现该主题不仅支持多种颜色的切换,还支持深色模式和浅色模式,还是挺炫酷的!

使用

接下来介绍下vuepress-theme-hope主题的使用,主要是一些界面组件的使用和自定义配置。

目录结构

首先我们来了解下项目的整体目录结构,这对我们之后使用该主题会有很大的帮助。

这里需要注意的是,如果运行过程中出现错误,可以尝试删除.cache和.temp两个临时文件夹。

导航栏

一般来说我们都有修改顶部导航栏的需求,例如我们想要按照如下样式定制下导航栏;

可以修改navbar.ts文件,修改内容如下,修改后的导航栏可支持子级目录,既可以导航到本站,也可以导航到外部链接。

exportdefaultdefineNavbarConfig(["/","/home",    {text:"mall学习教程",icon:"launch",prefix:"/mall/",children: [            {text:"序章",icon:"note",link:"foreword/mall_foreword_01",            },            {text:"架构篇",icon:"note",link:"architect/mall_arch_01",            },            {text:"业务篇",icon:"note",link:"database/mall_database_overview",            },            {text:"技术要点篇",icon:"note",link:"technology/mybatis_mapper",            },            {text:"部署篇",icon:"note",link:"deploy/mall_deploy_windows",            }        ],    },    {text:"SpringCloud学习教程",icon:"hot",link:"/springcloud/springcloud",    },    {text:"项目地址",icon:"stack",children: [            {text:"后台项目",link:"https://github.com/macrozheng/mall",            },            {text:"前端项目",link:"https://github.com/macrozheng/mall-admin-web",            },            {text:"学习教程",link:"https://github.com/macrozheng/mall-learning",            },            {text:"项目骨架",link:"https://github.com/macrozheng/mall-tiny",            }        ],    },]);

侧边栏

修改侧边栏也是个常见需求,例如给项目文档配置下目录,方便查看,比如我的mall学习教程的侧边栏;

实现上面的效果需要修改sidebar.ts文件,值得一提的是vuepress-theme-hope支持针对不同路径实现不同的侧边栏,这样就不用把所有文档侧边栏糅合在一起了;

exportdefaultdefineSidebarConfig({"/mall/":[    {      text:"序章",      icon:"note",      collapsable:true,prefix:"foreword/",      children: ["mall_foreword_01","mall_foreword_02"],    },    {      text:"架构篇",      icon:"note",      collapsable:true,prefix:"architect/",      children: ["mall_arch_01","mall_arch_02","mall_arch_03"],    },    {      text:"业务篇",      icon:"note",      collapsable:true,prefix:"database/",      children: ["mall_database_overview","mall_pms_01","mall_pms_02"],    },    {      text:"技术要点篇",      icon:"note",      collapsable:true,prefix:"technology/",      children: ["mybatis_mapper","aop_log"],    },    {      text:"部署篇",      icon:"note",      collapsable:true,prefix:"deploy/",      children: ["mall_deploy_windows","mall_deploy_docker"],    }  ],"/springcloud":["springcloud","eureka","ribbon"]});

看下配置好的SpringCloud学习教程的侧边栏,和mall学习教程的是分开的,结构更加清晰的了,这是使用Docsify无法做到的。

图标

vuepress-theme-hope主题默认支持使用iconfont上的图标,我们可以在项目文档中直接使用,以下是一些精选图标;

由于在themeConfig.ts中配置了图标前缀,在使用时需要去除icon-前缀。

exportdefaultdefineThemeConfig({iconPrefix:"iconfont icon-",})

信息定制

在使用vuepress-theme-hope搭建自己的项目文档网站时,需要定制一些自己的信息,比如作者名称、文档链接、logo等信息,可以在themeConfig.ts中修改。

exportdefaultdefineThemeConfig({hostname:"http://www.macrozheng.com",author:{name:"macrozheng",url:"http://www.macrozheng.com",},iconPrefix:"iconfont icon-",logo:"/logo.png",repo:"https://github.com/macrozheng",docsDir:"demo/src",//navbar  navbar:navbar,//sidebar  sidebar:sidebar,footer:"默认页脚",displayFooter:true,blog:{description:"SpringBoot实战电商项目mall(50K+Star)的作者",intro:"https://github.com/macrozheng",medias:{Gitee:"https://gitee.com/macrozheng",GitHub:"https://github.com/macrozheng",Wechat:"https://example.com",Juejin:"https://juejin.cn/user/958429871749192",Zhihu:"https://www.zhihu.com/people/macrozheng",},},});

文档首页

首页信息可以在home.md中进行修改,比如下面样式的项目文档首页:

修改内容如下,支持在首页上添加多个自定义模块。

---home:trueicon:hometitle: mall学习教程heroImage: /logo.pngheroText: mall学习教程tagline: mall学习教程,架构、业务、技术要点全方位解析。mall项目(50k+star)是一套电商系统,使用现阶段主流技术实现。actions:  -text: 使用指南link: /mall/foreword/mall_foreword_01  -text: SpringCloud系列link: /springcloud/springcloudtype:secondaryfeatures:  -title: mall学习教程icon: markdowndetails: mall学习教程,架构、业务、技术要点全方位解析。mall项目(50k+star)是一套电商系统,使用现阶段主流技术实现。link: /mall/foreword/mall_foreword_01  -title: SpringCloud学习教程icon: slidesdetails: 一套涵盖大部分核心组件使用的Spring Cloud教程,包括Spring Cloud Alibaba及分布式事务Seata,基于Spring Cloud Greenwich及SpringBoot2.1.7。link: /springcloud/springcloud  -title: K8S系列教程icon: layoutdetails: 实实在在的K8S实战教程,专为Java方向人群打造!只讲实用的,抛弃那些用不到又难懂的玩意!同时还有配套的微服务实战项目mall-swarm,很好很强大!link:https://juejin.cn/column/6962026171823292452      - title: mall    icon: markdown    details: mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。    link: https://github.com/macrozheng/mall      - title: mall-admin-web    icon: comment    details: mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现。    link: https://github.com/macrozheng/mall-admin-web  - title: mall-swarm    icon: info    details: mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Docker、Kubernetes等核心技术。    link: https://github.com/macrozheng/mall-swarm      - title: mall-tiny    icon: blog    details: mall-tiny是一款基于SpringBoot+MyBatis-Plus的快速开发脚手架,拥有完整的权限管理功能,可对接Vue前端,开箱即用。    link: https://github.com/macrozheng/mall-tiny    copyright: falsefooter: MIT Licensed | Copyright © 2019-present macrozheng---

博客首页

vuepress-theme-hope主题不仅可以做项目文档网站,也可以做博客网站,我们先来看下它生成的博客首页样式;

分类及标签

---home:truelayout:Blogicon:hometitle: 主页heroImage: /logo.pngheroText: macrozheng的个人博客heroFullScreen:truetagline: 这家伙很懒,什么都没写...projects:  -icon: projectname: malldesc: mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。link:https://github.com/macrozheng/mall  - icon: link    name: mall-admin-web    desc: mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现。    link: https://github.com/macrozheng/mall-admin-web  - icon: book    name: mall-swarm    desc: mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Docker、Kubernetes等核心技术。    link: https://github.com/macrozheng/mall-swarm  - icon: article    name: mall-tiny    desc: mall-tiny是一款基于SpringBoot+MyBatis-Plus的快速开发脚手架,拥有完整的权限管理功能,可对接Vue前端,开箱即用。    link: https://github.com/macrozheng/mall-tinyfooter: 自定义你的页脚文字---

代码样式

当然如果你觉得vuepress-theme-hope默认的代码主题不够炫酷,也可以自定义一下,默认是one-light和one-dark主题,还有多达十几种深浅色主题可供选择;

需要修改下config.scss文件,这里改为了material系列的主题;

$codeLightTheme: material-light;$codeDarkTheme: material-dark;

浅色模式下代码样式如下;

深色模式下代码样式如下,还是挺炫酷的!

分类及标签

vuepress-theme-hope内置了分类和标签功能,可以让我们的项目文档更加结构化,查看内容也更方便,直接在文章顶部添加category和tag即可实现;

---title: mall整合SpringBoot+MyBatis搭建基本骨架date:2021-08-1916:30:11category:  - mall学习教程  - 架构篇tag:  - SpringBoot  - MyBatis---

添加成功后我们的文章标题下方会出现分类和标签;

点击分类可以查看该分类下所有文章;

点击标签可以查看所有相关文章,比起Docsify查找文章效率大大提高了!

总结

vuepress-theme-hope确实是一款好用的工具,用来搭建项目文档网站和博客网站正合适!尤其是它的分类、标签功能,让我们的文档能够更加结构化,查找也更加方便!

项目地址

https://github.com/vuepress-theme-hope/vuepress-theme-hope

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容