使用asciidoc生成spring官网风格的文档

栏目: Java · 发布时间: 5年前

内容简介:spring官方文档看了多少年, 不知道人家是怎么写出来的, 前一段时间折腾 undertow 这个小容器, 又看到了跟spring文档一样风格的文档, 好奇心作祟, 然后就折腾了一下不折腾不要紧, 折腾后, 顺便把pybbs的整个文档给换了我挺喜欢这种风格的, 不知道为啥, 好多人都说不好看

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

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

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

给张图先瞅瞅

使用asciidoc生成spring官网风格的文档

先说一下我折腾的方法

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

创建项目

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

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

<build>
  <plugins>
    <plugin>
      <groupId>org.asciidoctor</groupId>
      <artifactId>asciidoctor-maven-plugin</artifactId>
      <version>1.5.2</version>
      <executions>
        <execution>
          <id>output-html</id>
          <phase>generate-resources</phase>
          <goals>
            <goal>process-asciidoc</goal>
          </goals>
          <configuration>
            <backend>html5</backend>
            <sourceHighlighter>coderay</sourceHighlighter>
            <attributes>
              <imagesdir>./images</imagesdir>
              <icons>font</icons>
              <sectanchors>true</sectanchors>
              <!-- set the idprefix to blank -->
              <idprefix/>
              <idseparator>-</idseparator>
              <docinfo1>true</docinfo1>
            </attributes>
          </configuration>
        </execution>
      </executions>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <executions>
        <execution>
          <id>assemble</id>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
          <configuration>
            <descriptors>
              <descriptor>assembly.xml</descriptor>
            </descriptors>
            <!--<recompressZippedFiles>true</recompressZippedFiles>-->
            <finalName>undertow-docs-${project.version}</finalName>
            <appendAssemblyId>false</appendAssemblyId>
            <outputDirectory>target/</outputDirectory>
            <workDirectory>target/assembly/work</workDirectory>
            <tarLongFileMode>gnu</tarLongFileMode>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

编写文档

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

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

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

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

编写时要注意规范了

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

// tag::main[]

这里是写内容的

// end::main[]

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

原链接文: https://tomoya92.github.io/2019/05/07/asciidoc-generator-doc/

其次是 index.asciidoc 文档的编写

格式如下

朋也社区文档
=====
朋也社区文档
:Author:    朋也
:Email:     <py2qiuse@gmail.com>
: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 内容如下

<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
    <id>pybbs-docs</id>
    <formats>
       <format>zip</format>
    </formats>
    <includeBaseDirectory>true</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>target/generated-docs</directory>
            <outputDirectory/>            
        </fileSet>
        <fileSet>
            <outputDirectory>images</outputDirectory>
        </fileSet>
    </fileSets>
</assembly>

可对内容进行适当的修改

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

文档图片

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

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

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

image:test.png[]

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

参考

原文链接:


以上所述就是小编给大家介绍的《使用asciidoc生成spring官网风格的文档》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

产品的视角:从热闹到门道

产品的视角:从热闹到门道

后显慧 / 机械工业出版社 / 2016-1-1 / 69.00

本书在创造性的提出互联网产品定义的基础上,为读者提供了一个从0基础到产品操盘手的产品思维培养方法! 全书以互联网产品定义为基础,提出了产品思维学习的RAC模型,通过认识产品、还原产品和创造产品三个阶段去培养产品思维和产品认知。 通过大量的图片和视觉引导的方法,作者像零基础的用户深入浅出的描绘了一条产品经理的自我修养路径,并且提供了知识地图(knowledge map)和阅读雷达等工具,......一起来看看 《产品的视角:从热闹到门道》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具