diff --git a/gen.py b/gen.py
index daec81e..2d5ed93 100644
--- a/gen.py
+++ b/gen.py
@@ -1,50 +1,67 @@
#!/usr/bin/env python
import argparse, json, sys, markdown, shutil, json, re, pathlib, shutil
+import utils.imgconv
input_dir = None
output_dir = None
style = None
+(W, H, FMT) = (None, None, None)
codebase = pathlib.Path(__file__).parent.absolute()
def translate_index_header(txt, dirname):
- href = None
- sections = txt.count('- - -');
+ sections = txt.count('- - -')
if sections == 0:
# not following the normal template -> direct html
- txt = txt.replace('data/', dirname + '/'); #<--- replace reference to data/
+ txt = txt.replace('data/', dirname + '/') #<--- replace reference to data/
return txt
elif sections == 1:
- [text, link] = txt.split('- - -');
- elif sections == 2:
- [text, link, href] = txt.split('- - -');
+ [text, link] = txt.split('- - -')
- text_md = markdown.markdown(text);
- link_md = markdown.markdown(link);
-
- # revise this - perhaps with a better
- link_md = link_md.replace('data/', dirname + '/');
+ text_md = markdown.markdown(text)
+ link_info = json.loads(link)
+ dirpath = pathlib.Path(dirname)
+ img_name = pathlib.Path(link_info['img']).name
+ img_path = dirpath / img_name
+ img_resize_path = dirpath / "img-resize" / img_name
+ picture_el = emit_picture(str(img_path), str(img_resize_path))
+
table = codebase / "templates/
"
with table.open(encoding="utf-8") as fp:
out = fp.read()
out = out.replace('[[text_md]]', text_md);
- out = out.replace('[[link_md]]', link_md);
- if href:
- href = href.replace('data/', dirname + '/');
- out = "" + out + "";
+ out = out.replace('[[link_md]]', picture_el);
+ if link_info['href']:
+ if link_info['href'] == "data":
+ href = dirname + "/"
+ else:
+ href = link_info['href']
+ out = "" + out + "";
return out
def escape_date(dirname):
return re.sub('^20\d{2}?.', '', dirname)
+def emit_picture(src_full, src_resize):
+ return f'''
+
+
+
+ '''
+
+
def emit_img(file: pathlib.Path, data_dir: pathlib.Path):
## this is where LOD can be applied
+ resize_dir = data_dir / "img-resize"
+ resize_dir.mkdir(parents=True, exist_ok=True)
+ filepath = data_dir / file
+ resize_file = utils.imgconv.convert(filepath, (W, H, FMT), resize_dir)
- return f'
'
+ return f'' + emit_picture(str(file), "img-resize/" + resize_file.name) + ''
def emit_video_mp4(file: pathlib.Path, data_dir: pathlib.Path):
return f'