docbook编写内核文档

简介: 【10月更文挑战第4天】linux早期内核文档使用docbook管理,Docbook提供了结构化文档的体系模板,使用SGML/XML定义了一系列文档元素,并可以把原始的文档源文件转换成各种文档格式。

linux早期内核文档使用docbook管理,Docbook提供了结构化文档的体系模板,使用SGML/XML定义了一系列文档元素,并可以把原始的文档源文件转换成各种文档格式。

转化示例:

xsltproc -o docbook.html /usr/share/xml/docbook/xsl-stylesheets-1.73.2/html/html.xsl docbook.xml
#通过模板文件转化定义文件为html格式

安装环境:

yum install docbook-style-xsl libxslt
#libxslt提供了命令操作, docbook-style-xsl提供了转换模板文件 
#文档地址http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
# 文档使用介绍地址 https://tdg.docbook.org/tdg/5.2/ch01

参数样式表:

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0">
<!--调用的样式表-->
<xsl:import href="/usr/share/xml/docbook/xsl-stylesheets-1.73.2/html/chunk.xsl"/>
<xsl:param name="chunker.output.encoding" select="'utf-8'"/> 
<!--标准信息所使用语言-->
<xsl:param name="l10n.gentext.language" select="'zh_cn'"/>
<!--指定样式表-->
<xsl:param name="html.stylesheet" select="'docbook.css'"/>
<!--对于警告类信息是否使用图形 0 1-->
<xsl:param name="admon.graphics" select="1"/>
<!--生成的 HTML 文件存放的起始目录-->
<!--如果没有在 Makefile 或命令中指定,取消这里的注释
<xsl:param name="base.dir" select="'../html/'"/>
-->
<!--生成的 HTML 文件内容是否进行缩排 yes no-->
<xsl:param name="chunker.output.indent" select="'yes'"/>
<!--给节编号 0 1-->
<xsl:param name="section.autolabel" select="0"/>
<!--节的编号是否包含章的编号 0 1-->
<xsl:param name="section.label.includes.component.label" select="1"/>
<!--表格边框的属性是否使用预设 CSS 来指定-->
<xsl:param name="table.borders.with.css" select="0"/>
<!--参考书目是否进行编号-->
<xsl:param name="bibliography.numbered" select="1"></xsl:param>
<!--目录深度-->
<xsl:param name="toc.max.depth" select="2"/>
<!--sect#页面上显示目录-->
<xsl:param name="generate.section.toc.level" select="0"/>
<!--sect#可以生成目录条目-->
<xsl:param name="toc.section.depth" select="2"/>
<!--目录中收录哪些内容-->
<!--包括 toc,title,figure,table,example,equation -->
<!-- nop 为空 -->
<xsl:param name="generate.toc">
appendix  toc
article/appendix  nop
article   toc,title
book      toc,title,example
chapter   toc,title
part      toc,title
preface   toc,title
qandadiv  toc
qandaset  toc
reference toc,title
sect1     toc
sect2     toc
sect3     toc
sect4     toc
sect5     toc
section   toc
set       toc,title
</xsl:param>
<!--在源码中插入 <?linebreak?> 标记,生成 Html 时替换为<br> -->
<xsl:template match="processing-instruction('linebreak')">
<br/>
</xsl:template>
</xsl:stylesheet>

使用Makfile编译

OBJECT = all
SOURCE =  docbook.xml
PARAM = param.xsl
ARG = --output html/
COMPILER = xsltproc
$(OBJECT):$(SOURCE) $(PARAM)
    $(COMPILER) $(ARG) $(PARAM) $(SOURCE)
clean:
    rm -rf ../html/*.html

最新的kernel文档使用是通过reStructuredText方式管理,reStructuredText语法相对简单,属于纯文本标记语法。

相关文章
|
7月前
|
自然语言处理 算法 前端开发
C++与Doxygen:精通代码文档化之道
C++与Doxygen:精通代码文档化之道
588 0
[11-22]MASM32编程获取文件语言、版本信息v3
[11-22]MASM32编程获取文件语言、版本信息v3
|
Linux 开发者
开发常用的 Linux 命令3(文本处理、打包和压缩)
开发常用的 Linux 命令3(文本处理、打包和压缩)
|
缓存 JavaScript iOS开发
iOS 逆向编程(十五)Cycript 语法进阶(封装 .cy 脚本文件)
iOS 逆向编程(十五)Cycript 语法进阶(封装 .cy 脚本文件)
191 0
|
Ubuntu 编译器 Linux
Linux驱动开发笔记(三):基于ubuntu的helloworld驱动源码编写、makefile编写以及驱动编译加载流程测试
前面学习了驱动的基础框架,上一篇编译了gcc7.3.0,那么为了方便很好的熟悉流程,本篇,将使用ubuntu18.04,直接编译ubuntu18.04的驱动,然后做好本篇文章的相关实战测试。
|
C语言
嵌入式(十四)——Makefile编写及多级目录
嵌入式(十四)——Makefile编写及多级目录
496 0
嵌入式(十四)——Makefile编写及多级目录
|
存储 测试技术 Python
python接口自动化(二十七)--html 测试报告——上(详解)
上一篇我们批量执行完用例后,生成的测试报告是文本形式的,不够直观,而且报告一般都是发给leader的,所以最好是直观一目了然,为了更好的展示测试报告,最好是生成 HTML 格式的。unittest 里面是不能生成 html 格式报告的,需 要导入一个第三方的模块:HTMLTestRunner。
206 0
python接口自动化(二十七)--html 测试报告——上(详解)
|
前端开发 测试技术 Python
python接口自动化(二十八)--html测试 报告——下(详解)
上一篇我们批量执行完用例后,已经生成的测试报告是生成 HTML 格式的。但是我们可以看出那个官方的测试报告既不美观也不大方,我们这里需要优化一下,优化的让人赏心悦目,就和看到一个美女一样看了一眼,忍不住回头再多看一眼 - _ - 并且把上一篇遇到的问题列举解决一下。
266 0
python接口自动化(二十八)--html测试 报告——下(详解)
gstreamer插件特别要注意事件处理(含代码范例)
gstreamer插件特别要注意事件处理(含代码范例)
176 0