Repository navigation
Conversation
…om iyi doc at the release Every module directly under src/std and every type iyi doc prelude lists gets a page: the module's header comment out of the source at the tag, then each declaration under its own heading with its doc comment and its listing as iyi doc printed it. npm run record:stdlib writes records/stdlib.json; scripts/stdlib.mjs refuses it when the release ships a module it does not cover or a file it was not printed from. requireReleaseCompiler accepts the seven-digit hash the release's own binary prints, so the record can be taken with an unpacked release. prose.mjs exempts doc-comment blocks, which reach the page as one string and carry RFC 6265bis, 0xc0 and 1xx.
The home page's title and heading say programming language; iyilang is the second name, in the colophon and in the structured data. Every description fits the 155 characters a results page shows and every title its 60, and the layout fails the build on either. Lessons carry a searchTitle and a description; playground pages lead with their topic, out of src/playground/topics.json. The notice and the code of conduct are noindex and out of the sitemap, and their titles are no longer Crystal's heading. Reference joins the masthead.
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.
What
Search engines had little to go on: the home page never said programming language, most descriptions were cut mid-sentence, playground pages were titled by file name, and there was no reference for the standard library at all.
Titles, descriptions, names
iyi: the programming language for people and their agents; the heading and lead say programming language.iyilangis the second name: in the colophon and asalternateName(withiyi lang,iyi programming language) in the JSON-LD. "iyi" alone is a common Turkish word and a party's name.Page.astrofails the build on either. A title that already names iyi no longer gets| iyiappended.searchTitleanddescriptionin their frontmatter (Error handling in iyi: errors you cannot ignore).src/playground/topics.json(Arrays in iyi: a runnable example). A tour step's description is its own first comment line; repository samples get an authoredabout. A page with no entry, or an entry with no page, fails the build./project/notice/and/project/conduct/arenoindexand out of the sitemap (third-party / boilerplate text); their titles are no longer Crystal Programming Language./reference/std/modules and 31 prelude types, 621 declarations, each with a heading and an anchor.iyi docoutput, verbatim (notmod dump --json, which drops reopened types and constants). A module's header comment, which no compiler output carries, is read from the source at the tag.npm run record:stdlibwritesrecords/stdlib.json;scripts/stdlib.mjs(ingenerate) refuses it when the release ships a module it does not cover or a source it was not printed from.llms.txt, andbudget.json(three new rows).Gates touched
release-ref.mjs:requireReleaseCompileralso accepts the 7-digit bracketed hash the release's own binary prints ([2a96530]), so the record can be taken with an unpacked release.prose.mjs:doc-commentblocks are exempt. They reach the page as one string from the repository, so the template line-break weld cannot occur, and they containRFC 6265bis,0xc0,1xx.Verification
npm run buildagainst a v0.18.0 worktree: generate, prose, links (225 pages), budget all pass;astro check0 errors.stdlib.mjsrejects a record with a corrupted digest and a missing module./reference/,/reference/std/csv/,/reference/prelude/string/checked in a browser.