Compare commits

..

3 Commits

9 changed files with 95 additions and 48 deletions

View File

@ -76,6 +76,8 @@ def handle_markdown_file_path(resolved_path):
page_title = f'{page_name} - {app.config["TITLE_SUFFIX"]}' if page_name else app.config['TITLE_SUFFIX']
logger.debug("title (potentially derived): %s", page_title)
extra_footer = get_meta_str(md, 'footer') if md.Meta.get('footer') else None
template = get_meta_str(md, 'template') if md.Meta.get('template') else 'base.html'
# check if this has a HTTP redirect
@ -86,7 +88,8 @@ def handle_markdown_file_path(resolved_path):
return render(template, title=page_title, description=get_meta_str(md, 'description'),
image=get_meta_str(md, 'image'), base_url=request.base_url, content=content,
navs=parent_navs, mtime=mtime.strftime('%Y-%m-%d %H:%M:%S %Z'))
navs=parent_navs, mtime=mtime.strftime('%Y-%m-%d %H:%M:%S %Z'),
extra_footer=extra_footer)
def request_path_to_instance_resource_path(path):

View File

@ -72,6 +72,10 @@ footer {
margin-top: 30px;
}
.extra-footer {
margin-bottom: 5px;
}
table {
border-collapse: collapse;
}

View File

@ -23,6 +23,16 @@ p a:hover, ul a:hover, ol a:hover {
border-bottom: 1px solid #B31D15;
}
footer a, ul a, ol a {
color: #999;
border-bottom: 1px solid #999;
}
footer a:hover, ul a:hover, ol a:hover {
color: #811610;
border-bottom: 1px solid #811610;
}
div.site-wrap {
background: black;
}

View File

@ -23,6 +23,16 @@ p a:hover, ul a:hover, ol a:hover {
border-bottom: 1px solid #811610;
}
footer a, ul a, ol a {
color: #999;
border-bottom: 1px solid #999;
}
footer a:hover, ul a:hover, ol a:hover {
color: #811610;
border-bottom: 1px solid #811610;
}
div.site-wrap {
background: white;
}

View File

@ -31,7 +31,8 @@
{{ content }}
</div>
<footer>
<i>Last modified: {{ mtime }}</i>
{% if extra_footer %}<div class="extra-footer"><i>{{ extra_footer|safe }}</i></div>{% endif %}
<div class="footer"><i>Last modified: {{ mtime }}</i></div>
</footer>
{% endblock %}
</div>

View File

