Restore spaces stripped at wrapped inline-tag boundaries

Astro drops the whitespace run when a line break falls exactly at an inline
tag boundary, so "the\n<a ...>" renders glued. Adds {' '} at the wrap.
The footer one showed on every page.
This commit is contained in:
2026-09-09 16:01:16 +02:00
parent 0fe0eaf2bd
commit 92472937cc
3 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ const year = new Date().getFullYear();
<footer class="site-footer">
<div class="site-footer__inner">
<p>
© {year} {SITE.author} · <a href="/uses">Uses</a> ·
© {year} {SITE.author} · <a href="/uses">Uses</a> ·{' '}
<a href="/impressum">Impressum</a> · <a href="/datenschutz">Datenschutz</a>
</p>
{
+2 -2
View File
@@ -26,7 +26,7 @@ const lastUpdated = '28 July 2026';
<p>
<strong>Last updated:</strong> {lastUpdated}<br />
Applies to the Android app <strong>Calendula</strong>
Applies to the Android app <strong>Calendula</strong>{' '}
(package <code>de.jeanlucmakiola.calendula</code>), all versions and all
distribution channels.
</p>
@@ -174,7 +174,7 @@ const lastUpdated = '28 July 2026';
system dialog for the “Reliable delivery” setting.
</li>
<li>
<code>WAKE_LOCK</code>, <code>FOREGROUND_SERVICE</code>, <code>ACCESS_NETWORK_STATE</code>
<code>WAKE_LOCK</code>, <code>FOREGROUND_SERVICE</code>, <code>ACCESS_NETWORK_STATE</code>{' '}
— required by the Android system component used for scheduled background
work (WorkManager).
</li>
+5 -5
View File
@@ -15,7 +15,7 @@ import { LEGAL } from '../consts';
<article class="prose">
<h1 class="page-title">Uses</h1>
<p>
A running colophon of the tools and stack behind this site, the
A running colophon of the tools and stack behind this site, the{' '}
<a href="/work">Floret apps</a>, and the infrastructure they run on. The
throughline: open, self-hostable standards, and as little reliance on
third-party services as I can manage.
@@ -29,14 +29,14 @@ import { LEGAL } from '../consts';
the repo.
</li>
<li>
Typefaces are <a href="https://rsms.me/inter/" rel="noopener">Inter</a>
Typefaces are <a href="https://rsms.me/inter/" rel="noopener">Inter</a>{' '}
and <a href="https://www.jetbrains.com/lp/mono/" rel="noopener">JetBrains
Mono</a>, self-hosted via Fontsource — no Google Fonts CDN, so no
third-party request on page load.
</li>
<li>
Analytics is self-hosted <a href="https://umami.is" rel="noopener">Umami</a>:
cookieless, no cross-site tracking, no personal profiles. See the
cookieless, no cross-site tracking, no personal profiles. See the{' '}
<a href="/datenschutz">Datenschutzerklärung</a> for what that means.
</li>
<li>Icons from <a href="https://iconify.design" rel="noopener">Iconify</a> (Material Design Icons + Simple Icons).</li>
@@ -47,7 +47,7 @@ import { LEGAL } from '../consts';
<li><strong>Kotlin</strong> and <strong>Jetpack Compose</strong>, designed in <strong>Material 3 Expressive</strong>.</li>
<li>
No reinvented sync stack — each app is a front-end over a platform
provider (<code>CalendarContract</code>, the OpenTasks
provider (<code>CalendarContract</code>, the OpenTasks{' '}
<code>TaskContract</code>) and open standards like CalDAV, iCalendar, and
DecSync.
</li>
@@ -69,7 +69,7 @@ import { LEGAL } from '../consts';
</ul>
<p class="muted">
This list grows as the stack does. Spotted something you'd ask about?
This list grows as the stack does. Spotted something you'd ask about?{' '}
<a href={`mailto:${LEGAL.email}`}>Get in touch</a>.
</p>
</article>