25 lines
No EOL
963 B
Python
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) |