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

相关文章
|
安全 API 开发工具
oss加密的配置方法
阿里云OSS提供多种加密选项:SSE-OSS(默认或对象级AES-256加密)、SSE-KMS(使用KMS托管CMK)、临时密钥加密和客户端加密(CSE)。可通过控制台或API设置Bucket策略,使用HTTP头部指定加密方式。KMS和临时密钥可能涉及更复杂的密钥管理和权限配置。
1403 5
|
7月前
|
存储 调度
微信自动评论朋友圈,微信朋友圈自动发布工具,定时发朋友圈脚本
这个实现包含完整的微信朋友圈自动发布功能,支持定时发布、多图发布、任务持久化存储等功能
|
11月前
|
存储 人工智能 自然语言处理
AI 剧本生成与动画创作解决方案评测
用了阿里云的 AI 剧本生成与动画创作解决方案后,我感觉 AI 在内容创作领域真的很有潜力。这个方案不仅简化了动画创作流程,降低了技术门槛,还提高了内容生产的速度和质量。虽然在内容多样性和交互体验上还有提升空间,但总体来说,它是个实用又高效的解决方案,能满足实际生产需求,给创作者带来全新的体验。
390 5
|
9月前
|
人工智能 搜索推荐 程序员
用 Go 语言轻松构建 MCP 客户端与服务器
本文介绍了如何使用 mcp-go 构建一个完整的 MCP 应用,包括服务端和客户端两部分。 - 服务端支持注册工具(Tool)、资源(Resource)和提示词(Prompt),并可通过 stdio 或 sse 模式对外提供服务; - 客户端通过 stdio 连接服务器,支持初始化、列出服务内容、调用远程工具等操作。
2050 4
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
1352 13
|
机器人 iOS开发
空间音频是什么?
从单声道音频发展到双声道、再到多声道和环绕立体声,数字音频的表现力不断提升。空间音频(也称为三维声音或3D音频)并不只是通过增加声道来创造立体感,而是一种与视频空间化同步的音频处理过程。基于空间的音频甚至可以具有六个自由度,使用户能够互动。声音不仅要清晰动听,还要与空间场景完美契合,带来沉浸式体验。让我们一起深入了解一下空间音频技术。
|
小程序 前端开发 Java
基于微信小程序的电影院订票选座系统的设计与实现(程序+数据库+)
基于微信小程序的电影院订票选座系统的设计与实现(程序+数据库+)
|
存储 安全 API
阿里云——云存储:对象存储管理与安全
阿里云——云存储:对象存储管理与安全
1020 0
|
SQL
SQL Server查看Sql语句执行的耗时和IO消耗
原文:SQL Server查看Sql语句执行的耗时和IO消耗 在做系统过程中,经常需要针对某些场景进行性能优化,那么如何判定性能优化的效果呢?肯定需要知道优化之前Sql语句的耗时和优化之后Sql语句的耗时, 在SQL Server中,可以通过如下两种方式来方便的知晓Sql语句执行的耗时以及IO消耗 1.
3478 0
SQL Server查看Sql语句执行的耗时和IO消耗
|
弹性计算 Java Nacos
Spring Cloud Alibaba Seata 配置
Spring Cloud Alibaba Seata 配置