围绕Sphinx搭建代码化的内容管理+文档开发系统 | 技术传播

本文主要是介绍围绕Sphinx搭建代码化的内容管理+文档开发系统 | 技术传播,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【技术传播】这个话题荒废好久,今天“诈尸”一波。

话说这段时间学习和实践了一下开源工具Sphinx,实现了文档代码化开发和同源发布。在此之前,我一直以为部署一套这样的系统,非得采购专门工具不可;万万没想到,一个免费开源的工具,竟然可以做到如此交付水平;而且完全不需要开发者掌握专门的xml/dita格式,只需要配合通用性更高的rst/md格式,就可以轻松搞定内容开发——实在让人有种莫名“想跪”的冲动。港真,这种震撼,绝不亚于当初Obsidian带给我的感受。

不仅如此,后来我还发现,原来像英伟达、寒武纪这种体量的巨贵和新贵公司,也在使用Sphinx发布技术文档,看来这次是找对路子了。

c4c48182523ed9a6ac2dd496e25f4df9.png

从英伟达和寒武纪对外发布的技术文档,可以清楚地看到,它们都是应用了Sphinx和RTD主题

那么,今天就来简单总结复盘一下,希望给到有需要、感兴趣的朋友一点点启发。

4263bf6a15edc415934a6bfdc7aae947.png

什么是Sphinx?Sphinx,是一个基于Python,开源免费的文档生成工具。默认支持reStructuredText格式内容源码;通过第三方插件支持MyST Markdown格式的内容源码;最终将内容源码发布为html、PDF、ePub、Texinfo、manual pages和plain text等多种目标文档格式。

Sphinx的基本使用逻辑非常简单:

9b1b40765ab95bdbc3c170a6c8419a33.png

  1. 在Windows系统下借助Chocolatey在线安装Sphinx。

  2. 执行【sphinx-quickstart】命令创建文档项目。

  3. 根据实际开发场景,修改配置:

  • 如果使用Markdown语法编写技术文档,需通过recommonmark插件支持Markdown。

  • 如果期望获得比较好的Web文档发布效果,可以配置应用sphinx-rtd-them。

使用VSCode编写内容源码,包括node和index。

执行发布命令,或者运行发布脚本,即可发布为多种目标格式的文档,如Web或PDF。

考虑到文章篇幅不宜过长,具体实施落地的操作方法就不展开说明了。网上有很多相关教程,操作不是很复杂;或者,也可以联系我私聊。

8df569d63449c003361983e224e942cf.png

围绕Sphinx构建整个内容管理、文档开发和系统集成,几乎可以完全参照代码开发的系统构建:

f41798c83ecddc97bb61b0956f5f2827.png

  • 使用VSCode进行源码编写;

  • 使用Git进行内容和版本管理;

  • 使用Sphinx进行文档发布;

  • 使用Jenkins进行自动化部署。

在这里,只有一点需要特别说明的是:

如果想对Sphinx直出的PDF进行一定人工干预,如添加企业LOGO,或者应用自定义样式之类,那么,从源码到PDF之间,可以被编辑的中间文件,并不是我们所熟悉的Word,而是Latex。

Latex,是一种基于TeX,开源免费的排版系统,广泛应用于学术界和科技领域的文档编写。对于之前从来没有使用过Latex的开发者而言,前期势必会引入一些学习成本;但由于Latex同样是一种代码化的开发方式,在完成基本的模板设计后,完全可以通过Jenkins部署自动化地实现干预。

想象一下,当你只需聚焦在内容源码开发,后续的文档构建、文档优化、文档发布,以及系统集成,全部交由一个“自动化工厂”来实现,将会是何等美妙的未来。

d4316093e27c0bb1a54475498c31d3fd.jpeg

今天的分享就是这些内容。

最后,让我们一起,感恩开源;有幸站在巨人的肩膀上,探索实现一个内容生产与消费的自动化工厂。

其他推荐:

实施:GitHub + MarkDown 文档系统的工作环境部署及工作流程说明 | 技术传播

23f4a5c02c915549ec71de96673bc030.jpeg

技术传播是一片蓝海 | 技术传播

访谈:TC无处不在,只是我们没有发觉 | 技术传播

这次他们说好要“讲真的” | 传播

在座都别吵了,你们还有我 | 技术传播

一本培养强迫症患者的说明书 | 技术传播

就像用心做好日本料理 | 技术传播

顽固的老头子与无聊的说明书 | 技术传播

转战新媒体 | 技术传播

评测:王者荣耀的用户帮助系统 | 技术传播

让爸爸妈妈也能享受到科技发展带来的便利 | 技术传播

企业级信息管理系统初创方案构思 | 技术传播

 8160dfa4a4ed16dcc828e1a73bc0fafe.png

睿齐

技术传播者

自由摄影师

知识管理实践教练

品牌内容策划

汪力迪

公众号:techcomm / htstory

微信号:bgrichi

邮箱:hash_0813@163.com

392419eaf1eb406fc42534f061a19ef0.jpeg

这篇关于围绕Sphinx搭建代码化的内容管理+文档开发系统 | 技术传播的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1022205

相关文章

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri