moved custom Markdown pages to configurable directory.

This commit is contained in:
Johannes Erwerle 2026-04-19 09:09:15 +02:00
parent 79bc9a92be
commit 2f0db972de
4 changed files with 21 additions and 3 deletions

View file

@ -78,6 +78,16 @@ Create a superuser account
``` ```
## Custom pages
Some pages are specific to your installation. E.g. an imprint.
Those files are markdown files that are rendered as HTML. You have to supply them and put them into the `MARKDOWN_PAGE_DIR`.
The following files are expected:
* `imprint.md` with your imprint information.
## Settings ## Settings
### BACKUP_USER ### BACKUP_USER
@ -120,3 +130,7 @@ The secret key used by django for session cookies and other things.
### DEBUG ### DEBUG
Django debug setting. Django debug setting.
### MARKDOWN_PAGE_DIR
`MARKDOWN_PAGE_DIR` is the directory where customized markdown files are put. This directory is required.

View file

@ -19,3 +19,5 @@ SECRET_KEY = "change me!"
# SECURITY WARNING: don't run with debug turned on in production! # SECURITY WARNING: don't run with debug turned on in production!
# DEBUG = True # DEBUG = True
MARKDOWN_PAGE_DIR = Path("./custom_md/")

View file

@ -130,6 +130,7 @@ try:
assert module.BACKUP_AUTHORIZED_KEYS, ( assert module.BACKUP_AUTHORIZED_KEYS, (
"The BACKUP_AUTHORIZED_KEYS setting is required." "The BACKUP_AUTHORIZED_KEYS setting is required."
) )
assert module.MARKDOWN_PAGE_DIR, "The MARKDOWN_PAGE_DIR setting is required."
except ModuleNotFoundError: except ModuleNotFoundError:
print(f"could not find configuration file {config_module}") print(f"could not find configuration file {config_module}")
@ -142,5 +143,6 @@ BACKUP_BORG_DIR = module.BACKUP_BORG_DIR
BACKUP_AUTHORIZED_KEYS = module.BACKUP_AUTHORIZED_KEYS BACKUP_AUTHORIZED_KEYS = module.BACKUP_AUTHORIZED_KEYS
DATABASES = module.DATABASES DATABASES = module.DATABASES
SECRET_KEY = module.SECRET_KEY SECRET_KEY = module.SECRET_KEY
MARKDOWN_PAGE_DIR = module.MARKDOWN_PAGE_DIR
DEBUG = getattr(module, "DEBUG", False) DEBUG = getattr(module, "DEBUG", False)

View file

@ -2,13 +2,12 @@ from django.shortcuts import get_object_or_404
from django.views.generic.base import TemplateView from django.views.generic.base import TemplateView
from django.views.generic import ListView, FormView from django.views.generic import ListView, FormView
from django.views.generic.edit import CreateView, UpdateView, DeleteView from django.views.generic.edit import CreateView, UpdateView, DeleteView
from django.conf import settings
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.contrib.auth.forms import BaseUserCreationForm from django.contrib.auth.forms import BaseUserCreationForm
from django.contrib.auth.mixins import UserPassesTestMixin, LoginRequiredMixin from django.contrib.auth.mixins import UserPassesTestMixin, LoginRequiredMixin
from django.template.loader import get_template
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
import markdown2 import markdown2
@ -36,7 +35,8 @@ class MarkdownView(TemplateView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
source = get_template(self.md).template.source
source = (settings.MARKDOWN_PAGE_DIR / self.md).read_text()
context["markdown_content"] = markdown2.markdown(source) context["markdown_content"] = markdown2.markdown(source)
return context return context