3c899a8634f40f55928d2e484a82402c1015cb31
[wiki] / app.py
1 import json
2 import pathlib
3
4 import commonmark
5 import flask
6
7 with open(pathlib.Path(__file__).parent / 'config.json') as f:
8     CONFIGURATION = json.loads(f.read())
9     print(CONFIGURATION)
10
11 app = flask.Flask(__name__)
12
13 @app.route('/')
14 def index():
15     return 'Hello, world'
16
17 @app.route('/p/<name>')
18 def page(name):
19     for ch in name:
20         if not ch in 'abcdefghijklmnopqrstuvwxyz-0123456789':
21             flask.abort(404)
22
23     try:
24         with open('pages/{}.md'.format(name), 'r') as f:
25             content = commonmark.commonmark(f.read())
26     except FileNotFoundError as e:
27         flask.abort(404)
28
29     title = name.replace('-', ' ').title()
30
31     return flask.render_template('page.html', content=content, title=title)
32
33