The documentation moves from READMEs into a site in docs/: getting started, a user guide, operations, a reference, and development pages, written in the style of network vendors' documentation (docs/STYLE.md). bin/bgp/README.md and docs/RFCs.md are folded into it. - A theme of its own in the International Typographic Style, in blues, with self-hosted Inter and JetBrains Mono, search over Zola's index, dark mode, and no resources loaded from other hosts. - Example configurations in docs/examples/, shown on the pages and checked with `bgp --check` in CI. - A test that fails when a field of config.proto is missing from the configuration reference. - A CI job that builds the site; Zola fails on broken links and anchors. - A hardened systemd unit, tried under systemd with kernel routes on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
40 lines
1.5 KiB
HTML
40 lines
1.5 KiB
HTML
{% extends "base.html" %}
|
|
{%- import "macros/icons.html" as icons -%}
|
|
{%- import "macros/docs.html" as docs -%}
|
|
|
|
{% block title %}{{ page.title }} · {{ config.title }}{% endblock title %}
|
|
{% block description %}{{ page.description | default(value=config.description) }}{% endblock description %}
|
|
{% block body_class %}layout-docs{% endblock body_class %}
|
|
|
|
{% block menu_button %}
|
|
<button class="icon-button menu-button" type="button" data-menu-toggle aria-label="Show the contents" aria-expanded="false">{{ icons::menu() }}</button>
|
|
{% endblock menu_button %}
|
|
|
|
{% block body %}
|
|
{%- set group = get_section(path=page.ancestors | last, metadata_only=true) %}
|
|
<div class="docs-layout">
|
|
<aside class="sidebar" data-sidebar>
|
|
{{ docs::sidebar(current=page.path) }}
|
|
</aside>
|
|
<main id="main" class="docs-main">
|
|
<article class="prose">
|
|
<header class="page-header">
|
|
<span class="eyebrow">{{ group.extra.number }} — {{ group.title }}</span>
|
|
<h1>{{ page.title }}</h1>
|
|
{%- if page.description %}
|
|
<p class="lead">{{ page.description }}</p>
|
|
{%- endif %}
|
|
</header>
|
|
{{ page.content | safe }}
|
|
</article>
|
|
{{ docs::pager(current=page.path) }}
|
|
<p class="page-source">
|
|
<a href="{{ config.extra.repository }}/src/branch/main/docs/content/{{ page.relative_path }}">{{ icons::file() }} This page's source</a>
|
|
</p>
|
|
</main>
|
|
<aside class="toc-column">
|
|
{{ docs::toc(entries=page.toc) }}
|
|
</aside>
|
|
</div>
|
|
{% endblock body %}
|