【问题标题】:Create a dynamic table of contents with page numbers in HTML在 HTML 中创建带有页码的动态目录
【发布时间】:2019-05-28 09:43:48
【问题描述】:

我有一个 python 脚本,可以将 MarkDown 文本转换为 HTML(我自己的一些添加和样式),markdown 代码包括标题和书签,我希望脚本自动创建一个包含页面的目录数字(例如,您可能会在印​​刷书籍中找到)基于文档将打印在标准 A4 纸上的假设。有可能吗?

谢谢...
YK

【问题讨论】:

  • HTML 实际上没有任何“页面”的概念。因此,无法获取页码。您可能想探索 html 到 pdf 的转换工具。 xhtml2pdf 和 weasyprint 浮现在脑海中,虽然可能还有其他的。

标签: python html markdown


【解决方案1】:

为什么不将.rst.md 文件与sphinx 一起使用?你可以有一个目录,它会生成你的 html,你可以用它做各种花哨的东西。绝大多数 python 文档都是使用它编写的。在某些情况下,它们似乎也考虑了A4 纸张大小。

来自 sphinx 文档environment variables section

【讨论】:

  • 嗯...“为什么不将 .md 文件与 sphinx 一起使用?”首先 - 我不知道存在这样的工具,但也有其他原因: 1. 我的工具的用户,即将编写 .md 文件的用户不是非常精通技术,也不是开发人员,所以我必须想出一个他们也可以使用的工具。 2. 我开发的工具不仅将 .md 文件转换为 .html 文件,该工具还基于选定的 .md 文件组和包含引用的 .yaml 文件之间的某种合并生成另一个 .html 文件到 .md 文件中的书签。还有其他方法可以做到吗?
  • 有趣:)。是的,这听起来很像狮身人面像。我至少会看一下 sphinx,看看你是否可以让它更加用户友好(它已经是,但我理解你的困境:)),这样就不必自己从头开始开发一个完整的工具。这是一个痛苦的经历,老实说,你很可能最终会维护它,因为它是一个定制的、细致入微的解决方案,从长远来看你可能不想这样做。
  • Here 是一些使用 .rst 文件的 sphinx 文档的示例,但它与 .md 文件的过程相同。您可以查看页面源以查看原始文件,here 是快速入门。希望它对您有用,并为您省去维护内部解决方案的麻烦。此外,还有更广泛的 sphinx 用户社区可以从中获得支持:)。
  • 非常感谢您的快速回复!我认为这不完全是我所说的 TOC,目前,我的工具生成一个长 HTML 文件,我希望实现的是添加一个页面作为第一页,每行都包含这样的内容:
    .......4\n \t.....5\n 等等。这可行吗?
猜你喜欢
  • 1970-01-01
  • 2013-12-18
  • 1970-01-01
  • 1970-01-01
  • 2012-12-17
  • 2010-11-08
  • 1970-01-01
  • 2012-10-06
  • 2016-12-21
相关资源
最近更新 更多