strictdoc 0.0.54a1__tar.gz → 0.0.55a1__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 (546) hide show
  1. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/PKG-INFO +1 -1
  2. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/__init__.py +1 -1
  3. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/document.py +7 -0
  4. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/document_from_file.py +9 -5
  5. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/commands/diff_command.py +3 -2
  6. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/actions/passthrough_action.py +2 -2
  7. strictdoc-0.0.55a1/strictdoc/core/asset_manager.py +32 -0
  8. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/document_finder.py +59 -38
  9. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/document_meta.py +33 -12
  10. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/document_tree.py +2 -1
  11. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/file_tree.py +8 -6
  12. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/traceability_index.py +1 -1
  13. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/traceability_index_builder.py +10 -7
  14. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/document_dot_generator.py +3 -3
  15. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +36 -1
  16. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/html_generator.py +63 -24
  17. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +12 -10
  18. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +1 -1
  19. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +1 -1
  20. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html2pdf/html2pdf_generator.py +7 -24
  21. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/rst/document_rst_generator.py +2 -1
  22. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/git/project_diff_analyzer.py +8 -8
  23. strictdoc-0.0.55a1/strictdoc/helpers/paths.py +26 -0
  24. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/server/routers/main_router.py +91 -40
  25. strictdoc-0.0.54a1/strictdoc/export/html/templates/actions/document/move_node/stream_update_document_content.jinja +0 -5
  26. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/.gitignore +0 -0
  27. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/CHANGELOG.md +0 -0
  28. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/CONTRIBUTING.md +0 -0
  29. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/Dockerfile +0 -0
  30. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/LICENSE +0 -0
  31. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/NOTICE +0 -0
  32. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/README.md +0 -0
  33. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/docs_extra/DO178_requirements.sdoc +0 -0
  34. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/docs_extra/Zephyr_requirements.sdoc +0 -0
  35. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/drafts/requirements/strictdoc.toml +0 -0
  36. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/drafts/rst_examples.sdoc +0 -0
  37. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/drafts/strictdoc_low_level_requirements.sdoc_.sdoc +0 -0
  38. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/mypy.ini +0 -0
  39. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/pyproject.toml +0 -0
  40. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/requirements.bootstrap.txt +0 -0
  41. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/requirements.check.txt +0 -0
  42. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/ruff.toml +0 -0
  43. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/__init__.py +0 -0
  44. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/excel/__init__.py +0 -0
  45. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/excel/excel_import.py +0 -0
  46. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/excel/export/__init__.py +0 -0
  47. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/excel/export/excel_generator.py +0 -0
  48. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/excel/import_/__init__.py +0 -0
  49. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -0
  50. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/reqif/__init__.py +0 -0
  51. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  52. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +0 -0
  53. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +0 -0
  54. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/reqif/p11_polarion/__init__.py +0 -0
  55. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/reqif/p11_polarion/reqif_to_sdoc_converter.py +0 -0
  56. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/reqif/reqif_export.py +0 -0
  57. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/reqif/reqif_import.py +0 -0
  58. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
  59. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/__init__.py +0 -0
  60. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/document_reference.py +0 -0
  61. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/error_handling.py +0 -0
  62. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
  63. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
  64. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  65. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
  66. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
  67. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
  68. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +0 -0
  69. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
  70. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/grammar_reader.py +0 -0
  71. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/__init__.py +0 -0
  72. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/anchor.py +0 -0
  73. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/constants.py +0 -0
  74. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/document_config.py +0 -0
  75. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/document_grammar.py +0 -0
  76. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/document_view.py +0 -0
  77. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  78. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  79. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/node.py +0 -0
  80. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/object.py +0 -0
  81. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
  82. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/reference.py +0 -0
  83. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/section.py +0 -0
  84. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/models/type_system.py +0 -0
  85. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/pickle_cache.py +0 -0
  86. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/processor.py +0 -0
  87. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/reader.py +0 -0
  88. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
  89. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/validations/sdoc_validator.py +0 -0
  90. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc/writer.py +0 -0
  91. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
  92. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
  93. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
  94. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
  95. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
  96. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
  97. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
  98. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/cli/__init__.py +0 -0
  99. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/cli/argument_int_range.py +0 -0
  100. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/cli/cli_arg_parser.py +0 -0
  101. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/cli/command_parser_builder.py +0 -0
  102. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/cli/main.py +0 -0
  103. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/commands/__init__.py +0 -0
  104. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/commands/about_command.py +0 -0
  105. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/commands/dump_grammar_command.py +0 -0
  106. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/commands/manage_autouid_command.py +0 -0
  107. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/commands/version_command.py +0 -0
  108. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/__init__.py +0 -0
  109. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/actions/__init__.py +0 -0
  110. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/actions/export_action.py +0 -0
  111. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/actions/import_action.py +0 -0
  112. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/analyzers/document_stats.py +0 -0
  113. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
  114. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/document_iterator.py +0 -0
  115. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/document_tree_iterator.py +0 -0
  116. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/environment.py +0 -0
  117. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/file_traceability_index.py +0 -0
  118. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/finders/__init__.py +0 -0
  119. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/finders/source_files_finder.py +0 -0
  120. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/graph/abstract_bucket.py +0 -0
  121. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/graph/many_to_many_set.py +0 -0
  122. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
  123. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/graph/validations.py +0 -0
  124. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/graph_database.py +0 -0
  125. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/project_config.py +0 -0
  126. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/query_engine/grammar.py +0 -0
  127. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/query_engine/query_object.py +0 -0
  128. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/query_engine/query_reader.py +0 -0
  129. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/source_tree.py +0 -0
  130. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/constants.py +0 -0
  131. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/create_requirement.py +0 -0
  132. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/delete_section.py +0 -0
  133. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/section.py +0 -0
  134. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/update_document_config.py +0 -0
  135. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/update_free_text.py +0 -0
  136. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/update_grammar.py +0 -0
  137. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/update_grammar_element.py +0 -0
  138. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/update_included_document.py +0 -0
  139. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/update_requirement.py +0 -0
  140. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/transforms/validation_error.py +0 -0
  141. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/core/tree_cycle_detector.py +0 -0
  142. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/__init__.py +0 -0
  143. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/dot_templates.py +0 -0
  144. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile1/document.dot +0 -0
  145. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile1/folder.dot +0 -0
  146. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile1/legend.dot +0 -0
  147. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile1/requirement.dot +0 -0
  148. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile1/section.dot +0 -0
  149. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile1/top_level.dot +0 -0
  150. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile2/document.dot +0 -0
  151. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile2/folder.dot +0 -0
  152. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile2/requirement.dot +0 -0
  153. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile2/section.dot +0 -0
  154. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/dot/templates/profile2/top_level.dot +0 -0
  155. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/__init__.py +0 -0
  156. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/autogen.css +0 -0
  157. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/base.css +0 -0
  158. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/collapsible_list.js +0 -0
  159. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
  160. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
  161. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/content.css +0 -0
  162. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
  163. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  164. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  165. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  166. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  167. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  168. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  169. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  170. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  171. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  172. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/diff.css +0 -0
  173. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/diff.js +0 -0
  174. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/element.css +0 -0
  175. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/favicon.ico +0 -0
  176. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  177. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
  178. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
  179. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/form.css +0 -0
  180. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
  181. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/layout.css +0 -0
  182. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/node.css +0 -0
  183. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  184. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/project_tree.css +0 -0
  185. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/project_tree.js +0 -0
  186. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/requirement-tree.css +0 -0
  187. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/requirement.css +0 -0
  188. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  189. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  190. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  191. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
  192. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/source.css +0 -0
  193. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/stimulus.min.js +0 -0
  194. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/table_vew.css +0 -0
  195. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  196. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  197. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
  198. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/turbo.min.js +0 -0
  199. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  200. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static/zoomable.js +0 -0
  201. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  202. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  203. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  204. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  205. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  206. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  207. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  208. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  209. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  210. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  211. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  212. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  213. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  214. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  215. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  216. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  217. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  218. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  219. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  220. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  221. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  222. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  223. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  224. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  225. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  226. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  227. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  228. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  229. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/document_type.py +0 -0
  230. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  231. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/form_objects/form_object.py +0 -0
  232. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/form_objects/grammar_element_form_object.py +0 -0
  233. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
  234. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
  235. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/form_objects/requirement_form_object.py +0 -0
  236. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
  237. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  238. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/__init__.py +0 -0
  239. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/document.py +0 -0
  240. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
  241. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/document_pdf.py +0 -0
  242. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/document_table.py +0 -0
  243. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/document_trace.py +0 -0
  244. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/document_tree.py +0 -0
  245. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/project_statistics.py +0 -0
  246. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
  247. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
  248. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  249. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
  250. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
  251. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
  252. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +0 -0
  253. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
  254. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +0 -0
  255. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -0
  256. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
  257. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/html_templates.py +0 -0
  258. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/renderers/__init__.py +0 -0
  259. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  260. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/renderers/link_renderer.py +0 -0
  261. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
  262. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  263. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  264. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  265. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
  266. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
  267. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
  268. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  269. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  270. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  271. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  272. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  273. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  274. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  275. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  276. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  277. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  278. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  279. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  280. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
  281. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  282. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
  283. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  284. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
  285. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
  286. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  287. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  288. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  289. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  290. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  291. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  292. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  293. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  294. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  295. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  296. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  297. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  298. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  299. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  300. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  301. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  302. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  303. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  304. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  305. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  306. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
  307. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
  308. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
  309. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  310. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  311. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  312. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  313. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  314. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  315. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  316. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  317. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  318. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  319. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  320. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
  321. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  322. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
  323. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  324. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  325. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  326. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  327. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  328. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_update_requirement.jinja.html +0 -0
  329. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  330. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
  331. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
  332. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  333. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  334. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  335. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  336. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  337. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/base.jinja.html +0 -0
  338. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/abstract/index.jinja +0 -0
  339. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/abstract/pdf.jinja +0 -0
  340. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
  341. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  342. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  343. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  344. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  345. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  346. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  347. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  348. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  349. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
  350. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/document_title/index.jinja +0 -0
  351. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  352. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  353. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  354. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  355. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  356. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  357. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  358. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  359. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  360. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  361. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  362. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
  363. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  364. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  365. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  366. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
  367. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
  368. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
  369. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
  370. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
  371. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
  372. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  373. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  374. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  375. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
  376. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/meta/index.jinja +0 -0
  377. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  378. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  379. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  380. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  381. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
  382. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  383. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
  384. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
  385. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
  386. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
  387. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/comments/index.jinja +0 -0
  388. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/files/index.jinja +0 -0
  389. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
  390. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
  391. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/links/index.jinja +0 -0
  392. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/meta/index.jinja +0 -0
  393. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/multiline/index.jinja +0 -0
  394. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
  395. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/rationale/index.jinja +0 -0
  396. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/statement/index.jinja +0 -0
  397. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
  398. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
  399. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/title/index.jinja +0 -0
  400. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/title/pdf.jinja +0 -0
  401. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/requirement/uid/index.jinja +0 -0
  402. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  403. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  404. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  405. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/h/index.jinja +0 -0
  406. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/h/pdf.jinja +0 -0
  407. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  408. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
  409. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  410. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/text/index.jinja +0 -0
  411. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  412. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  413. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/title/index.jinja +0 -0
  414. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/section/uid/index.jinja +0 -0
  415. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  416. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
  417. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  418. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
  419. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  420. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  421. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  422. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  423. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  424. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
  425. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  426. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  427. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  428. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
  429. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
  430. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  431. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
  432. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  433. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
  434. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  435. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  436. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  437. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  438. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  439. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  440. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
  441. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  442. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  443. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  444. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  445. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  446. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
  447. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  448. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  449. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  450. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  451. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  452. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  453. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  454. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  455. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  456. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  457. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  458. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  459. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  460. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  461. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  462. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  463. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  464. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  465. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  466. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  467. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
  468. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
  469. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
  470. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  471. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
  472. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  473. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  474. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  475. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
  476. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
  477. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
  478. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
  479. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
  480. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  481. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
  482. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
  483. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
  484. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
  485. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  486. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
  487. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  488. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  489. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  490. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
  491. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  492. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/tools/__init__.py +0 -0
  493. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html/tools/html_embedded.py +0 -0
  494. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html2pdf/html2pdf.py +0 -0
  495. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
  496. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/json/json_generator.py +0 -0
  497. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/rst/__init__.py +0 -0
  498. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  499. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
  500. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/rst/rst_templates.py +0 -0
  501. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
  502. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
  503. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/rst/writer.py +0 -0
  504. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/spdx/spdx_generator.py +0 -0
  505. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  506. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +0 -0
  507. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/git/change.py +0 -0
  508. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/git/change_generator.py +0 -0
  509. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/git/git_client.py +0 -0
  510. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/__init__.py +0 -0
  511. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/auto_described.py +0 -0
  512. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/cast.py +0 -0
  513. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/diff.py +0 -0
  514. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/exception.py +0 -0
  515. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/file_modification_time.py +0 -0
  516. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/file_system.py +0 -0
  517. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/form_data.py +0 -0
  518. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/git_client.py +0 -0
  519. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/math.py +0 -0
  520. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/md5.py +0 -0
  521. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/mid.py +0 -0
  522. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/ordered_set.py +0 -0
  523. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/parallelizer.py +0 -0
  524. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/path_filter.py +0 -0
  525. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/pickle.py +0 -0
  526. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/rst.py +0 -0
  527. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/sha256.py +0 -0
  528. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/shard.py +0 -0
  529. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/sorting.py +0 -0
  530. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/string.py +0 -0
  531. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/textx.py +0 -0
  532. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/helpers/timing.py +0 -0
  533. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/server/__init__.py +0 -0
  534. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/server/app.py +0 -0
  535. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/server/config.py +0 -0
  536. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/server/error_object.py +0 -0
  537. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/server/helpers/turbo.py +0 -0
  538. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/server/main.py +0 -0
  539. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/server/routers/other_router.py +0 -0
  540. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc/server/server.py +0 -0
  541. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/strictdoc.toml +0 -0
  542. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/tasks.py +0 -0
  543. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/tasks_wine.py +0 -0
  544. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/tools/confluence_html_table_import.py +0 -0
  545. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/tools/link_health.py +0 -0
  546. {strictdoc-0.0.54a1 → strictdoc-0.0.55a1}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strictdoc
