spring官方文档看了多少年, 不知道人家是怎么写出来的, 前一段时间折腾 undertow 这个小容器, 又看到了跟spring文档一样风格的文档, 好奇心作祟, 然后就折腾了一下

不折腾不要紧, 折腾后, 顺便把pybbs的整个文档给换了

我挺喜欢这种风格的, 不知道为啥, 好多人都说不好看

给张图先瞅瞅

先说一下我折腾的方法

找到undertow官方文档的开源地址, 把源码下载下来, 删删减减, 然后大致就知道怎么个回事了, 下面来说一下用法

创建项目

创建一个maven, 最简单的maven项目就可以, 删除src/main里的 resources 和 java 两个文件夹以及 test文件夹

在 pom.xml 文件里加上下面两个插件

org.asciidoctor

asciidoctor-maven-plugin

1.5.2

output-html

generate-resources

process-asciidoc

html5

coderay

./images

font

true

-

true

org.apache.maven.plugins

maven-assembly-plugin

assemble

package

single

assembly.xml

undertow-docs-${project.version}

false

target/

target/assembly/work

gnu

编写文档

不知道asciidoc文档怎么写的, 可以查看我另一篇博客 markdown与asciidoc简单写法区别

在 src/main/ 下创建一个文件夹 asciidoc 然后在这个文件夹里再创建一个文件 index.asciidoc 必须要是这个名字

全路径长这个样 src/main/asciidoc/index.asciidoc

另外再创建一个文件, 这个文件名字就可以随便起了, 比如 introduction.asciidoc

编写时要注意规范了

首先先写 introduction.asciidoc 里的内容, 在文档前后加上如下内容

// tag::main[]

这里是写内容的

// end::main[]

后面增加的文档里每一篇都要加上开头跟结尾这两句

其次是 index.asciidoc 文档的编写

格式如下

朋也社区文档

=====

朋也社区文档

:Author: 朋也

:Email:

:Date: 2019

:Revision: 1.0

:toc: left

== 简介

include::introduction.asciidoc[tags=main]

== 快速开始

== 接口文档

== Q&A

第一行是文档生成后的网页title, 下面的内容不用说了吧, 看前面名字意思就知道是啥了

可以看到在 index.asciidoc 里引入其它文档的写法是这样的 include::introduction.asciidoc[tags=main]

写法是固定的, 只需要更换文档的文件名就可以了, 前面, 后面的写法都不要动它就对了

生成文档

在终端里运行命令 mvn clean compile 即可构建项目然后生成文档, 文档生成地址在 ./target/generated-docs/ 下, 浏览器打开里面的 index.html 文件就看到效果了

在开发过程中, 可以使用命令 mvn asciidoctor:http 提前启动一个http服务, 端口监听在 2000 , 浏览器直接访问 http://localhost:2000/ 即可访问

开发好, 想看效果, 要首先运行一下命令 mvn compile 构建一下

打包

可以看到上面配置插件的时候, 还额外配置了一下 assembly 插件, 这货主要是打包用的, 它可以把 target/generated-docs 文件夹打包成 zip 包重命名

先在项目根目录下创建一个文件 assembly.xml 内容如下

xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

pybbs-docs

zip

true

target/generated-docs

images

可对内容进行适当的修改

想打包的话, 运行命令 mvn assembly:assembly 即可

文档图片

有时候写文档可能会加入一些图片, 具体做法如下

在 src/main/asciidoc/ 下创建一个文件夹 images 然后把图片文档都放在这个里面

文档里使用图片方法如下, 假如 images 文件夹里已经有了一个图片, 名字是 test.png

image:test.png[]

注意: 图片前不要带上 images , 这货生成文件的时候好像会自动带上

参考

原文链接:

