diff --git a/__pycache__/prefix.cpython-310.pyc b/__pycache__/prefix.cpython-310.pyc new file mode 100644 index 0000000..012e37c Binary files /dev/null and b/__pycache__/prefix.cpython-310.pyc differ diff --git a/prefix.py b/prefix.py index 9619ff0..a6bea2f 100644 --- a/prefix.py +++ b/prefix.py @@ -1,16 +1,13 @@ class PrefixMiddleware(object): - - def __init__(self, app, prefix=''): + def __init__(self, app, prefix=""): self.app = app self.prefix = prefix def __call__(self, environ, start_response): - - if environ['PATH_INFO'].startswith(self.prefix): - environ['PATH_INFO'] = environ['PATH_INFO'][len(self.prefix):] - environ['SCRIPT_NAME'] = self.prefix + if environ["PATH_INFO"].startswith(self.prefix): + environ["PATH_INFO"] = environ["PATH_INFO"][len(self.prefix) :] + environ["SCRIPT_NAME"] = self.prefix return self.app(environ, start_response) else: - start_response('404', [('Content-Type', 'text/plain')]) + start_response("404", [("Content-Type", "text/plain")]) return ["This url does not belong to the app.".encode()] - diff --git a/readme.py b/readme.py index d23cc99..d7e0327 100644 --- a/readme.py +++ b/readme.py @@ -1,11 +1,12 @@ import os import subprocess -from flask import Flask, render_template, request, send_from_directory -from prefix import PrefixMiddleware + +import yaml from dotenv import load_dotenv +from flask import Flask, render_template, request, send_from_directory from markdown import markdown -import yaml +from prefix import PrefixMiddleware load_dotenv() @@ -15,47 +16,55 @@ PREFIX = os.environ.get("PREFIX", "") REPO = os.environ.get("REPO", "https://git.xpub.nl/kamo/thesis.git") SERVER_NAME = os.environ.get("SERVER_NAME", "localhost:3000") + def pull(): - print('Retrieving contents') - subprocess.call(['sh', 'update.sh', REPO]) + print("Retrieving contents") + subprocess.call(["sh", "update.sh", REPO]) -def render(): - with open('index.yaml',"r") as i: +def render(): + with open("index.yaml", "r") as i: index = yaml.safe_load(i) entries = [] for entry in index: - with open(os.path.join('contents', entry)) as e: - html = markdown(e.read(), extensions=[ - 'markdown.extensions.attr_list', - 'markdown.extensions.codehilite', - 'markdown.extensions.fenced_code' - ]) + with open(os.path.join("contents", entry)) as e: + html = markdown( + e.read(), + extensions=[ + "markdown.extensions.attr_list", + "markdown.extensions.codehilite", + "markdown.extensions.fenced_code", + ], + ) entries.append(html) - with open('index.html', 'w') as r: + with open("index.html", "w") as r: r.write(render_template("render.html", contents=entries)) - return 'rendered' + return "rendered" + app = Flask(__name__) app.wsgi_app = PrefixMiddleware(app.wsgi_app, prefix=PREFIX) -app.config['SERVER_NAME'] = SERVER_NAME +app.config["SERVER_NAME"] = SERVER_NAME -pull(); +pull() with app.app_context(): - render(); + render() -@app.route('/') + +@app.route("/") def home(): - return send_from_directory(app.root_path, 'index.html') + return send_from_directory(app.root_path, "index.html") + -@app.route('/update', methods=['GET', 'POST']) +@app.route("/update", methods=["GET", "POST"]) def update(): - if request.method == 'POST': - pull(); - return 'GET method not supported' + if request.method == "POST": + pull() + return "GET method not supported" + app.run(port=PORT, debug=DEBUG) diff --git a/static/style.css b/static/style.css index 4d11043..753bb05 100644 --- a/static/style.css +++ b/static/style.css @@ -11,6 +11,7 @@ html, body { .chapter { max-width: 80ch; margin-inline: auto; + padding-inline: 32px; } .chapter + .chapter {