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 107028E97; Tue, 16 Jun 2026 11:49:15 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 4589F8E8B; Tue, 16 Jun 2026 11:49:13 +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 fhigh-b4-smtp.messagingengine.com (fhigh-b4-smtp.messagingengine.com [202.12.124.155]) by atuin.qyliss.net (Postfix) with ESMTPS id 81BD58E75 for ; Tue, 16 Jun 2026 11:49:11 +0000 (UTC) Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfhigh.stl.internal (Postfix) with ESMTP id 2FB487A01AC; Tue, 16 Jun 2026 07:49:09 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Tue, 16 Jun 2026 07:49:09 -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=1781610548; x=1781696948; bh=N3xgdBfVxm ryMQvH/BoqPwsOUjYHOg4LNuh388MFDS0=; b=kEg105qJ6yJaeDKBs58iKmkKBU lMtgyewrSUef4Zlh1R4OZ+fJ92zJi42n0bjlDLBIsgQXYvP1heZTA7LxnDFJeUX0 2GaIBbnc4ziG+gzn9rgNUPZ+F8mx4FvnY8ieIIV97XevCkNgje9Op0sZHbxBEeVo NqGjfBgF/UK43ibby6RdPqJxtSUNmax8W8Dz5l6tOVxUIOpq+8cK8VU8hnArwYoQ PQQI/e38/NYVmcer1XBoOUpF9/zrkhNp8dhdmgkPKRH/NfBnB/Sa9B/OQDDcBpTQ X+kuySsIzR+R5rnABPnDFbWAEMhX0IrUpigo9JG0hmzmKUnIxHER8uxZDIsA== 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= 1781610548; x=1781696948; bh=N3xgdBfVxmryMQvH/BoqPwsOUjYHOg4LNuh 388MFDS0=; b=jukXVtgsPILk5tXDGkz28sJRXJmHC33xXtVblJsehVuJk1MiLiG 4ykMGW9Trx3zpcdGk43+4D5YUQwVyAOGDtrF6Fu2o+3FzlLhtXrucBddGmJtlllS gP69SH9gVnxr620Oz+aZOewUwam9FjRAqfiwgurscOGrbmPlfeirY5Q94m6ISRHO UErqvup3gxtj1mmt1WRZO0LfbnshNZwuOXWDgj/9ODHZcvJb4jpc9MRFrlq5vuf5 Y7a63r6Zb9nmF//s7KyHs2sYghYOD4VFRE1MrM4kVyTuFWfqpL/7RayKxOI4v0U7 T+IUB3kWm0v3bItNM7W0etMxc7EZ4UNn0tA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTGw03lTKn1ubBoOmMtyd9WgBC53o6hRCaSbrupAzF2gqNc2kwsmd3ZQx5pdnxNrSG PX58PSh6HppqR82i0Jjv3pvggvNTMEW1/Uisy3+568VIeNQ+F8b/yeKoNLK2dxppEwzIAq 0DckWp4mRzYHTHMrWrcEQ/yVdSuz0VcUFFOxeAIo7SW0//9xXCyzh+HIDOfyGe1WigU2pG ObaYFEkNszBajqkSHfPOb3PTElQc2zdljRpUfwUWcx9R7xwSobk5HtNCAD1Hw0PCwYuLd9 GUaTcVUIyFJwsyAOrIPSDDAgcBMozRlhtxESYPVhl2KrGaYPWeJSGFnAyxL259NIsmPKg0 FkM23f2lU9SRlRSrVGcHPu4HBjb3dBFijja8mJqvLvdXYinM7QCSuYL24yTFRK43VccqmY dKPHruaNfDJYY6GSA/alO5znf0/bsY85wLP2KC10zMSZzY+iItwN0PMQeFftPiq8j9swau U6hfew+JxM8t0Z9aWXTbepk2vwP0CcrW74B12Xk3mcLlDdzpSAf7yM6Wq3W6Mz+htWCk41 CAzjdfcrMtxFinf8xVgVr7j6q1SuGqZMPKvWiRuifJU5dGY1osSq7htoX5vrW0/pwf11bH TaBz0wfuDzKyucuU94le6b2S7sk2ZYtyYKOMaidZd9MogP4n3bN8pNoMYeNg X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 16 Jun 2026 07:49:08 -0400 (EDT) Received: by mbp.qyliss.net (Postfix, from userid 1000) id 3B70D824B498; Tue, 16 Jun 2026 13:49:07 +0200 (CEST) From: Alyssa Ross To: Valentin Gagarin Subject: Re: [PATCH v3 1/3] Documentation: align Jekyll page style to rest of website In-Reply-To: <20260616093527.388679-2-valentin@gagarin.work> References: <20260608164938.290202-1-valentin@gagarin.work> <20260616093527.388679-1-valentin@gagarin.work> <20260616093527.388679-2-valentin@gagarin.work> Date: Tue, 16 Jun 2026 13:49:04 +0200 Message-ID: <87o6hau2mn.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Message-ID-Hash: MNTULEEM4BQORIN5BDZTCUVVBUB6OADS X-Message-ID-Hash: MNTULEEM4BQORIN5BDZTCUVVBUB6OADS 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 Valentin Gagarin writes: > diff --git a/Documentation/_includes/sitemap.html b/Documentation/_includes/sitemap.html > new file mode 100644 > index 0000000..723bdb3 > --- /dev/null > +++ b/Documentation/_includes/sitemap.html > @@ -0,0 +1,58 @@ > +{% 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 = "/" -%} > +{% comment %} > +`prefix` is the URL of the section to list children of. It must end with "/", > +which we assume if it is constructed by a directory and contains an index file. > +{% endcomment %} > +{%- assign prefix = include.prefix | default: default_root -%} > +{%- capture inner -%} > + {%- assign candidates = site.html_pages > + | where_exp: "p", "p.url contains prefix" > + | where_exp: "p", "p.url != prefix" -%} > + {%- comment %} > + Ordered pages first, ascending. The rest after, in URL order, so output is deterministic. > + {%- endcomment %} > + {%- assign ordered = candidates | where_exp: "p", "p.nav_order" | sort: "nav_order" -%} > + {%- assign unordered = candidates | where_exp: "p", "p.nav_order == nil" | sort: "url" -%} > + {%- assign sorted = ordered | concat: unordered -%} > + {%- for p in sorted -%} > + {%- comment %} > + `assign` is page-global. A recursive include below may have overwritten `prefix`. > + {%- endcomment %} > + {%- assign prefix = include.prefix | default: default_root -%} > + {%- assign url_start = p.url | slice: 0, prefix.size -%} > + {%- if url_start == prefix -%} Should be indentation inside this. (Or we could do a continue to avoid rightward drift.) Let me know which you prefer. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRV/neXydHjZma5XLJbRZGEIw/wogUCajE4MAAKCRBbRZGEIw/w ooHYAQDoaBYMoMWgwMBYHNaaSL3d96QQe3fvQJILvxyZml60UgEAmxKeZPMdj4HV SOHGedFO2Ac726AExKbymtq8ZH3LfQg= =XbHC -----END PGP SIGNATURE----- --=-=-=--