nfc-web/web/plugins/micron/micron.py
2023-05-14 17:13:00 +03:00

25 lines
No EOL
963 B
Python

from pelican import signals, generators
from itertools import chain
from jinja2 import Environment, FileSystemLoader
import os
from pprint import pprint
def generate_micron(generator):
template_path = os.path.join(generator.settings.get('THEME'), 'templates')
out_path = generator.settings.get('MICRON_PATH', 'micron/')
environment = Environment(loader=FileSystemLoader(template_path))
if not os.path.exists(out_path):
os.mkdir(out_path)
for obj in generator.articles:
filename = obj.slug + ".mu"
template = environment.get_template( obj.template + '.mu')
context = dict()
context.update({ 'article' : obj })
context.update(obj.settings)
content = template.render(context)
output_micron = os.path.join(out_path, filename)
with open(output_micron, 'w') as mf:
mf.write(content)
def register():
signals.article_generator_finalized.connect(generate_micron)