Files
json/docs/docset
Niels Lohmann 45dc218a13 Replace list_missing_pages/list_removed_paths with a comm(1)-based diff
The docset Makefile's list_missing_pages ran one sqlite3 query per
mkdocs page, and list_removed_paths nested a loop over all mkdocs pages
inside a loop over all docset index paths (O(n*m) shell iteration).
Issue #5718 item 5 suggested removing or reducing these targets once
#5638's check_docset() lands, but that PR is still open and covers only
API pages and macros, not the full page set these targets check.
Replace the loops with two sorted path lists (DOCSET_PAGE_PATHS from
mkdocs' markdown sources, DOCSET_INDEX_PATHS from the built docset
index) compared with a single comm(1) call each, verified to produce
output identical to the old loops against the current docSet.dsidx.

The sed expression used '#' as its delimiter, which GNU Make reads as
a comment character even inside a variable assignment, truncating the
line and orphaning the closing paren of $(shell ...) ("unterminated
call to function 'shell': missing ')'"). Use '@' as the delimiter
instead.

Part of #5718 item 5

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
2026-09-30 18:09:18 +02:00
..
2026-09-27 16:56:21 +02:00
2022-05-01 09:41:50 +02:00
2022-05-01 09:41:50 +02:00

docset

The folder contains the required files to create a docset which can be used in documentation browsers like Dash, Velocity, or Zeal.

The docset can be created with

make JSON_for_Modern_C++.docset

The generated folder JSON_for_Modern_C++.docset can then be opened in the documentation browser. make all builds a JSON_for_Modern_C++.tgz archive instead, and make install_docset_zeal installs the docset for Zeal directly.

A recent version is also part of the Dash user contributions.

Licenses

The JSON logo is public domain.