mkdocs2confluence 0.7.34__tar.gz → 0.7.36__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.7.34 → mkdocs2confluence-0.7.36}/PKG-INFO +1 -1
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/pyproject.toml +1 -1
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs2confluence.egg-info/PKG-INFO +1 -1
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/publisher/pipeline.py +8 -2
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_publish_client.py +4 -2
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_publish_pipeline.py +24 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/LICENSE +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/README.md +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/setup.cfg +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs2confluence.egg-info/SOURCES.txt +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs2confluence.egg-info/dependency_links.txt +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs2confluence.egg-info/entry_points.txt +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs2confluence.egg-info/requires.txt +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs2confluence.egg-info/top_level.txt +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/__init__.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/cli.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/emitter/__init__.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/emitter/xhtml.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/ir/__init__.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/ir/document.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/ir/nodes.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/ir/treeutil.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/loader/__init__.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/loader/config.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/loader/extra_css.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/loader/nav.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/loader/page.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/parser/__init__.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/parser/markdown.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/pdf/__init__.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/pdf/generator.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/pdf/render.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preprocess/__init__.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preprocess/abbrevs.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preprocess/fence.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preprocess/frontmatter.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preprocess/icons.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preprocess/includes.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preprocess/linkdefs.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preview/__init__.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preview/render.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preview/server.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/publisher/__init__.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/publisher/client.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/transforms/__init__.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/transforms/abbrevs.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/transforms/assets.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/transforms/editlink.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/transforms/images.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/transforms/internallinks.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/transforms/mermaid.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_abbrevs.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_cli.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_editlink.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_emitter.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_extra_css.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_frontmatter.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_icons.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_images.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_internallinks.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_ir.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_linkdefs.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_loader.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_mermaid.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_page_loader.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_parser.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_pdf.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_preprocess.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_preview.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_publish_config.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_server.py +0 -0
- {mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/tests/test_treeutil.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mkdocs2confluence"
|
|
3
|
-
version = "0.7.
|
|
3
|
+
version = "0.7.36"
|
|
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.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/publisher/pipeline.py
RENAMED
|
@@ -647,7 +647,7 @@ def _post_process_action(
|
|
|
647
647
|
except Exception:
|
|
648
648
|
pass # non-fatal
|
|
649
649
|
|
|
650
|
-
# Set full-width layout on
|
|
650
|
+
# Set full-width layout on created/updated pages (not folders).
|
|
651
651
|
if full_width and action.page_id and not action.is_folder:
|
|
652
652
|
try:
|
|
653
653
|
client.set_page_full_width(action.page_id)
|
|
@@ -729,7 +729,13 @@ def execute_publish(
|
|
|
729
729
|
for action in plan:
|
|
730
730
|
if action.action == "skip":
|
|
731
731
|
report.skipped += 1
|
|
732
|
-
# Still apply status even for unchanged pages
|
|
732
|
+
# Still apply full-width and status even for unchanged pages so that
|
|
733
|
+
# Confluence appearance resets (e.g. after manual edits) are corrected.
|
|
734
|
+
if full_width and action.page_id and not action.is_folder:
|
|
735
|
+
try:
|
|
736
|
+
client.set_page_full_width(action.page_id)
|
|
737
|
+
except Exception as exc:
|
|
738
|
+
print(f" [warn] could not set full-width on page {action.page_id!r}: {exc}")
|
|
733
739
|
if action.page_id and action.confluence_status and not action.is_folder:
|
|
734
740
|
try:
|
|
735
741
|
print(
|
|
@@ -192,7 +192,7 @@ def test_set_page_status_sends_put() -> None:
|
|
|
192
192
|
|
|
193
193
|
|
|
194
194
|
def test_set_page_status_uses_space_state_when_matched() -> None:
|
|
195
|
-
"""set_page_status sends {id, name, color}
|
|
195
|
+
"""set_page_status sends {id, name, color} and ?status=current query param."""
|
|
196
196
|
space_states = [{"id": 1, "name": "In Progress", "color": "#2684ff"}]
|
|
197
197
|
available_resp = httpx.Response(200, json={"spaceContentStates": space_states, "customContentStates": []})
|
|
198
198
|
put_resp = httpx.Response(200, json={})
|
|
@@ -202,8 +202,10 @@ def test_set_page_status_uses_space_state_when_matched() -> None:
|
|
|
202
202
|
client._client = httpx.Client(transport=transport) # type: ignore[assignment]
|
|
203
203
|
client.set_page_status("42", "in-progress")
|
|
204
204
|
import json
|
|
205
|
-
|
|
205
|
+
put_req = transport.requests[1]
|
|
206
|
+
body = json.loads(put_req.content)
|
|
206
207
|
assert body == {"id": 1, "name": "In Progress", "color": "#2684ff"}
|
|
208
|
+
assert "status=current" in str(put_req.url)
|
|
207
209
|
|
|
208
210
|
|
|
209
211
|
def test_set_page_status_caches_space_states() -> None:
|
|
@@ -1964,6 +1964,30 @@ def test_compile_page_returns_confluence_status(tmp_path: Path) -> None:
|
|
|
1964
1964
|
assert confluence_status == "in-progress"
|
|
1965
1965
|
|
|
1966
1966
|
|
|
1967
|
+
def test_compile_page_returns_confluence_status_with_repo_url(tmp_path: Path) -> None:
|
|
1968
|
+
"""confluence_status must survive attach_source_url when repo_url is set (regression).
|
|
1969
|
+
|
|
1970
|
+
When repo_url is configured, attach_source_url reconstructs the FrontMatter node.
|
|
1971
|
+
This test ensures confluence_status is not silently dropped in that path.
|
|
1972
|
+
"""
|
|
1973
|
+
docs = tmp_path / "docs"
|
|
1974
|
+
docs.mkdir()
|
|
1975
|
+
md = docs / "page.md"
|
|
1976
|
+
md.write_text("---\nstatus: in-progress\n---\n\n# My Page\n\nContent.\n", encoding="utf-8")
|
|
1977
|
+
|
|
1978
|
+
node = _page_node("My Page", md)
|
|
1979
|
+
config = MkDocsConfig(
|
|
1980
|
+
site_name="Test",
|
|
1981
|
+
docs_dir=docs,
|
|
1982
|
+
repo_url="https://github.com/org/repo",
|
|
1983
|
+
edit_uri="edit/main/docs/",
|
|
1984
|
+
nav=None,
|
|
1985
|
+
)
|
|
1986
|
+
_, _, _, confluence_status = compile_page(node, config)
|
|
1987
|
+
|
|
1988
|
+
assert confluence_status == "in-progress"
|
|
1989
|
+
|
|
1990
|
+
|
|
1967
1991
|
def test_plan_publish_sets_confluence_status_on_create(tmp_path: Path) -> None:
|
|
1968
1992
|
"""plan_publish must carry confluence_status into a create PageAction."""
|
|
1969
1993
|
docs = tmp_path / "docs"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs2confluence.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs2confluence.egg-info/requires.txt
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs2confluence.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/emitter/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/emitter/xhtml.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/ir/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/ir/document.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/ir/treeutil.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/loader/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/loader/config.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/loader/extra_css.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/loader/nav.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/loader/page.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/parser/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/parser/markdown.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/pdf/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/pdf/generator.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/pdf/render.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preprocess/abbrevs.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preprocess/fence.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preprocess/icons.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preview/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preview/render.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/preview/server.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/publisher/__init__.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/publisher/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/transforms/abbrevs.py
RENAMED
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/transforms/assets.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/src/mkdocs_to_confluence/transforms/images.py
RENAMED
|
File without changes
|
|
File without changes
|
{mkdocs2confluence-0.7.34 → mkdocs2confluence-0.7.36}/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
|
|
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
|