If pygmentize is not found, the build now emits a CMake warning and
proceeds with an empty dark theme stylesheet rather than aborting.
A non-zero exit from pygmentize is also downgraded from SEND_ERROR to
WARNING for the same reason. This restores the pre-existing behavior
where the documentation could be built without any pygments tooling
installed (Asciidoctor then renders code blocks as plain text).
Syntax highlighting now follows the user's `prefers-color-scheme`:
- Light theme uses the pygments `default` style, embedded by Asciidoctor as before.
- Dark theme uses the pygments `monokai` style, generated at CMake
configure time via `pygmentize` and injected into the docinfo through a
`@PYGMENTS_DARK_CSS@` placeholder, scoped under
`@media (prefers-color-scheme: dark)`.
To support template substitution, `doc/docinfo.html` is renamed to
`docinfo.html.in` and produced into the build directory via
`configure_file`; all HTML targets now depend on the generated docinfo
and the `docinfodir` attribute points to the binary dir.
Code blocks also gain a subtle 3D bevel:
- `pre` borders use theme-specific bevel colors (`--pre-bevel-light` on
top/left, `--pre-bevel-dark` on bottom/right) for a raised look in both
themes.
- A shared `--pre-bevel-bg` surface color is applied to literalblock,
listingblock and `pre.pygments`, so all code blocks sit on the same
background regardless of the pygments style.
- `pre { line-height: 1.25 }` is forced to keep line spacing consistent
between light (Asciidoctor base `1.45`) and dark (pygments `125%`).
`python3-pygments` is added to the documented build dependencies (the
`pygmentize` binary it provides is required at configure time).
This allows asciidoctor to display important messages, for example invalid
references like this one:
asciidoctor: INFO: possible invalid reference: compile_with_cmake
Changes:
- build of doc now requires weechat-headless, translations and all plugins
- convert docgen.py to C
- remove `autogen_*` files from repository
- add command line parameter `--doc-gen` in `weechat-headless` to build
autogen files
- build .mo files with directories like the installed ones
(eg: "<lang>/LC_MESSAGES/weechat.mo")
- remove javascript chapter from user's guide