summaryrefslogtreecommitdiffstats
path: root/generate.py
diff options
context:
space:
mode:
Diffstat (limited to 'generate.py')
-rwxr-xr-xgenerate.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/generate.py b/generate.py
index 96bfcb2..a139f19 100755
--- a/generate.py
+++ b/generate.py
@@ -2,15 +2,14 @@
from collections import namedtuple, Counter
from datetime import date
-from functools import partial
from glob import glob
from itertools import chain
-from jinja2 import Environment, FileSystemLoader, Markup
+from jinja2 import Environment, FileSystemLoader
from markdown import markdown
+from markupsafe import Markup
from operator import attrgetter
-from scss import Compiler
from subprocess import call as run
-from sys import argv
+from pygments.formatters import HtmlFormatter
import meta
import os
@@ -26,8 +25,7 @@ ERRORS = {
504: "Gateway Timeout",
}
-md = lambda s: Markup(markdown(s, extensions=['fenced_code',
- 'codehilite']))
+md = lambda s: Markup(markdown(s, extensions=['fenced_code', 'codehilite', 'toc']))
File = namedtuple('File', 'content date slug ext')
def parse(path, has_date=False):
@@ -120,6 +118,7 @@ def main(argv=['generate.py']):
env = Environment(loader=FileSystemLoader('./templates'), autoescape=True)
env.globals['site'] = {'baseurl': baseurl}
env.filters['datefmt'] = lambda d, f='%Y-%m-%d': d.strftime(f)
+ env.filters['md'] = md
posts = glob(os.path.join(CONTENT, 'posts', '*'))
posts = [p for p in posts if not os.path.split(p)[1].startswith('_')]
@@ -130,7 +129,7 @@ def main(argv=['generate.py']):
page = {
'title': 'Blog',
'description': 'New posts will appear chronologically on this page.',
- 'keywords': ', '.join(KWORDS),
+ 'keywords': ', '.join(KWORDS | set(tags)),
'tags': tags,
'posts': posts,
}
@@ -173,7 +172,9 @@ def main(argv=['generate.py']):
output('error/{}.html'.format(code), env.get_template('error.html').render(page=page))
with open(os.path.join(OUTPUT, 'style.css'), 'w') as f:
- f.write(Compiler().compile(os.path.join(CONTENT, 'style.scss')))
+ with open(os.path.join(CONTENT, 'style.css')) as css:
+ f.write(css.read())
+ f.write(HtmlFormatter().get_style_defs('.codehilite'))
run(['cp', '-r', os.path.join(CONTENT, 'images'), OUTPUT])
if __name__ == '__main__':