Repository navigation
Releases: amitkaps/markz
Release list
v0.9.0
Nothing to change. readCommands and printHelp are new, and readRules takes an optional heading to read under, so a tool states its commands in its usage and prints its help from there.
What's Changed
Added
- readCommands and printHelp read a tool's commands from its usage, and markz help prints markz's by @amitkaps in #190
Documentation
Full Changelog: v0.8.0...v0.9.0
v0.8.0
markz states its rules: each code is linked from one rule that says what to write. @amitkaps/markz/rules reads, composes and prints a tool's rules and formats every finding in one line, and the markz command checks documents, writes their HTML and prints the rules.
What's Changed
Added
- markz states its rules, prints findings in one line, and has a command: check, html and rules by @amitkaps in #186
Documentation
- The site's prose says craftz deploy uploads it by @amitkaps in #184
- The plan composes every tool's rules from markz, with one finding line and three levels by @amitkaps in #185
Full Changelog: v0.7.0...v0.8.0
v0.7.0
markz can now list every id html() writes, for a link checker or a table of contents, with ids(doc).
What to change when you upgrade:
- A heading's
idExplicitis nowwritten:doc.data(node, "heading").written. headings()giveslabelin place oftext:h.label.- An id that reads like a URL, like
{#javascript:x}, is now written on a span as it already was on a heading.
What's Changed
Breaking
Fixed
- An id is written as it is, on a span as on a heading, even when it reads like a URL by @amitkaps in #179
Faster and smaller
Documentation
- The plan's next is ids(doc), every id html() writes by @amitkaps in #176
- Design: markz exports a reader when the answer depends on its own rules by @amitkaps in #180
Full Changelog: v0.6.0...v0.7.0
v0.6.0
Three codes named a whole construct, though markz keeps another form of each. They now name the form markz cuts.
To upgrade, match on the new names: directive is now colon-directive, footnote is now caret-footnote, and jsx is now jsx-component. Links to syntax.md#directive, #footnote and #jsx move to the new ids. No input warns differently.
What's Changed
Breaking
- A code names the form markz cuts: colon-directive, caret-footnote, jsx-component by @amitkaps in #168
Full Changelog: v0.5.0...v0.6.0
v0.5.0
An element or attribute line next to text now warns with element-blank-lines, which replaces element-lazy-line. A formatter that puts each paragraph on one line would join such a line to the text beside it, and change what it means.
To upgrade, put a blank line between each {@name}, {/name} or {#id .class} line and the text, table row or list next to it, and match on element-blank-lines where you matched on element-lazy-line. A heading, a fence or a new list item next to the line still needs none. For a poem, end each line with \ rather than relying on white-space: pre-line.
What's Changed
Breaking
Documentation
Full Changelog: v0.4.3...v0.5.0
v0.4.3
Nothing changes on upgrade. WARNINGS is new: every warning code's message and what to write instead, frozen, so a tool can say what a code asks for without parsing anything. Each code has an id in Syntax, like syntax.md#raw-html.
What's Changed
Added
Faster and smaller
Documentation
- The browser example imports the current version from the CDN by @amitkaps in #147
- Docs and comments rewritten to prose style's suggestions by @amitkaps in #160
- The contents-list note in Usage leads with what markz does by @amitkaps in #161
- The plan has 0.4.2 and 0.4.3, and Syntax wraps at 100 again by @amitkaps in #163
Full Changelog: v0.4.2...v0.4.3
v0.4.2
An element's or span's id no longer repeats a heading's. Headings, elements and spans share one set of ids: a heading's id made from its text is numbered past an earlier one, and a #id that is already taken gets the warning duplicate-id.
What's Changed
Fixed
Documentation
Full Changelog: v0.4.1...v0.4.2
v0.4.1
A metadata list can wrap onto indented lines after its key, as oxfmt writes a long one, and may end with a comma.
What's Changed
Added
Other
- Deploy the site with verify and ship; pin wrangler by @amitkaps in #126
- Add the fix script, as the standard has it by @amitkaps in #127
Full Changelog: v0.4.0...v0.4.1
v0.4.0
markz now aims to have no footguns. Every input does what it looks like, or gets a warning that
says what to write. Formatters and GitHub may show a document differently, but they must not
damage it.
What to change
| Before | Now | What to do |
|---|---|---|
"quotes", -- and ... became “”, – and … |
Text is kept as typed | Type the character you want, or curl text in your own pass over the tree. |
deploy.name: x gave { deploy: { name: "x" } } |
{ "deploy.name": "x" }, with no warning |
Read metadata["deploy.name"]. metadata.deploy is now undefined, so search for it. |
title: Hi # note dropped the comment |
Kept as written, with metadata-value |
Quote the value, or put the comment on its own # line. |
draft: no, on and off were strings, 1.10 was 1.1 |
metadata-value, and the key skipped |
Write true or false, or quote the value. |
The metadata-indented code |
metadata-line |
Match the new code. |
MetadataValue could be a nested object |
A scalar, or a list of scalars | Drop the object case. |
What's Changed
Breaking
- Smart punctuation removed; metadata keys are flat;
***is a rule by @amitkaps in #116 - Metadata keeps a value with
#or:as written, with a warning; every YAML number form warns by @amitkaps in #121
Added
- Warnings for
*between digits, element lines a formatter would move, and${…}closed early by @amitkaps in #115
Fixed
Faster and smaller
- Faster headings and tables: one-line leaves with no syntax skip the inline pass by @amitkaps in #97
- A parsed tree takes less memory: arrays sized to its nodes by @amitkaps in #107
- A parsed tree takes less memory: code blocks and text read from the source by @amitkaps in #108
Documentation
- README: a small, opinionated Markdown, and the one package that reads it by @amitkaps in #94
- Docs: a Quality page, with how to read the report and how markz is tested by @amitkaps in #103
- Docs: import markz in the browser from a CDN by @amitkaps in #105
- Docs: syntax.md opens with the language at a glance; exact rules move to the grammar by @amitkaps in #118
- Docs: bare attribute keys, and where they count on their own by @amitkaps in #120
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
- Update TypeScript to 7, and read micromark's tests with oxc's parser by @amitkaps in #77
- Ship without comments, with a license banner, and document every export by @amitkaps in #79
- Rewrite AGENTS.md with the current prose rules, commands and workflow by @amitkaps in #80
- Make README the home page, order the docs bar, and free the Quality page by @amitkaps in #81
- Move the tools into test/, beside the harness they serve by @amitkaps in #82
- Read markz's own docs in place, and drop the frozen agent documents by @amitkaps in #83
- Add an agents tier: the agent instructions of five open-source projects by @amitkaps in #84
- Close a quote after a closing quote or emphasis; verse becomes a recipe by @amitkaps in #85
- Hold quote-side with a property test by @amitkaps in #86
- Design page: ergonomics example, node types table, vertical diagram by @amitkaps in #87
- Warn on unclosed blocks, unclosed { after a span, and {#name} closed by {/name} by @amitkaps in #88
- Site config in wrangler.toml with its prose; tighten the docs before the release by @amitkaps in #89
- Node types in one place: Reference has every type, its kind and data by @amitkaps in #90
- Deploy the site from Cloudflare's Git build, as prose does; pnpm 12.9.1 by @amitkaps in #91
- Release 0.3.0 by @amitkaps in #92
Full Changelog: v0.2.0...v0.3.0