mkdocs2confluence 0.7.5__tar.gz → 0.7.7__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 (72) hide show
  1. {mkdocs2confluence-0.7.5/src/mkdocs2confluence.egg-info → mkdocs2confluence-0.7.7}/PKG-INFO +8 -5
  2. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/README.md +7 -4
  3. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/pyproject.toml +1 -1
  4. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7/src/mkdocs2confluence.egg-info}/PKG-INFO +8 -5
  5. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/parser/markdown.py +1 -1
  6. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_parser.py +10 -0
  7. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/LICENSE +0 -0
  8. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/setup.cfg +0 -0
  9. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs2confluence.egg-info/SOURCES.txt +0 -0
  10. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs2confluence.egg-info/dependency_links.txt +0 -0
  11. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs2confluence.egg-info/entry_points.txt +0 -0
  12. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs2confluence.egg-info/requires.txt +0 -0
  13. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs2confluence.egg-info/top_level.txt +0 -0
  14. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/__init__.py +0 -0
  15. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/cli.py +0 -0
  16. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/emitter/__init__.py +0 -0
  17. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/emitter/xhtml.py +0 -0
  18. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/ir/__init__.py +0 -0
  19. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/ir/document.py +0 -0
  20. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/ir/nodes.py +0 -0
  21. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/ir/treeutil.py +0 -0
  22. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/loader/__init__.py +0 -0
  23. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/loader/config.py +0 -0
  24. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/loader/extra_css.py +0 -0
  25. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/loader/nav.py +0 -0
  26. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/loader/page.py +0 -0
  27. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/parser/__init__.py +0 -0
  28. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/pdf/__init__.py +0 -0
  29. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/pdf/generator.py +0 -0
  30. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/pdf/render.py +0 -0
  31. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/preprocess/__init__.py +0 -0
  32. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/preprocess/abbrevs.py +0 -0
  33. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/preprocess/fence.py +0 -0
  34. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/preprocess/frontmatter.py +0 -0
  35. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/preprocess/icons.py +0 -0
  36. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/preprocess/includes.py +0 -0
  37. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/preprocess/linkdefs.py +0 -0
  38. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/preview/__init__.py +0 -0
  39. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/preview/render.py +0 -0
  40. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/preview/server.py +0 -0
  41. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/publisher/__init__.py +0 -0
  42. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/publisher/client.py +0 -0
  43. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/publisher/pipeline.py +0 -0
  44. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/transforms/__init__.py +0 -0
  45. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/transforms/abbrevs.py +0 -0
  46. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/transforms/assets.py +0 -0
  47. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/transforms/editlink.py +0 -0
  48. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/transforms/images.py +0 -0
  49. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/transforms/internallinks.py +0 -0
  50. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/src/mkdocs_to_confluence/transforms/mermaid.py +0 -0
  51. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_abbrevs.py +0 -0
  52. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_cli.py +0 -0
  53. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_editlink.py +0 -0
  54. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_emitter.py +0 -0
  55. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_extra_css.py +0 -0
  56. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_frontmatter.py +0 -0
  57. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_icons.py +0 -0
  58. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_images.py +0 -0
  59. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_internallinks.py +0 -0
  60. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_ir.py +0 -0
  61. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_linkdefs.py +0 -0
  62. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_loader.py +0 -0
  63. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_mermaid.py +0 -0
  64. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_page_loader.py +0 -0
  65. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_pdf.py +0 -0
  66. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_preprocess.py +0 -0
  67. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_preview.py +0 -0
  68. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_publish_client.py +0 -0
  69. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_publish_config.py +0 -0
  70. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_publish_pipeline.py +0 -0
  71. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_server.py +0 -0
  72. {mkdocs2confluence-0.7.5 → mkdocs2confluence-0.7.7}/tests/test_treeutil.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mkdocs2confluence
3
- Version: 0.7.5
3
+ Version: 0.7.7
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
@@ -74,10 +74,13 @@ To use the `mk2conf pdf` subcommand, install the optional PDF extra:
74
74
  pip install "mkdocs2confluence[pdf]"
