summaryrefslogtreecommitdiff
path: root/megapixels/app/site
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-12-15 22:14:17 +0100
committerJules Laplace <julescarbon@gmail.com>2018-12-15 22:14:17 +0100
commit898e6cdf8df0993f853b748d4e8a9c269fad0294 (patch)
tree484f02ce7fa3066cb0c1934d612b0e64ec46e3d5 /megapixels/app/site
parentb1e7dc570fe25749a2e1b02c9e859df6588b4660 (diff)
inject applet payload
Diffstat (limited to 'megapixels/app/site')
-rw-r--r--megapixels/app/site/builder.py4
-rw-r--r--megapixels/app/site/parser.py15
2 files changed, 12 insertions, 7 deletions
diff --git a/megapixels/app/site/builder.py b/megapixels/app/site/builder.py
index df609f60..42e25768 100644
--- a/megapixels/app/site/builder.py
+++ b/megapixels/app/site/builder.py
@@ -6,8 +6,8 @@ from jinja2 import Environment, FileSystemLoader, select_autoescape
import app.settings.app_cfg as cfg
-import app.builder.s3 as s3
-import app.builder.parser as parser
+import app.site.s3 as s3
+import app.site.parser as parser
env = Environment(
loader=FileSystemLoader(cfg.DIR_SITE_TEMPLATES),
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 = []