select default template for posts
This commit is contained in:
parent
2876ef664b
commit
f932f24e38
4 changed files with 23 additions and 6 deletions
6
src/zona/data/templates/basic.html
Normal file
6
src/zona/data/templates/basic.html
Normal file
|
@ -0,0 +1,6 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
{{ content | safe }}
|
||||
{% endblock %}
|
||||
|
|
@ -1,7 +1,11 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<center><h1>{{ metadata.title }}</h1></center>
|
||||
|
||||
<article>{{ content | safe }}</article>
|
||||
|
||||
{% if post_list %}
|
||||
<ul>
|
||||
{% for item in post_list %}
|
||||
|
|
|
@ -19,7 +19,7 @@ class Metadata:
|
|||
style: str | None = "/static/style.css"
|
||||
header: bool = True
|
||||
footer: bool = True
|
||||
template: str = "page.html"
|
||||
template: str | None = None
|
||||
post: bool | None = None
|
||||
|
||||
|
||||
|
|
|
@ -50,11 +50,18 @@ class Templater:
|
|||
env = self.env
|
||||
meta = item.metadata
|
||||
assert meta is not None
|
||||
template = env.get_template(
|
||||
meta.template
|
||||
if meta.template.endswith(".html")
|
||||
else meta.template + ".html"
|
||||
)
|
||||
if meta.template is None:
|
||||
if item.post:
|
||||
template_name = "page.html"
|
||||
else:
|
||||
template_name = "basic.html"
|
||||
else:
|
||||
template_name = (
|
||||
meta.template
|
||||
if meta.template.endswith(".html")
|
||||
else meta.template + ".html"
|
||||
)
|
||||
template = env.get_template(template_name)
|
||||
header: str | Literal[False] = (
|
||||
self.render_header() if meta.header else False
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue