scratch
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 6m3s
All checks were successful
Build and push container image / build-and-push-image (push) Successful in 6m3s
This commit is contained in:
@@ -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")
|
||||
Reference in New Issue
Block a user