You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
851 B
Python

from flask import Flask, render_template, send_from_directory
import os
from glob import glob
from markdown import markdown
def list_dir(folder):
return os.listdir(folder)
def list_entries(folder):
return glob(f"{folder}/*.md")
def get_content(file):
with open(file) as f:
content = f.read()
return markdown(content)
app = Flask(__name__)
@app.route("/")
def home():
issues=list_dir("issues")
return render_template("home.html", issues=issues)
@app.route("/issues/<slug>/")
def issue(slug):
entries = ""
for entry in list_entries(f"issues/{slug}"):
entries += get_content(entry)
return render_template("issue.html", issue=slug, entries=entries)
@app.route("/issues/<slug>/<file>")
def file(slug, file):
return send_from_directory(f"issues/{slug}", file)
app.run(port=3000, debug=True)