3
- Version: 0.0.54a1
3
+ Version: 0.0.55a1
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.54a1"
3
+ __version__ = "0.0.55a1"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -94,6 +94,11 @@ class SDocDocument: # pylint: disable=too-many-instance-attributes
94
94
  def get_included_document(self):
95
95
  return self.ng_including_document_reference.get_document()
96
96
 
97
+ def iterate_included_documents_depth_first(self):
98
+ for included_document_ in self.included_documents:
99
+ yield included_document_
100
+ yield from included_document_.iterate_included_documents_depth_first()
101
+
97
102
  @property
98
103
  def reserved_uid(self) -> Optional[str]:
99
104
  return self.config.uid
@@ -107,6 +112,8 @@ class SDocDocument: # pylint: disable=too-many-instance-attributes
107
112
 
108
113
  def has_any_toc_nodes(self) -> bool:
109
114
  for node_ in self.section_contents:
115
+ if node_.__class__.__name__ == "DocumentFromFile":
116
+ return True
110
117
  if node_.is_section:
111
118
  if node_.ng_resolved_custom_level != "None":
112
119
  return True
@@ -50,14 +50,18 @@ class DocumentFromFile:
50
50
  assert resolved_document is not None
51
51
  self.resolved_document = resolved_document
52
52
 
