feat: Docs section, bidirectional converter names, slimmer featured set - #4
Merged
Conversation
Astro 7.2 requires Node >= 22.12. The previous workflows used Node 20, which caused both CI and Deploy to fail on first run. Bumps: - .github/workflows/ci.yml: node-version 20 -> 22 - .github/workflows/deploy.yml: node-version 20 -> 22 - package.json engines.node: >=20.0.0 -> >=22.12.0
Adds two icon variants of the Claricle logo: - logo-claricle_icon-light: saturated colors that pop on white - logo-claricle_icon-dark: luminous colors that glow on dark Logo.astro is the single component that picks the variant. Default is "auto" — swaps via CSS based on prefers-color-scheme OR [data-theme]. The :not([data-theme='light']) guard ensures a manual "light" choice wins even when the system preference is dark. ThemeToggle.astro adds a sun/moon button to the nav. Click sets data-theme on <html> and persists to localStorage['claricle-theme']. BaseLayout ships an inline pre-paint script that applies any stored theme before first paint — prevents FOUC. brand.css gains dark-mode overrides for all 5 spectrum tokens, so category badges, dots, and stripes shift coherently with the logo. The same :not([data-theme='light']) guard is applied to the media query so the manual toggle always wins. LogoShowcase now purposefully renders the light variant in the light card and the dark variant in the dark card, instead of the same SVG twice.
Content updates from the actual repo READMEs: - postscript: pure-Ruby PS/EPS parser, typed model, serializer (lower layer of postsvg) - postscript-guide: Jekyll reference site for 300+ PostScript operators, hosted at claricle.github.io/postscript-guide/ - postsvg: bidirectional PS/EPS to SVG transformer, no Ghostscript - pdfrb: Arlington-model-driven PDF reader/model/serializer - emf: clean-room pure-Ruby parser for WMF, EMF, and EMF+ Removed from the projects page (Claricle is a fork, not the maintainer): - pdf-core-examples - libemf2svg (the Ruby binding emf2svg-ruby remains listed) - pngcheck Project count: 17 to 14. Spec threshold lowered from 15 to 10.
The attribution already lives in the footer; repeating it in the hero crowds the logo and dilutes the headline.
…ured set Names now match reality: - emfsvg: "EMF to SVG" -> "EMF<->SVG" (bidirectional, always was) - postsvg: "Postsvg" -> "PS<->SVG" (bidirectional) Featured set drops emfsvg from 7 to 6 highlights. Vectory already bundles both emfsvg and postsvg, so listing all three at the top of the home page was redundant. Postscript Guide moves out of the projects collection and into a new guides collection, surfaced via a Docs section in the header nav. The docs page (/docs/) lists available guides plus a roadmap of planned guides for SVG, PNG, EMF, and PDF. - New content collection: guides (title, format, description, url, status: stable|beta|wip|planned, order) - New page: src/pages/docs/index.astro - New component: src/components/GuideCard.astro - Nav gains a Docs link between Projects and About
The "On the roadmap" cards on /docs/ were raw article tags, so the
GuideCard scoped styles did not apply and they rendered unstyled.
GuideCard now accepts either a real guide entry or a placeholder
shape ({ format, description }). The placeholder variant renders
with dashed border + soft surface, no link, no hover lift.
Astro/JSX eliminates whitespace at element/newline boundaries, so a paragraph split across source lines like: text <a>link</a> text renders as "textlinktext". This was visible on /projects/ as "theclaricleorg" and elsewhere on /about/. Re-flowed every paragraph that mixed text with inline <em>, <strong>, <code>, or <a> elements to a single source line. Pure-text paragraphs are unaffected (newlines inside a text node collapse to a single space, which is correct). Verified rendered output: "under the claricle org on GitHub", "gives us clarity and clarify", "drawn from particula", "Ribose maintains", "github.com/claricle", "from the ecosystem page".
Removed the "canonical source is logo-claricle.png" line from the About
page logo section. The branding asset story will live in a dedicated
claricle/branding repo (see that repo for canonical artifacts).
Removed hardcoded and dynamic counts from user-facing copy:
- projects page hero: "Seventeen libraries..." -> "A family of libraries..."
- about page ecosystem: dropped "{n} projects across {m} categories"
- home page CTA: dropped "{n} projects" from "See all projects"
- claricle project entry: dropped "instead of fifteen"
Why: counts go stale the moment a project is added or removed. The
information is already on the projects page if a user wants it.
Also removed the now-unused .source-note CSS rule from about.astro.
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three related IA improvements.
Bidirectional converter names
emfsvgandpostsvgboth convert in both directions, not one-way. Titles updated to match reality:EMF→SVG→EMF↔SVGPostsvg→PS↔SVGSlimmer featured set (7 → 6)
Dropped
emfsvgfrom the featured list on the home page. Vectory bundles bothemfsvgandpostsvg, so featuring all three was redundant — Vectory is the headline, the others are legs. Featured is now: claricle, vectory, svg_conform, png_conform, elkrb, sirena.New Docs section
Postscript Guide is now a
guidescollection entry surfaced via a new Docs link in the header nav (between Projects and About).guides(title, format, description, url, status:stable|beta|wip|planned, order)/docs/— lists available guides plus a "On the roadmap" section pre-populated with planned guides for SVG, PNG, EMF, PDFGuideCard.astro(status badge, format label, external link)postscript-guidefrom the projects collection (it's a guide, not a library)Test plan
/projects/lists 13 entries;emfsvgshows title "EMF↔SVG",postsvgshows "PS↔SVG"/docs/lists PostScript guide in "Available now" + 4 placeholders in "On the roadmap"