Skip to content

Pygments highlighting (incl. StrictDoc) | Grammar aliases | HTML2PDF forced page break option | gitignore-aware search

Choose a tag to compare

@stanislaw stanislaw released this 04 Jan 21:21
· 1377 commits to main since this release
3a94989

This release contains the following enhancements:

1) The code block syntax highlighting has been enabled for all RST .. code:: blocks. The code blocks that have been tested already include C, TOML, and Python.

Also, a Pygments lexer for the SDoc markup has been added to the StrictDoc source code. From now on, .. code:: strictdoc blocks are recognized and syntax-highlighted.

2) The grammar aliases were added to allow importing a single grammar from multiple SDoc documents located in different directories. From now on, it is possible to register a grammar alias and its path in a project configuration file and use it as follows:

[GRAMMAR]
IMPORT_FROM_FILE: @my_grammar

Thanks to @gregshue for requesting this feature and explaining the need for it.

3) Based on a user report, the html2pdf_forced_page_break_nodes option has been added to the StrictDoc configuration. This option allows specifying which nodes should always start on a new page when printed to PDF using the HTML2PDF feature. It is especially useful for documents that contain very large, descriptive requirement nodes with a lot of text. In such cases, starting each node on a new page helps avoid having the beginning of a node lost in the middle of a page. Thanks to @xw-mk for the clear request.

4) The 'Export to PDF' functionality for printing PDF documents has been extended to download a file with a name derived from the document's title. Previously, all documents were printed and downloaded as document.pdf. Thanks to @thseiler for contributing the patch.

5) The discovery of SDoc files and source files has been extended to take the project's root .gitignore file into account. From now on, the contents of .gitignore are automatically added to the exclude filters for documents and source files. This ticket had been on the roadmap since long ago, and thanks to @KlfJoat for additionally requesting it.


What's Changed

  • docs: update the roadmap and backlog by @stanislaw in #2602
  • docs(FAQ): add LPC25 presentation by @stanislaw in #2603
  • refactor(export/html): get html2pdf classes from view object, not Jinja by @stanislaw in #2605
  • feat(pyproject.toml): update html2pdf4doc to latest version by @stanislaw in #2606
  • chore(.github): cancel previously launched workflows when PR is updated by @stanislaw in #2607
  • chore(tests/end2end): remove checking of 404 errors by @stanislaw in #2608
  • fix(html2pdf): prevents the section titles staying as last elements on a page by @mettta in #2604
  • feat(html2pdf): bring in latest html2pdf with API backwards-compatibility fixes by @stanislaw in #2609
  • feat(export/html): enable syntax highlighting for RST 'code' directive by @stanislaw in #2612
  • feat(export/html): add SDoc markup syntax highlighting for RST 'code' blocks by @stanislaw in #2613
  • docs: update release notes by @stanislaw in #2614
  • fix(helpers/path_filter): add space character to the regex mask by @stanislaw in #2615
  • fix(docs): fix a misleading statement about the path filters behavior by @stanislaw in #2616
  • fix(source_files_finder): ignore all binary files at the first search step by @stanislaw in #2617
  • chore(core/file_tree): rename the current dir full path variable by @stanislaw in #2619
  • fix(core/file_tree): read .gitignore files, extend the search exclude filters by @stanislaw in #2618
  • chore(core): move file system-related classes to core/file_system by @stanislaw in #2620
  • chore: add direnv file .envrc by @stanislaw in #2623
  • feat(sdoc|project_config): extend DOCUMENT_FROM_FILE to support grammar aliases by @stanislaw in #2621
  • refactor(cli): improve the handling of cli using command pattern by @stanislaw in #2624
  • chore(tasks): enable formatting of server unit test files by @stanislaw in #2625
  • refactor(cli): migrate "manage autouid" to a command pattern by @stanislaw in #2626
  • refactor(cli): migrate "import excel" and "import reqif" to a command pattern by @stanislaw in #2627
  • refactor(cli): remove CommandParserBuilder, simplify main() by @stanislaw in #2628
  • feat(html2pdf): introduce a new "html2pdf_forced_page_break_nodes" option by @stanislaw in #2610
  • feat(pyproject.toml): html2pdf4doc: bring in the SDoc RST admonitions fix by @stanislaw in #2629
  • feat(html2pdf): provide a config parameter for specifying bundle document UID by @stanislaw in #2630
  • chore(tasks): add lint-commit task to validate Conventional Commits by @stanislaw in #2632
  • feat(server, html2pdf): derive filename from document's UID and title by @thseiler in #2631
  • docs: update backlog, roadmap, dev guide (conventional commits) by @stanislaw in #2633
  • chore(tasks): remove an old workaround by @stanislaw in #2634
  • chore(docs, tests/integration): move questionnaire example to examples/python_api by @stanislaw in #2636
  • chore(cli): remove sys.path.append workaround by @stanislaw in #2635
  • feat(examples): add "Query trace index" example by @stanislaw in #2637
  • docs: update user guide: Python API, performance considerations for search filters by @stanislaw in #2638
  • docs: update "Known issues" + minor clean-ups by @stanislaw in #2639
  • fix(tests/end2end): switch to running strictdoc as a Python module by @stanislaw in #2641
  • release: bump version to 0.16.0 by @stanislaw in #2640

Full Changelog: 0.15.3...0.16.0