strictdoc 0.0.56a4__tar.gz → 0.0.57a1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/PKG-INFO +1 -1
  2. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/__init__.py +1 -1
  3. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/excel/export/excel_generator.py +7 -4
  4. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +4 -1
  5. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +11 -6
  6. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p02_simple/sdoc_to_reqif_converter.py +3 -3
  7. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/error_handling.py +4 -4
  8. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/anchor.py +3 -0
  9. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/document.py +1 -1
  10. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/document_grammar.py +31 -10
  11. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/node.py +72 -23
  12. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/section.py +4 -4
  13. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/validations/sdoc_validator.py +8 -9
  14. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/writer.py +7 -10
  15. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/graph_database.py +4 -0
  16. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/query_engine/query_object.py +1 -1
  17. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/traceability_index.py +29 -15
  18. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/traceability_index_builder.py +22 -0
  19. strictdoc-0.0.57a1/strictdoc/core/transforms/delete_requirement.py +53 -0
  20. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/delete_section.py +17 -0
  21. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/section.py +9 -5
  22. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_requirement.py +4 -2
  23. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/validation_error.py +6 -0
  24. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/anchor_controller.js +1 -0
  25. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/element.css +4 -0
  26. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/requirement.css +14 -1
  27. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/requirement_form_object.py +13 -11
  28. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/project_statistics.py +1 -1
  29. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +47 -10
  30. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +5 -0
  31. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/renderers/markup_renderer.py +56 -51
  32. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +1 -0
  33. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +1 -0
  34. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +1 -1
  35. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/anchor/index.jinja +5 -5
  36. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/confirm/index.jinja +13 -0
  37. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/node/index.jinja +1 -1
  38. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/comments/index.jinja +3 -3
  39. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +2 -1
  40. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/meta/index.jinja +1 -1
  41. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/multiline/index.jinja +1 -1
  42. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/rationale/index.jinja +1 -1
  43. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/statement/index.jinja +3 -3
  44. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +2 -1
  45. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/card.jinja +10 -0
  46. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/card_extends_card.jinja +5 -0
  47. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/h/index.jinja +33 -0
  48. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/h/pdf.jinja +19 -0
  49. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/index.jinja +10 -0
  50. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/index_extends_node.jinja +8 -0
  51. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/pdf.jinja +11 -0
  52. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/text/index.jinja +7 -0
  53. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/tiny.jinja +8 -0
  54. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/tiny_extends_card.jinja +5 -0
  55. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/title/index.jinja +23 -0
  56. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/uid/index.jinja +10 -0
  57. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/rst/anchor.jinja +9 -4
  58. strictdoc-0.0.57a1/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +25 -0
  59. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/table/main.jinja +6 -8
  60. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/json/json_generator.py +9 -10
  61. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/rst/templates/requirement.jinja.rst +4 -4
  62. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/rst/writer.py +3 -8
  63. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/git/project_diff_analyzer.py +13 -11
  64. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/server/routers/main_router.py +82 -60
  65. strictdoc-0.0.56a4/strictdoc/export/html/templates/actions/document/edit_requirement/stream_update_requirement.jinja.html +0 -5
  66. strictdoc-0.0.56a4/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -22
  67. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/.gitignore +0 -0
  68. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/CHANGELOG.md +0 -0
  69. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/CONTRIBUTING.md +0 -0
  70. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/Dockerfile +0 -0
  71. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/LICENSE +0 -0
  72. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/NOTICE +0 -0
  73. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/README.md +0 -0
  74. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/docs_extra/DO178_requirements.sdoc +0 -0
  75. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/docs_extra/Zephyr_requirements.sdoc +0 -0
  76. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/drafts/requirements/strictdoc.toml +0 -0
  77. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/drafts/rst_examples.sdoc +0 -0
  78. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/drafts/strictdoc_low_level_requirements.sdoc_.sdoc +0 -0
  79. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/mypy.ini +0 -0
  80. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/pyproject.toml +0 -0
  81. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/requirements.bootstrap.txt +0 -0
  82. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/requirements.check.txt +0 -0
  83. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/ruff.toml +0 -0
  84. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/__init__.py +0 -0
  85. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/excel/__init__.py +0 -0
  86. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/excel/excel_import.py +0 -0
  87. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/excel/export/__init__.py +0 -0
  88. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/excel/import_/__init__.py +0 -0
  89. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/__init__.py +0 -0
  90. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  91. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +0 -0
  92. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p02_simple/__init__.py +0 -0
  93. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p02_simple/reqif_to_sdoc_converter.py +0 -0
  94. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p11_polarion/__init__.py +0 -0
  95. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p11_polarion/reqif_to_sdoc_converter.py +0 -0
  96. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/reqif_export.py +0 -0
  97. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/reqif_import.py +0 -0
  98. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
  99. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/__init__.py +0 -0
  100. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/constants.py +0 -0
  101. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/document_reference.py +0 -0
  102. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
  103. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
  104. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  105. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
  106. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
  107. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
  108. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +0 -0
  109. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
  110. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar_reader.py +0 -0
  111. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/__init__.py +0 -0
  112. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/constants.py +0 -0
  113. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/document_config.py +0 -0
  114. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/document_from_file.py +0 -0
  115. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/document_view.py +0 -0
  116. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  117. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  118. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/object.py +0 -0
  119. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
  120. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/reference.py +0 -0
  121. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/type_system.py +0 -0
  122. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/pickle_cache.py +0 -0
  123. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/processor.py +0 -0
  124. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/reader.py +0 -0
  125. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
  126. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
  127. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
  128. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
  129. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
  130. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
  131. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
  132. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
  133. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/cli/__init__.py +0 -0
  134. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/cli/argument_int_range.py +0 -0
  135. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/cli/cli_arg_parser.py +0 -0
  136. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/cli/command_parser_builder.py +0 -0
  137. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/cli/main.py +0 -0
  138. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/commands/__init__.py +0 -0
  139. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/commands/about_command.py +0 -0
  140. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/commands/diff_command.py +0 -0
  141. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/commands/dump_grammar_command.py +0 -0
  142. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/commands/manage_autouid_command.py +0 -0
  143. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/commands/version_command.py +0 -0
  144. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/__init__.py +0 -0
  145. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/actions/__init__.py +0 -0
  146. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/actions/export_action.py +0 -0
  147. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/actions/import_action.py +0 -0
  148. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/actions/passthrough_action.py +0 -0
  149. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/analyzers/document_stats.py +0 -0
  150. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
  151. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/asset_manager.py +0 -0
  152. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/document_finder.py +0 -0
  153. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/document_iterator.py +0 -0
  154. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/document_meta.py +0 -0
  155. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/document_tree.py +0 -0
  156. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/document_tree_iterator.py +0 -0
  157. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/environment.py +0 -0
  158. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/file_traceability_index.py +0 -0
  159. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/file_tree.py +0 -0
  160. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/finders/__init__.py +0 -0
  161. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/finders/source_files_finder.py +0 -0
  162. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/graph/abstract_bucket.py +0 -0
  163. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/graph/many_to_many_set.py +0 -0
  164. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
  165. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/graph/validations.py +0 -0
  166. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/project_config.py +0 -0
  167. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/query_engine/grammar.py +0 -0
  168. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/query_engine/query_reader.py +0 -0
  169. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/source_tree.py +0 -0
  170. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/constants.py +0 -0
  171. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/create_requirement.py +0 -0
  172. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_document_config.py +0 -0
  173. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_free_text.py +0 -0
  174. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_grammar.py +0 -0
  175. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_grammar_element.py +0 -0
  176. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_included_document.py +0 -0
  177. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/core/tree_cycle_detector.py +0 -0
  178. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/__init__.py +0 -0
  179. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/document_dot_generator.py +0 -0
  180. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/dot_templates.py +0 -0
  181. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/document.dot +0 -0
  182. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/folder.dot +0 -0
  183. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/legend.dot +0 -0
  184. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/requirement.dot +0 -0
  185. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/section.dot +0 -0
  186. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/top_level.dot +0 -0
  187. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile2/document.dot +0 -0
  188. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile2/folder.dot +0 -0
  189. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile2/requirement.dot +0 -0
  190. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile2/section.dot +0 -0
  191. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile2/top_level.dot +0 -0
  192. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/__init__.py +0 -0
  193. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/autogen.css +0 -0
  194. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/base.css +0 -0
  195. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/collapsible_list.js +0 -0
  196. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
  197. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
  198. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/content.css +0 -0
  199. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  200. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  201. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  202. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  203. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  204. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  205. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  206. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  207. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  208. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/diff.css +0 -0
  209. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/diff.js +0 -0
  210. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/favicon.ico +0 -0
  211. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  212. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
  213. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
  214. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/form.css +0 -0
  215. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
  216. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/layout.css +0 -0
  217. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/node.css +0 -0
  218. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  219. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/project_tree.css +0 -0
  220. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/project_tree.js +0 -0
  221. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/requirement-tree.css +0 -0
  222. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  223. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  224. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  225. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
  226. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/source.css +0 -0
  227. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/stimulus.min.js +0 -0
  228. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/table_vew.css +0 -0
  229. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  230. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  231. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
  232. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/turbo.min.js +0 -0
  233. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  234. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/zoomable.js +0 -0
  235. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  236. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  237. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  238. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  239. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  240. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  241. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  242. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  243. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  244. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  245. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  246. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  247. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  248. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  249. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  250. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  251. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  252. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  253. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  254. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  255. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  256. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  257. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  258. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  259. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  260. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  261. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  262. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +0 -0
  263. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  264. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/document_type.py +0 -0
  265. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  266. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/form_object.py +0 -0
  267. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/grammar_element_form_object.py +0 -0
  268. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
  269. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
  270. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
  271. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  272. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/__init__.py +0 -0
  273. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document.py +0 -0
  274. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
  275. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document_pdf.py +0 -0
  276. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document_table.py +0 -0
  277. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document_trace.py +0 -0
  278. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document_tree.py +0 -0
  279. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
  280. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
  281. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  282. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
  283. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
  284. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/nestor_view_object.py +0 -0
  285. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
  286. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +0 -0
  287. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
  288. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -0
  289. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
  290. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/html_generator.py +0 -0
  291. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/html_templates.py +0 -0
  292. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/renderers/__init__.py +0 -0
  293. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  294. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/renderers/link_renderer.py +0 -0
  295. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  296. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  297. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  298. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
  299. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
  300. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
  301. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  302. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  303. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  304. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  305. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  306. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  307. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  308. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  309. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  310. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  311. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  312. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  313. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
  314. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  315. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
  316. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  317. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
  318. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
  319. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  320. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  321. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  322. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  323. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  324. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  325. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  326. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  327. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  328. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  329. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  330. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  331. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  332. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  333. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  334. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  335. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  336. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  337. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  338. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  339. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
  340. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
  341. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
  342. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  343. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  344. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  345. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  346. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  347. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  348. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  349. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  350. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  351. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  352. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  353. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  354. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  355. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  356. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  357. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  358. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  359. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  360. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
  361. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  362. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  363. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  364. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  365. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  366. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/base.jinja.html +0 -0
  367. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/abstract/index.jinja +0 -0
  368. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/abstract/pdf.jinja +0 -0
  369. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  370. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  371. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  372. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  373. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  374. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  375. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  376. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  377. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/document_title/index.jinja +0 -0
  378. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  379. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  380. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  381. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  382. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  383. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  384. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  385. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  386. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  387. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  388. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  389. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
  390. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  391. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  392. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  393. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
  394. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
  395. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
  396. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
  397. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
  398. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
  399. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  400. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  401. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  402. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
  403. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/meta/index.jinja +0 -0
  404. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  405. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  406. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  407. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  408. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  409. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
  410. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
  411. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
  412. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
  413. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/files/index.jinja +0 -0
  414. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
  415. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/links/index.jinja +0 -0
  416. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
  417. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
  418. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
  419. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/title/index.jinja +0 -0
  420. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/title/pdf.jinja +0 -0
  421. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/uid/index.jinja +0 -0
  422. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  423. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  424. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  425. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/h/index.jinja +0 -0
  426. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/h/pdf.jinja +0 -0
  427. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  428. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  429. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/text/index.jinja +0 -0
  430. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  431. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  432. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/title/index.jinja +0 -0
  433. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/uid/index.jinja +0 -0
  434. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  435. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  436. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
  437. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  438. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  439. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
  440. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +0 -0
  441. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  442. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  443. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  444. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
  445. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  446. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  447. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  448. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
  449. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  450. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
  451. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  452. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
  453. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  454. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  455. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  456. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  457. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  458. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  459. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  460. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  461. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  462. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  463. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  464. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
  465. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  466. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  467. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  468. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  469. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  470. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  471. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  472. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  473. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  474. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  475. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  476. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  477. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  478. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  479. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  480. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/nestor/index.jinja +0 -0
  481. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  482. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  483. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  484. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  485. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  486. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
  487. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
  488. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
  489. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
  490. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  491. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
  492. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  493. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  494. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  495. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
  496. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
  497. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
  498. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
  499. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
  500. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  501. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
  502. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
  503. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
  504. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
  505. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  506. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
  507. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  508. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  509. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  510. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
  511. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  512. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/tools/__init__.py +0 -0
  513. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html/tools/html_embedded.py +0 -0
  514. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html2pdf/html2pdf.py +0 -0
  515. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
  516. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
  517. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/rst/__init__.py +0 -0
  518. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  519. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
  520. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/rst/document_rst_generator.py +0 -0
  521. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/rst/rst_templates.py +0 -0
  522. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
  523. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/spdx/spdx_generator.py +0 -0
  524. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  525. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +0 -0
  526. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/git/change.py +0 -0
  527. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/git/change_generator.py +0 -0
  528. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/git/git_client.py +0 -0
  529. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/__init__.py +0 -0
  530. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/auto_described.py +0 -0
  531. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/cast.py +0 -0
  532. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/diff.py +0 -0
  533. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/exception.py +0 -0
  534. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/file_modification_time.py +0 -0
  535. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/file_system.py +0 -0
  536. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/form_data.py +0 -0
  537. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/git_client.py +0 -0
  538. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/math.py +0 -0
  539. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/md5.py +0 -0
  540. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/mid.py +0 -0
  541. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/ordered_set.py +0 -0
  542. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/parallelizer.py +0 -0
  543. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/path_filter.py +0 -0
  544. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/paths.py +0 -0
  545. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/pickle.py +0 -0
  546. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/rst.py +0 -0
  547. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/sha256.py +0 -0
  548. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/shard.py +0 -0
  549. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/sorting.py +0 -0
  550. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/string.py +0 -0
  551. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/textx.py +0 -0
  552. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/helpers/timing.py +0 -0
  553. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/server/__init__.py +0 -0
  554. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/server/app.py +0 -0
  555. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/server/config.py +0 -0
  556. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/server/error_object.py +0 -0
  557. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/server/helpers/turbo.py +0 -0
  558. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/server/main.py +0 -0
  559. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/server/routers/other_router.py +0 -0
  560. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc/server/server.py +0 -0
  561. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/strictdoc.toml +0 -0
  562. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/tasks.py +0 -0
  563. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/tasks_wine.py +0 -0
  564. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/tools/confluence_html_table_import.py +0 -0
  565. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/tools/link_health.py +0 -0
  566. {strictdoc-0.0.56a4 → strictdoc-0.0.57a1}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strictdoc
