Skip to content
Snippets Groups Projects
Commit ba927ccb authored by Greg Wilson's avatar Greg Wilson
Browse files

Bringing in changes to add IDs to glossary entries

parents 5b9d0b9a c21ab5b9
Branches
Tags
No related merge requests found
......@@ -25,7 +25,8 @@ motivation.html : motivation.md _layouts/slides.html
%.html : %.md _layouts/page.html
pandoc -s -t html \
--template=_layouts/page \
--filter=tools/blockquote2div.py \
--filter=tools/filters/blockquote2div.py \
--filter=tools/filters/id4glossary.py \
$(INCLUDES) \
-o $@ $<
......
File moved
#!/usr/bin/env python
"""Pandoc filter to convert add ids to glossary entries.
Usage:
pandoc source.md --filter=id4glossary.py --output=output.html
"""
import pandocfilters as pf
def normalize_keyword(keyword):
"""Normalize keyword for became id
- Replace white space with '-'
- Convert to lowercase"""
return keyword.lower().replace(' ', '-')
def keyword2html(keyword_node):
"""Return HTML version of keyword with id."""
keyword = pf.stringify(keyword_node)
id = normalize_keyword(keyword)
return [{"t": "Span",
"c": [[id, [],[]],
keyword_node]}]
def id4glossary(key, value, format, meta):
"""Add id to keywords at glossary."""
if "subtitle" in meta and pf.stringify(meta['subtitle']) == 'Reference':
if key == "DefinitionList":
for definition in value:
definition[0] = keyword2html(definition[0])
return {"t": key,
"c": value}
if __name__ == '__main__':
pf.toJSONFilter(id4glossary)
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment