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语法相对简单,属于纯文本标记语法。

相关文章
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
2106 13
|
小程序 前端开发 Java
基于微信小程序的电影院订票选座系统的设计与实现(程序+数据库+)
基于微信小程序的电影院订票选座系统的设计与实现(程序+数据库+)
|
弹性计算 Java Nacos
Spring Cloud Alibaba Seata 配置
Spring Cloud Alibaba Seata 配置
|
测试技术 macaca Android开发
Macaca框架及基础原理
一、Macaca框架 PS:上图所有模块均可以在官方github上找到对应的源码 https://github.com/macacajs 二、各模块浅析 2.1、Macaca 2.1. macaca-cli Macaca提供的命令行工具 $macaca server 启动server $mac.
7222 0
|
Web App开发 域名解析 缓存
设计模式-深入理解各种代理模式(2)通俗代码版
3》多代理模式:提高或增强代理的其他业务,如:拦截、过滤等 public interface IGamePlayer {//登录游戏public void login(String user,String password);//杀怪,这是网络游戏的主要特色public void killBoss();//升级public void upgrade(); } --- public
1146 0
|
13天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
5295 28
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考

热门文章

最新文章