* docs: new design for the documentation site Apply the brand to the Material for MkDocs site: Inter and JetBrains Mono served by the site (upright and real italic), brand colours, blue header band with the syntax pattern, wordmark in the header, new home page (hero, cards, animated feature tour), 404 page, polish for tabs, search, footer, focus rings, tables and code blocks, and theme features (code copy, previous/next footer, TOC follow, search suggestions). Draw the number railroad diagram, the parser callback events and the iterator illustrations as inline SVGs that follow the light and dark scheme. The generator scripts are in docs/mkdocs/scripts/figures; the feature slideshow (json-light.svg, json-dark.svg, replacing json.gif on the home page) is built by docs/mkdocs/scripts/slideshow. Decision nodes in five flowcharts become hexagons, which need far less room. Signed-off-by: Niels Lohmann <mail@nlohmann.me> * docs: add figures, table captions and a macro chooser - Figures with numbered captions: SAX stepper, json_view layout and edit stepper, exception map, JSON pointer and patch walkers, QA pipeline, scaling and binary size charts, roadmap lanes, release timeline, integration decision tree and namespace builder - Table captions (nj-table-caption) on 9 pages - Compile times: modules and PCH charts, filesystem section, re-measured Figure 1, links between features/modules.md and compile_times.md - Interactive macro chooser for features/arbitrary_types.md - Link check: exclude URLs that answer the plugin with 400/401/419 or are dead (customers.md) Signed-off-by: Niels Lohmann <mail@nlohmann.me> * docs: macro chooser generates adl_serializer for non-default-constructible types Signed-off-by: Niels Lohmann <mail@nlohmann.me> * docs: cross-link concept pages and API pages in See also sections Add See also links in both directions between the concept pages (features, home, integration) and the API pages, write API links in code font, give every entry a comment after a dash, and show the callback event figure on the parser callbacks page. Signed-off-by: Niels Lohmann <mail@nlohmann.me> * docs: address review comments on the new design - Home: add a "Latest release" button - Sponsors: update the list and group it by tier - Features: list all feature pages on the index page - Releases: add highlights per release, link the 4.0 roadmap, add the first commit to the timeline - Exceptions: prefix all example messages with the exception name - API: no code font for format names in the See also links of the to_/from_ pages - Merge Patch: show the document before, the patch, and the result - Replace "--" with typographic dashes, mark external links with an icon, center Mermaid diagrams Signed-off-by: Niels Lohmann <mail@nlohmann.me> --------- Signed-off-by: Niels Lohmann <mail@nlohmann.me>
67 lines
3.9 KiB
XML
67 lines
3.9 KiB
XML
<svg class="railroad" viewBox="0 0 860 214" role="img" aria-labelledby="rr-title" xmlns="http://www.w3.org/2000/svg">
|
|
<title id="rr-title">Railroad diagram of the J​SON number syntax: optional minus, then 0 or a digit from 1 to 9 followed by digits, then an optional fraction (a dot and digits) and an optional exponent (e or E, an optional sign, and digits).</title>
|
|
<g class="rr-track" fill="none" stroke="currentColor" stroke-opacity=".6" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M8 44 L850 44"/>
|
|
<path d="M24 44 L31 44 Q38 44 38 51 L38 82 Q38 92 48 92 L59 92"/>
|
|
<path d="M85 92 L96 92 Q106 92 106 82 L106 51 Q106 44 113 44 L120 44"/>
|
|
<path d="M120 44 L127 44 Q134 44 134 51 L134 82 Q134 92 144 92 L160 92"/>
|
|
<path d="M242 92 L370 92 Q380 92 380 82 L380 52 Q380 44 388 44 L396 44"/>
|
|
<path d="M242 92 L250 92 Q258 92 258 100 L258 126 Q258 136 268 136 L278 136"/>
|
|
<path d="M332 136 L340 136 Q348 136 348 128 L348 92"/>
|
|
<path d="M340 136 L340 160 Q340 170 330 170 L280 170 Q270 170 270 160 L270 136"/>
|
|
<path d="M396 44 L403 44 Q410 44 410 51 L410 84.5 Q410 92 417.5 92 L425 92"/>
|
|
<path d="M451 92 L462 92"/>
|
|
<path d="M524 92 L524 116 Q524 126 514 126 L466 126 Q456 126 456 116 L456 92"/>
|
|
<path d="M516 92 L523 92 Q530 92 530 85 L530 52 Q530 44 538 44 L546 44"/>
|
|
<path d="M546 44 L553 44 Q560 44 560 51 L560 83.5 Q560 92 568.5 92 L577 92"/>
|
|
<path d="M546 44 L553 44 Q560 44 560 51 L560 127.5 Q560 136 568.5 136 L577 136"/>
|
|
<path d="M603 92 L728 92"/>
|
|
<path d="M603 136 L611.5 136 Q620 136 620 127.5 L620 92"/>
|
|
<path d="M640 92 L647 92 Q654 92 654 99 L654 128 Q654 136 662 136 L670 136"/>
|
|
<path d="M640 92 L647 92 Q654 92 654 99 L654 172 Q654 180 662 180 L670 180"/>
|
|
<path d="M696 136 L704 136 Q712 136 712 128 L712 92"/>
|
|
<path d="M696 180 L704 180 Q712 180 712 172 L712 92"/>
|
|
<path d="M728 92 L746 92"/>
|
|
<path d="M808 92 L808 116 Q808 126 798 126 L748 126 Q738 126 738 116 L738 92"/>
|
|
<path d="M800 92 L808 92 Q816 92 816 84 L816 52 Q816 44 824 44 L832 44"/>
|
|
</g>
|
|
<polygon class="rr-arrow" points="2,38 12,44 2,50"/>
|
|
<polygon class="rr-arrow" points="846,38 858,44 846,50"/>
|
|
<circle class="rr-bg" cx="72" cy="92" r="13"/>
|
|
<circle class="rr-t" cx="72" cy="92" r="13"/>
|
|
<circle class="rr-bg" cx="257" cy="44" r="13"/>
|
|
<circle class="rr-t" cx="257" cy="44" r="13"/>
|
|
<rect class="rr-bg" x="160" y="78" width="82" height="28" rx="6"/>
|
|
<rect class="rr-n" x="160" y="78" width="82" height="28" rx="6"/>
|
|
<rect class="rr-bg" x="278" y="122" width="54" height="28" rx="6"/>
|
|
<rect class="rr-n" x="278" y="122" width="54" height="28" rx="6"/>
|
|
<circle class="rr-bg" cx="438" cy="92" r="13"/>
|
|
<circle class="rr-t" cx="438" cy="92" r="13"/>
|
|
<rect class="rr-bg" x="462" y="78" width="54" height="28" rx="6"/>
|
|
<rect class="rr-n" x="462" y="78" width="54" height="28" rx="6"/>
|
|
<circle class="rr-bg" cx="590" cy="92" r="13"/>
|
|
<circle class="rr-t" cx="590" cy="92" r="13"/>
|
|
<circle class="rr-bg" cx="590" cy="136" r="13"/>
|
|
<circle class="rr-t" cx="590" cy="136" r="13"/>
|
|
<circle class="rr-bg" cx="683" cy="136" r="13"/>
|
|
<circle class="rr-t" cx="683" cy="136" r="13"/>
|
|
<circle class="rr-bg" cx="683" cy="180" r="13"/>
|
|
<circle class="rr-t" cx="683" cy="180" r="13"/>
|
|
<rect class="rr-bg" x="746" y="78" width="54" height="28" rx="6"/>
|
|
<rect class="rr-n" x="746" y="78" width="54" height="28" rx="6"/>
|
|
<text class="rr-c" x="72" y="97">−</text>
|
|
<text class="rr-c" x="257" y="49">0</text>
|
|
<text class="rr-b" x="201" y="97">digit 1–9</text>
|
|
<text class="rr-b" x="305" y="141">digit</text>
|
|
<text class="rr-c" x="438" y="97">.</text>
|
|
<text class="rr-b" x="489" y="97">digit</text>
|
|
<text class="rr-c" x="590" y="97">e</text>
|
|
<text class="rr-c" x="590" y="141">E</text>
|
|
<text class="rr-c" x="683" y="141">−</text>
|
|
<text class="rr-c" x="683" y="185">+</text>
|
|
<text class="rr-b" x="773" y="97">digit</text>
|
|
<text class="rr-l rr-name" x="24" y="32">number</text>
|
|
<text class="rr-l" x="420" y="32">fraction</text>
|
|
<text class="rr-l" x="580" y="32">exponent</text>
|
|
</svg>
|