whitepaper: lumbda. title — lowercase, green period (matches homepage)

This commit is contained in:
russell@unturf.com 2026-04-19 17:58:36 -04:00
parent cd5d4d2efa
commit 83daa3d691
4 changed files with 162 additions and 144 deletions

View file

@ -33,6 +33,11 @@ main > h1, main > h2, section > h2 {{
font-weight: normal;
letter-spacing: 0.01em;
}}
/* Declarative period on the whitepaper title picks up the same brand
green (#227842) as the homepage "lumbda." period. */
h1.title .period {{
color: #227842;
}}
/* docutils's responsive.css blanket-pads every `body > *`, which
explodes the uncloseai floating button to nearly half the viewport.
Revert the cascade inside that button so its own stylesheet wins. */
@ -65,6 +70,14 @@ def main(argv):
sys.stderr.write("inject-whitepaper-css: no </head> found\n")
return 1
html = html.replace("</head>", style_block + "</head>", 1)
# Wrap the trailing period on the `<h1 class="title">lumbda.</h1>`
# heading in a span so CSS can color just the period green. Docutils
# emits exactly this markup for the top-level RST title.
html = html.replace(
'<h1 class="title">lumbda.</h1>',
'<h1 class="title">lumbda<span class="period" aria-hidden="true">.</span></h1>',
1,
)
with open(html_path, "w") as f:
f.write(html)
print(f"inject-whitepaper-css: injected {len(style_block)} bytes into {html_path}")

View file

