java 实现自动生成部署文档_使用docsify 写开源文档+部署到云服务器

官网:https://docsify.js.org/#/

docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html 文件,所有转换工作都是在运行时进行。

这将非常实用,如果只是需要快速的搭建一个小型的文档网站,或者不想因为生成的一堆 .html 文件“污染” commit 记录,只需要创建一个 index.html 就可以开始写文档而且直接部署在 GitHub Pages。

d92183c76a3b6819475ba4f41deee805.gif

一、初始化项目

1.1 安装Node.js

下载地址:https://nodejs.org/dist/v8.9.4/node-v8.9.4-x64.msi

下载完成后点击安装。

查看node 版本,命令:node -v

版本:v8.9.4

1.2 安装docsify-cli工具

命令行执行:

npm i docsify-cli -g

复制代码

会在这个路径下

​C:\Users\Administrator\AppData\Roaming\npm\node_modules

生成 docsify-cli 文件夹

07516694db18d9731f9e2912feefe07a.png

1.3 初始化文档结构

先创建一个本地文件夹docs,然后执行命令

docsify init ./docs

复制代码

会生成如下目录:

-| docs/

-| .nojekyll 用于阻止 GitHub Pages 会忽略掉下划线开头的文件

-| index.html 入口文件

-| README.md 会做为主页内容渲染复制代码

直接编辑 docs/README.md 就能更新网站内容

遇到的问题:

初始化docsify文档不成功

升级node.js之后就成功了

078fb07e1365cdb8fcd05760266ed5a5.png

1.4 本地实时预览

docsify serve docs

复制代码

README文件:

# Headline

> An awesome project.

复制代码

预览效果:

5b9709e7b99362c5ddfaf0dc8874fa83.png

二、定制导航栏

2.1 定制导航栏

window.$docsify = {

name: 'PassJava-Learning',

repo: 'https://github.com/Jackson0714/PassJava-Platform',

loadNavbar: true,

loadSidebar: true, // 加载自定义侧边栏

maxLevel: 2, // 默认情况下会抓取文档中所有标题渲染成目录,可配置最大支持渲染的标题层级。

subMaxLevel: 4, // 生成目录的最大层级

mergeNavbar: true, // 小屏设备下合并导航栏到侧边栏

alias: { // 定义路由别名,可以更自由的定义路由规则。 支持正则

'/.*/_sidebar.md': '/_sidebar.md',//防止意外回退

'/.*/_navbar.md': '/_navbar.md'

}

}

复制代码

添加_sidebar.md文件来配置侧边栏

* 介绍

* [PassJava 功能介绍](introduction/PassJava_introduction_01.md)

* [PassJava 必备知识](introduction/PassJava_introduction_02.md)

* PassJava 架构篇

* SpringBoot 学习篇

* [SpringBoot整合JDBC](springboot-tech/spring-boot-05-data-jdbc.md)

* [SpringBoot整合Druid](springboot-tech/spring-boot-06-data-druid.md)

* [SpringBoot整合MyBatis](springboot-tech/spring-boot-07-data-mybatis.md)

* 工具篇

* [图床神器配置](tools/图床神器配置.md)

* [使用docsify写开源文档](tools/使用docsify写开源文档.md)

* [我的常用工具](tools/我的常用工具.md)

* 想法

* [打造一款刷Java知识的小程序2](idea/打造一款刷Java知识的小程序2.md)

复制代码

添加_navbar.md文件来配置顶部导航栏

* 演示

* [后台管理]()

* [小程序端]()

* 项目地址

* [后台平台](https://github.com/Jackson0714/PassJava-Platform)

* [后台管理](https://github.com/Jackson0714/PassJava-Portal)

* [学习教程](https://github.com/Jackson0714/PassJava-Learning)

复制代码

查看导航栏效果

29b2a3876f48adc3c1452748c908bdda.png

三、定制封面页

在index.html中添加封面页的配置

window.$docsify = {

coverpage: true

}

复制代码

添加_coverpage.md文件来配置封面页

![logo](images/logo.png)

# PassJava-Learning

> PassJava 学习教程,架构、业务、技术要点全方位解析。

PassJava 是一款帮助Java面试的开源系统,

可以用零碎时间利用小程序查看常见面试题,夯实Java基础。

采用流行的技术,如 SpringBoot、MyBatis、Redis、 MySql、

MongoDB、 RabbitMQ、Elasticsearch,采用Docker容器化部署。

[GitHub](https://github.com/jackson0714/PassJava-Learning)

[Get Started](README.md)

复制代码

查看封面效果

c46da2e19b777f8140523d6d318c304e.png

四、添加全文搜索

在index.html中添加全文搜索的配置

search: {

placeholder: '搜索',

noData: '找不到结果!',

depth: 3

},

}

复制代码

0d5c25642e88f62840025b900dbf9b42.png

五、添加代码高亮

在index.html中添加代码高亮的配置

复制代码

六、添加一键拷贝代码

在index.html中添加一键拷贝代码的配置

复制代码

七、在Github上部署文档

提交代码到github

Setting中开启github pages

9a7c2b4dac54ea12f1e3305e8914b50d.png

GitHub Pages配置

347ceec13caf1ac8c83cf999d45191f8.png

八、部署到云服务器

1.添加nginx配置文件

执行命令

sudo vim /etc/nginx/conf.d/pass_java_learning.conf

复制代码

更新配置信息

server {

listen 80;

server_name tech.jayh.club;

location / {

root /home/ubuntu/jay/passjava/passjava-learning/PassJava-Learning/docs;

index index.html;

}

}

复制代码

2.域名解析

主机记录:tech

记录类型:A

线路类型:默认

记录值:主机IP地址

b5289bb48eda86c0d17cd2d74cae6815.png

3.访问 tech.jay.club

4. 遇到的问题

404 未找到页面

可以通过命令查看错误日志

cat /var/log/nginx/error.log

复制代码

**原因:**docs 路径配置错误,下面三种路径都报404

​/home/jay/passjava/passjava-learning/PassJava-Learning/docs;

​/jay/passjava/passjava-learning/PassJava-Learning/docs;

​~/jay/passjava/passjava-learning/PassJava-Learning/docs;

解决方案:

改成 /home/ubuntu/jay/passjava/passjava-learning/PassJava-Learning/docs

403 限制访问

修改nginx.conf文件

sudo vim nginx.conf

复制代码

user www-data 改为 user root

重启 nginx 服务

sudo service nginx restart

复制代码

我是悟空,一只努力变强的码农!我要变身超级赛亚人啦!

48b6d535245c69e7b5fbe6bf94b542e2.png

你好,我是悟空哥,7年项目开发经验,全栈工程师,开发组长,超喜欢图解编程底层原理。正在编写两本PDF,分别是 1、Spring Cloud实战项目(佳必过),2、Java并发必知必会。我还手写了2个小程序,Java刷题小程序,PMP刷题小程序,点击我的公众号菜单打开!另外有111本架构师资料以及1000道Java面试题,都整理成了PDF,可以关注公众号 悟空聊架构 回复 悟空 领取优质资料。

转发->在看->点赞->收藏->评论!!! 是对我最大的支持!

《Java并发必知必会》系列:


版权声明:本文为weixin_39623355原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。