Review and extend the documentation, and check it in CI

A review of all documentation pages found factual errors, dead links,
missing cross-references, and gaps in examples. This fixes them and adds
checks so the same problems are caught automatically.

Fixes:
- wrong signatures and version histories (operator!= C++20 member,
  binary() subtype type, get<PointerType>(), JSON_NO_THREAD_LOCAL, ...)
- stale descriptions (number parsing since #5283, UBJSON table, SAX
  example that no longer compiled, tsl::ordered_map advice)
- dead internal and external links; repology.org badges (the domain is
  suspended) replaced by badges that query the registries directly
- deprecation notes link the migration guide; the guide itself fixed

Additions:
- "See also" sections, cross-references, 25 runnable examples, 12
  Mermaid diagrams, new API pages for json_pointer::operator<=> and
  byte_container_with_subtype::operator==/!=
- landing page, guides for untrusted input and performance
- "unreleased" badge after versions newer than the latest release

Checks:
- strict documentation build (broken links/anchors fail it); CI and
  the publish workflow fetch the full history the build needs
- weekly external link check, Mermaid syntax check in CI
- check_structure.py: example titles, heading levels, alt texts,
  header links, docset index coverage; its unused-example check works
  again
- all examples produce the same output on every platform

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
Niels Lohmann
2026-09-29 17:05:35 +02:00
parent 633de8e44b
commit 526b6d3fd6
271 changed files with 5227 additions and 608 deletions
@@ -10,6 +10,14 @@ Return a string representation of the JSON pointer.
A string representation of the JSON pointer
## Exception safety
Strong exception safety: if an exception occurs, the original value stays intact.
## Complexity
Linear in the total length of the reference tokens.
## Notes
For each JSON pointer `ptr`, it holds:
@@ -34,6 +42,11 @@ ptr == json_pointer(ptr.to_string());
--8<-- "examples/json_pointer__to_string.output"
```
## See also
- [operator string_t](operator_string_t.md) return a string representation of the JSON pointer (deprecated)
- [operator<<](../operator_ltlt.md) write a JSON pointer to a stream
## Version history
- Since version 2.0.0.