@ -4,7 +4,7 @@
<meta charset="utf-8" />
<meta name="generator" content="Docutils 0.22.4: https://docutils.sourceforge.io/" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Lumbda</title>
<title>lumbda.</title>
<style type="text/css">
/* Minimal style sheet for the HTML output of Docutils. */
@ -820,6 +820,11 @@ main > h1, main > h2, section > h2 {
font-weight: normal;
letter-spacing: 0.01em;
}
/* Declarative period on the whitepaper title picks up the same brand
green (#227842) as the homepage "lumbda." period. */
h1.title .period {
color: #227842;
}
/* docutils's responsive.css blanket-pads every `body > *`, which
explodes the uncloseai floating button to nearly half the viewport.
Revert the cascade inside that button so its own stylesheet wins. */
@ -835,7 +840,7 @@ body > .uncloseai-floating-button {
</head>
<body>
<main id="lumbda">
<h1 class="title">Lumbda</h1>
<h1 class="title">lumbda<span class="period" aria-hidden="true">.</span></h1>
<!-- This is free software for the public good of a permacomputer hosted at -->
<!-- permacomputer.com, an always-on computer by the people, for the people. -->

View file

@ -622,8 +622,8 @@ endobj
endobj
73 0 obj
<<
/Author () /CreationDate (D:20260419175436-04'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260419175436-04'00') /Producer (ReportLab PDF Library - \(opensource\))
/Subject (\(unspecified\)) /Title (Lumbda) /Trapped /False
/Author () /CreationDate (D:20260419175825-04'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260419175825-04'00') /Producer (ReportLab PDF Library - \(opensource\))
/Subject (\(unspecified\)) /Title (lumbda.) /Trapped /False
>>
endobj
74 0 obj
@ -956,7 +956,7 @@ endobj
endobj
137 0 obj
<<
/Length 3238
/Length 3239
>>
stream
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
@ -964,7 +964,7 @@ q
1 0 0 1 57.02362 741.0236 cm
q
.133333 .133333 .133333 rg
BT 1 0 0 1 0 4 Tm /F2 20 Tf 24 TL 207.2842 0 Td (Lumbda) Tj T* -207.2842 0 Td ET
BT 1 0 0 1 0 4 Tm /F2 20 Tf 24 TL 208.1142 0 Td (lumbda.) Tj T* -208.1142 0 Td ET
Q
Q
q
@ -12579,144 +12579,144 @@ xref
0002381829 00000 n
0002382037 00000 n
0002382145 00000 n
0002382406 00000 n
0002382482 00000 n
0002382592 00000 n
0002382757 00000 n
0002382952 00000 n
0002383069 00000 n
0002383187 00000 n
0002383329 00000 n
0002383529 00000 n
0002383664 00000 n
0002383813 00000 n
0002383942 00000 n
0002384112 00000 n
0002384236 00000 n
0002384367 00000 n
0002384489 00000 n
0002384687 00000 n
0002384804 00000 n
0002384931 00000 n
0002385074 00000 n
0002385240 00000 n
0002385413 00000 n
0002385592 00000 n
0002385749 00000 n
0002385901 00000 n
0002386068 00000 n
0002386234 00000 n
0002386388 00000 n
0002386577 00000 n
0002386727 00000 n
0002386886 00000 n
0002387062 00000 n
0002387260 00000 n
0002387388 00000 n
0002387535 00000 n
0002387694 00000 n
0002387842 00000 n
0002388030 00000 n
0002388151 00000 n
0002388312 00000 n
0002388454 00000 n
0002388606 00000 n
0002388760 00000 n
0002388901 00000 n
0002389039 00000 n
0002389193 00000 n
0002389395 00000 n
0002389518 00000 n
0002389657 00000 n
0002389821 00000 n
0002389994 00000 n
0002390167 00000 n
0002390328 00000 n
0002390496 00000 n
0002390691 00000 n
0002390850 00000 n
0002391018 00000 n
0002391153 00000 n
0002391286 00000 n
0002391431 00000 n
0002391557 00000 n
0002391685 00000 n
0002391796 00000 n
0002392106 00000 n
0002395397 00000 n
0002403519 00000 n
0002406978 00000 n
0002414866 00000 n
0002422683 00000 n
0002431191 00000 n
0002441074 00000 n
0002453525 00000 n
0002465156 00000 n
0002473886 00000 n
0002482030 00000 n
0002493326 00000 n
0002505355 00000 n
0002516994 00000 n
0002525029 00000 n
0002536164 00000 n
0002543635 00000 n
0002553944 00000 n
0002560535 00000 n
0002570022 00000 n
0002578838 00000 n
0002589199 00000 n
0002592716 00000 n
0002594551 00000 n
0002608011 00000 n
0002624212 00000 n
0002634809 00000 n
0002641879 00000 n
0002649765 00000 n
0002658742 00000 n
0002666770 00000 n
0002674858 00000 n
0002681906 00000 n
0002684006 00000 n
0002685854 00000 n
0002686280 00000 n
0002686315 00000 n
0002686350 00000 n
0002686385 00000 n
0002686420 00000 n
0002686455 00000 n
0002686490 00000 n
0002686525 00000 n
0002686560 00000 n
0002686595 00000 n
0002686631 00000 n
0002686667 00000 n
0002686703 00000 n
0002686739 00000 n
0002686775 00000 n
0002686811 00000 n
0002686847 00000 n
0002686883 00000 n
0002686919 00000 n
0002686955 00000 n
0002686991 00000 n
0002687027 00000 n
0002687063 00000 n
0002687099 00000 n
0002687135 00000 n
0002687171 00000 n
0002687207 00000 n
0002687243 00000 n
0002687279 00000 n
0002687315 00000 n
0002687351 00000 n
0002687387 00000 n
0002687423 00000 n
0002687459 00000 n
0002687495 00000 n
0002382407 00000 n
0002382483 00000 n
0002382593 00000 n
0002382758 00000 n
0002382953 00000 n
0002383070 00000 n
0002383188 00000 n
0002383330 00000 n
0002383530 00000 n
0002383665 00000 n
0002383814 00000 n
0002383943 00000 n
0002384113 00000 n
0002384237 00000 n
0002384368 00000 n
0002384490 00000 n
0002384688 00000 n
0002384805 00000 n
0002384932 00000 n
0002385075 00000 n
0002385241 00000 n
0002385414 00000 n
0002385593 00000 n
0002385750 00000 n
0002385902 00000 n
0002386069 00000 n
0002386235 00000 n
0002386389 00000 n
0002386578 00000 n
0002386728 00000 n
0002386887 00000 n
0002387063 00000 n
0002387261 00000 n
0002387389 00000 n
0002387536 00000 n
0002387695 00000 n
0002387843 00000 n
0002388031 00000 n
0002388152 00000 n
0002388313 00000 n
0002388455 00000 n
0002388607 00000 n
0002388761 00000 n
0002388902 00000 n
0002389040 00000 n
0002389194 00000 n
0002389396 00000 n
0002389519 00000 n
0002389658 00000 n
0002389822 00000 n
0002389995 00000 n
0002390168 00000 n
0002390329 00000 n
0002390497 00000 n
0002390692 00000 n
0002390851 00000 n
0002391019 00000 n
0002391154 00000 n
0002391287 00000 n
0002391432 00000 n
0002391558 00000 n
0002391686 00000 n
0002391797 00000 n
0002392107 00000 n
0002395399 00000 n
0002403521 00000 n
0002406980 00000 n
0002414868 00000 n
0002422685 00000 n
0002431193 00000 n
0002441076 00000 n
0002453527 00000 n
0002465158 00000 n
0002473888 00000 n
0002482032 00000 n
0002493328 00000 n
0002505357 00000 n
0002516996 00000 n
0002525031 00000 n
0002536166 00000 n
0002543637 00000 n
0002553946 00000 n
0002560537 00000 n
0002570024 00000 n
0002578840 00000 n
0002589201 00000 n
0002592718 00000 n
0002594553 00000 n
0002608013 00000 n
0002624214 00000 n
0002634811 00000 n
0002641881 00000 n
0002649767 00000 n
0002658744 00000 n
0002666772 00000 n
0002674860 00000 n
0002681908 00000 n
0002684008 00000 n
0002685856 00000 n
0002686282 00000 n
0002686317 00000 n
0002686352 00000 n
0002686387 00000 n
0002686422 00000 n
0002686457 00000 n
0002686492 00000 n
0002686527 00000 n
0002686562 00000 n
0002686597 00000 n
0002686633 00000 n
0002686669 00000 n
0002686705 00000 n
0002686741 00000 n
0002686777 00000 n
0002686813 00000 n
0002686849 00000 n
0002686885 00000 n
0002686921 00000 n
0002686957 00000 n
0002686993 00000 n
0002687029 00000 n
0002687065 00000 n
0002687101 00000 n
0002687137 00000 n
0002687173 00000 n
0002687209 00000 n
0002687245 00000 n
0002687281 00000 n
0002687317 00000 n
0002687353 00000 n
0002687389 00000 n
0002687425 00000 n
0002687461 00000 n
0002687497 00000 n
trailer
<<
/ID
[<2cabfb6789433da9373fab58602c022b><2cabfb6789433da9373fab58602c022b>]
[<a47d515acbc5bc68acf9c6195c1a9e78><a47d515acbc5bc68acf9c6195c1a9e78>]
% ReportLab generated PDF document -- digest (opensource)
/Info 73 0 R
@ -12724,5 +12724,5 @@ trailer
/Size 208
>>
startxref
2687531
2687533
%%EOF

View file

@ -20,8 +20,8 @@
.. under AGPL-3.0-only.
.. Code is seeds to sprout on any abandoned technology.
Lumbda
======
lumbda.
=======
.. figure:: diagrams/lumbda-logo-green.png
:width: 24%