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 02CCFA706; Fri, 12 Jun 2026 08:27:39 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id C7EC3A6E9; Fri, 12 Jun 2026 08:27:35 +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-b4-smtp.messagingengine.com (fout-b4-smtp.messagingengine.com [202.12.124.147]) by atuin.qyliss.net (Postfix) with ESMTPS id C0DA7A6E8 for ; Fri, 12 Jun 2026 08:27:33 +0000 (UTC) Received: from phl-compute-09.internal (phl-compute-09.internal [10.202.2.49]) by mailfout.stl.internal (Postfix) with ESMTP id 11ECC1D000B2; Fri, 12 Jun 2026 04:27:30 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-09.internal (MEProxy); Fri, 12 Jun 2026 04:27:31 -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=1781252850; x=1781339250; bh=hp3dUXc/ko UHrS7ivatxijFbEoP/XGhdi5l2ol+tfkw=; b=cAU/dhZ9i52WZgVafwCaUPpz62 5BLaDNxq1Vlpst88lYDdDO1yy4emVR4YSYgMJYEG5wPzTvxk+FTtlEx88xmAYGOX hxiCozNQuF9+glmMHkOSNDd4uGctF7rj4B47Z6Yl6NUtH0bpZ7samd8HvuJjJOmD LVa1BbLDFh42FzGj2pA6RxyWVMSpV/VctqvGnJqxm8ccnG0GcRnJX1jfV/v9y405 3tGQyawqcuMg8BrhNkkysJQADtcIFgyc4YX1hMR9LOWvNYPgBC8ABEm4JXTO6tle Nt5MUgpKI5RVU9PvwuSv1zhD4t2aI3lRB5e+PNS1AtW51zimItc3DXSGaUFA== 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= 1781252850; x=1781339250; bh=hp3dUXc/koUHrS7ivatxijFbEoP/XGhdi5l 2ol+tfkw=; b=BBNm7XKO1wNWv/MHiA45kS3r9vhahDusVTi9k0KaSblzJ3g7HxK 4342Rm6VtNlHwQrwu2s7nORbVlx8ESub+h4shzOwFjxeB7bnfOWWr4D6uNgZB2IW 1Ac9iB/uqV926zb2kQS7Qn6TJbcMxT17H0JpaXzmRV/Fa8w9fgWC9qR5VllgnkkM B01yCcjiG3ZAeHY8uCqWrtPmNdSCu1qibdSZB6htGFSry80Dtf2s9T2X4oP/leDe XKgpLbG/zabJ23daUo7DZ1wkhcEmAkLVxk5W8aL4tpfqZI9c3nCKnja2c1f8zAki ae+NWi48HGwlKHHZ0ug0O0iJvRE6Zzpbavw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTGeISIdRUVvMWhzujcr0KNA82mCKeYcOmaKqaz1Zy+6AMtQKeIf1JdUA+gY+3dF0h DEpQfKnMIkEkToF5nQ+ZUM/bdd9gB78gm1bsZLEa8kWGRfESuTBTPsUOQ6x/jEzFSmbkwg xeh4lRmPjaCaCQ6hofpqBryS247h4KMPspbs+lX9rYjEQx41c5124mcCdPJytefp8BCgTK 2j18o1AHZfIAz6uEIF7UqLcSV0EFiYY5GgXowA3feyWRN+yB27VCYzJbBojsQiMkkCjGuL ujWHMxTN2BcHP1l4ZACHae46cuf2y6Bh4sfjHfQjlje8gz7b0g0T8eTdcw0C6Z2g9dRzb3 EpXCEZ3anGBcx4reTwigBWZW+TQfVtKE4mAnk1XxvALmptTn1v+eUNWdCTW5CF+WtNTuuC K7MTJZKnmIdA1TrIMQJfxlKJKDSfDD6MJ3O9QkvlX6zjw6sXh0pdR+4wnbX3nKCNXKhRTh +t1WwRtjey2wRnOlluJ0fGnMoPqx2C7HUq1ITFKOamxnFniaqh1B0P3L7nIW5NqKenQQ02 QE9YvH5NGjobCLwI9tiLPGPIOL7T5xuF5xPkQhCygzAOaqbWqp+azJ70XRFDCgvncTD/M7 eGFpWPXrAfgbIyGJdNKVaDYdQxo4x2zkopkaXDQ6FQOM98qVD1G93P9MpxLw X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 12 Jun 2026 04:27:30 -0400 (EDT) Received: by mbp.qyliss.net (Postfix, from userid 1000) id B457E8241486; Fri, 12 Jun 2026 10:27:28 +0200 (CEST) From: Alyssa Ross To: Valentin Gagarin Subject: Re: [PATCH v2 1/3] Documentation: align Jekyll page style to rest of website In-Reply-To: <20260611063724.487914-1-valentin@gagarin.work> References: <20260608164938.290202-1-valentin@gagarin.work> <20260611063724.487914-1-valentin@gagarin.work> Date: Fri, 12 Jun 2026 10:27:12 +0200 Message-ID: <87ecic9na7.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Message-ID-Hash: 4NUZXIYDLYYHLDB2CNY533K2737X7ICM X-Message-ID-Hash: 4NUZXIYDLYYHLDB2CNY533K2737X7ICM 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" -%} I overlooked this last time =E2=80=94 what if "prefix" is e.g. a suffix of "p.url"? Would the false positive be a problem? > + {%- 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 %} Thank you for fighting this uninspiring language on our behalf. :) > + {%- 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 %} Description rendering here still doesn't work, but I see the next patch removes the description part here. That should be part of this patch instead so we don't add functionality and then immediately remove it. I can make that shift when applying if there are no other changes needed (which depends on the answer to my question above). --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRV/neXydHjZma5XLJbRZGEIw/wogUCaivC4AAKCRBbRZGEIw/w onVIAQDMSeHjFIEIynPKLk9YtXTO5J8b681GMVkIGJbtaCi0BwEAwzLMvoAUsOKG zZIA/RrX0LthaMMyLKxQkyma/VNXxgw= =S452 -----END PGP SIGNATURE----- --=-=-=--