Skip to content
Snippets Groups Projects
Verified Commit fa8d7f0d authored by Jake's avatar Jake
Browse files

added page.metadata.image and ability to iterate over all elements inside a list of elements

parent 98c09019
No related branches found
No related tags found
No related merge requests found
...@@ -48,6 +48,7 @@ def run_pandoc(source, factories, lang, base="markdown", extensions=[], extra_ar ...@@ -48,6 +48,7 @@ def run_pandoc(source, factories, lang, base="markdown", extensions=[], extra_ar
if block != None: if block != None:
blocks.append(block) blocks.append(block)
elementlist = convert_elements_to_list(blocks)
contentmetadata = {} contentmetadata = {}
contentmetadata["toc_list"] = [] contentmetadata["toc_list"] = []
...@@ -56,10 +57,33 @@ def run_pandoc(source, factories, lang, base="markdown", extensions=[], extra_ar ...@@ -56,10 +57,33 @@ def run_pandoc(source, factories, lang, base="markdown", extensions=[], extra_ar
# TODO TOC # TODO TOC
#contentmetadata["toc"] = build_toc(n["toc_list"].copy()) #contentmetadata["toc"] = build_toc(n["toc_list"].copy())
# Get all images on page
images = []
for e in elementlist:
if e.etype == "image":
images.append(e)
contentmetadata["images"] = images
contentmetadata["has_image"] = (len(images) > 0)
if contentmetadata["has_image"]:
contentmetadata["image"] = images[0]
#blocks = json.loads(json.dumps(blocks, cls=ElementEncoder)) # Reduce to 'simple' dict, which can be converted to JSON in Jinja2. #blocks = json.loads(json.dumps(blocks, cls=ElementEncoder)) # Reduce to 'simple' dict, which can be converted to JSON in Jinja2.
return (blocks, contentmetadata) return (blocks, contentmetadata)
def convert_elements_to_list(elements):
res = []
for element in elements:
res.append(element)
res += convert_elements_to_list(element.children)
return res
def parse_from_register(factories, lang, reg: dict, h: dict, custom_syntax_handler): def parse_from_register(factories, lang, reg: dict, h: dict, custom_syntax_handler):
t = h['t'] # pandoc type t = h['t'] # pandoc type
if t not in reg: if t not in reg:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment