scratch
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 6m3s

This commit is contained in:
2026-02-09 13:34:47 +00:00
parent 9700a5dc7f
commit b4e6b4c296
14 changed files with 131 additions and 63 deletions

View File

@@ -1,7 +1,7 @@
# Imports
from flask import Blueprint, render_template, abort
from os import getenv as env
import logging, os, re
import logging, os, re, markdown
# Create blueprint
bp = Blueprint(
@@ -16,6 +16,7 @@ log = logging.getLogger(__name__)
# Get all files in folder
def ListFiles(path):
path = os.path.join(bp.template_folder, 'pages', path)[3:]
files = []
for root, dirs, files_in_dir in os.walk(path):
for file in files_in_dir:
@@ -27,14 +28,27 @@ def ListFiles(path):
# Catch-all route for generic pages
@bp.route('/<path:filename>')
def catch_all(filename):
try:
return render_template(f'pages/{filename if re.match(r'^.+\.[a-zA-Z0-9]+$', filename) else filename + '.html'}')
if os.path.exists(os.path.join(bp.template_folder, 'pages', filename)[3:]):
return render_template(f'pages/{filename}')
except Exception as e:
os_path = os.path.join(bp.template_folder, 'pages', filename)[3:]
if os.path.isdir(os_path):
if not filename.endswith('/'): filename += '/'
return render_template('bases/directory.html', directory=filename, pages=ListFiles(os_path))
elif os.path.exists(os.path.join(bp.template_folder, 'pages', filename + '.html')[3:]):
return render_template(f'pages/{filename}.html')
# If it is a file, return a 404 error
abort(404, f"Template '{filename}' not found: {e}")
elif os.path.exists(os.path.join(bp.template_folder, 'pages', filename + '.md')[3:]):
print("yay")
print(markdown.markdownFromFile("../templates/pages/test.md"))
return render_template(
f'bases/md.html',
title = filename.split("/")[-1],
markdown = markdown.markdownFromFile(os.path.join(bp.template_folder, 'pages', filename + '.md'))
)
elif os.path.isdir(os.path.join(bp.template_folder, 'pages', filename)[3:]):
return render_template(
'bases/directory.html',
directory=filename + "/" if not filename.endswith('/') else filename,
pages=ListFiles(filename)
)
else:
abort(404, f"'{filename}' not found")