X-Git-Url: https://code.kerkeslager.com/?p=wiki;a=blobdiff_plain;f=app.py;h=285c134223b0f780a1f8b0ded2a0debbddc2d88f;hp=b87aa3adfeb6aa6dbcf31ade88be538a03760bf1;hb=HEAD;hpb=7e636a35b269d9bd445eef58640b2bd1b8e6b16e diff --git a/app.py b/app.py index b87aa3a..285c134 100644 --- a/app.py +++ b/app.py @@ -1,26 +1,32 @@ +import json +import pathlib + import commonmark import flask +with open(pathlib.Path(__file__).parent / 'config.json') as f: + CONFIGURATION = json.loads(f.read()) + app = flask.Flask(__name__) +def render_markdown_file(name, title): + try: + with open(pathlib.Path(CONFIGURATION['directory']) / '{}.md'.format(name), 'r') as f: + content = commonmark.commonmark(f.read()) + except FileNotFoundError as e: + flask.abort(404) + + return flask.render_template('page.html', content=content, title=title) + @app.route('/') def index(): - return 'Hello, world' + return render_markdown_file('_index', 'Home') @app.route('/p/') def page(name): for ch in name: - if not ch in 'abcdefghijklmnopqrstuvwxyz_0123456789': + if not ch in 'abcdefghijklmnopqrstuvwxyz-0123456789': flask.abort(404) - try: - with open('pages/{}.md'.format(name), 'r') as f: - content = commonmark.commonmark(f.read()) - except FileNotFoundError as e: - flask.abort(404) - - title = name.replace('_', ' ').title() - - return flask.render_template('page.html', content=content, title=title) - + return render_markdown_file(name, name.replace('-', ' ').title())