{# Page layout for org-ssg, mirroring theme/templates/base.html. Styling comes from theme/static/styles.css, published by `[build] assets` in org-ssg.toml — the same directory weblorg serves at /, read in place rather than copied. weblorg links the minified styles.min.css instead; that file is gitignored build output and the rules are the same, so this links the tracked one. Available here: page (.title .url .source .date .date_iso .tags .excerpt .toc .keywords), site, nav, root, stylesheet. See the org-ssg guide on Templates. #} {#- The table of contents, in the shape Emacs exports it. `page.toc` is a tree of {title, anchor, level, children}, and it is empty when the page has no headings or says `#+OPTIONS: toc:nil` — so pages that opt out simply render nothing here. #} {%- macro toc_list(entries) -%} {%- endmacro %} {%- macro toc(entries) -%} {%- if entries %}

Table of Contents

{{- toc_list(entries) }}
{%- endif %} {%- endmacro %} {% block subtitle %}{{ page.title }} - {% endblock %}{{ site.title }} {#- rel="me" identity links. weblorg's base.html writes the last one as , which a browser hoists out of ; is the spelling that stays where it is put. #} {%- if stylesheet %} {%- endif %}
{% block main %}

{{ page.title }}

{%- if page.date_iso %}

{% if page.excerpt %} · {{ page.excerpt }}{% endif %}

{%- endif %} {%- if page.tags %}

{% for tag in page.tags %}#{{ tag }} {% endfor %}

{%- endif %} {#- Blog posts add a reply footer inside this block; see post.html, which the [[pages]] rule in org-ssg.toml selects for everything under blog/. #}
{{- toc(page.toc) }} {% block content %}{{ body | safe }}{% endblock %}
{% endblock %}