Repository navigation
Redesign: a dark page, Mona Sans and JetBrains Mono, cards on hairlines - #4
Merged
Merged
Conversation
…n hairlines The home, learn, agents, playground and install pages move to the new design; every other page takes it from the shared layer. Numbers still come from facts.json and the records, and the agents loop is built from records/agent.json rather than copied into the page. The why page is left for a design of its own. The palette is the redesign's, with the five values that fell under their contrast floor moved the least distance that clears it. The budget gate stops counting a preloaded font twice, and the ceilings the new faces push past are raised by hand: the two families weigh about 55 KiB more per first view than Figtree and IBM Plex Mono did. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…al speed The why page gets its design: the four sides as figures, the moves from Crystal, the targets that run and the ones that compile, and puts "hello" at true area, Crystal's library and then iyi's growing in step with their counters before the ratio is stated. The home page replays one line changed in one of the bench's modules, both builds at their measured durations, and the mascot stands beside the one line again on a wide screen. The lessons and the project documents move to one column; the learn and playground indexes list the tour by section. Every figure plays once when it is in view and again on Replay, never on a loop, and with no script or under reduced motion the finished figure is what the page draws. The agents page keeps the live site's claims as it states them. A button marked hidden is hidden again: an author display was overriding the attribute, which put "Forget my progress" on a fresh visit. The home page and the shipped assets are raised by hand to the mascot's weight, measured plus one grain. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
On a program longer than a screen the redesign had pushed Run below the fold and the output under the listing, so a reader scrolled to find the control and again to see what it printed. The file and the controls now head the card, and on a wide screen the program and its output sit side by side, as they did on the live site. Where they stack, a run that prints below the fold brings the output into view. The home page's mascot is drawn smaller, so the line beside it keeps the two lines the redesign set it in. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Two reviews compared the redesign with the live site, one for the reading and one for the use of it; every finding was checked before it was fixed. The claims are the live site's again. Why restores "the claim is young", the young parts named, the Windows jobs and the audit exceptions, macros that travel in the artifact, the machine named only where a number is a duration, and the libraries within noise. Agents restores the four-module caveat and the measured byte-for-byte answer over MCP, names the project the race replays, and says the verdict carries a fix where the compiler knows one. Install keeps the Visual C++ requirement, and the playground says again that nothing on it compiles what you type. For use: Run is the twelfth tab stop again, not the forty-fifth; the masthead's controls are 44 pixels on a phone and the scheme switch has an edge; tabs wrap instead of scrolling out of sight; the loop's commands can be copied; a lesson has its "In this step" again; the tour's sections are headings; the old /why/#aix and /install/#install-by-hand still land; the race offers no replay it cannot run; and a caption under 4.5:1 is darker. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The rebuild panel's two durations sat under the fold on a laptop. The rule's three consequences now read as a short list under the same sentence, the version moves into the Install button, the hero sits higher, and the panel lays its thirty modules ten across with the durations right under them, so 1.17 s against 0.13 s is in view at 1280 by 800 and 1366 by 768. "What iyi is for" follows the panel, the first program's output carries a way to run it, and the Crystal section keeps the live site's sentence about the one rule the compiler teaches as you go. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Why, learn, a sample after Run, and the tour had changed since they were last captured. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The mascot was cut out of a white ground with a hard mask, so on the dark page it wore a pale, stepped outline. The light fringe and the outermost ring that carried the old ground are gone, the drawing's own colours are bled under the edge, and the mask has a soft pixel instead of a step. On a phone the program page kept the bench in a second column, which squeezed the tour into a sliver beside it; it is one column again, a repository sample's path breaks at its slashes, and the copy button keeps its row. The tour list opens with the current program in its middle, sideways on a phone and down the column on a wide screen. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
One helper now decides when a replayed figure plays, where four copies had drifted apart. It also covers a figure taller than the band it waits for: on a screen under about 300 pixels the true-area squares never played and stayed empty. The reader and edit switches on /agents are radios, so they say which is chosen with aria-checked; they said it with aria-selected, which a radio does not expose. Jumping to a step from the race no longer animates under reduced motion. A program's first comment line is read by one helper and rendered as markdown on its page as it already was in the list, so `case` is code on /playground/case/ rather than backticks. The "native" chip style no longer reaches every <em> in the tour list. A dead variable on the sample route is gone. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…s it was measured on
sdogruyol
force-pushed
the
site/redesign-port
branch
from
October 15, 2026 17:09
84add79 to
94a2375
Compare
sdogruyol
approved these changes
Oct 15, 2026
sdogruyol
left a comment
Collaborator
There was a problem hiding this comment.
Thanks a lot @Mustafaaytu 🫶
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
Ports the iyi.dev redesign onto the Astro site: a dark page by default, Mona Sans and JetBrains Mono, cards on hairlines. Every number still comes from
facts.jsonand the records, and every build gate still runs.What changed in the machinery
src/styles/tokens.cssholds the redesign's palette, dark by default on screen; print stays light. Five values were moved the least distance that clears their contrast floor.scripts/contrast.mjsnow also gates the card and code grounds, the green and amber status colours, and the white label on the red button: 104 pairs.@fontsourcelike before. They add about 55 KiB to a first view.scripts/budget.mjscounted a preloaded font twice, once as an image and once as a font; it now counts it once.--adoptlowered the rest.src/lib/play-when-seen.tsreplaces four copies of "play a figure once when it is in view". It also fixes a figure that never played on a screen shorter than itself.doc/ART-DIRECTION.mdis rewritten for the new decisions (dark default, the type, three syntax hues, the two lit panels, motion, imagery, prohibitions), and its screenshots are redrawn from the build. The palette tables are in the formbench/website_citations.pychecks.Verification
npm run buildpasses: contrast, no-transcription, prose, links and budget.astro checkhas 0 errors.Overlaps with
site/review-recommendationsThat branch is not merged yet, and both branches change these files:
doc/ART-DIRECTION.mdpackage.jsonscripts/budget.jsonscripts/budget.mjssrc/components/Playground.astrosrc/layouts/Page.astrosrc/pages/index.astrosrc/pages/learn/[...slug].astrosrc/pages/playground/index.astrosrc/pages/why.astroIt also moves
agents.astrotoagents/index.astroand changes the nav. Whichever lands second needs a merge. If that branch goes in first, I will rebase this one onto it and bring the new pages (docs, releases, community) into the new look.Questions for you
/agentssays the token saving is measured on the 7,207-line, 30-module project.bench/context_pack.pylistswebapp.iyiandcalc.iyias its targets. I kept the live sentence; it may be worth a look.🤖 Generated with Claude Code