3
- Version: 0.0.56a4
3
+ Version: 0.0.57a1
4
4
  Summary: StrictDoc is open-source software for technical documentation and requirements management.
5
5
  Project-URL: Changelog, https://github.com/strictdoc-project/strictdoc/blob/main/CHANGELOG.md
6
6
  Project-URL: Homepage, https://strictdoc.readthedocs.io/en/stable/
@@ -1,6 +1,6 @@
1
1
  from strictdoc.core.environment import SDocRuntimeEnvironment
2
2
 
3
- __version__ = "0.0.56a4"
3
+ __version__ = "0.0.57a1"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -132,12 +132,15 @@ class ExcelGenerator:
132
132
  elif field_uc in ("COMMENT", "COMMENTS"):
133
133
  # Using a transition marker to separate multiple
134
134
  # comments
135
- if node.comments:
135
+ comment_fields = node.get_comment_fields()
136
+ if len(comment_fields) > 0:
136
137
  comment_row_value: str = ""
137
- for comment in node.comments:
138
+ for comment_field_ in comment_fields:
138
139
  if len(comment_row_value) > 0:
139
140
  comment_row_value += "\n----------\n"
140
- comment_row_value += comment
141
+ comment_row_value += (
142
+ comment_field_.get_text_value()
143
+ )
141
144
  worksheet.write(row, idx, comment_row_value)
