mkdocs2confluence 0.17.4__tar.gz → 0.18.0__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.
- {mkdocs2confluence-0.17.4/src/mkdocs2confluence.egg-info → mkdocs2confluence-0.18.0}/PKG-INFO +4 -1
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/README.md +3 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/pyproject.toml +1 -1
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0/src/mkdocs2confluence.egg-info}/PKG-INFO +4 -1
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/compiler/page.py +1 -1
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/loader/config.py +11 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_children_macro.py +80 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/LICENSE +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/setup.cfg +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs2confluence.egg-info/SOURCES.txt +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs2confluence.egg-info/dependency_links.txt +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs2confluence.egg-info/entry_points.txt +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs2confluence.egg-info/requires.txt +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs2confluence.egg-info/top_level.txt +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/cli.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/compiler/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/compiler/models.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/emitter/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/emitter/xhtml.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/ir/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/ir/nodes.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/ir/treeutil.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/loader/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/loader/extra_css.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/loader/nav.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/loader/page.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/parser/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/parser/markdown.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/pdf/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/pdf/generator.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/pdf/render.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/abbrevs.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/captions.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/fence.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/frontmatter.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/icons.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/includes.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/linkdefs.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preview/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preview/render.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preview/server.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/changelog.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/client.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/executor.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/http_retry.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/models.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/planner.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/skill_installer.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/skills/mkdocs-changelog/SKILL.md +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/skills/mkdocs-changelog/scripts/changelog_data.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/anchoring.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/command.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/comments.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/github.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/platform.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/state.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/__init__.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/_kroki.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/abbrevs.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/admonition_titles.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/assets.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/attachment_previews.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/captions.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/editlink.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/footer.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/images.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/internallinks.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/mermaid.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/plantuml.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_abbrevs.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_admonition_titles.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_attachment_previews.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_captions.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_changelog_config.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_changelog_publish.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_cli.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_editlink.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_emitter.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_exclude_properties_config.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_extra_css.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_footer.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_frontmatter.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_icons.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_images.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_internallinks.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_ir.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_linkdefs.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_loader.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_mermaid.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_page_loader.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_parser.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_pdf.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_plantuml.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_preprocess.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_preview.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_publish_client.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_publish_config.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_publish_pipeline.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_server.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_skill_installer.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_sync_anchoring.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_sync_command.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_sync_comments.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_sync_github.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_sync_state.py +0 -0
- {mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_treeutil.py +0 -0
{mkdocs2confluence-0.17.4/src/mkdocs2confluence.egg-info → mkdocs2confluence-0.18.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mkdocs2confluence
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.18.0
|
|
4
4
|
Summary: Publish MkDocs Material pages to Confluence Cloud — admonitions, Mermaid diagrams, tabs, page properties and more
|
|
5
5
|
Author: Anders Hybertz
|
|
6
6
|
License: GPL-3.0-or-later
|
|
@@ -161,6 +161,7 @@ confluence:
|
|
|
161
161
|
mermaid_render: kroki # "kroki" (default) | "kroki:https://your-kroki" | "none" — also controls PlantUML rendering
|
|
162
162
|
full_width: true # default: true
|
|
163
163
|
attachment_preview: false # default: false — inline PDF/Office previews
|
|
164
|
+
children_macro: true # default: true — child page list on section index pages
|
|
164
165
|
changelog: CHANGELOG.md # optional: publish as a top-level "What's New" page
|
|
165
166
|
exclude_properties: # optional: front matter keys to hide from Page Properties
|
|
166
167
|
- source_documents
|
|
@@ -171,6 +172,8 @@ confluence:
|
|
|
171
172
|
|
|
172
173
|
`attachment_preview` (bool, default `false`) renders links to local PDF/Office files (`.pdf`, `.doc(x)`, `.xls(x)`, `.ppt(x)`) as inline `view-file` previews instead of download links. Other file types always remain download links.
|
|
173
174
|
|
|
175
|
+
`children_macro` (bool, default `true`) controls the native Children Display macro appended to section index pages (a nav section with an `index.md`). Set it to `false` to publish those pages without the auto-generated child page list; the change takes effect on the next publish.
|
|
176
|
+
|
|
174
177
|
The `confluence:` block is also accepted under `extra:` for MkDocs strict-mode compatibility. The API token is read from `token:` in `mkdocs.yml`, then `CONFLUENCE_API_TOKEN`, then `MK2CONF_TOKEN`.
|
|
175
178
|
|
|
176
179
|
### Changelog / What's New page
|
|
@@ -119,6 +119,7 @@ confluence:
|
|
|
119
119
|
mermaid_render: kroki # "kroki" (default) | "kroki:https://your-kroki" | "none" — also controls PlantUML rendering
|
|
120
120
|
full_width: true # default: true
|
|
121
121
|
attachment_preview: false # default: false — inline PDF/Office previews
|
|
122
|
+
children_macro: true # default: true — child page list on section index pages
|
|
122
123
|
changelog: CHANGELOG.md # optional: publish as a top-level "What's New" page
|
|
123
124
|
exclude_properties: # optional: front matter keys to hide from Page Properties
|
|
124
125
|
- source_documents
|
|
@@ -129,6 +130,8 @@ confluence:
|
|
|
129
130
|
|
|
130
131
|
`attachment_preview` (bool, default `false`) renders links to local PDF/Office files (`.pdf`, `.doc(x)`, `.xls(x)`, `.ppt(x)`) as inline `view-file` previews instead of download links. Other file types always remain download links.
|
|
131
132
|
|
|
133
|
+
`children_macro` (bool, default `true`) controls the native Children Display macro appended to section index pages (a nav section with an `index.md`). Set it to `false` to publish those pages without the auto-generated child page list; the change takes effect on the next publish.
|
|
134
|
+
|
|
132
135
|
The `confluence:` block is also accepted under `extra:` for MkDocs strict-mode compatibility. The API token is read from `token:` in `mkdocs.yml`, then `CONFLUENCE_API_TOKEN`, then `MK2CONF_TOKEN`.
|
|
133
136
|
|
|
134
137
|
### Changelog / What's New page
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mkdocs2confluence"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.18.0"
|
|
4
4
|
description = "Publish MkDocs Material pages to Confluence Cloud — admonitions, Mermaid diagrams, tabs, page properties and more"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { text = "GPL-3.0-or-later" }
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0/src/mkdocs2confluence.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mkdocs2confluence
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.18.0
|
|
4
4
|
Summary: Publish MkDocs Material pages to Confluence Cloud — admonitions, Mermaid diagrams, tabs, page properties and more
|
|
5
5
|
Author: Anders Hybertz
|
|
6
6
|
License: GPL-3.0-or-later
|
|
@@ -161,6 +161,7 @@ confluence:
|
|
|
161
161
|
mermaid_render: kroki # "kroki" (default) | "kroki:https://your-kroki" | "none" — also controls PlantUML rendering
|
|
162
162
|
full_width: true # default: true
|
|
163
163
|
attachment_preview: false # default: false — inline PDF/Office previews
|
|
164
|
+
children_macro: true # default: true — child page list on section index pages
|
|
164
165
|
changelog: CHANGELOG.md # optional: publish as a top-level "What's New" page
|
|
165
166
|
exclude_properties: # optional: front matter keys to hide from Page Properties
|
|
166
167
|
- source_documents
|
|
@@ -171,6 +172,8 @@ confluence:
|
|
|
171
172
|
|
|
172
173
|
`attachment_preview` (bool, default `false`) renders links to local PDF/Office files (`.pdf`, `.doc(x)`, `.xls(x)`, `.ppt(x)`) as inline `view-file` previews instead of download links. Other file types always remain download links.
|
|
173
174
|
|
|
175
|
+
`children_macro` (bool, default `true`) controls the native Children Display macro appended to section index pages (a nav section with an `index.md`). Set it to `false` to publish those pages without the auto-generated child page list; the change takes effect on the next publish.
|
|
176
|
+
|
|
174
177
|
The `confluence:` block is also accepted under `extra:` for MkDocs strict-mode compatibility. The API token is read from `token:` in `mkdocs.yml`, then `CONFLUENCE_API_TOKEN`, then `MK2CONF_TOKEN`.
|
|
175
178
|
|
|
176
179
|
### Changelog / What's New page
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/compiler/page.py
RENAMED
|
@@ -79,7 +79,7 @@ def compile_page(
|
|
|
79
79
|
preprocessed = strip_link_defs(preprocessed)
|
|
80
80
|
ir_nodes = parse(preprocessed)
|
|
81
81
|
ir_nodes = strip_links_in_admonition_titles(ir_nodes, node.docs_path or "")
|
|
82
|
-
if is_section_index:
|
|
82
|
+
if is_section_index and (config.confluence is None or config.confluence.children_macro):
|
|
83
83
|
ir_nodes = ir_nodes + (ChildrenMacro(),)
|
|
84
84
|
# Parse definitions as inline markdown so links etc. survive into the glossary.
|
|
85
85
|
parsed_abbrevs = {abbr: parse_inline(defn) for abbr, defn in abbrevs.items()}
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/loader/config.py
RENAMED
|
@@ -37,6 +37,7 @@ class ConfluenceConfig:
|
|
|
37
37
|
changelog_file: str | None = None # path relative to docs_dir; None means disabled
|
|
38
38
|
exclude_properties: tuple[str, ...] = () # front matter keys to omit from Page Properties table
|
|
39
39
|
attachment_preview: bool = False # render PDF/Office attachment links as view-file macros
|
|
40
|
+
children_macro: bool = True # append Children Display macro to section index pages
|
|
40
41
|
|
|
41
42
|
|
|
42
43
|
@dataclass(frozen=True)
|
|
@@ -300,6 +301,15 @@ def load_config(mkdocs_yml: Path) -> MkDocsConfig:
|
|
|
300
301
|
)
|
|
301
302
|
attachment_preview = raw_preview
|
|
302
303
|
|
|
304
|
+
# children_macro (optional) — child page list on section index pages
|
|
305
|
+
raw_children = raw_conf.get("children_macro", True)
|
|
306
|
+
if not isinstance(raw_children, bool):
|
|
307
|
+
raise ConfigError(
|
|
308
|
+
"mkdocs.yml: 'confluence.children_macro' must be a boolean, "
|
|
309
|
+
f"got {type(raw_children).__name__}."
|
|
310
|
+
)
|
|
311
|
+
children_macro = raw_children
|
|
312
|
+
|
|
303
313
|
confluence = ConfluenceConfig(
|
|
304
314
|
base_url=base_url.rstrip("/"),
|
|
305
315
|
space_key=space_key,
|
|
@@ -317,6 +327,7 @@ def load_config(mkdocs_yml: Path) -> MkDocsConfig:
|
|
|
317
327
|
changelog_file=changelog_file,
|
|
318
328
|
exclude_properties=exclude_properties,
|
|
319
329
|
attachment_preview=attachment_preview,
|
|
330
|
+
children_macro=children_macro,
|
|
320
331
|
)
|
|
321
332
|
|
|
322
333
|
# --- extra_css (optional) ---
|
|
@@ -92,9 +92,89 @@ def test_compile_page_children_macro_before_footer(tmp_path: Path) -> None:
|
|
|
92
92
|
assert children_pos < panel_pos
|
|
93
93
|
|
|
94
94
|
|
|
95
|
+
# ── children_macro config flag ────────────────────────────────────────────────
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def test_children_macro_disabled_omits_macro(tmp_path: Path) -> None:
|
|
99
|
+
"""confluence.children_macro=false must suppress the macro on section indexes."""
|
|
100
|
+
xhtml = _compile_index(tmp_path, children_macro=False)
|
|
101
|
+
|
|
102
|
+
assert 'ac:name="children"' not in xhtml
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def test_children_macro_enabled_by_default(tmp_path: Path) -> None:
|
|
106
|
+
"""A confluence block without children_macro must keep the macro."""
|
|
107
|
+
xhtml = _compile_index(tmp_path, children_macro=True)
|
|
108
|
+
|
|
109
|
+
assert 'ac:name="children"' in xhtml
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
def test_children_macro_config_default_true(tmp_path: Path) -> None:
|
|
113
|
+
from mkdocs_to_confluence.loader.config import load_config
|
|
114
|
+
|
|
115
|
+
cfg = load_config(_write_mkdocs(tmp_path, _CONF))
|
|
116
|
+
assert cfg.confluence.children_macro is True
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def test_children_macro_config_false(tmp_path: Path) -> None:
|
|
120
|
+
from mkdocs_to_confluence.loader.config import load_config
|
|
121
|
+
|
|
122
|
+
cfg = load_config(_write_mkdocs(tmp_path, _CONF + " children_macro: false\n"))
|
|
123
|
+
assert cfg.confluence.children_macro is False
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def test_children_macro_config_non_bool_raises(tmp_path: Path) -> None:
|
|
127
|
+
import pytest
|
|
128
|
+
|
|
129
|
+
from mkdocs_to_confluence.loader.config import ConfigError, load_config
|
|
130
|
+
|
|
131
|
+
with pytest.raises(ConfigError, match="children_macro"):
|
|
132
|
+
load_config(_write_mkdocs(tmp_path, _CONF + " children_macro: maybe\n"))
|
|
133
|
+
|
|
134
|
+
|
|
95
135
|
# ── Helpers ───────────────────────────────────────────────────────────────────
|
|
96
136
|
|
|
97
137
|
|
|
138
|
+
_CONF = (
|
|
139
|
+
"confluence:\n"
|
|
140
|
+
" base_url: https://x.atlassian.net/wiki\n"
|
|
141
|
+
" email: a@b.test\n"
|
|
142
|
+
" space_key: TECH\n"
|
|
143
|
+
)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def _write_mkdocs(tmp_path: Path, extra: str = "") -> Path:
|
|
147
|
+
(tmp_path / "docs").mkdir()
|
|
148
|
+
(tmp_path / "mkdocs.yml").write_text(f"site_name: Test Site\n{extra}", encoding="utf-8")
|
|
149
|
+
return tmp_path / "mkdocs.yml"
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def _compile_index(tmp_path: Path, *, children_macro: bool) -> str:
|
|
153
|
+
"""Compile a section index page with a confluence block set to *children_macro*."""
|
|
154
|
+
from mkdocs_to_confluence.loader.config import ConfluenceConfig, MkDocsConfig
|
|
155
|
+
|
|
156
|
+
docs = tmp_path / "docs"
|
|
157
|
+
docs.mkdir()
|
|
158
|
+
md = docs / "index.md"
|
|
159
|
+
md.write_text("# Section\n\nIntro.\n", encoding="utf-8")
|
|
160
|
+
|
|
161
|
+
config = MkDocsConfig(
|
|
162
|
+
site_name="Test",
|
|
163
|
+
docs_dir=docs,
|
|
164
|
+
repo_url=None,
|
|
165
|
+
edit_uri=None,
|
|
166
|
+
nav=None,
|
|
167
|
+
confluence=ConfluenceConfig(
|
|
168
|
+
base_url="https://x.atlassian.net/wiki",
|
|
169
|
+
email="a@b.test",
|
|
170
|
+
token="",
|
|
171
|
+
space_key="TECH",
|
|
172
|
+
children_macro=children_macro,
|
|
173
|
+
),
|
|
174
|
+
)
|
|
175
|
+
return compile_page(_page_node("Section", md), config, is_section_index=True).xhtml
|
|
176
|
+
|
|
177
|
+
|
|
98
178
|
def _page_node(title: str, path: Path) -> object:
|
|
99
179
|
from mkdocs_to_confluence.loader.nav import NavNode
|
|
100
180
|
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs2confluence.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs2confluence.egg-info/requires.txt
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs2confluence.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/compiler/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/compiler/models.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/emitter/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/emitter/xhtml.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/ir/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/ir/treeutil.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/loader/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/loader/extra_css.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/loader/nav.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/loader/page.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/parser/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/parser/markdown.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/pdf/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/pdf/generator.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/pdf/render.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/abbrevs.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/fence.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preprocess/icons.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preview/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preview/render.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/preview/server.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/client.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/executor.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/models.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/publisher/planner.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/skill_installer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/anchoring.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/command.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/comments.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/github.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/platform.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/sync/state.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/_kroki.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/abbrevs.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/assets.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/footer.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/images.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/src/mkdocs_to_confluence/transforms/mermaid.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.17.4 → mkdocs2confluence-0.18.0}/tests/test_exclude_properties_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|