assicdoc 转换html,使用asciidoc生成spring官网风格的文档相关推荐

  1. 分享如何从Spring官网下载PDF文档

    Spring官方文档一般都是线上查阅,偶尔本地离线环境下,就需要存储一份对应版本的官方文档了. Spring官方网站 Spring Home网站:https://spring.io/ 直接通过官网查阅 ...

  2. 教您怎么从spring 官网下载参考文档

    假如您使用spring,那么本经验可能帮助到您. 假如您使用spring的过程中,需要查询一些文档,那么本经验可能帮助到您. 假如您对下载spring的文档有疑惑,那么本经验可能帮助到您. 教您怎么从 ...

  3. 如何下载西门子官网的受限文档和软件固件等资源?

    如何下载西门子官网的受限文档和软件固件等资源? 西家官网以及论坛上资料种类很多,文档都很全,基本可以解决大部分工控行业的问题.但是大家可能也发现了一个问题,有些时候一些文档和软件等资源下载是受限制的, ...

  4. Vue Admin Plus、Vue Shop Vite 官网演示地址文档

  5. 如何利用Spring官网一键生成SpringBoot项目

    前言 在平日的学习工作中,有可能是公司需要得重新搭建一个新的SpringBoot项目,也有可能是开发自己想新建一个项目用来集成测试一些技术栈,无论出于何种目的,能快速搭建一个空的SpringBoot项 ...

  6. springboot创建项目(通过spring官网)详细

    Spring官网下载 官网自动生成springboot项目结构 https://spring.io/projects/spring-boot–进入后翻到最下面有个Spring Initializr点进 ...

  7. Spring官网阅读 | 总结篇

    接近用了4个多月的时间,完成了整个<Spring官网阅读>系列的文章,本文主要对本系列所有的文章做一个总结,同时也将所有的目录汇总成一篇文章方便各位读者来阅读. 下面这张图是我整个的写作大 ...

  8. Spring官网改版后下载方式

    2019独角兽企业重金招聘Python工程师标准>>> Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更"高大上" ...

  9. Spring官网阅读(三)自动注入

    上篇文章我们已经学习了1.4小结中关于依赖注入跟方法注入的内容.这篇文章我们继续学习这结中的其他内容,顺便解决下我们上篇文章留下来的一个问题-----注入模型. 前言: 在看下面的内容之前,我们先要对 ...

最新文章

  1. 从“人肉扩缩容”到云原生容量,90 后程序员的进化
  2. 按键的使用(一)------verilog
  3. ios自定义条形进度条
  4. vue data 值如何渲染_Vue执行流程解析
  5. HLS pragmas(1)bind_storage
  6. 【kafka】kafka获取消费组异常 EOFException: null KeeperErrorCode
  7. Spotlight on MySQL
  8. html 表格_HTML------表格
  9. css3boder-image属性使用
  10. 计算机WIN7动态硬盘分区,如何创建Win7虚拟磁盘分区
  11. threejs特效:扫光shader
  12. 从20s优化到500ms,我用了这三招
  13. 考研高数——积分中值定理证明
  14. 关于四川华图省考面试 1:1职位保护的承诺函
  15. R902520808、AA10VSO140DRS/32R-VPB22U00E液压变量柱塞泵
  16. IDEA中普通Java项目创建lib目录
  17. 东方通TongWeb前后端应用部署
  18. linux 射击 游戏,Ubuntu下安装第一人称射击游戏 Nexuiz 2.4.2(图)
  19. 中国集装箱涂料行业调研与投资前景研究报告(2022版)
  20. Qt实现播放Flash

热门文章

  1. 数字统计(信息学奥赛一本通-T1096)
  2. 20k+招聘要求(截图自boss直聘)
  3. 垃圾回收机制的各种疑问
  4. 获取今天是今年的第几周
  5. C++ 构造函数与this指针
  6. C++中为什么存在this指针?
  7. Mavn一个模块项目调用另一个模块的dao层接口
  8. java基础面试题题库六(传智专修学院2017级Java4班)
  9. 【Python】批量从doc简历中提取出需要的信息
  10. 【Kubernetes】 DaemonSet 详解