Live
Fusite
My little corner of the internet showcasing personal projects and updates about my work
Node.js
Serverless
Handlebars
Bun
AWS
Timeline
v0.3.0
February 5, 2026
UX and styling improvements for the Fuscripts site.
Added
\[w:XX%\] for desktop width, \[mw:XX%\] for mobile width, or \[w:80% mw:50%\] for both. Uses CSS custom properties (--dw, --mw) set inline on figure/img elements, with media query rules in the stylesheet for responsive behavior.Changed
max-width styles with CSS custom properties, enabling responsive behavior that inline styles alone cannot express (media queries cannot be used in inline styles).Technical
parseImageCaptionWidth() updated in both fusite/commons/src/utils/notion.ts and fusite/commons/src/services/imageProcessor.ts to parse \[w:\] and \[mw:\] tagsbuildImageStyleAttr() helper generates style="--dw: X%; --mw: Y%" attributesprocessNotionImage() in imageProcessor now accepts optional displayMobileWidth parametermain.css using attribute selectors (figure\[style*="--dw"\]) for desktop and @media (max-width: 640px) for mobile@keyframes tagWaveTilt and @keyframes tagReflex with --tag-i custom property for stagger delayv0.2.0
January 31, 2026
A batch of UX improvements and developer experience enhancements for the Fuscripts site.
Added
url property). Styled with Inter font, white background, dark border, and a subtle hover scale effect.--data CLI flag allows building locally with production Notion data (bun run serve:prod). Automatically clears disk cache when switching data sources to prevent stale content.Changed
Fixed
video block type, which was rendered as an empty <video> element. Now detects YouTube URLs in processVideo() and renders them as iframe embeds.serve:prod after build:local no longer serves stale dev data — cache is cleared whenever --data is specified.Technical
notionUrl field on the Project interface in fusite-commonsextractYouTubeId() utility for parsing YouTube URLs (standard and short formats)parseEnvFile() and overrideNotionEnv() helpers in CLI for selective environment variable overridesserve:prod script to package.jsonv0.1.1
January 29, 2026
Fixes and improvements to how Notion content is rendered on published pages.
Fixed
Added
[w:XX%] tag in the Notion caption to control display width (e.g. [w:60%]). The tag is stripped from the visible caption. Width defaults to 100% when no tag is presentTechnical
plain_text extraction in processTableRowWithChildren() with processRichText() to apply Notion annotationsparseImageCaptionWidth() helper to parse and strip width tags from captionsmax-width style to the <figure> wrapper when a caption is present, or directly to the <img> when there is no caption, avoiding double-applicationprocessImage(), processImageWithS3(), and processNotionImage() in imageProcessor.tsv0.1.0
January 10, 2026
The Fuscripts site is live! After a lot of tweaking to materialize the image I had in my mind for my personal website is finally here.
Let’s see how long it lasts until I want to change it.
Added
GET /fusite/projects) serving project information from Notion