75
75
  ```
76
76
 
77
- > **macOS only**: WeasyPrint requires Pango for font rendering:
78
- > ```bash
79
- > brew install pango
80
- > ```
77
+ WeasyPrint requires system libraries (Pango, Cairo) — install them for your platform:
78
+
79
+ | Platform | Command |
80
+ |---|---|
81
+ | macOS | `brew install pango` |
82
+ | Ubuntu / Debian | `apt install libpango-1.0-0 libpangoft2-1.0-0` |
83
+ | Windows 11 | `choco install gtk-runtime` — or download the [GTK3 runtime installer](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer) and add its `bin\` folder to your `PATH` |
81
84
 
82
85
  **From source** (see [Setup.md](Setup.md)):
83
86
 
@@ -34,10 +34,13 @@ To use the `mk2conf pdf` subcommand, install the optional PDF extra:
34
34
  pip install "mkdocs2confluence[pdf]"
35
35
  ```
36
36
 
37
- > **macOS only**: WeasyPrint requires Pango for font rendering:
38
- > ```bash
39
- > brew install pango
40
- > ```
37
+ WeasyPrint requires system libraries (Pango, Cairo) — install them for your platform:
38
+
39
+ | Platform | Command |
40
+ |---|---|
41
+ | macOS | `brew install pango` |
42
+ | Ubuntu / Debian | `apt install libpango-1.0-0 libpangoft2-1.0-0` |
43
+ | Windows 11 | `choco install gtk-runtime` — or download the [GTK3 runtime installer](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer) and add its `bin\` folder to your `PATH` |
41
44
 
42
45
  **From source** (see [Setup.md](Setup.md)):
43
46
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mkdocs2confluence"
3
- version = "0.7.5"
3
+ version = "0.7.7"
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" }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mkdocs2confluence
3
- Version: 0.7.5
3
+ Version: 0.7.7
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
@@ -74,10 +74,13 @@ To use the `mk2conf pdf` subcommand, install the optional PDF extra:
74
74
  pip install "mkdocs2confluence[pdf]"
75
75
  ```
76
76
 
77
- > **macOS only**: WeasyPrint requires Pango for font rendering:
78
- > ```bash
79
- > brew install pango
80
- > ```
77
+ WeasyPrint requires system libraries (Pango, Cairo) — install them for your platform:
78
+
79
+ | Platform | Command |
80
+ |---|---|
81
+ | macOS | `brew install pango` |
82
+ | Ubuntu / Debian | `apt install libpango-1.0-0 libpangoft2-1.0-0` |
83
+ | Windows 11 | `choco install gtk-runtime` — or download the [GTK3 runtime installer](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer) and add its `bin\` folder to your `PATH` |
81
84
 
82
85
  **From source** (see [Setup.md](Setup.md)):
83
86
 
@@ -236,7 +236,7 @@ _FENCE_OPEN_RE = re.compile(r"^(?P<fence>`{3,}|~{3,})(?P<info>.*)$")
236
236
 
237
237
  # Matches an admonition opener: !!! kind / !!! kind "title" / ??? kind / ???+ kind
238
238
  _ADMONITION_RE = re.compile(
239
- r'^(?P<marker>!{3}|\?{3}\+?)\s+(?P<kind>\w+)(?:\s+["\'](?P<title>[^"\']*)["\'])?$'
239
+ r"""^(?P<marker>!{3}|\?{3}\+?)\s+(?P<kind>\w+)(?:\s+(?P<q>["'])(?P<title>.*?)(?P=q))?$"""
240
240
  )
241
241
 
242
242
  # Matches a Material for MkDocs content tab opener: === "Label"
@@ -490,6 +490,16 @@ class TestAdmonitions:
490
490
  assert isinstance(adm, Admonition)
491
491
  assert adm.title == "Pro tip"
492
492
 
493
+ def test_title_with_single_quotes_inside_double_quoted(self) -> None:
494
+ adm = first(parse("???+ note \"What 'best effort' means (C4)\"\n Body.\n"), Admonition)
495
+ assert isinstance(adm, Admonition)
496
+ assert adm.title == "What 'best effort' means (C4)"
497
+
498
+ def test_title_with_double_quotes_inside_single_quoted(self) -> None:
499
+ adm = first(parse("!!! note 'title with \"double\" quotes'\n Body.\n"), Admonition)
500
+ assert isinstance(adm, Admonition)
501
+ assert adm.title == 'title with "double" quotes'
502
+
493
503
  def test_bang_not_collapsible(self) -> None:
494
504
  adm = first(parse("!!! note\n Body.\n"), Admonition)
495
505
  assert isinstance(adm, Admonition)