Are numbered headings in Markdown / Rdiscount possible?

﹥>﹥吖頭↗ 提交于 2019-12-20 08:27:49

问题


I'm trying to produce html with section / subsection headings resembling the following:

  1. My top-level topic
    1.1 My first subtopic
    1.2 Another subtopic
          1.2.1 A sub-subtopic
  2. Another top-level topic

Are there any implementations of Markdown capable of producing these kinds of numbered section headings?

Thanks in advance.


回答1:


Yes, try Pandoc. This works for me:

pandoc --number-sections < test.md > out.html

(Source)

Markdown to produce the numbered outline you mention in the original post looks like this:

# My top-level topic

## My first subtopic

## Another subtopic

### A sub-subtopic

## Another top-level topic

If you want deeper indenting for sub-sections, you might be able to achieve this with inline CSS. For example, placing this at the top of the above Markdown source indents the headers:

<style type="text/css">
  h2 { margin-left: 10px; }
  h3 { margin-left: 20px; }
</style>

But say you had paragraphs of text under your headings... I don't know how to indent that to the same level as the above header.

Update 2015-10-18: Markdeep has numbered headings (any many other fancy features). Check that out too!




回答2:


If your markdown tool supports customized theme by CSS, add below snippet into CSS to enable heading number:

body {
    counter-reset: h1
}

h1 {
    counter-reset: h2
}

h2 {
    counter-reset: h3
}

h3 {
    counter-reset: h4
}

h1:before {
    counter-increment: h1;
    content: counter(h1) ". "
}

h2:before {
    counter-increment: h2;
    content: counter(h1) "." counter(h2) ". "
}

h3:before {
    counter-increment: h3;
    content: counter(h1) "." counter(h2) "." counter(h3) ". "
}

h4:before {
    counter-increment: h4;
    content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) ". "
}

I uses Typora, which supports auto numbering for headings in this approach.




回答3:


If you want to edit the markdown file itself, and not only the resulting HTML file, try enumerate-markdown with python 3

pip install enumerate-markdown
markdown-enum filename.md filename.md

Example - input

# header 1
text
## header 2
text
# header 3
text

Output

# 1.  header 1
text
## 1.1  header 2
text
# 2.  header 3
text

if you later edit the file and run the script again, then it updates old enumeration.




回答4:


As @adam-monsen points out 'pandoc --number-sections' does the trick. You can also simply add numbersections: true to th YAML-Header to activate numbered headings for your file.



来源:https://stackoverflow.com/questions/19999696/are-numbered-headings-in-markdown-rdiscount-possible

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!