From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id A23CA972D; Tue, 09 Jun 2026 11:46:00 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 01312971F; Tue, 09 Jun 2026 11:45:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_MISSING,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fout-a2-smtp.messagingengine.com (fout-a2-smtp.messagingengine.com [103.168.172.145]) by atuin.qyliss.net (Postfix) with ESMTPS id 9798996B8 for ; Tue, 09 Jun 2026 11:45:56 +0000 (UTC) Received: from phl-compute-09.internal (phl-compute-09.internal [10.202.2.49]) by mailfout.phl.internal (Postfix) with ESMTP id 916B7EC022F; Tue, 9 Jun 2026 07:45:55 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-09.internal (MEProxy); Tue, 09 Jun 2026 07:45:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1781005555; x=1781091955; bh=4AyrYxpg3r kGz3lsL+8b0hh0gGoemaR+VG24U2SXDdA=; b=TGgiK6UhzPmyM22VAPzD6zAQl0 yDk/bKNs7WtV8MlGS3a/QgfaBc7yB1bdk6J5ictyWTbfqIz3JTt8BOCazw7hg4tJ WAYxacGI8pIRkanbR4f9TOQD06Jxibg1KFSEhR5vp4ld6CWq6WcauAPopPKafODM Rbzi1+SoaJdH2+bSc+Bh1VxjAqW8gGWllSQFEZx0utIFc3Z06HNB0AuH3UEJQ+9V LCR9c2o14fSI/FP8ZZysZmRC/67XY3B0mBqbWxHYmHvKlBXLDDrFikJx8nITHxdV 4HQOOwABxIbg1hdH5Q+F3A76gJrQ7Q5PaDIXdJCJRGNxhcLwPvVoLIuJdP8g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1781005555; x=1781091955; bh=4AyrYxpg3rkGz3lsL+8b0hh0gGoemaR+VG2 4U2SXDdA=; b=E9ylXfWqmWH2QyVcuVNsH5ntTZ3Smie6xTZCtKJX/YEqd6Eor7W 3b7OpiL4/3OhuFFju+z8aa1U8uqdSA7H3naYl8JH8xZ/gUh18qu3ek8p1rmqewGv 0mDQL0hArSHYmDgU1/Rc+wVLuJsMG9B0RMuezhS6mDv4dN6qJ4yNtdMHAGeP2k1K HMt2kt9w3EuIsHbYzV11onZadln4V1ZUhiBEb3ekNAl0GqAaG5bsiVNAlmpO1sBD bxAvwJlRnbjT1jD2wP7YCOnhETMICUs4NPlM7RwAH1CJ44eqbU6LDkicZHTbYxhW rKc/QOFpz9iupOipuv626Jo5x3BSwZV3vSw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTEDPSHzplm9tP5nj6XQgN27RSjBMQWso3AdLoHyRaPt8QBOKKBYct0NVaH13NbY6Q 9FhZQW1AyR8aV8Pn6ncGE5/nDsl/HDDRsEZ2rV7kk+KX2FvyFstsTfWSniZM7uDUds6NZ6 yPNR1LPbd83y5tvS3+OyFfAw40puZRG4aCZTLKq5IikXW4feAEPag7NeJ+L3JKM+MJBz3T cwBPw/dxk2fbrzRUdYlRc9iS5ckO70MN+RFyHHlGbOGBCgH7IOPQtBURx+xh1bRWdagiQT lW/UCX1lrMA3CkcSvzEt/4/KBs8Etq7NXz4+9oBFPezA2Coeth9VWO0kDnFgsgiVTyRDmF 31dcsVTUSqBzLQp1TGePxnhfVPEy1ED7hQeXHR7diHZt3O56t0WDyq34S0+dHcNFyZG3sq 2/2dzAVaG35H14EnP+vKSS5oDmX2I5KnM8CdkhCayucHjhUX9XgkpkoBS9keXZZldZjRSC 4uE59h/WUDOR3WAvyk7IQXEUiC+vjA4/MMTlv28XMkB46bhdmU4Tv1p2iToSGvYJnonKkW J9nUbuzBQ5EsnkVTdlNajH1qYeWi0g+MmlJOgvsvDCq6++8d7RF3BKvGHlcy7x3F7YoEGd r0BwoQ27fFXVizoU0yNxKGmU4OHxCNMZ1oNyVpekbo/BoCZLmDxCEtnzH/Rg X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 9 Jun 2026 07:45:55 -0400 (EDT) Received: by fw12.qyliss.net (Postfix, from userid 1000) id 18C32B6188F8; Tue, 09 Jun 2026 13:45:53 +0200 (CEST) From: Alyssa Ross To: Valentin Gagarin Subject: Re: [PATCH 1/3] Documentation: align Jekyll page style to rest of website In-Reply-To: <20260608164938.290202-5-valentin@gagarin.work> References: <20260608164938.290202-1-valentin@gagarin.work> <20260608164938.290202-5-valentin@gagarin.work> Date: Tue, 09 Jun 2026 13:45:51 +0200 Message-ID: <87a4t49btc.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Message-ID-Hash: 5AA2LUGCV22YHS4Y3FZTDYL3BPM2WZMI X-Message-ID-Hash: 5AA2LUGCV22YHS4Y3FZTDYL3BPM2WZMI X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: devel@spectrum-os.org X-Mailman-Version: 3.3.10 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Valentin Gagarin writes: > diff --git a/Documentation/_includes/sitemap.html b/Documentation/_includ= es/sitemap.html > new file mode 100644 > index 0000000..cd493f8 > --- /dev/null > +++ b/Documentation/_includes/sitemap.html > @@ -0,0 +1,55 @@ > +{% comment %} > +SPDX-License-Identifier: GPL-3.0-or-later > +SPDX-FileCopyrightText: 2026 Valentin Gagarin > + > +Render a nested sitemap rooted at a given URL prefix. Hierarchy is > +derived from URL structure: a page is a direct child of prefix P iff > +its URL starts with P, is not P itself, and contains no further path > +segments below P. > +{% endcomment %} > + > +{%- assign default_root =3D "/" -%} > +{% comment %} > +`prefix` is the URL of the section to list children of. It must end wit= h "/", > +which we assume if it is constructed by a directory and contains an inde= x file. > +{% endcomment %} > +{%- assign prefix =3D include.prefix | default: default_root -%} > +{%- capture inner -%} > + {%- assign candidates =3D site.html_pages > + | where_exp: "p", "p.url contains prefix" > + | where_exp: "p", "p.url !=3D prefix" -%} > + {%- comment %} > + Ordered pages first, ascending. The rest after, in URL order, so outp= ut is deterministic. > + {%- endcomment %} > + {%- assign ordered =3D candidates | where_exp: "p", "p.nav_order" | so= rt: "nav_order" -%} > + {%- assign unordered =3D candidates | where_exp: "p", "p.nav_order =3D= =3D nil" | sort: "url" -%} > + {%- assign sorted =3D ordered | concat: unordered -%} > + {%- for p in sorted -%} > + {%- comment %} > + `assign` is page-global. A recursive include below may have overwri= tten `prefix`. > + {%- endcomment %} > + {%- assign prefix =3D include.prefix | default: default_root -%} > + {%- assign suffix =3D p.url | remove_first: prefix -%} > + {%- assign without_slashes =3D suffix | replace: "/", "" -%} > + {%- assign slashes =3D suffix.size | minus: without_slashes.size -%} > + {%- assign is_index =3D false -%} > + {%- if p.name =3D=3D "index.adoc" -%}{%- assign is_index =3D true -%= }{%- endif -%} > + {%- assign is_page =3D false -%} > + {%- if is_index =3D=3D false and slashes =3D=3D 0 -%}{%- assign is_p= age =3D true -%}{%- endif -%} > + {%- assign is_section =3D false -%} > + {%- if is_index and slashes =3D=3D 1 -%}{%- assign is_section =3D tr= ue -%}{%- endif -%} > + {%- if is_page or is_section %} > +
  • > + {{ p.title }}{% if p.de= scription %} =E2=80=94 {{ p.description }}{% endif %} Is this right? I see we have pages with descriptions, but when I look at the sitemap I don't see any descriptions rendered. > + {%- if is_section -%} > + {%- include sitemap.html prefix=3Dp.url -%} > + {%- endif -%} > +
  • > + {%- endif -%} > + {%- endfor -%} > +{%- endcapture -%} > +{%- assign trimmed =3D inner | strip -%} > +{%- if trimmed !=3D "" %} > +
      {{ inner }} > +
    > +{%- endif -%} > diff --git a/Documentation/_layouts/page.html b/Documentation/_layouts/pa= ge.html > new file mode 100644 > index 0000000..230b601 > --- /dev/null > +++ b/Documentation/_layouts/page.html > @@ -0,0 +1,31 @@ > +{% comment %} > +SPDX-License-Identifier: GPL-3.0-or-later > +SPDX-FileCopyrightText: 2026 Valentin Gagarin > +{% endcomment %} > + > + > + > + > + > + > + > + > +{% include favicon.html %} > + > + > +{{ page.title }} > + > + > + > +