diff --git a/.gitignore b/.gitignore index 340fd84abaa2cb02e94046d4011cba5457f2b900..47a456944491a9e2473bcaeb1800cc52b08d5f4c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ +README.html +LAYOUT.html +FAQ.html +DESIGN.html *~ *.pyc _site -README.html diff --git a/Makefile b/Makefile index 8a4c8144896824f5fe744b391e40805164d331b3..61fcfb94a710a24721580f4b08e4a44656c7eb5b 100644 --- a/Makefile +++ b/Makefile @@ -3,12 +3,17 @@ SRC_RMD = $(wildcard ??-*.Rmd) DST_RMD = $(patsubst %.Rmd,%.md,$(SRC_RMD)) # All Markdown files (hand-written and generated). -SRC_MD = $(wildcard *.md) $(DST_RMD) +ALL_MD = $(wildcard *.md) $(DST_RMD) +EXCLUDE_MD = README.md LAYOUT.md FAQ.md DESIGN.md +SRC_MD = $(filter-out $(EXCLUDE_MD),$(ALL_MD)) DST_HTML = $(patsubst %.md,%.html,$(SRC_MD)) # All outputs. DST_ALL = $(DST_HTML) +# Pandoc filters. +FILTERS = $(wildcard tools/filters/*.py) + # Inclusions. INCLUDES = \ -Vheader="$$(cat _includes/header.html)" \ @@ -32,7 +37,7 @@ motivation.html : motivation.md _layouts/slides.html -o $@ $< # Pattern to build a generic page. -%.html : %.md _layouts/page.html +%.html : %.md _layouts/page.html $(FILTERS) pandoc -s -t html \ --template=_layouts/page \ --filter=tools/filters/blockquote2div.py \ @@ -63,7 +68,3 @@ settings : ## clean : Clean up temporary and intermediate files. clean : @rm -rf $$(find . -name '*~' -print) - -# very-clean : Remove generated HTML. -very-clean : - @rm -f $(DST_MD) diff --git a/tools/filters/blockquote2div.py b/tools/filters/blockquote2div.py index c583e83a49845e5687469455971f782aac380fb1..844fc11113be4403825b540d1f85416be9fead50 100755 --- a/tools/filters/blockquote2div.py +++ b/tools/filters/blockquote2div.py @@ -51,15 +51,6 @@ import pandocfilters as pf # trigger the blockquote to be converted to a div. SPECIAL_CLASSES = ['callout', 'challenge', 'prereq', 'objectives'] -# These are titles of blockquotes that will cause the blockquote to -# be converted into a div. They are 'title': 'class' pairs, where the -# 'title' will create a blockquote with the corresponding 'class'. -SPECIAL_TITLES = {'prerequisites': 'prereq', - 'learning objectives': 'objectives', - 'objectives': 'objectives', - 'challenge': 'challenge', - 'callout': 'callout'} - def find_header(blockquote): """Find attributes in a blockquote if they are defined on a @@ -104,9 +95,7 @@ def blockquote2div(key, value, format, meta): id, classes, kvs = attr - lowercase_title = pf.stringify(inlines).lower() - if lowercase_title in SPECIAL_TITLES: - classes.append(SPECIAL_TITLES[lowercase_title]) + ltitle = pf.stringify(inlines).lower() if len(classes) == 1 and classes[0] in SPECIAL_CLASSES: remove_attributes(blockquote)