This release contains the following enhancements:
1) The Markdown format now supports Version, Date and
Classification as document config fields.
2) A section-level UID declared in a Markdown heading's metadata block
(**UID**: ...) is now registered correctly, so that it can be linked to
via [LINK <uid>].
3) The web interface renders large documents faster. The initial MathJax
typesetting and Mermaid diagram rendering are deferred to browser idle time so
they no longer block the first paint of the document.
4) A project can now supply its own stylesheet via a new
custom_css_path project configuration option, to extend or override
StrictDoc's default styles in the HTML export and on the server, mirroring
the existing favicon_path option.
5) The Markdown reader now accepts headings nested deeper than six levels
(7+ # characters), following the precedent of other Markdown readers
such as Pandoc. In the HTML export, sections beyond level six still render
as <h6>, but now carry an aria-level attribute with the true depth
so assistive technologies announce the correct level.
6) Creating a new document now validates the document path's extension
against the project's editable formats (e.g. .sdoc, .md) up front,
instead of silently forcing a .sdoc extension onto paths with none and
only then reporting a confusing "not a valid path" error.
7) Fixed: the table of contents' current-section highlighting could miss
sections whose anchors were added by a content-only DOM update (for
example, in lazily-loaded document chunks) instead of a full page
navigation.
8) Fixed: the diff and changelog screen no longer throws a JavaScript
error when the page loads before both revisions of a document have been
selected.
9) Fixed: a document's title no longer overflows its header on narrow
viewports.
10) Fixed: following a fragment link (an anchor or a table of contents
entry) on a short document no longer jumps the page further down than the
target, past the end of the content.
What's Changed
- feat: introduce custom CSS option by @mk-xw in #3043
- Fix stale stable_uri_forwarder.js path in lint-format-js by @martinezlc99 in #3047
- feat(tests/screencast): add Python/Playwright screencast pipeline + hello_world demo scenario by @mettta in #3042
- feat(markdown): map Version/Date/Classification to config by @haxtibal in #3054
- fix(tools): filter server port check to LISTEN sockets only by @mettta in #3055
- Validate document extension against editable formats on creation by @mettta in #3056
- chore: fix new linting issues revealed by newer Pip dependencies by @stanislaw in #3063
- chore: bump actions/setup-python from 6 to 7 in the github-actions group by @dependabot[bot] in #3061
- Remove Stimulus dependency from server GUI by @mettta in #3064
- Update XlsxWriter version constraint to 3.* by @cperkulator in #3057
- fix(markdown): register section-level UID for LINK resolution by @haxtibal in #3062
- feat(about): add the WWH ELISA webinar by @stanislaw in #3060
- fix(export/html): defer initial MathJax/Mermaid rendering to browser idle time by @stanislaw in #3065
- feat(toc): keep current-section highlighting correct when content loads without a TOC update by @mettta in #3066
- Deep markdown headings by @martinezlc99 in #3048
- docs: update release notes by @stanislaw in #3068
- release: bump version to 0.27.1 by @stanislaw in #3069
New Contributors
- @mk-xw made their first contribution in #3043
- @martinezlc99 made their first contribution in #3047
- @cperkulator made their first contribution in #3057
Full Changelog: 0.27.0...0.27.1