142
145
  if (
143
146
  comment_row_value
@@ -172,7 +175,7 @@ class ExcelGenerator:
172
175
  columns[field][MAX_WIDTH_KEY] = value_len
173
176
  elif field_uc in node.ordered_fields_lookup.keys():
174
177
  req_field = node.ordered_fields_lookup[field_uc][0]
175
- value: str = req_field.get_value()
178
+ value: str = req_field.get_text_value()
176
179
  worksheet.write(row, idx, value)
177
180
  value_len = len(value)
178
181
  if value_len > columns[field][MAX_WIDTH_KEY]:
@@ -130,8 +130,11 @@ class ExcelToSDocConverter:
130
130
  section_contents=[],
131
131
  )
132
132
 
133
+ # FIXME: This is becoming very limiting. It must work against a complete grammar.
133
134
  fields = list(
134
- DocumentGrammar.create_default(document).elements[0].fields
135
+ DocumentGrammar.create_default(document)
136
+ .elements_by_type["REQUIREMENT"]
137
+ .fields
135
138
  )
136
139
 
137
140
  for _, name in extra_header_pairs:
@@ -551,7 +551,7 @@ class P01_SDocToReqIFObjectConverter:
551
551
  for data_type in data_types:
552
552
  if data_type_ref == data_type.identifier:
