【问题标题】:Convert markdown table of contents to HTML将 Markdown 目录转换为 HTML
【发布时间】:2021-07-11 01:35:50
【问题描述】:

我正在尝试使用 pandoc 将 markdown 文档转换为 HTML。我无法获得 HTML 输出以正确创建目录。

问题:

我在 markdown 文档中添加了一个目录,点击每个标题会将读者带到相关部分。我使用下面的格式,点击“标题标题”会将读者发送到文档中的“标题”部分:

[Header Title](#header)
  • 我尝试使用 pandoc 命令将其转换为 HTML
pandoc -i input.md -f markdown -t html -o input.html
  • 这将创建一个我可以在 Firefox 中打开的有效 HTML 文件,并且目录中的项目显示为链接 - 但是当我单击它们时,什么也没有发生(我希望它跳转到相关部分)

  • 当我使用markdownmarkdown_github 作为输入格式时会发生这种情况(pandoc 中的-i

问题:

  • 如何获取目录以显示 HTML 中的预期行为?

  • 或者“目录”的概念是对 HTML 的错误处理,我应该更改我的降价代码?

  • 抱歉,如果我以错误的方式处理这个问题,我对 HTML / Web 文档没有经验。

我发现了几个类似的questions,但它们似乎特定于其他编程语言/工具,因此非常感谢我如何使用 markdown/pandoc 实现这一点的任何帮助。

我在 Ubuntu 上使用 pandoc 1.19.2.4。

示例降价:


- [Chapter 1](#chapter-1)
    - [1. Reading a text file](#1-reading-a-text-file)


## Chapter 1

This post focuses on standard text processing tasks such as reading files and processing text.

### 1. Reading a text file

Reading a file. 

【问题讨论】:

  • 你能分享一个示例降价文件吗?我想看看实现并尝试转换。
  • 感谢您的回复@RaghavArora 我已将我文档中的示例添加到问题中。

标签: html markdown pandoc


【解决方案1】:

查看您的降价文件,您已使用 #1-reading-a-text-file 作为第一个子标题的 id。

在将其转换为 HTML 时,会为副标题生成以下行: <h3 id="reading-a-text-file">1. Reading a text file</h3>

问题是“#1”不匹配,它出现在目录中,但不在标题中。 我的猜测是 pandoc 不允许 HTML id 以数字开头。

将目录更改为以下内容应该可以:

- [Chapter 1](#chapter-1)
    - [1. Reading a text file](#reading-a-text-file)

【讨论】:

  • 对于迟到的回复,我深表歉意,这非常有效 - 感谢您对此进行调查!
猜你喜欢
  • 1970-01-01
  • 2017-05-11
  • 1970-01-01
  • 2010-10-02
  • 2010-09-08
  • 2018-08-02
  • 1970-01-01
  • 1970-01-01
  • 2022-12-03
相关资源
最近更新 更多