summaryrefslogtreecommitdiff
path: root/megapixels/app/site
diff options
context:
space:
mode:
Diffstat (limited to 'megapixels/app/site')
-rw-r--r--megapixels/app/site/parser.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/megapixels/app/site/parser.py b/megapixels/app/site/parser.py
index 00470e4b..06c45f41 100644
--- a/megapixels/app/site/parser.py
+++ b/megapixels/app/site/parser.py
@@ -27,6 +27,7 @@ def parse_markdown(metadata, sections, s3_path, skip_h1=False):
current_group = []
footnotes = []
in_stats = False
+ in_columns = False
in_footnotes = False
ignoring = False
@@ -50,6 +51,7 @@ def parse_markdown(metadata, sections, s3_path, skip_h1=False):
footnotes.append(section)
elif ignoring:
continue
+
elif '### statistics' in section.lower() or '### sidebar' in section.lower():
if len(current_group):
groups.append(format_section(current_group, s3_path))
@@ -64,6 +66,26 @@ def parse_markdown(metadata, sections, s3_path, skip_h1=False):
if 'end sidebar' not in section.lower():
current_group.append(section)
in_stats = False
+
+ elif '=== columns' in section.lower():
+ if len(current_group):
+ groups.append(format_section(current_group, s3_path))
+ current_group = []
+ in_columns = True
+ column_partz = section.split(' ')
+ if len(column_partz) == 3:
+ column_count = column_partz[2]
+ else:
+ column_count = "N"
+ groups.append("<section><div class='columns columns-{}'>".format(column_count))
+ elif in_columns is True and '===' in section:
+ groups.append(format_section(current_group, s3_path, type='column', tag='div'))
+ current_group = []
+ if 'end columns' in section:
+ groups.append("</div></section>")
+ in_columns = False
+ current_group = []
+
elif section.strip().startswith('{% include'):
groups.append(format_section(current_group, s3_path))
current_group = []