53
- including_document = self.parent
54
- assert (
55
- including_document.__class__.__name__ == "SDocDocument"
56
- ), including_document
53
+ including_document_or_section = self.parent
57
54
 
58
- resolved_document.ng_including_document_from_file = self
55
+ if including_document_or_section.__class__.__name__ == "SDocDocument":
56
+ including_document = including_document_or_section
57
+ elif including_document_or_section.__class__.__name__ == "SDocSection":
58
+ including_document = including_document_or_section.document
59
+ else:
60
+ raise AssertionError(including_document_or_section)
59
61
 
62
+ resolved_document.ng_including_document_from_file = self
60
63
  resolved_document.ng_including_document_reference.set_document(
61
64
  including_document
62
65
  )
66
+
63
67
  including_document.included_documents.append(resolved_document)
@@ -122,7 +122,8 @@ class DiffCommand:
122
122
  html_generator = HTMLGenerator(
123
123
  project_config=project_config, html_templates=html_templates
124
124
  )
125
- # FIXME: Traceability argument is not really important here.
126
125
  html_generator.export_assets(
127
- traceability_index=change_container.traceability_index_lhs
126
+ traceability_index=change_container.traceability_index_lhs,
127
+ project_config=project_config,
128
+ export_output_html_root=project_config.export_output_html_root,
128
129
  )
