diff options
Diffstat (limited to 'megapixels/app/site/parser.py')
| -rw-r--r-- | megapixels/app/site/parser.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/megapixels/app/site/parser.py b/megapixels/app/site/parser.py index add3f386..d78cc402 100644 --- a/megapixels/app/site/parser.py +++ b/megapixels/app/site/parser.py @@ -1,10 +1,11 @@ import os import re import glob +import simplejson as json import mistune import app.settings.app_cfg as cfg -import app.builder.s3 as s3 +import app.site.s3 as s3 renderer = mistune.Renderer(escape=False) markdown = mistune.Markdown(renderer=renderer) @@ -45,14 +46,18 @@ def format_metadata(section): def format_applet(section): payload = section.replace('```', '').strip().split('\n') + applet = {} if ': ' in payload[0]: command, opt = payload[0].split(': ') else: command = payload[0] opt = None - if command == 'load_file': - return "<section><div class='applet'>{}</div></section>" - + applet['command'] = command + if opt: + applet['opt'] = opt + if command == 'load file': + applet['fields'] = payload[1] + return "<section><div class='applet' data-payload='{}'></div></section>".format(json.dumps(applet)) def parse_markdown(sections, s3_path, skip_h1=False): groups = [] @@ -60,7 +65,7 @@ def parse_markdown(sections, s3_path, skip_h1=False): for section in sections: if skip_h1 and section.startswith('# '): continue - elif section.startsWith('```'): + elif section.startswith('```'): groups.append(format_section(current_group, s3_path)) groups.append(format_applet(section)) current_group = [] |