553
553
  for data_type_value in data_type.values:
554
- if data_type_value.key == field.get_value():
554
+ if data_type_value.key == field.get_text_value():
555
555
  enum_ref_value = data_type_value.identifier
556
556
  break
557
557
 
@@ -564,7 +564,7 @@ class P01_SDocToReqIFObjectConverter:
564
564
  value=[enum_ref_value],
565
565
  )
566
566
  elif isinstance(grammar_field, GrammarElementFieldMultipleChoice):
567
- field_values: List[str] = field.get_value().split(",")
567
+ field_values: List[str] = field.get_text_value().split(",")
568
568
  field_values = list(map(lambda v: v.strip(), field_values))
569
569
 
570
570
  data_type_ref = data_types_lookup[field.field_name]
@@ -590,7 +590,7 @@ class P01_SDocToReqIFObjectConverter:
590
590
  elif isinstance(grammar_field, GrammarElementFieldString):
591
591
  is_multiline_field = field.is_multiline()
592
592
 
593
- field_value: str = field.get_value().rstrip()
593
+ field_value: str = field.get_text_value().rstrip()
594
594
 
595
595
  attribute_type: str
596
596
  if context.multiline_is_xhtml:
@@ -743,7 +743,9 @@ class P01_SDocToReqIFObjectConverter:
743
743
  ] = section_spec_type
744
744
  spec_object_types.append(section_spec_type)
745
745
  free_text_spec_type = (
746
- P01_SDocToReqIFObjectConverter._create_free_text_spec_object_type()
746
+ P01_SDocToReqIFObjectConverter._create_free_text_spec_object_type(
747
+ context
748
+ )
747
749
  )
748
750
  context.map_grammar_node_tags_to_spec_object_type[grammar.parent][
749
751
  "FREETEXT"
@@ -776,12 +778,15 @@ class P01_SDocToReqIFObjectConverter:
776
778
  @classmethod
777
779
  def _create_free_text_spec_object_type(
778
780
  cls,
781
+ context: P01_SDocToReqIFBuildContext,
779
782
  ):
780
783
  attribute_definitions = []
781
784
  chapter_name_attribute = SpecAttributeDefinition.create(
782
- attribute_type=SpecObjectAttributeType.STRING,
785
+ attribute_type=SpecObjectAttributeType.XHTML
786
+ if context.multiline_is_xhtml
787
+ else SpecObjectAttributeType.STRING,
783
788
  identifier=ReqIFChapterField.TEXT,
784
- datatype_definition=(StrictDocReqIFTypes.MULTI_LINE_STRING.value),
789
+ datatype_definition=StrictDocReqIFTypes.MULTI_LINE_STRING.value,
785
790
  long_name=ReqIFChapterField.TEXT,
786
791
  )
787
792
  attribute_definitions.append(chapter_name_attribute)
@@ -556,7 +556,7 @@ class P02_SDocToReqIFObjectConverter:
556
556
  for data_type in data_types:
557
557
  if data_type_ref == data_type.identifier:
558
558
  for data_type_value in data_type.values:
559
- if data_type_value.key == field.get_value():
559
+ if data_type_value.key == field.get_text_value():
560
560
  enum_ref_value = data_type_value.identifier
561
561
  break
562
562
 
@@ -569,7 +569,7 @@ class P02_SDocToReqIFObjectConverter:
569
569
  value=[enum_ref_value],
570
570
  )
571
571
  elif isinstance(grammar_field, GrammarElementFieldMultipleChoice):