@ -4,32 +4,34 @@
#
# pip-compile --output-file=requirements/requirements-dev.txt requirements/requirements-dev.in
#
attrs==21.4.0
attrs==22.1.0
# via pytest
bandit==1.7.4
# via -r requirements/requirements-dev.in
certifi==2022.5.18.1
build==0.8.0
# via pip-tools
certifi==2022.9.14
# via requests
charset-normalizer==2.0.12
charset-normalizer==2.1.1
# via requests
click==8.1.3
# via
# flask
# pip-tools
# safety
coverage[toml]==6.4
coverage[toml]==6.4.4
# via pytest-cov
distlib==0.3.4
distlib==0.3.6
# via virtualenv
dlint==0.12.0
dlint==0.13.0
# via -r requirements/requirements-dev.in
dparse==0.5.1
dparse==0.6.0
# via safety
filelock==3.7.0
filelock==3.8.0
# via
# tox
# virtualenv
flake8==4.0.1
flake8==5.0.4
# via
# -r requirements/requirements-dev.in
# dlint
@ -48,19 +50,19 @@ flake8-executable==2.1.1
# via -r requirements/requirements-dev.in
flake8-fixme==1.1.1
# via -r requirements/requirements-dev.in
flake8-isort==4.1.1
flake8-isort==4.2.0
# via -r requirements/requirements-dev.in
flake8-logging-format==0.6.0
flake8-logging-format==0.7.5
# via -r requirements/requirements-dev.in
flake8-mutable==1.2.0
# via -r requirements/requirements-dev.in
flask==2.1.2
flask==2.2.2
# via -r requirements/requirements.in
gitdb==4.0.9
# via gitpython
gitpython==3.1.27
# via bandit
idna==3.3
idna==3.4
# via requests
iniconfig==1.1.1
# via pytest
@ -70,23 +72,26 @@ itsdangerous==2.1.2
# via flask
jinja2==3.1.2
# via flask
markdown==3.3.7
markdown==3.4.1
# via -r requirements/requirements.in
markupsafe==2.1.1
# via jinja2
mccabe==0.6.1
# via
# jinja2
# werkzeug
mccabe==0.7.0
# via flake8
packaging==21.3
# via
# build
# dparse
# pytest
# safety
# tox
pbr==5.9.0
pbr==5.10.0
# via stevedore
pep517==0.12.0
# via pip-tools
pip-tools==6.6.2
pep517==0.13.0
# via build
pip-tools==6.8.0
# via -r requirements/requirements-dev.in
platformdirs==2.5.2
# via virtualenv
@ -98,66 +103,64 @@ py==1.11.0
# via
# pytest
# tox
pycodestyle==2.8.0
pycodestyle==2.9.1
# via flake8
pydocstyle==6.1.1
# via flake8-docstrings
pydot==1.4.2
# via -r requirements/requirements-dev.in
pyflakes==2.4.0
pyflakes==2.5.0
# via flake8
pyparsing==3.0.9
# via
# packaging
# pydot
pytest==7.1.2
pytest==7.1.3
# via
# -r requirements/requirements-dev.in
# pytest-cov
pytest-cov==3.0.0
# via -r requirements/requirements-dev.in
pyyaml==6.0
# via
# bandit
# dparse
requests==2.27.1
# via bandit
requests==2.28.1
# via safety
safety==1.10.3
ruamel-yaml==0.17.21
# via safety
ruamel-yaml-clib==0.2.6
# via ruamel-yaml
safety==2.1.1
# via -r requirements/requirements-dev.in
six==1.16.0
# via
# tox
# virtualenv
# via tox
smmap==5.0.0
# via gitdb
snowballstemmer==2.2.0
# via pydocstyle
stevedore==3.5.0
stevedore==4.0.0
# via bandit
testfixtures==6.18.5
# via flake8-isort
toml==0.10.2
# via
# dparse
# tox
# via dparse
tomli==2.0.1
# via
# build
# coverage
# pep517
# pytest
tox==3.25.0
# tox
tox==3.26.0
# via
# -r requirements/requirements-dev.in
# tox-wheel
tox-wheel==0.7.0
# via -r requirements/requirements-dev.in
urllib3==1.26.9
urllib3==1.26.12
# via requests
versioneer==0.22
versioneer==0.26
# via -r requirements/requirements-dev.in
virtualenv==20.14.1
virtualenv==20.16.5
# via tox
werkzeug==2.1.2
werkzeug==2.2.2
# via flask
wheel==0.37.1
# via

View File

@ -6,15 +6,17 @@
#
click==8.1.3
# via flask
flask==2.1.2
flask==2.2.2
# via -r requirements/requirements.in
itsdangerous==2.1.2
# via flask
jinja2==3.1.2
# via flask
markdown==3.3.7
markdown==3.4.1
# via -r requirements/requirements.in
markupsafe==2.1.1
# via jinja2
werkzeug==2.1.2
# via
# jinja2
# werkzeug
werkzeug==2.2.2
# via flask

View File

@ -210,3 +210,11 @@ def test_pages_can_supply_alternate_templates(client):
response = client.get('/custom-template')
assert b'class="site-wrap site-wrap-normal-width"' not in response.data
assert b'class="site-wrap site-wrap-double-width"' in response.data
def test_extra_footer_per_page(client):
"""Test that we don't include the extra-footer if there isn't one (or do if there is)."""
response = client.get('/')
assert b'<div class="extra-footer">' not in response.data
response = client.get('/index-but-with-footer')
assert b'<div class="extra-footer"><i>ooo <a href="a">a</a></i>' in response.data

View File

@ -0,0 +1,6 @@
Title: Index
Footer: ooo <a href="a">a</a>
# test index
this is some test content