mirror of
https://github.com/pawroman/zola-theme-terminimal
synced 2024-11-22 12:33:04 +00:00
Add 404 page which fits the rest of the theme
* Noting that (as of 0.14) zola does not pass much of a context when rendering the 404 page, so things like current URL/path aren't available * To work around this the `menu` macro has been split into `menu_for` which accepts a parameter for which item is active. * The previous macro continues to work as is, forwarding the results of figuring out which item is active to the new `menu_for` macro * The added 404 page will then use the `menu_for` macro and pass in a blank item
This commit is contained in:
parent
f37c65c951
commit
b04b1f5951
3 changed files with 28 additions and 2 deletions
16
templates/404.html
Normal file
16
templates/404.html
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block title %}
|
||||||
|
404
|
||||||
|
{% endblock title %}
|
||||||
|
|
||||||
|
{% block header_menu %}
|
||||||
|
{{ menu_macros::menu_for(config=config, current_item="") }}
|
||||||
|
{% endblock header_menu %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="post">
|
||||||
|
<h1 class="post-title">Lost?</h1>
|
||||||
|
<p>This page does not exist.</p>
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
|
@ -45,7 +45,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{% block header_menu %}
|
||||||
{{ menu_macros::menu(config=config, current_path=current_path) }}
|
{{ menu_macros::menu(config=config, current_path=current_path) }}
|
||||||
|
{% endblock header_menu %}
|
||||||
</header>
|
</header>
|
||||||
{% endblock header %}
|
{% endblock header %}
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
{%- if config.extra.menu_items %}
|
{%- if config.extra.menu_items %}
|
||||||
{%- set menu_items = config.extra.menu_items -%}
|
{%- set menu_items = config.extra.menu_items -%}
|
||||||
|
|
||||||
<nav class="menu">
|
|
||||||
<ul class="menu__inner">
|
|
||||||
{%- for item in menu_items %}
|
{%- for item in menu_items %}
|
||||||
{%- set abs_item_url = item.url | replace(from="$BASE_URL", to=config.base_url) -%}
|
{%- set abs_item_url = item.url | replace(from="$BASE_URL", to=config.base_url) -%}
|
||||||
{%- set is_current = current_url == abs_item_url ~ "/"
|
{%- set is_current = current_url == abs_item_url ~ "/"
|
||||||
|
@ -27,6 +25,16 @@
|
||||||
{%- set current_item = base_item -%}
|
{%- set current_item = base_item -%}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
||||||
|
{{ menu_macros::menu_for(config=config, current_item=current_item) }}
|
||||||
|
{% endif -%}
|
||||||
|
{% endmacro menu %}
|
||||||
|
|
||||||
|
{% macro menu_for(config, current_item) %}
|
||||||
|
{%- if config.extra.menu_items %}
|
||||||
|
{%- set menu_items = config.extra.menu_items -%}
|
||||||
|
|
||||||
|
<nav class="menu">
|
||||||
|
<ul class="menu__inner">
|
||||||
{%- for item in menu_items %}
|
{%- for item in menu_items %}
|
||||||
<li {%- if current_item and current_item == item %} class="active" {%- endif %}>
|
<li {%- if current_item and current_item == item %} class="active" {%- endif %}>
|
||||||
{%- if item.newtab -%}
|
{%- if item.newtab -%}
|
||||||
|
|
Loading…
Reference in a new issue