572
- field_values: List[str] = field.get_value().split(",")
572
+ field_values: List[str] = field.get_text_value().split(",")
573
573
  field_values = list(map(lambda v: v.strip(), field_values))
574
574
 
575
575
  data_type_ref = data_types_lookup[field.field_name]
@@ -595,7 +595,7 @@ class P02_SDocToReqIFObjectConverter:
595
595
  elif isinstance(grammar_field, GrammarElementFieldString):
596
596
  is_multiline_field = field.is_multiline()
597
597
 
598
- field_value: str = field.get_value()
598
+ field_value: str = field.get_text_value()
599
599
 
600
600
  attribute_type: str
601
601
  if context.multiline_is_xhtml:
@@ -150,7 +150,7 @@ class StrictDocSemanticError(Exception):
150
150
  return StrictDocSemanticError(
151
151
  title=(
152
152
  f"Requirement field has an invalid SingleChoice value: "
153
- f"{requirement_field.get_value()}."
153
+ f"{requirement_field.get_text_value()}."
154
154
  ),
155
155
  hint=(
156
156
  f"Problematic field: {requirement_field.field_name}. "
@@ -176,7 +176,7 @@ class StrictDocSemanticError(Exception):
176
176
  return StrictDocSemanticError(
177
177
  title=(
178
178
  f"Requirement field has an invalid MultipleChoice value: "
179
- f"{requirement_field.get_value()}."
179
+ f"{requirement_field.get_text_value()}."
180
180
  ),
181
181
  hint=(
182
182
  f"Problematic field: {requirement_field.field_name}. "
@@ -201,7 +201,7 @@ class StrictDocSemanticError(Exception):
201
201
  return StrictDocSemanticError(
202
202
  title=(
203
203
  f"Requirement field of type MultipleChoice is invalid: "
204
- f"{requirement_field.get_value()}."
204
+ f"{requirement_field.get_text_value()}."
205
205
  ),
206
206
  hint="MultipleChoice field requires ', '-separated values.",
207
207
  example=None,
@@ -219,7 +219,7 @@ class StrictDocSemanticError(Exception):
219
219
  return StrictDocSemanticError(
220
220
  title=(
221
221
  f"Requirement field of type Tag is invalid: "
222
- f"{requirement_field.get_value()}."
222
+ f"{requirement_field.get_text_value()}."
223
223
  ),
224
224
  hint="Tag field requires ', '-separated values.",
225
225
  example=None,
@@ -23,6 +23,9 @@ class Anchor:
23
23
  self.mid: MID = MID.create()
24
24
  self.reserved_mid: MID = self.mid
25
25
 
26
+ def get_display_title(self) -> str:
27
+ return self.title
28
+
26
29
  @property
27
30
  def document(self):
28
31
  if self.parent.parent.__class__.__name__ == "SDocDocument":
@@ -143,7 +143,7 @@ class SDocDocument:
143
143
  task_list.extend(section_or_requirement.section_contents)
144
144
  return False
145
145
 
146
- def get_title(self) -> str:
146
+ def get_display_title(self) -> str:
147
147
  return self.title
148
148
 
149
149
  @property
@@ -1,4 +1,4 @@
1
- # mypy: disable-error-code="no-redef,no-untyped-call,no-untyped-def,union-attr,type-arg"
1
+ # mypy: disable-error-code="no-untyped-call,no-untyped-def,union-attr,type-arg"
2
2
  from collections import OrderedDict
3
3
  from typing import Dict, List, Optional, Set, Tuple, Union
4
4
 
@@ -69,11 +69,7 @@ class GrammarElement:
69
69
  GrammarElementRelationChild,
70
70
  GrammarElementRelationFile,
71
71
  ]
72
- ] = (
73
- relations
74
- if relations is not None and len(relations) > 0
75
- else create_default_relations(self)
76
- )
72
+ ] = relations if relations is not None and len(relations) > 0 else []
77
73
  fields_map: OrderedDict = OrderedDict()
78
74
 
79
75
  statement_field: Optional[Tuple[str, int]] = None
@@ -128,6 +124,11 @@ class GrammarElement:
128
124
  relations=[],
129
125
  )
130
126
 
127
+ def get_multiline_field_index(self) -> int:
128
+ multiline_field_index = self.content_field[1]
129
+ assert multiline_field_index != -1
130
+ return multiline_field_index
131
+
131
132
  def get_relation_types(self) -> List[str]:
132
133
  return list(
133
134
  map(lambda relation_: relation_.relation_type, self.relations)
@@ -202,7 +203,6 @@ class DocumentGrammar:
202
203
 
203
204
  @staticmethod
204
205
  def create_default(parent) -> "DocumentGrammar":
205
- # @sdoc[SDOC-SRS-132]
206
206
  fields: List[
207
207
  Union[
208
208
  GrammarElementFieldString,
@@ -210,6 +210,25 @@ class DocumentGrammar:
210
210
  GrammarElementFieldMultipleChoice,
211
211
  ]
212
212
  ] = [
213
+ GrammarElementFieldString(
214
+ parent=None,
215
+ title=RequirementFieldName.UID,
216
+ human_title=None,
217
+ required="False",
218
+ ),
219
+ GrammarElementFieldString(
220
+ parent=None,
221
+ title=RequirementFieldName.STATEMENT,
222
+ human_title=None,
223
+ required="True",
224
+ ),
225
+ ]
226
+ text_element = GrammarElement(
227
+ parent=None, tag="TEXT", fields=fields, relations=[]
228
+ )
229
+
230
+ # @sdoc[SDOC-SRS-132]
231
+ fields = [
213
232
  GrammarElementFieldString(
214
233
  parent=None,
215
234
  title=RequirementFieldName.UID,
@@ -268,11 +287,13 @@ class DocumentGrammar:
268
287
  requirement_element
269
288
  )
270
289
 
271
- elements: List[GrammarElement] = [requirement_element]
290
+ elements: List[GrammarElement] = [text_element, requirement_element]
272
291
  grammar = DocumentGrammar(
273
292
  parent=parent, elements=elements, import_from_file=None
274
293
  )
275
294
  grammar.is_default = True
295
+ text_element.parent = grammar
296
+ requirement_element.parent = grammar
276
297
 
277
298
  return grammar
278
299
 
@@ -315,8 +336,8 @@ class DocumentGrammar:
315
336
  elements_by_type[element.tag] = element
316
337
 
317
338
  self.elements = elements
318
- self.registered_elements: Set[str] = registered_elements
319
- self.elements_by_type: Dict[str, GrammarElement] = elements_by_type
339
+ self.registered_elements = registered_elements
340
+ self.elements_by_type = elements_by_type
320
341
 
321
342
 
322
343
  class DocumentGrammarWrapper:
@@ -1,13 +1,16 @@
1
1
  # mypy: disable-error-code="union-attr"
2
+ import html
2
3
  from collections import OrderedDict
3
4
  from typing import Any, Generator, List, Optional, Tuple, Union
4
5
 
5
6
  from strictdoc.backend.sdoc.document_reference import DocumentReference
7
+ from strictdoc.backend.sdoc.models.anchor import Anchor
6
8
  from strictdoc.backend.sdoc.models.document import SDocDocument
7
9
  from strictdoc.backend.sdoc.models.document_grammar import (
8
10
  DocumentGrammar,
9
11
  GrammarElement,
10
12
  )
13
+ from strictdoc.backend.sdoc.models.inline_link import InlineLink
11
14
  from strictdoc.backend.sdoc.models.object import SDocObject
12
15
  from strictdoc.backend.sdoc.models.reference import (
13
16
  ChildReqReference,
@@ -46,8 +49,6 @@ class SDocNodeField:
46
49
  self.parts: List[Any] = parts
47
50
  self.multiline: bool = multiline__ is not None and len(multiline__) > 0
48
51
 
49
- self.resolved_field_value: str = "".join(parts)
50
-
51
52
  @staticmethod
52
53
  def create_from_string(
53
54
  parent: Optional["SDocNode"],
@@ -70,8 +71,30 @@ class SDocNodeField:
70
71
  def is_multiline(self) -> bool:
71
72
  return self.multiline
72
73
 
73
- def get_value(self) -> str:
74
- return self.resolved_field_value
74
+ def get_text_value(self) -> str:
75
+ text = ""
76
+ for part in self.parts:
77
+ if isinstance(part, str):
78
+ text += part
79
+ elif isinstance(part, InlineLink):
80
+ text += "[LINK: "
81
+ text += part.link
82
+ text += "]"
83
+ elif isinstance(part, Anchor):
84
+ text += "[ANCHOR: "
85
+ text += part.value
86
+ if part.has_title:
87
+ text += ", "
88
+ text += part.title
89
+ text += "]"
90
+ text += "\n"
91
+ text += "\n"
92
+ else:
93
+ raise NotImplementedError(part)
94
+ return text
95
+
96
+ def get_text_value_escaped(self) -> str:
97
+ return html.escape(self.get_text_value())
75
98
 
76
99
 
77
100
  @auto_described
@@ -140,7 +163,7 @@ class SDocNode(SDocObject):
140
163
  if RequirementFieldName.LEVEL in ordered_fields_lookup:
141
164
  level = ordered_fields_lookup[RequirementFieldName.LEVEL][
142
165
  0
143
- ].get_value()
166
+ ].get_text_value()
144
167
  self.ng_resolved_custom_level = level
145
168
  self.custom_level = level
146
169
 
@@ -154,8 +177,12 @@ class SDocNode(SDocObject):
154
177
  def get_node_type_string(self) -> Optional[str]:
155
178
  return self.requirement_type
156
179
 
157
- def get_title(self) -> Optional[str]:
158
- return self.reserved_title
180
+ def get_display_title(self) -> str:
181
+ if self.reserved_title is not None:
182
+ return self.reserved_title
183
+ if self.reserved_uid is not None:
184
+ return self.reserved_uid
185
+ return f"{self.requirement_type} with no title/UID"
159
186
 
160
187
  @property
161
188
  def is_root_included_document(self) -> bool:
@@ -189,7 +216,7 @@ class SDocNode(SDocObject):
189
216
  assert (
190
217
  not field.is_multiline()
191
218
  ), f"Field {RequirementFieldName.TAGS} must be a single-line field."
192
- tags = field.get_value().split(", ")
219
+ tags = field.get_text_value().split(", ")
193
220
  return tags
194
221
 
195
222
  @property
@@ -198,6 +225,12 @@ class SDocNode(SDocObject):
198
225
  RequirementFieldName.TITLE, singleline_only=True
199
226
  )
200
227
 
228
+ def has_reserved_statement(self) -> bool:
229
+ element: GrammarElement = self.document.grammar.elements_by_type[
230
+ self.requirement_type
231
+ ]
232
+ return element.content_field[0] in self.ordered_fields_lookup
233
+
201
234
  @property
202
235
  def reserved_statement(self) -> Optional[str]:
203
236
  element: GrammarElement = self.document.grammar.elements_by_type[
@@ -213,28 +246,31 @@ class SDocNode(SDocObject):
213
246
  RequirementFieldName.RATIONALE, singleline_only=False
214
247
  )
215
248
 
216
- @property
217
- def comments(self) -> List[str]:
218
- if RequirementFieldName.COMMENT not in self.ordered_fields_lookup:
219
- return []
220
- comments = []
221
- for field in self.ordered_fields_lookup[RequirementFieldName.COMMENT]:
222
- comments.append(field.get_value())
223
- return comments
224
-
225
249
  # Other properties
250
+ # FIXME: Remove @property.
226
251
  @property
227
252
  def is_requirement(self) -> bool:
228
253
  return True
229
254
 
255
+ def is_text_node(self) -> bool:
256
+ return self.requirement_type == "TEXT"
257
+
258
+ # FIXME: Remove @property.
230
259
  @property
231
260
  def is_section(self) -> bool:
232
261
  return False
233
262
 
263
+ # FIXME: Remove @property.
264
+ @property
265
+ def is_document(self) -> bool:
266
+ return False
267
+
268
+ # FIXME: Remove @property.
234
269
  @property
235
270
  def is_composite_requirement(self) -> bool:
236
271
  return False
237
272
 
273
+ # FIXME: Remove @property, use get_document().
238
274
  @property
239
275
  def document(self) -> SDocDocument:
240
276
  document: Optional[SDocDocument] = (
@@ -280,6 +316,20 @@ class SDocNode(SDocObject):
280
316
  ]
281
317
  return element.content_field[0]
282
318
 
319
+ def get_content_field(self) -> SDocNodeField:
320
+ element: GrammarElement = self.document.grammar.elements_by_type[
321
+ self.requirement_type
322
+ ]
323
+ return self.ordered_fields_lookup[element.content_field[0]][0]
324
+
325
+ def get_field_by_name(self, field_name: str) -> SDocNodeField:
326
+ return self.ordered_fields_lookup[field_name][0]
327
+
328
+ def get_comment_fields(self) -> List[SDocNodeField]:
329
+ if RequirementFieldName.COMMENT not in self.ordered_fields_lookup:
330
+ return []
331
+ return self.ordered_fields_lookup[RequirementFieldName.COMMENT]
332
+
283
333
  def has_requirement_references(self, ref_type: str) -> bool:
284
334
  if len(self.relations) == 0:
285
335
  return False
@@ -368,12 +418,12 @@ class SDocNode(SDocObject):
368
418
  self,
369
419
  ) -> Generator[Tuple[SDocNodeField, str, str], None, None]:
370
420
  for field in self.enumerate_fields():
371
- meta_field_value = field.get_value()
421
+ meta_field_value = field.get_text_value()
372
422
  yield field, field.field_name, meta_field_value
373
423
 
374
424
  def enumerate_meta_fields(
375
425
  self, skip_single_lines: bool = False, skip_multi_lines: bool = False
376
- ) -> Generator[Tuple[str, str], None, None]:
426
+ ) -> Generator[Tuple[str, SDocNodeField], None, None]:
377
427
  element: GrammarElement = self.document.grammar.elements_by_type[
378
428
  self.requirement_type
379
429
  ]
@@ -382,7 +432,6 @@ class SDocNode(SDocObject):
382
432
  for field in self.enumerate_fields():
383
433
  if field.field_name in RESERVED_NON_META_FIELDS:
384
434
  continue
385
- meta_field_value = field.get_value()
386
435
  field_index = grammar_field_titles.index(field.field_name)
387
436
 
388
437
  # A field is considered singleline if it goes before the STATEMENT
@@ -398,14 +447,14 @@ class SDocNode(SDocObject):
398
447
  continue
399
448
 
400
449
  field_human_title = element.fields_map[field.field_name]
401
- yield field_human_title.get_field_human_name(), meta_field_value
450
+ yield field_human_title.get_field_human_name(), field
402
451
 
403
452
  def get_meta_field_value_by_title(self, field_title: str) -> Optional[str]:
404
453
  assert isinstance(field_title, str)
405
454
  if field_title not in self.ordered_fields_lookup:
406
455
  return None
407
456
  field: SDocNodeField = self.ordered_fields_lookup[field_title][0]
408
- return field.get_value()
457
+ return field.get_text_value()
409
458
 
410
459
  def get_field_human_title(self, field_name: str) -> str:
411
460
  element: GrammarElement = self.document.grammar.elements_by_type[
@@ -449,7 +498,7 @@ class SDocNode(SDocObject):
449
498
  f"Field {field_name} must be a single-line field."
450
499
  )
451
500
 
452
- return field.get_value()
501
+ return field.get_text_value()
453
502
 
454
503
  # Below all mutating methods.
455
504
 
@@ -21,9 +21,9 @@ class SDocSection(SDocObject): # pylint: disable=too-many-instance-attributes
21
21
  self,
22
22
  parent,
23
23
  mid: Optional[str],
24
- uid,
24
+ uid: Optional[str],
25
25
  custom_level: Optional[str],
26
- title,
26
+ title: str,
27
27
  requirement_prefix: Optional[str],
28
28
  free_texts: List[FreeText],
29
29
  section_contents: List[SDocObject],
@@ -37,7 +37,7 @@ class SDocSection(SDocObject): # pylint: disable=too-many-instance-attributes
37
37
  self.uid: Optional[str] = meaningful_uid
38
38
  self.reserved_uid: Optional[str] = meaningful_uid
39
39
 
40
- self.title = title
40
+ self.title: str = title
41
41
  self.reserved_title = title
42
42
  self.requirement_prefix: Optional[str] = requirement_prefix
43
43
 
@@ -71,7 +71,7 @@ class SDocSection(SDocObject): # pylint: disable=too-many-instance-attributes
71
71
  def is_root_included_document(self):
72
72
  return False
73
73
 
74
- def get_title(self):
74
+ def get_display_title(self) -> str:
75
75
  return self.title
76
76
 
77
77
  @property
@@ -260,8 +260,11 @@ class SDocValidator:
260
260
  path_to_sdoc_file=path_to_sdoc_file,
261
261
  )
262
262
  return False
263
+
264
+ requirement_field_text_value = requirement_field.get_text_value()
265
+
263
266
  if isinstance(grammar_field, GrammarElementFieldSingleChoice):
264
- if requirement_field.get_value() not in grammar_field.options:
267
+ if requirement_field_text_value not in grammar_field.options:
265
268
  raise StrictDocSemanticError.invalid_choice_field(
266
269
  node=requirement,
267
270
  document_grammar=document_grammar,
@@ -270,17 +273,15 @@ class SDocValidator:
270
273
  )
271
274
 
272
275
  elif isinstance(grammar_field, GrammarElementFieldMultipleChoice):
273
- requirement_field_value = requirement_field.get_value()
274
-
275
- if not multi_choice_regex_match(requirement_field_value):
276
+ if not multi_choice_regex_match(requirement_field_text_value):
276
277
  raise StrictDocSemanticError.not_comma_separated_choices(
277
278
  node=requirement,
278
279
  requirement_field=requirement_field,
279
280
  path_to_sdoc_file=path_to_sdoc_file,
280
281
  )
281
282
 
282
- requirement_field_value_components = requirement_field_value.split(
283
- ", "
283
+ requirement_field_value_components = (
284
+ requirement_field_text_value.split(", ")
284
285
  )
285
286
  for component in requirement_field_value_components:
286
287
  if component not in grammar_field.options:
@@ -292,9 +293,7 @@ class SDocValidator:
292
293
  )
293
294
 
294
295
  elif isinstance(grammar_field, GrammarElementFieldTag):
295
- requirement_field_value = requirement_field.get_value()
296
-
297
- if not multi_choice_regex_match(requirement_field_value):
296
+ if not multi_choice_regex_match(requirement_field_text_value):
298
297
  raise StrictDocSemanticError.not_comma_separated_tag_field(
299
298
  node=requirement,
300
299
  requirement_field=requirement_field,
@@ -217,18 +217,15 @@ class SDWriter:
217
217
  )
218
218
 
219
219
  relations: List = element.relations
220
- assert len(relations) > 0, relations
220
+ if len(relations) > 0:
221
+ output += " RELATIONS:\n"
221
222
 
222
- output += " RELATIONS:\n"
223
-
224
- for element_relation in relations:
225
- output += (
226
- f" - TYPE: {element_relation.relation_type}\n"
227
- )
228
- if element_relation.relation_role is not None:
223
+ for element_relation in relations:
229
224
  output += (
230
- f" ROLE: {element_relation.relation_role}\n"
225
+ f" - TYPE: {element_relation.relation_type}\n"
231
226
  )
227
+ if element_relation.relation_role is not None:
228
+ output += f" ROLE: {element_relation.relation_role}\n"
232
229
 
233
230
  for free_text in document.free_texts:
234
231
  output += "\n"
@@ -388,7 +385,7 @@ class SDWriter:
388
385
  continue
389
386
  fields = section_content.ordered_fields_lookup[field_name]
390
387
  for field in fields:
391
- field_value = field.get_value()
388
+ field_value = field.get_text_value()
392
389
  if field.is_multiline():
393
390
  output += f"{field_name}: >>>"
394
391
  output += "\n"
@@ -61,6 +61,8 @@ class GraphDatabase:
61
61
  )
