summaryrefslogtreecommitdiff
path: root/megapixels/app/site/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'megapixels/app/site/parser.py')
-rw-r--r--megapixels/app/site/parser.py15
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 = []