diff --git a/examples/cw_brief2.md b/examples/cw_brief2.md index c3556e4..1ec15a0 100644 --- a/examples/cw_brief2.md +++ b/examples/cw_brief2.md @@ -41,3 +41,6 @@ passwords of any length, with (almost) all ASCII characters as valid symbols, making use of a flaw in the binaries that allows a "timing attack". +## Due date + +The couresework is due by {{page.meta.due}} diff --git a/remarkable/parser.py b/remarkable/parser.py index 46c7e82..93a17dc 100644 --- a/remarkable/parser.py +++ b/remarkable/parser.py @@ -19,6 +19,7 @@ import logging import re +import jinja2 import yaml import remarkable.section as section @@ -43,6 +44,7 @@ class MarkdownParser(): #And things we are storing self.sections = None self.header = None + self.page = None #Add this for the generic template self.sectionOrder = [] @@ -163,10 +165,27 @@ class MarkdownParser(): sections based on the line headings. """ + + + + + #TODO: ---------- Fix this Kludge ------------ + tempHeader = {"page":{"meta":self.header}} + + #First pass of the text with jinja + preRender = jinja2.Template("\n".join(theText)) + postRender = preRender.render(tempHeader) + print(postRender) + postRender = postRender.split("\n") + currentSection = None out = [] sections = {} - for line in theText: + #for line in theText: + for line in postRender: + print("------") + print(line) + print("-------") #self.log.debug(" {0}".format(line)) if line.startswith("# "): #Kludgy Space for matching if currentSection: diff --git a/remarkable/renderer.py b/remarkable/renderer.py index 5f61149..b851c69 100644 --- a/remarkable/renderer.py +++ b/remarkable/renderer.py @@ -134,11 +134,9 @@ class HTMLRenderer(Renderer): calcs = {"marksAwarded": totalAwarded, "marksPossible": totalPossible} - page={"meta":header} # Alias header info to match mk_docs reference to page variables in the "page.meta" namesapce out = self.template.render({"content":sections, "header": header, "order": theParser.sectionOrder, "calcs": calcs, - "page": page - }) + "page":{"meta": header}}) return out