pandoc-git-blog/filters/diary.py

41 lines
863 B
Python
Executable File

#!/usr/bin/env python3
import csv
import datetime as dt
import pathlib as p
import panflute as pf
def prepare(doc):
date_str = p.Path(doc.get_metadata("path", "")).stem
name_date = dt.date(*[
int(i)
for i in date_str.split("-")
])
diary_dir = p.Path(doc.get_metadata("diary_dir", ""))
diary_entries = [
dt.date.fromisoformat(_p.stem)
for _p in sorted(diary_dir.iterdir(), key=lambda i: i.stem)
]
index = diary_entries.index(name_date)
try:
prev = diary_entries[index-1]
except:
prev = None
try:
_next = diary_entries[index+1]
except:
_next = None
def action(elem, doc):
pass
def finalize(doc):
pass
def main(doc=None):
return pf.run_filter(action, prepare=prepare, finalize=finalize, doc=doc)
if __name__ == "__main__":
main()