History

filters: generate anchor links from markdown

This makes the markdown filter generate anchor links for headings.

Christian Hesse committed 8 years ago

Commit b0fc6471 parent 824138e1 file · +15 −2Browse files

Unified · Split

filters/html-converters/md2html+15−2
@@ -3,6 +3,7 @@ import markdown · 2 unmodified lines
33 import sys
44 import io
55 from pygments.formatters import HtmlFormatter
6+from markdown.extensions.toc import TocExtension
67 sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8')
78 sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
89 sys.stdout.write('''
@@ -48,10 +49,14 @@ sys.stdout.write(''' · 39 unmodified lines
4849 line-height: 1;
4950 padding-left: 0;
5051 margin-left: -22px;
51− top: 15%}
52+ top: 15%;
53+}
5254 .markdown-body h1:hover a.anchor .mini-icon-link, .markdown-body h2:hover a.anchor .mini-icon-link, .markdown-body h3:hover a.anchor .mini-icon-link, .markdown-body h4:hover a.anchor .mini-icon-link, .markdown-body h5:hover a.anchor .mini-icon-link, .markdown-body h6:hover a.anchor .mini-icon-link {
5355 display: inline-block;
5456 }
57+div#cgit .markdown-body h1 a.toclink, div#cgit .markdown-body h2 a.toclink, div#cgit .markdown-body h3 a.toclink, div#cgit .markdown-body h4 a.toclink, div#cgit .markdown-body h5 a.toclink, div#cgit .markdown-body h6 a.toclink {
58+ color: black;
59+}
5560 .markdown-body h1 tt, .markdown-body h1 code, .markdown-body h2 tt, .markdown-body h2 code, .markdown-body h3 tt, .markdown-body h3 code, .markdown-body h4 tt, .markdown-body h4 code, .markdown-body h5 tt, .markdown-body h5 code, .markdown-body h6 tt, .markdown-body h6 code {
5661 font-size: inherit;
5762 }
@@ -290,5 +295,13 @@ sys.stdout.write(''' · 232 unmodified lines
290295 sys.stdout.write("<div class='markdown-body'>")
291296 sys.stdout.flush()
292297 # Note: you may want to run this through bleach for sanitization
293−markdown.markdownFromFile(output_format="html5", extensions=["markdown.extensions.fenced_code", "markdown.extensions.codehilite", "markdown.extensions.tables"], extension_configs={"markdown.extensions.codehilite":{"css_class":"highlight"}})
298+markdown.markdownFromFile(
299+ output_format="html5",
300+ extensions=[
301+ "markdown.extensions.fenced_code",
302+ "markdown.extensions.codehilite",
303+ "markdown.extensions.tables",
304+ TocExtension(anchorlink=True)],
305+ extension_configs={
306+ "markdown.extensions.codehilite":{"css_class":"highlight"}})
294307 sys.stdout.write("</div>")