Commit Graph

1421 Commits

Author SHA1 Message Date
svemagie
e5cb8f689c update photo post 2026-03-29 08:38:16 +02:00
svemagie
06c161d448 create photo post 2026-03-29 08:36:58 +02:00
svemagie
d766b2ffcc upload photo file 2026-03-29 08:35:22 +02:00
svemagie
592e060859 create like post 2026-03-28 21:55:41 +01:00
svemagie
82297a258b update reply post 2026-03-28 21:39:02 +01:00
svemagie
7a0c2ffd71 create reply post 2026-03-28 21:37:49 +01:00
svemagie
7729c5696c update bookmark post 2026-03-28 16:41:50 +01:00
svemagie
4c4431983a create bookmark post 2026-03-28 16:40:47 +01:00
svemagie
36d9ef1b28 fix: exclude unlisted/private posts from weekly digests
OwnYourSwarm checkin posts (visibility: unlisted) were still appearing
in /digest pages. Add isListed filter to the weeklyDigests collection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 21:10:08 +01:00
svemagie
626bab789e update like post 2026-03-27 20:26:24 +01:00
svemagie
84599f7d6a update like post 2026-03-27 20:25:23 +01:00
svemagie
7b23cdafc7 update like post 2026-03-27 20:25:22 +01:00
svemagie
443e14c065 create like post 2026-03-27 20:20:28 +01:00
svemagie
1ac4fff2e8 update article post 2026-03-27 19:33:24 +01:00
svemagie
44a33c0028 fix: sidenotes only appended to article body, not sidebar cards
Step 3b was matching all div.e-content on the page, including sidebar
component cards (prose-sm). Added prose-lg guard so asides are only
inserted into the article body's e-content.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 19:27:35 +01:00
svemagie
49322ee820 update reply post 2026-03-27 19:27:19 +01:00
svemagie
604e695777 create reply post 2026-03-27 19:26:22 +01:00
svemagie
7263614290 fix: sidenote positioning via data-fn-ref, not parentElement
Browsers re-parent <aside> out of <span class="sidenote-host"> when
parsing (block element inside phrasing content is invalid HTML). This
caused s.parentElement to be .e-content instead of .sidenote-host,
so getBoundingClientRect returned .e-content's top for every sidenote.

Fix: add data-fn-ref="fnrefN" to each <aside class="sidenote"> in the
PostHTML transform. JS looks up document.getElementById(data-fn-ref)
to find the .footnote-ref-num span still inside .sidenote-host, then
measures that element's top for correct vertical alignment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 19:18:25 +01:00
svemagie
9871002232 fix: sidenote JS sets position/overflow directly, uses getBoundingClientRect
Instead of relying on CSS cascade to apply position:relative and overflow
to .e-content/.main-content (which may not fire in time or may be overridden),
the positioning script now sets these inline styles itself. Uses
getBoundingClientRect() subtraction (hRect.top - eRect.top) to measure
position of each .sidenote-host relative to .e-content — viewport-relative
and scroll-invariant. Clears inline styles on resize to < 1440px.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 18:57:36 +01:00
svemagie
8f28ee43ec fix: sidenote positioning uses offsetTop, not getBoundingClientRect
getBoundingClientRect() is viewport-relative; subtracting parent.top was
unreliable depending on scroll position at call time. Switch to
h.offsetTop, which gives distance from .sidenote-host to .e-content's
padding edge directly (because .e-content is position:relative = offsetParent).
Also replace DOMContentLoaded listener (already fired at script injection time)
with requestAnimationFrame for immediate post-paint positioning.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 18:44:42 +01:00
svemagie
0db48ac6fa fix: sidenotes use absolute positioning in page margin, not padding
Replace float+padding-left approach (which narrowed article text) with
position:absolute on each sidenote, placing it to the right of 100% of
.e-content so it paints in the existing left page margin. Text width is
unchanged. Requires viewport ≥ 1440px where the margin is 224px (210px
needed). JS sets each sidenote's top relative to its reference span via
getBoundingClientRect, with 8px overlap prevention.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 18:39:32 +01:00
svemagie
815bf67283 Merge branch 'feat/sidenotes' 2026-03-27 18:17:32 +01:00
svemagie
0b5d5ade37 chore: declare posthtml as explicit devDependency 2026-03-27 18:12:15 +01:00
svemagie
27cfa6ae17 feat: add sidenote CSS (left margin, float-based) 2026-03-27 18:02:39 +01:00
svemagie
cc9bd8794b fix: sidenote repeated-ref labels, orphan guards, tighter scope 2026-03-27 18:00:03 +01:00
svemagie
40ff45aec8 feat: add sidenotes HTML transform (PostHTML)
Adds a PostHTML transform that converts markdown-it-footnote output into
margin sidenotes. Replaces <sup class="footnote-ref"> with a sidenote-host
span containing a numbered inline marker and a floating <aside>. Also adds
has-sidenotes class to the parent <article> when sidenotes are present.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 17:56:01 +01:00
svemagie
ff9246ceea update page post 2026-03-27 10:54:44 +01:00
svemagie
c0d3fc2644 update page post 2026-03-27 10:51:29 +01:00
svemagie
f22c4b099c upload photo file 2026-03-27 09:56:28 +01:00
svemagie
8d694fb00b update bookmark post 2026-03-26 07:00:20 +01:00
svemagie
b66814864a update bookmark post 2026-03-26 06:59:52 +01:00
svemagie
50ef16cddd update bookmark post 2026-03-26 06:59:06 +01:00
svemagie
2c3a788da2 update bookmark post 2026-03-26 06:34:21 +01:00
svemagie
fd0fc3609a create bookmark post 2026-03-26 06:33:10 +01:00
svemagie
bab485d085 feat: more umami 2026-03-25 21:25:58 +01:00
svemagie
5bc5724249 update photo post 2026-03-25 19:49:35 +01:00
svemagie
9fc7e12523 update bookmark post 2026-03-25 19:35:54 +01:00
svemagie
7009b27bf7 create bookmark post 2026-03-25 19:34:38 +01:00
svemagie
882a5ceb6a fix: design of map matching the bright/dark mode 2026-03-25 16:44:17 +01:00
svemagie
97161ff53c fix: where deduplication 2026-03-25 16:40:06 +01:00
svemagie
383100815c fix: currently in 2026-03-25 16:35:35 +01:00
svemagie
d4a9b1565d fix: "home" locations not counted 2026-03-25 16:34:11 +01:00
svemagie
8783d80613 Merge branch 'main' of github.com:svemagie/blog 2026-03-25 16:30:12 +01:00
svemagie
c0ffe769fa fix: "I'm currently in" City 2026-03-25 16:30:09 +01:00
svemagie
6360556597 delete note post 2026-03-25 15:53:21 +01:00
svemagie
04468b303a update note post 2026-03-25 15:51:23 +01:00
svemagie
01e4489f9f create note post 2026-03-25 15:50:19 +01:00
svemagie
b1c5c5691c create note post 2026-03-25 15:38:53 +01:00
svemagie
0514786396 fix: umami proxy 2026-03-25 13:02:47 +01:00
svemagie
c77ba40835 fix: umami host 2026-03-25 12:11:03 +01:00