mirror of
https://github.com/Dichgrem/Blog.git
synced 2025-07-31 17:09:30 -04:00
Initial commit
This commit is contained in:
16
templates/404.html
Normal file
16
templates/404.html
Normal file
@ -0,0 +1,16 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}
|
||||
404 | {{ config.title }}
|
||||
{% 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">{% block heading %}Lost?{% endblock heading %}</h1>
|
||||
<p>{% block message %}This page does not exist.{% endblock message %}</p>
|
||||
</div>
|
||||
{% endblock content %}
|
15
templates/archive.html
Normal file
15
templates/archive.html
Normal file
@ -0,0 +1,15 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{%- block title -%}
|
||||
{{ title_macros::title(page_title=page.title, main_title=config.title) }}
|
||||
{%- endblock -%}
|
||||
|
||||
{% block content %}
|
||||
<div class="post">
|
||||
<h1 class="post-title">{{ page.title }}</h1>
|
||||
|
||||
{% set section = get_section(path="_index.md") %}
|
||||
|
||||
{{ post_macros::list_posts(pages=section.pages) }}
|
||||
</div>
|
||||
{% endblock content %}
|
54
templates/atom.xml
Executable file
54
templates/atom.xml
Executable file
@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet href="/rss-style.xslt" type="text/xsl"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="{{ lang }}">
|
||||
<title>{{ config.title }}
|
||||
{%- if term %} - {{ term.name }}
|
||||
{%- elif section.title %} - {{ section.title }}
|
||||
{%- endif -%}
|
||||
</title>
|
||||
{%- if config.description %}
|
||||
<subtitle>{{ config.description }}</subtitle>
|
||||
{%- endif %}
|
||||
<link rel="self" type="application/atom+xml" href="{{ feed_url | safe }}"/>
|
||||
<link rel="alternate" type="text/html" href="
|
||||
{%- if section -%}
|
||||
{{ section.permalink | escape_xml | safe }}
|
||||
{%- else -%}
|
||||
{{ config.base_url | escape_xml | safe }}
|
||||
{%- endif -%}
|
||||
"/>
|
||||
<generator uri="https://www.getzola.org/">Zola</generator>
|
||||
<updated>{{ last_updated | date(format="%+") }}</updated>
|
||||
<id>{{ feed_url | safe }}</id>
|
||||
{%- for page in pages %}
|
||||
<entry xml:lang="{{ page.lang }}">
|
||||
<title>{{ page.title }}</title>
|
||||
<published>{{ page.date | date(format="%+") }}</published>
|
||||
<updated>{{ page.updated | default(value=page.date) | date(format="%+") }}</updated>
|
||||
{% for author in page.authors %}
|
||||
<author>
|
||||
<name>
|
||||
{{ author }}
|
||||
</name>
|
||||
</author>
|
||||
{% else %}
|
||||
<author>
|
||||
<name>
|
||||
{%- if config.author -%}
|
||||
{{ config.author }}
|
||||
{%- else -%}
|
||||
Unknown
|
||||
{%- endif -%}
|
||||
</name>
|
||||
</author>
|
||||
{% endfor %}
|
||||
<link rel="alternate" type="text/html" href="{{ page.permalink | safe }}"/>
|
||||
<id>{{ page.permalink | safe }}</id>
|
||||
{% if page.summary %}
|
||||
<summary type="html">{{ page.summary }}</summary>
|
||||
{% else %}
|
||||
<content type="html" xml:base="{{ page.permalink | escape_xml | safe }}">{{ page.content }}</content>
|
||||
{% endif %}
|
||||
</entry>
|
||||
{%- endfor %}
|
||||
</feed>
|
138
templates/index.html
Normal file
138
templates/index.html
Normal file
@ -0,0 +1,138 @@
|
||||
{% import "macros/date.html" as date_macros -%}
|
||||
{% import "macros/head.html" as head_macros -%}
|
||||
{% import "macros/menu.html" as menu_macros -%}
|
||||
{% import "macros/post.html" as post_macros -%}
|
||||
{% import "macros/title.html" as title_macros -%}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="{%- if config.default_language -%}{{ config.default_language }}{%- else -%}en{%- endif -%}">
|
||||
|
||||
<head>
|
||||
<title>{%- block title %}{{ config.title }}{% endblock title -%}</title>
|
||||
{{ head_macros::head(config=config) }}
|
||||
|
||||
{%- block open_graph %}{{ head_macros::open_graph(config=config) }}{% endblock open_graph -%}
|
||||
|
||||
{%- if config.generate_feeds %}
|
||||
{%- for feed in config.feed_filenames %}
|
||||
|
||||
{%- if feed is containing('atom') %}
|
||||
<link rel="alternate" type="application/atom+xml" title="{{ config.title }} Atom Feed" href="{{ get_url(path=feed, trailing_slash=false, lang=lang) | safe }}" />
|
||||
{%- endif %}
|
||||
|
||||
{%- if feed is containing('rss') %}
|
||||
<link rel="alternate" type="application/rss+xml" title="{{ config.title }} RSS Feed" href="{{ get_url(path=feed, trailing_slash=false, lang=lang) | safe }}" />
|
||||
{%- endif %}
|
||||
|
||||
{%- endfor %}
|
||||
{% endif -%}
|
||||
|
||||
{# Favicon #}
|
||||
{% if config.extra.favicon %}
|
||||
<link rel="icon" type="image/png" href={{ config.extra.favicon }} />
|
||||
{% endif %}
|
||||
|
||||
{%- block extra_head %}
|
||||
{% endblock extra_head -%}
|
||||
</head>
|
||||
|
||||
<body class="">
|
||||
<div class="container">
|
||||
{% block header %}
|
||||
<header class="header">
|
||||
<div class="header__inner">
|
||||
<div class="header__logo">
|
||||
{%- if config.extra.logo_home_link %}
|
||||
{% set logo_link = config.extra.logo_home_link %}
|
||||
{% else %}
|
||||
{% set logo_link = config.base_url %}
|
||||
{% endif -%}
|
||||
<a href="{{ logo_link | safe }}" style="text-decoration: none;">
|
||||
<div class="logo">
|
||||
{% block logo_content %}
|
||||
{%- if config.extra.logo_text %}
|
||||
{{ config.extra.logo_text }}
|
||||
{% else %}
|
||||
Terminimal theme
|
||||
{% endif -%}
|
||||
{% endblock logo_content %}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% block header_menu %}
|
||||
{{ menu_macros::menu(config=config, current_path=current_path) }}
|
||||
{% endblock header_menu %}
|
||||
</header>
|
||||
{% endblock header %}
|
||||
|
||||
<div class="content">
|
||||
{% block content %}
|
||||
<div class="posts">
|
||||
{%- if paginator %}
|
||||
{%- set show_pages = paginator.pages -%}
|
||||
{% else %}
|
||||
{%- set show_pages = section.pages -%}
|
||||
{% endif -%}
|
||||
|
||||
{%- for page in show_pages %}
|
||||
<div class="post on-list">
|
||||
{{ post_macros::header(page=page) }}
|
||||
|
||||
{{ post_macros::content(page=page, summary=true, show_only_description=page.extra.show_only_description | default(value=false)) }}
|
||||
</div>
|
||||
{% endfor -%}
|
||||
<div class="pagination">
|
||||
<div class="pagination__buttons">
|
||||
{%- if paginator.previous %}
|
||||
<span class="button previous">
|
||||
<a href="{{ paginator.previous | safe }}">
|
||||
<span class="button__icon">←</span>
|
||||
<span class="button__text">Newer posts</span>
|
||||
</a>
|
||||
</span>
|
||||
{% endif -%}
|
||||
{%- if paginator.next %}
|
||||
<span class="button next">
|
||||
<a href="{{ paginator.next | safe }}">
|
||||
<span class="button__text">Older posts</span>
|
||||
<span class="button__icon">→</span>
|
||||
</a>
|
||||
</span>
|
||||
{% endif -%}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
</div>
|
||||
|
||||
{% block footer %}
|
||||
<footer class="footer">
|
||||
<div class="footer__inner">
|
||||
{%- if config.extra.copyright_html %}
|
||||
<div class="copyright copyright--user">{{ config.extra.copyright_html | safe }}</div>
|
||||
{% else %}
|
||||
<div class="copyright">
|
||||
{%- if config.extra.author %}
|
||||
<span>© {{ date_macros::now_year() }} {{ config.extra.author }}</span>
|
||||
{% else %}
|
||||
<span>© {{ date_macros::now_year() }} Powered by <a href="https://www.getzola.org/">Zola</a></span>
|
||||
{% endif -%}
|
||||
|
||||
<span class="copyright-theme">
|
||||
<span class="copyright-theme-sep"> :: CC BY-SA 4.0 :: A friend comes from distant lands</span>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
{% endif -%}
|
||||
</div>
|
||||
</footer>
|
||||
{% endblock footer %}
|
||||
|
||||
</div>
|
||||
{%- block extra_body %}
|
||||
{% endblock extra_body -%}
|
||||
</body>
|
||||
|
||||
</html>
|
5
templates/links.html
Normal file
5
templates/links.html
Normal file
@ -0,0 +1,5 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block main_content %}
|
||||
|
||||
{% endblock main_content %}
|
3
templates/macros/date.html
Normal file
3
templates/macros/date.html
Normal file
@ -0,0 +1,3 @@
|
||||
{% macro now_year() %}
|
||||
{{ now() | date(format="%Y") }}
|
||||
{% endmacro %}
|
97
templates/macros/head.html
Normal file
97
templates/macros/head.html
Normal file
@ -0,0 +1,97 @@
|
||||
{% import "macros/title.html" as title_macros -%}
|
||||
|
||||
{% macro head(config) %}
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
|
||||
<meta name="robots" content="noodp"/>
|
||||
|
||||
<link rel="stylesheet" href="{{ get_url(path="style.css", trailing_slash=false) | safe }}">
|
||||
|
||||
{%- if config.extra.accent_color %}
|
||||
<link rel="stylesheet" href="{{ get_url(path="color/" ~ config.extra.accent_color ~ ".css", trailing_slash=false) | safe }}">
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="{{ get_url(path="color/blue.css", trailing_slash=false) | safe }}">
|
||||
{% endif -%}
|
||||
|
||||
{%- if config.extra.background_color %}
|
||||
{%- if config.extra.accent_color and config.extra.background_color != config.extra.accent_color %}
|
||||
<link rel="stylesheet" href="{{ get_url(path="color/background_" ~ config.extra.background_color ~ ".css", trailing_slash=false) | safe }}">
|
||||
{% endif -%}
|
||||
{% endif -%}
|
||||
|
||||
{%- if config.extra.use_full_hack_font == "exo2" %}
|
||||
<link rel="stylesheet" href="{{ get_url(path="font-exo2.css", trailing_slash=false) | safe }}">
|
||||
<link rel="stylesheet" href="{{ get_url(path="font-hack.css", trailing_slash=false) | safe }}">
|
||||
{%- elif config.extra.use_full_hack_font %}
|
||||
<link rel="stylesheet" href="{{ get_url(path="font-hack.css", trailing_slash=false) | safe }}">
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="{{ get_url(path="font-hack-subset.css", trailing_slash=false) | safe }}">
|
||||
{% endif -%}
|
||||
|
||||
{% endmacro head %}
|
||||
|
||||
|
||||
{# Extra Meta tags for OpenGraph and Twitter cards #}
|
||||
{% macro open_graph(config) %}
|
||||
{%- if page %}
|
||||
{%- set permalink = page.permalink %}
|
||||
{%- set title = title_macros::title(page_title=page.title, main_title=config.title) %}
|
||||
{%- set description = page.description %}
|
||||
{%- set type = "article" %}
|
||||
{%- if page.extra and page.extra.og_image %}
|
||||
{%- if page.colocated_path %}
|
||||
{%- set og_image = page.path ~ page.extra.og_image %}
|
||||
{%- else %}
|
||||
{%- set og_image = page.extra.og_image %}
|
||||
{% endif %}
|
||||
{%- elif config.extra.default_og_image %}
|
||||
{%- set og_image = config.extra.default_og_image %}
|
||||
{%- endif %}
|
||||
{%- elif section %}
|
||||
{%- set permalink = section.permalink %}
|
||||
{%- set title = title_macros::title(page_title=section.title, main_title=config.title) %}
|
||||
{%- set description = section.description | default(value=config.description) %}
|
||||
{%- set type = "website" %}
|
||||
{%- if section.extra and section.extra.og_image %}
|
||||
{%- set og_image = section.extra.og_image %}
|
||||
{%- elif config.extra.default_og_image %}
|
||||
{%- set og_image = config.extra.default_og_image %}
|
||||
{%- endif %}
|
||||
{%- else %}
|
||||
{# For 404 and taxonomy pages #}
|
||||
{%- if taxonomy %}
|
||||
{% if term %}
|
||||
{%- set permalink = term.permalink %}
|
||||
{%- set title = title_macros::title(page_title=term.name, main_title=config.title) %}
|
||||
{%- set description = "All posts tagged " ~ term.name %}
|
||||
{% else %}
|
||||
{%- set permalink = config.base_url ~ "/" ~ taxonomy.slug %}
|
||||
{%- set title = title_macros::title(page_title=taxonomy.name, main_title=config.title) %}
|
||||
{%- set description = "All " ~ taxonomy.name %}
|
||||
{% endif %}
|
||||
{%- else %}
|
||||
{%- set permalink = config.base_url %}
|
||||
{%- set title = title_macros::title(page_title="404", main_title=config.title) %}
|
||||
{%- set description = "Page not found" %}
|
||||
{%- endif %}
|
||||
{%- set type = "website" %}
|
||||
{%- if config.extra.default_og_image %}
|
||||
{%- set og_image = config.extra.default_og_image %}
|
||||
{%- endif %}
|
||||
{%- endif -%}{# #}
|
||||
<meta name="description" content="{{ description | safe }}">
|
||||
|
||||
<meta property="og:description" content="{{ description | safe }}">
|
||||
<meta property="og:title" content="{{ title | safe }}">
|
||||
<meta property="og:type" content="{{ type }}">
|
||||
<meta property="og:url" content="{{ permalink | safe }}">
|
||||
{% if og_image %}
|
||||
<meta property="og:image" content="{{ get_url(path=og_image) }}">
|
||||
<meta name="twitter:image" content="{{ get_url(path=og_image) }}">
|
||||
{% endif %}
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:description" content="{{ description | safe }}">
|
||||
<meta name="twitter:title" content="{{ title | safe }}">
|
||||
<meta property="twitter:domain" content="{{ config.base_url | replace(from="https://", to="") }}">
|
||||
<meta property="twitter:url" content="{{ permalink | safe }}">
|
||||
{% endmacro open_graph %}
|
52
templates/macros/menu.html
Normal file
52
templates/macros/menu.html
Normal file
@ -0,0 +1,52 @@
|
||||
{% macro menu(config, current_path) %}
|
||||
{%- set current_item = false -%}
|
||||
{%- if config.extra.menu_items %}
|
||||
{%- set menu_items = config.extra.menu_items -%}
|
||||
|
||||
{%- for item in menu_items %}
|
||||
{%- set abs_item_url = item.url | replace(from="$BASE_URL", to=config.base_url) -%}
|
||||
{%- set is_current = current_url == abs_item_url ~ "/"
|
||||
or current_url is starting_with(abs_item_url)
|
||||
-%}
|
||||
{%- set is_base = abs_item_url == config.base_url
|
||||
or abs_item_url == config.base_url ~ "/"
|
||||
-%}
|
||||
|
||||
{%- if is_base %}
|
||||
{%- set_global base_item = item -%}
|
||||
{% endif -%}
|
||||
|
||||
{%- if is_current and not is_base %}
|
||||
{%- set_global current_item = item -%}
|
||||
{% endif -%}
|
||||
{% endfor -%}
|
||||
|
||||
{%- if not current_item and base_item %}
|
||||
{# Did not match any menu URLs -- assume it's a blog post #}
|
||||
{%- set current_item = base_item -%}
|
||||
{% 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 %}
|
||||
<li {%- if current_item and current_item == item %} class="active" {%- endif %}>
|
||||
{%- if item.newtab -%}
|
||||
<a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) | safe }}" target="_blank" rel="noopener noreferrer">{{ item.name | safe }}</a>
|
||||
{%- else -%}
|
||||
<a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) | safe }}">{{ item.name | safe }}</a>
|
||||
{%- endif -%}
|
||||
</li>
|
||||
{% endfor -%}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif -%}
|
||||
{% endmacro menu %}
|
||||
|
108
templates/macros/post.html
Normal file
108
templates/macros/post.html
Normal file
@ -0,0 +1,108 @@
|
||||
{% macro content(page, summary, show_only_description) %}
|
||||
{%- if show_only_description %}
|
||||
<div class="post-content">
|
||||
{{ page.description | safe }}
|
||||
</div>
|
||||
{% elif summary and page.summary %}
|
||||
<div class="post-content">
|
||||
{{ page.summary | safe }}
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="{{ page.permalink | safe }}">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
{% else %}
|
||||
{#- full content -#}
|
||||
<div class="post-content">
|
||||
{{ page.content | safe }}
|
||||
</div>
|
||||
{%- endif %}
|
||||
{% endmacro content %}
|
||||
|
||||
|
||||
{% macro date(page) %}
|
||||
<span class="post-date">
|
||||
{%- if page.date %}
|
||||
{{ page.date | date(format="%Y-%m-%d") }}
|
||||
{% endif -%}
|
||||
</span>
|
||||
{% endmacro post_date %}
|
||||
|
||||
|
||||
{% macro earlier_later(page) %}
|
||||
{%- if config.extra.enable_post_view_navigation and page.lower or page.higher %}
|
||||
<div class="pagination">
|
||||
<div class="pagination__title">
|
||||
<span class="pagination__title-h">{{ config.extra.post_view_navigation_prompt }}</span>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="pagination__buttons">
|
||||
{%- if page.higher %}
|
||||
<span class="button previous">
|
||||
<a href="{{ page.higher.permalink | safe }}">
|
||||
<span class="button__icon">←</span>
|
||||
<span class="button__text">{{ page.higher.title }}</span>
|
||||
</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if page.lower %}
|
||||
<span class="button next">
|
||||
<a href="{{ page.lower.permalink | safe }}">
|
||||
<span class="button__text">{{ page.lower.title }}</span>
|
||||
<span class="button__icon">→</span>
|
||||
</a>
|
||||
</span>
|
||||
{% endif -%}
|
||||
</div>
|
||||
</div>
|
||||
{% endif -%}
|
||||
{% endmacro earlier_later %}
|
||||
|
||||
|
||||
{% macro header(page) %}
|
||||
<h1 class="post-title"><a href="{{ page.permalink | safe }}">{{ page.title }}</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
{{ post_macros::date(page=page) }}
|
||||
</div>
|
||||
|
||||
{{ post_macros::tags(page=page) }}
|
||||
{% endmacro header %}
|
||||
|
||||
|
||||
{% macro list_posts(pages) %}
|
||||
<ul>
|
||||
{%- for page in pages %}
|
||||
{%- if page.draft %}
|
||||
{% continue %}
|
||||
{% endif -%}
|
||||
<li class="post-list">
|
||||
<a href="{{ page.permalink | safe }}">
|
||||
<span class="post-date">{{ page.date }}</span>
|
||||
:: <span class="post-list-title">{{ page.title }}</span></a>
|
||||
{{ post_macros::tags(page=page, short=true) }}
|
||||
</li>
|
||||
{% endfor -%}
|
||||
</ul>
|
||||
{% endmacro list_posts %}
|
||||
|
||||
|
||||
{% macro tags(page, short=false) %}
|
||||
{%- if page.taxonomies and page.taxonomies.tags %}
|
||||
<span class="post-tags-inline">
|
||||
{%- if short %}
|
||||
::
|
||||
{%- set sep = "," -%}
|
||||
{% else %}
|
||||
:: tags:
|
||||
{%- set sep = " " -%}
|
||||
{% endif -%}
|
||||
{%- for tag in page.taxonomies.tags | sort | unique(case_sensitive=false) %}
|
||||
<a class="post-tag" href="{{ get_taxonomy_url(kind='tags', name=tag) | safe }}">#{{ tag }}</a>
|
||||
{%- if not loop.last %}{{ sep | safe }}{% endif -%}
|
||||
{% endfor -%}
|
||||
</span>
|
||||
{% endif -%}
|
||||
{% endmacro tags %}
|
17
templates/macros/title.html
Normal file
17
templates/macros/title.html
Normal file
@ -0,0 +1,17 @@
|
||||
{% macro title(page_title, main_title) %}
|
||||
{%- if config.extra.page_titles and config.extra.page_titles == "combined" -%}
|
||||
{%- if page_title -%}
|
||||
{{ page_title }} | {{ main_title }}
|
||||
{%- else -%}
|
||||
{{ main_title }}
|
||||
{%- endif -%}
|
||||
{%- elif config.extra.page_titles and config.extra.page_titles == "page_only" -%}
|
||||
{%- if page_title -%}
|
||||
{{ page_title }}
|
||||
{%- else -%}
|
||||
{{ main_title }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ main_title }}
|
||||
{%- endif -%}
|
||||
{% endmacro title %}
|
13
templates/page.html
Normal file
13
templates/page.html
Normal file
@ -0,0 +1,13 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{%- block title -%}
|
||||
{{ title_macros::title(page_title=page.title, main_title=config.title) }}
|
||||
{%- endblock -%}
|
||||
|
||||
{% block content %}
|
||||
<div class="post">
|
||||
{{ post_macros::header(page=page) }}
|
||||
{{ post_macros::content(page=page, summary=false, show_only_description=false) }}
|
||||
{{ post_macros::earlier_later(page=page) }}
|
||||
</div>
|
||||
{% endblock content %}
|
21
templates/search.html
Normal file
21
templates/search.html
Normal file
@ -0,0 +1,21 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}
|
||||
Search | {{ config.title }}
|
||||
{% endblock title %}
|
||||
|
||||
{% block header_menu %}
|
||||
{{ menu_macros::menu_for(config=config, current_item="") }}
|
||||
{% endblock header_menu %}
|
||||
|
||||
{% block content %}
|
||||
<link href="/pagefind/pagefind-ui.css" rel="stylesheet">
|
||||
<script src="/pagefind/pagefind-ui.js"></script>
|
||||
|
||||
<div id="search"></div>
|
||||
<script>
|
||||
window.addEventListener('DOMContentLoaded', (event) => {
|
||||
new PagefindUI({ element: "#search", showSubResults: true });
|
||||
});
|
||||
</script>
|
||||
{% endblock content %}
|
8
templates/shortcodes/figure.html
Normal file
8
templates/shortcodes/figure.html
Normal file
@ -0,0 +1,8 @@
|
||||
{% if src %}
|
||||
<figure class="{% if position %}{{ position }}{% else -%} center {%- endif %}" >
|
||||
<img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %}{% if style %} style="{{ style }}"{% endif %} decoding="async" loading="lazy"/>
|
||||
{% if caption %}
|
||||
<figcaption class="{% if caption_position %}{{ caption_position }}{% else -%} center {%- endif %}"{% if caption_style %} style="{{ caption_style | safe }}"{% endif %}>{{ caption | markdown() | safe }}</figcaption>
|
||||
{% endif %}
|
||||
</figure>
|
||||
{% endif %}
|
8
templates/shortcodes/image.html
Normal file
8
templates/shortcodes/image.html
Normal file
@ -0,0 +1,8 @@
|
||||
{% if src %}
|
||||
{# If the image's URL is internal to the site... #}
|
||||
{% if src is not starting_with("http") %}
|
||||
{# ... then prepend the site's base URL to the image's URL. #}
|
||||
{% set src = config.base_url ~ src %}
|
||||
{% endif %}
|
||||
<img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %} class="{% if position %}{{ position }}{% else -%} center {%- endif %}" {%- if style %} style="{{ style | safe }}" {%- endif %} decoding="async" loading="lazy"/>
|
||||
{% endif %}
|
21
templates/tags/list.html
Normal file
21
templates/tags/list.html
Normal file
@ -0,0 +1,21 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{%- block title -%}
|
||||
{{ title_macros::title(page_title="Tags", main_title=config.title) }}
|
||||
{%- endblock -%}
|
||||
|
||||
{% block content %}
|
||||
<div class="post">
|
||||
<h1 class="post-title">all tags</h1>
|
||||
|
||||
<ul>
|
||||
{% for term in terms %}
|
||||
<li class="tag-list">
|
||||
<a href="{{ term.permalink | safe }}">
|
||||
{{ term.name }} ({{ term.pages | length }} post{{ term.pages | length | pluralize }})
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock content %}
|
21
templates/tags/single.html
Normal file
21
templates/tags/single.html
Normal file
@ -0,0 +1,21 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{%- block title -%}
|
||||
{% set title = "Tag: " ~ term.name %}
|
||||
{{ title_macros::title(page_title=title, main_title=config.title) }}
|
||||
{%- endblock -%}
|
||||
|
||||
{% block content %}
|
||||
<div class="post">
|
||||
<h1 class="post-title">
|
||||
tag: #{{ term.name }}
|
||||
({{ term.pages | length }} post{{ term.pages | length | pluralize }})
|
||||
</h1>
|
||||
|
||||
<a href="{{ config.base_url | safe }}/tags">
|
||||
Show all tags
|
||||
</a>
|
||||
|
||||
{{ post_macros::list_posts(pages=term.pages) }}
|
||||
</div>
|
||||
{% endblock content %}
|
5
templates/weekly.html
Normal file
5
templates/weekly.html
Normal file
@ -0,0 +1,5 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block main_content %}
|
||||
|
||||
{% endblock main_content %}
|
Reference in New Issue
Block a user