Skip to content
Snippets Groups Projects
Commit c21ab5b9 authored by Aaron O'Leary's avatar Aaron O'Leary
Browse files

Merge pull request #44 from r-gaia-cs/add-anchor-in-glossary

Add id to glossary entry
parents 7df94bf9 0428c499
Branches
Tags
No related merge requests found
......@@ -29,7 +29,8 @@ $(DST_DIR)/motivation.html : $(SRC_DIR)/motivation.md ../_layouts/slides.html
$(DST_DIR)/%.html : $(SRC_DIR)/%.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