62
62
 
63
63
  def create_link(self, *, link_type: Hashable, lhs_node: Any, rhs_node: Any):
64
+ assert lhs_node is not None, lhs_node
65
+ assert rhs_node is not None, rhs_node
64
66
  self._id_to_bucket[link_type].create_link(
65
67
  lhs_node=lhs_node, rhs_node=rhs_node
66
68
  )
@@ -68,6 +70,8 @@ class GraphDatabase:
68
70
  def create_link_weak(
69
71
  self, *, link_type: Hashable, lhs_node: Any, rhs_node: Any
70
72
  ):
73
+ assert lhs_node is not None, lhs_node
74
+ assert rhs_node is not None, rhs_node
71
75
  self._id_to_bucket[link_type].create_link_weak(
72
76
  lhs_node=lhs_node, rhs_node=rhs_node
73
77
  )
@@ -253,7 +253,7 @@ class QueryObject:
253
253
  requirement = assert_cast(node, SDocNode)
254
254
  requirement_field_: SDocNodeField
255
255
  for requirement_field_ in requirement.enumerate_fields():
256
- if expression.string in requirement_field_.get_value():
256
+ if expression.string in requirement_field_.get_text_value():
257
257
  return True
258
258
  return False
259
259
  if isinstance(node, SDocSection):