@@ -38,8 +38,8 @@ class PassthroughAction:
38
38
  for document in traceability_index.document_tree.document_list:
39
39
  output, fragments_dict = writer.write_with_fragments(document)
40
40
 
41
- path_to_output_file_dir = os.path.join(
42
- output_dir, document.meta.input_doc_dir_rel_path
41
+ path_to_output_file_dir: str = os.path.join(
42
+ output_dir, document.meta.input_doc_dir_rel_path.relative_path
43
43
  )
44
44
  Path(path_to_output_file_dir).mkdir(parents=True, exist_ok=True)
45
45
  path_to_output_file = os.path.join(
@@ -0,0 +1,32 @@
1
+ from dataclasses import dataclass
2
+
3
+ from strictdoc.helpers.paths import SDocRelativePath
4
+
5
+
6
+ @dataclass
7
+ class AssetDir:
8
+ full_path: str
9
+ relative_path: SDocRelativePath
10
+
11
+ def __post_init__(self):
12
+ assert isinstance(
13
+ self.relative_path, SDocRelativePath
14
+ ), self.relative_path
15
+
16
+
17
+ class AssetManager:
18
+ def __init__(self):
19
+ self.asset_dirs = []
20
+ self.asset_dirs_lookup = {}
21
+
22
+ def add_asset_dir(self, full_path: str, relative_path: SDocRelativePath):
23
+ asset_dir = AssetDir(full_path=full_path, relative_path=relative_path)
24
+ self.asset_dirs.append(asset_dir)
25
+
26
+ self.asset_dirs_lookup[relative_path] = asset_dir
27
+
28
+ def get_asset_dir_by_relative_path(self, relative_path: str):
29
+ return self.asset_dirs_lookup[relative_path]
30
+
31
+ def iterate(self):
32
+ yield from self.asset_dirs
@@ -7,6 +7,7 @@ from strictdoc.backend.sdoc.grammar_reader import SDocGrammarReader
7
7
  from strictdoc.backend.sdoc.models.document import SDocDocument
8
8
  from strictdoc.backend.sdoc.models.document_grammar import DocumentGrammar
9
9
  from strictdoc.backend.sdoc.reader import SDReader
10
+ from strictdoc.core.asset_manager import AssetManager
10
11
  from strictdoc.core.document_meta import DocumentMeta
11
12
  from strictdoc.core.document_tree import DocumentTree
12
13
  from strictdoc.core.file_tree import (
@@ -17,6 +18,7 @@ from strictdoc.core.file_tree import (
17
18
  PathFinder,
18
19
  )
19
20
  from strictdoc.core.project_config import ProjectConfig
21
+ from strictdoc.helpers.paths import SDocRelativePath
20
22
  from strictdoc.helpers.textx import drop_textx_meta
21
23
  from strictdoc.helpers.timing import measure_performance, timing_decorator
22
24
 
@@ -24,7 +26,9 @@ from strictdoc.helpers.timing import measure_performance, timing_decorator
24
26
  class DocumentFinder:
25
27
  @staticmethod
26
28
  @timing_decorator("Find and read SDoc files")
27
- def find_sdoc_content(project_config: ProjectConfig, parallelizer):
29
+ def find_sdoc_content(
30
+ project_config: ProjectConfig, parallelizer
31
+ ) -> Tuple[DocumentTree, AssetManager]:
28
32
  for paths_to_files_or_doc in project_config.export_input_paths:
29
33
  if not os.path.exists(paths_to_files_or_doc):
30
34
  sys.stdout.flush()
@@ -36,14 +40,14 @@ class DocumentFinder:
36
40
  print(err) # noqa: T201
37
41
  sys.exit(1)
38
42
 
39
- file_tree, asset_dirs = DocumentFinder._build_file_tree(
43
+ file_tree, asset_manager = DocumentFinder._build_file_tree(
40
44
  project_config=project_config
41
45
  )
42
46
  document_tree = DocumentFinder._build_document_tree(
43
47
  file_tree, project_config, parallelizer
44
48
  )
45
49
 
46
- return document_tree, asset_dirs
50
+ return document_tree, asset_manager
47
51
 
48
52
  @staticmethod
49
53
  def _process_worker_parse_document(document_triple, path_to_output_root):
@@ -76,7 +80,7 @@ class DocumentFinder:
76
80
 
77
81
  document_list: List[SDocDocument] = []
78
82
  map_docs_by_paths = {}
79
- map_docs_by_rel_paths = {}
83
+ map_docs_by_rel_paths: Dict[str, SDocDocument] = {}
80
84
  map_grammars_by_filenames = {}
81
85
 
82
86
  file_tree_list: List[Tuple[Union[Folder, File], File, str]] = []
@@ -94,6 +98,10 @@ class DocumentFinder:
94
98
 
95
99
  doc_file: File
96
100
  for doc_file, file_tree_mount_folder, document in found_documents:
101
+ assert isinstance(
102
+ file_tree_mount_folder, str
103
+ ), file_tree_mount_folder
104
+
97
105
  if isinstance(document, DocumentGrammar):
98
106
  map_grammars_by_filenames[doc_file.file_name] = document
99
107
  continue
@@ -104,18 +112,33 @@ class DocumentFinder:
104
112
 
105
113
  input_doc_full_path = doc_file.get_full_path()
106
114
 
107
- doc_relative_path_folder = os.path.dirname(doc_file.rel_path)
108
- output_document_dir_rel_path = (
109
- os.path.join(file_tree_mount_folder, doc_relative_path_folder)
110
- if doc_relative_path_folder
115
+ doc_relative_path_folder: SDocRelativePath = SDocRelativePath(
116
+ os.path.dirname(doc_file.rel_path.relative_path)
117
+ )
118
+ output_document_dir_rel_path: SDocRelativePath = SDocRelativePath(
119
+ os.path.join(
120
+ file_tree_mount_folder,
121
+ doc_relative_path_folder.relative_path,
122
+ )
123
+ if len(doc_relative_path_folder.relative_path) > 0
111
124
  else file_tree_mount_folder
112
125
  )
113
126
 
114
127
  document_filename = doc_file.file_name
115
128
  document_filename_base = os.path.splitext(document_filename)[0]
116
129
 
117
- output_document_dir_full_path = (
118
- f"{output_root_html}/{output_document_dir_rel_path}"
130
+ output_document_dir_full_path: str = os.path.join(
131
+ output_root_html, output_document_dir_rel_path.relative_path
132
+ )
133
+
134
+ input_doc_assets_dir_rel_path: SDocRelativePath = SDocRelativePath(
135
+ os.path.join(
136
+ file_tree_mount_folder,
137
+ doc_relative_path_folder.relative_path,
138
+ "_assets",
139
+ )
140
+ if doc_relative_path_folder.length() > 0
141
+ else "/".join((file_tree_mount_folder, "_assets"))
119
142
  )
120
143
 
121
144
  document_meta = DocumentMeta(
@@ -126,21 +149,23 @@ class DocumentFinder:
126
149
  input_doc_full_path,
127
150
  doc_file.rel_path,
128
151
  doc_relative_path_folder,
152
+ input_doc_assets_dir_rel_path,
129
153
  output_document_dir_full_path,
130
154
  output_document_dir_rel_path,
131
155
  )
132
156
  document.assign_meta(document_meta)
133
157
 
134
- output_document_rel_path = os.path.join(
135
- output_document_dir_rel_path, f"{document_filename_base}.html"
136
- )
137
- # This rel path will be used for lookups of URL pages that are
138
- # always "/"-based, even on Windows.
139
- output_document_rel_path = output_document_rel_path.replace(
140
- "\\", "/"
158
+ output_document_rel_path: SDocRelativePath = SDocRelativePath(
159
+ os.path.join(
160
+ output_document_dir_rel_path.relative_path,
161
+ f"{document_filename_base}.html",
162
+ )
141
163
  )
164
+
142
165
  map_docs_by_paths[input_doc_full_path] = document
143
- map_docs_by_rel_paths[output_document_rel_path] = document
166
+ map_docs_by_rel_paths[output_document_rel_path.relative_path] = (
167
+ document
168
+ )
144
169
 
145
170
  return DocumentTree(
146
171
  file_trees,
@@ -153,12 +178,12 @@ class DocumentFinder:
153
178
  @staticmethod
154
179
  def _build_file_tree(
155
180
  project_config: ProjectConfig,
156
- ) -> Tuple[List[FileTree], List[Dict]]:
181
+ ) -> Tuple[List[FileTree], AssetManager]:
157
182
  assert isinstance(project_config.export_input_paths, list)
158
183
  assert len(project_config.export_input_paths) > 0
159
184
 
160
185
  root_trees: List[FileTree] = []
161
- asset_dirs: List[Dict] = []
186
+ asset_manager = AssetManager()
162
187
 
163
188
  for path_to_doc_root_raw in project_config.export_input_paths:
164
189
  if os.path.isfile(path_to_doc_root_raw):
@@ -169,15 +194,13 @@ class DocumentFinder:
169
194
  parent_dir = os.path.dirname(path_to_doc_root)
170
195
  path_to_doc_root_base = os.path.dirname(parent_dir)
171
196
 
172
- assets_dir = os.path.join(parent_dir, "_assets")
197
+ assets_dir: str = os.path.join(parent_dir, "_assets")
173
198
  if os.path.isdir(assets_dir):
174
- asset_dirs.append(
175
- {
176
- "full_path": assets_dir,
177
- "relative_path": os.path.relpath(
178
- assets_dir, path_to_doc_root_base
179
- ),
180
- }
199
+ asset_manager.add_asset_dir(
200
+ full_path=assets_dir,
201
+ relative_path=SDocRelativePath(
202
+ os.path.relpath(assets_dir, path_to_doc_root_base)
203
+ ),
181
204
  )
182
205
  root_trees.append(
183
206
  FileTree.create_single_file_tree(path_to_doc_root)
@@ -191,21 +214,19 @@ class DocumentFinder:
191
214
  path_to_doc_root_base = os.path.dirname(path_to_doc_root)
192
215
 
193
216
  # Finding assets.
194
- tree_asset_dirs = PathFinder.find_directories(
217
+ tree_asset_dirs: List[str] = PathFinder.find_directories(
195
218
  path_to_doc_root,
196
219
  "_assets",
197
220
  include_paths=project_config.include_doc_paths,
198
221
  exclude_paths=project_config.exclude_doc_paths,
199
222
  )
200
223
 
201
- for asset_dir in tree_asset_dirs:
202
- asset_dirs.append(
203
- {
204
- "full_path": asset_dir,
205
- "relative_path": os.path.relpath(
206
- asset_dir, path_to_doc_root_base
207
- ),
208
- }
224
+ for asset_dir_ in tree_asset_dirs:
225
+ asset_manager.add_asset_dir(
226
+ full_path=asset_dir_,
227
+ relative_path=SDocRelativePath(
228
+ os.path.relpath(asset_dir_, path_to_doc_root_base)
229
+ ),
209
230
  )
210
231
 
211
232
  # Finding SDoc files.
@@ -219,4 +240,4 @@ class DocumentFinder:
219
240
  )
220
241
  root_trees.append(file_tree_structure)
221
242
 
222
- return root_trees, asset_dirs
243
+ return root_trees, asset_manager
@@ -1,5 +1,6 @@
1
1
  from strictdoc.export.html.document_type import DocumentType
2
2
  from strictdoc.helpers.auto_described import auto_described
3
+ from strictdoc.helpers.paths import SDocRelativePath
3
4
 
4
5
 
5
6
  @auto_described
@@ -11,10 +12,11 @@ class DocumentMeta:
11
12
  document_filename: str,
12
13
  document_filename_base,
13
14
  input_doc_full_path,
14
- input_doc_rel_path: str,
15
- input_doc_dir_rel_path,
15
+ input_doc_rel_path: SDocRelativePath,
16
+ input_doc_dir_rel_path: SDocRelativePath,
17
+ input_doc_assets_dir_rel_path: SDocRelativePath,
16
18
  output_document_dir_full_path,
17
- output_document_dir_rel_path,
19
+ output_document_dir_rel_path: SDocRelativePath,
18
20
  ):
19
21
  """
20
22
  Example explaining meta data stored by this class:
@@ -27,19 +29,38 @@ class DocumentMeta:
27
29
  input_doc_full_path = "/tmp/doc_project/child.sdoc",
28
30
  input_doc_rel_path = "child.sdoc",
29
31
  input_doc_dir_rel_path = "",
32
+ input_doc_assets_dir_rel_path = "doc_project/_assets",
30
33
  output_document_dir_full_path = "/tmp/doc_project/output/html/doc_project",
31
34
  output_document_dir_rel_path = "doc_project"
32
35
  )
33
36
  """
37
+ assert isinstance(
38
+ input_doc_rel_path, SDocRelativePath
39
+ ), input_doc_rel_path
40
+ assert isinstance(
41
+ input_doc_dir_rel_path, SDocRelativePath
42
+ ), input_doc_dir_rel_path
43
+ assert isinstance(
44
+ input_doc_assets_dir_rel_path, SDocRelativePath
45
+ ), input_doc_assets_dir_rel_path
46
+ assert isinstance(
47
+ output_document_dir_rel_path, SDocRelativePath
48
+ ), output_document_dir_rel_path
49
+
34
50
  self.level = level
35
51
  self.file_tree_mount_folder = file_tree_mount_folder
36
52
  self.document_filename: str = document_filename
37
53
  self.document_filename_base = document_filename_base
38
54
  self.input_doc_full_path = input_doc_full_path
39
- self.input_doc_rel_path: str = input_doc_rel_path
40
- self.input_doc_dir_rel_path = input_doc_dir_rel_path
55
+ self.input_doc_rel_path: SDocRelativePath = input_doc_rel_path
56
+ self.input_doc_dir_rel_path: SDocRelativePath = input_doc_dir_rel_path
57
+ self.input_doc_assets_dir_rel_path: SDocRelativePath = (
58
+ input_doc_assets_dir_rel_path
59
+ )
41
60
  self.output_document_dir_full_path = output_document_dir_full_path
42
- self.output_document_dir_rel_path = output_document_dir_rel_path
61
+ self.output_document_dir_rel_path: SDocRelativePath = (
62
+ output_document_dir_rel_path
63
+ )
43
64
 
44
65
  # Paths
45
66
  def get_html_doc_path(self):
@@ -87,42 +108,42 @@ class DocumentMeta:
87
108
  # Links
88
109
  def get_html_doc_link(self):
89
110
  return (
90
- f"{self.output_document_dir_rel_path}"
111
+ f"{self.output_document_dir_rel_path.relative_path_posix}"
91
112
  f"/"
92
113
  f"{self.document_filename_base}.html"
93
114
  )
94
115
 
95
116
  def get_html_table_link(self):
96
117
  return (
97
- f"{self.output_document_dir_rel_path}"
118
+ f"{self.output_document_dir_rel_path.relative_path_posix}"
98
119
  f"/"
99
120
  f"{self.document_filename_base}-TABLE.html"
100
121
  )
101
122
 
102
123
  def get_html_traceability_link(self):
103
124
  return (
104
- f"{self.output_document_dir_rel_path}"
125
+ f"{self.output_document_dir_rel_path.relative_path_posix}"
105
126
  f"/"
106
127
  f"{self.document_filename_base}-TRACE.html"
107
128
  )
108
129
 
109
130
  def get_html_deep_traceability_link(self):
110
131
  return (
111
- f"{self.output_document_dir_rel_path}"
132
+ f"{self.output_document_dir_rel_path.relative_path_posix}"
112
133
  f"/"
113
134
  f"{self.document_filename_base}-DEEP-TRACE.html"
114
135
  )
115
136
 
116
137
  def get_html_pdf_link(self):
117
138
  return (
118
- f"{self.output_document_dir_rel_path}"
139
+ f"{self.output_document_dir_rel_path.relative_path_posix}"
119
140
  f"/"
120
141
  f"{self.document_filename_base}-PDF.html"
121
142
  )
122
143
 
123
144
  def get_html_standalone_document_link(self):
124
145
  return (
125
- f"{self.output_document_dir_rel_path}"
146
+ f"{self.output_document_dir_rel_path.relative_path_posix}"
126
147
  f"/"
127
148
  f"{self.document_filename_base}.standalone.html"
128
149
  )
@@ -42,7 +42,8 @@ class DocumentTree:
42
42
  document = self.map_docs_by_paths[doc_full_path]
43
43
  return document
44
44
 
45
- def get_document_by_rel_path(self, doc_rel_path):
45
+ def get_document_by_rel_path(self, doc_rel_path: str):
46
+ assert isinstance(doc_rel_path, str), doc_rel_path
46
47
  document = self.map_docs_by_rel_paths[doc_rel_path]
47
48
  return document
48
49
 
@@ -4,6 +4,7 @@ import os
4
4
  from typing import Dict, List, Optional, Union
5
5
 
6
6
  from strictdoc.helpers.path_filter import PathFilter
7
+ from strictdoc.helpers.paths import SDocRelativePath
7
8
  from strictdoc.helpers.sorting import alphanumeric_sort
8
9
 
9
10
 
@@ -22,14 +23,15 @@ class FileOrFolderEntry:
22
23
 
23
24
 
24
25
  class File(FileOrFolderEntry):
25
- def __init__(self, level, full_path, rel_path: str):
26
+ def __init__(self, level, full_path, rel_path: SDocRelativePath):
26
27
  assert os.path.isfile(full_path)
27
28
  assert os.path.isabs(full_path)
28
- assert isinstance(rel_path, str)
29
+ assert isinstance(rel_path, SDocRelativePath)
30
+
29
31
  self.level = level
30
32
  self.full_path = full_path
31
33
  self.root_path = full_path
32
- self.rel_path = rel_path
34
+ self.rel_path: SDocRelativePath = rel_path
33
35
  self.file_name = os.path.basename(self.full_path)
34
36
  self.files = [self]
35
37
  self.subfolder_trees = []
@@ -112,7 +114,7 @@ class FileTree:
112
114
 
113
115
  @staticmethod
114
116
  def create_single_file_tree(root_path):
115
- single_file = File(0, root_path, "")
117
+ single_file = File(0, root_path, SDocRelativePath(""))
116
118
  return FileTree(root_folder_or_file=single_file)
117
119
 
118
120
  def iterate(self):
@@ -227,7 +229,7 @@ class FileFinder:
227
229
  File(
228
230
  current_tree.level + 1,
229
231
  full_file_path,
230
- rel_file_path,
232
+ SDocRelativePath(rel_file_path),
231
233
  )
232
234
  )
233
235
 
@@ -276,7 +278,7 @@ class PathFinder:
276
278
  @staticmethod
277
279
  def find_directories(
278
280
  root_path, directory, include_paths: List[str], exclude_paths: List[str]
279
- ):
281
+ ) -> List[str]:
280
282
  assert os.path.isdir(root_path)
281
283
  assert os.path.isabs(root_path)
282
284
 
@@ -90,7 +90,7 @@ class TraceabilityIndex: # pylint: disable=too-many-public-methods, too-many-in
90
90
 
91
91
  self.graph_database: GraphDatabase = graph_database
92
92
  self.document_tree: Optional[DocumentTree] = None
93
- self.asset_dirs = None
93
+ self.asset_manager = None
94
94
  self.index_last_updated = datetime.today()
95
95
  self.contains_included_documents = False
96
96
  self.strictdoc_last_update = None
@@ -89,7 +89,7 @@ class TraceabilityIndexBuilder:
89
89
  ):
90
90
  strictdoc_last_update = project_config.config_last_update
91
91
 
92
- document_tree, asset_dirs = DocumentFinder.find_sdoc_content(
92
+ document_tree, asset_manager = DocumentFinder.find_sdoc_content(
93
93
  project_config=project_config, parallelizer=parallelizer
94
94
  )
95
95
 
@@ -104,7 +104,7 @@ class TraceabilityIndexBuilder:
104
104
  TraceabilityIndexBuilder.create_from_document_tree(document_tree)
105
105
  )
106
106
  traceability_index.document_tree = document_tree
107
- traceability_index.asset_dirs = asset_dirs
107
+ traceability_index.asset_manager = asset_manager
108
108
  traceability_index.strictdoc_last_update = strictdoc_last_update
109
109
 
110
110
  TraceabilityIndexBuilder._filter_nodes(
@@ -663,23 +663,26 @@ class TraceabilityIndexBuilder:
663
663
  assert isinstance(
664
664
  document_from_file_, DocumentFromFile
665
665
  ), document_from_file_
666
+
667
+ resolved_document = map_documents_by_input_rel_path[
668
+ document_from_file_.resolved_full_path_to_document_file
669
+ ]
670
+
666
671
  if (
667
672
  document_from_file_.resolved_full_path_to_document_file
668
673
  in unique_document_from_file_occurences
669
- ):
674
+ ) and resolved_document.has_any_requirements():
670
675
  raise StrictDocException(
671
676
  "[DOCUMENT_FROM_FILE]: "
672
677
  "A multiple inclusion of a document is detected. "
673
- "A document can be only included once: "
678
+ "A document that contains requirements or other nodes "
679
+ "can be only included once: "
674
680
  f"{document_from_file_.file}."
675
681
  )
676
682
  unique_document_from_file_occurences.add(
677
683
  document_from_file_.resolved_full_path_to_document_file
678
684
  )
679
685
 
680
- resolved_document = map_documents_by_input_rel_path[
681
- document_from_file_.resolved_full_path_to_document_file
682
- ]
683
686
  document_from_file_.configure_with_resolved_document(
684
687
  resolved_document
685
688
  )
@@ -2,7 +2,7 @@ import os
2
2
  import random
3
3
  from collections import defaultdict
4
4
  from pathlib import Path
5
- from typing import List, Optional, Tuple, Union
5
+ from typing import Dict, List, Optional, Tuple, Union
6
6
 
7
7
  import graphviz
8
8
 
@@ -50,12 +50,12 @@ class DocumentDotGenerator:
50
50
 
51
51
  project_tree_content = ""
52
52
 
53
- documents_by_folder = defaultdict(list)
53
+ documents_by_folder: Dict[str, List[SDocDocument]] = defaultdict(list)
54
54
  for document in traceability_index.document_tree.document_list:
55
55
  if not document.has_any_requirements():
56
56
  continue
57
57
  documents_by_folder[
58
- document.meta.output_document_dir_rel_path
58
+ document.meta.output_document_dir_rel_path.relative_path
59
59
  ].append(document)
60
60
 
61
61
  accumulated_links: List[Tuple[str, str]] = []
@@ -9,6 +9,7 @@ from strictdoc.backend.sdoc.models.document import SDocDocument
9
9
  from strictdoc.backend.sdoc.models.document_grammar import GrammarElement
10
10
  from strictdoc.backend.sdoc.models.document_view import ViewElement
11
11
  from strictdoc.core.document_tree_iterator import DocumentTreeIterator
12
+ from strictdoc.core.file_tree import Folder
12
13
  from strictdoc.core.project_config import ProjectConfig
13
14
  from strictdoc.core.traceability_index import TraceabilityIndex
14
15
  from strictdoc.export.html.document_type import DocumentType
@@ -141,6 +142,30 @@ class DocumentScreenViewObject:
141
142
 
142
143
  return output
143
144
 
145
+ def render_update_document_content_with_moved_node(
146
+ self, jinja_environment: Environment, moved_node
147
+ ) -> str:
148
+ template = jinja_environment.get_template(
149
+ "screens/document/document/frame_document_content.jinja.html"
150
+ )
151
+ output = render_turbo_stream(
152
+ content=template.render(view_object=self),
153
+ action="replace",
154
+ target="frame_document_content",
155
+ )
156
+ toc_template = jinja_environment.get_template(
157
+ "actions/document/_shared/stream_updated_toc.jinja.html"
158
+ )
159
+ output += render_turbo_stream(
160
+ toc_template.render(
161
+ view_object=self,
162
+ last_moved_node_id=moved_node.reserved_mid,
163
+ ),
164
+ action="update",
165
+ target="frame-toc",
166
+ )
167
+ return output
168
+
144
169
  def is_empty_tree(self) -> bool:
145
170
  return self.document_tree_iterator.is_empty_tree()
146
171
 
@@ -153,6 +178,16 @@ class DocumentScreenViewObject:
153
178
  def iterator_files_first(self):
154
179
  yield from self.document_tree_iterator.iterator_files_first()
155
180
 
181
+ def folder_contains_including_documents(self, folder: Folder):
182
+ assert isinstance(folder, Folder), folder
183
+ for file_ in folder.files:
184
+ if not file_.has_extension(".sdoc"):
185
+ continue
186
+ document_ = self.get_document_by_path(file_.get_full_path())
187
+ if not document_.document_is_included():
188
+ return True
189
+ return False
190
+
156
191
  def render_url(self, url: str):
157
192
  return self.link_renderer.render_url(url)
158
193
 
@@ -176,7 +211,7 @@ class DocumentScreenViewObject:
176
211
  def date_today(self):
177
212
  return datetime.today().strftime("%Y-%m-%d")
178
213
 
179
- def get_document_by_path(self, full_path: str):
214
+ def get_document_by_path(self, full_path: str) -> SDocDocument:
180
215
  return self.traceability_index.document_tree.get_document_by_path(
181
216
  full_path
182
217
  )