MDit 0.0.0.dev12__tar.gz → 0.0.0.dev13__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 (50) hide show
  1. {mdit-0.0.0.dev12/src/MDit.egg-info → mdit-0.0.0.dev13}/PKG-INFO +3 -3
  2. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/pyproject.toml +3 -3
  3. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13/src/MDit.egg-info}/PKG-INFO +3 -3
  4. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/MDit.egg-info/requires.txt +2 -2
  5. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/document.py +14 -7
  6. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/MANIFEST.in +0 -0
  7. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/README.md +0 -0
  8. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/setup.cfg +0 -0
  9. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/MDit.egg-info/SOURCES.txt +0 -0
  10. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/MDit.egg-info/dependency_links.txt +0 -0
  11. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/MDit.egg-info/not-zip-safe +0 -0
  12. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/MDit.egg-info/top_level.txt +0 -0
  13. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/__init__.py +0 -0
  14. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/container.py +0 -0
  15. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/__init__.py +0 -0
  16. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/file.py +0 -0
  17. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema/document.yaml +0 -0
  18. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema/element/badge.yaml +0 -0
  19. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema.py +0 -0
  20. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/badge/dynamic.yaml +0 -0
  21. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/create-badges.yaml +0 -0
  22. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/_to_review/coc_covenant.yaml +0 -0
  23. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/_to_review/heading.yaml +0 -0
  24. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/_to_review/highlights.yaml +0 -0
  25. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/_to_review/line.yaml +0 -0
  26. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/_to_review/newline.yaml +0 -0
  27. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/_to_review/paragraph.yaml +0 -0
  28. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/_to_review/paragraph_style.yaml +0 -0
  29. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/_to_review/spacer.yaml +0 -0
  30. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/badge/params.yaml +0 -0
  31. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/badges.yaml +0 -0
  32. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/element/image.yaml +0 -0
  33. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/html/attr/align.yaml +0 -0
  34. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/html/attr/size.yaml +0 -0
  35. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/html/attrs.yaml +0 -0
  36. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/html-document.yaml +0 -0
  37. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/pepy/badge-params.yaml +0 -0
  38. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/schema_/shields/badge-params.yaml +0 -0
  39. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/data/template/code_of_conduct/contributor_covenant.md +0 -0
  40. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/display.py +0 -0
  41. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/element.py +0 -0
  42. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/generate.py +0 -0
  43. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/parse.py +0 -0
  44. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/protocol.py +0 -0
  45. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/render.py +0 -0
  46. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/renderable.py +0 -0
  47. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/target/__init__.py +0 -0
  48. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/target/md.py +0 -0
  49. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/target/rich.py +0 -0
  50. {mdit-0.0.0.dev12 → mdit-0.0.0.dev13}/src/mdit/template.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MDit
3
- Version: 0.0.0.dev12
3
+ Version: 0.0.0.dev13
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: sphinx<8
6
6
  Requires-Dist: myst-nb<2,>1
@@ -23,9 +23,9 @@ Requires-Dist: rich>=13.8
23
23
  Requires-Dist: pydantic>=2.9
24
24
  Requires-Dist: referencing>=0.35.1
25
25
  Requires-Dist: PkgData==0.0.0.dev4
26
- Requires-Dist: PySerials==0.0.0.dev15
26
+ Requires-Dist: PySerials==0.0.0.dev16
27
27
  Requires-Dist: PyBadger==0.0.0.dev11
28
28
  Requires-Dist: PyColorIT==0.0.0.dev7
29
29
  Requires-Dist: ProtocolMan==0.0.0.dev2
30
30
  Requires-Dist: HTMP==0.0.0.dev5
31
- Requires-Dist: JSONSchemata==0.0.0.dev11
31
+ Requires-Dist: JSONSchemata==0.0.0.dev12
@@ -17,7 +17,7 @@ namespaces = true
17
17
  # ----------------------------------------- Project Metadata -------------------------------------
18
18
  #
19
19
  [project]
20
- version = "0.0.0.dev12"
20
+ version = "0.0.0.dev13"
21
21
  name = "MDit"
22
22
  requires-python = ">=3.10"
23
23
  dependencies = [
@@ -42,10 +42,10 @@ dependencies = [
42
42
  "pydantic >= 2.9",
43
43
  "referencing >= 0.35.1",
44
44
  "PkgData == 0.0.0.dev4",
45
- "PySerials == 0.0.0.dev15",
45
+ "PySerials == 0.0.0.dev16",
46
46
  "PyBadger == 0.0.0.dev11",
47
47
  "PyColorIT == 0.0.0.dev7",
48
48
  "ProtocolMan == 0.0.0.dev2",
49
49
  "HTMP == 0.0.0.dev5",
50
- "JSONSchemata == 0.0.0.dev11",
50
+ "JSONSchemata == 0.0.0.dev12",
51
51
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MDit
3
- Version: 0.0.0.dev12
3
+ Version: 0.0.0.dev13
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: sphinx<8
6
6
  Requires-Dist: myst-nb<2,>1
@@ -23,9 +23,9 @@ Requires-Dist: rich>=13.8
23
23
  Requires-Dist: pydantic>=2.9
24
24
  Requires-Dist: referencing>=0.35.1
25
25
  Requires-Dist: PkgData==0.0.0.dev4
26
- Requires-Dist: PySerials==0.0.0.dev15
26
+ Requires-Dist: PySerials==0.0.0.dev16
27
27
  Requires-Dist: PyBadger==0.0.0.dev11
28
28
  Requires-Dist: PyColorIT==0.0.0.dev7
29
29
  Requires-Dist: ProtocolMan==0.0.0.dev2
30
30
  Requires-Dist: HTMP==0.0.0.dev5
31
- Requires-Dist: JSONSchemata==0.0.0.dev11
31
+ Requires-Dist: JSONSchemata==0.0.0.dev12
@@ -19,9 +19,9 @@ rich>=13.8
19
19
  pydantic>=2.9
20
20
  referencing>=0.35.1
21
21
  PkgData==0.0.0.dev4
22
- PySerials==0.0.0.dev15
22
+ PySerials==0.0.0.dev16
23
23
  PyBadger==0.0.0.dev11
24
24
  PyColorIT==0.0.0.dev7
25
25
  ProtocolMan==0.0.0.dev2
26
26
  HTMP==0.0.0.dev5
27
- JSONSchemata==0.0.0.dev11
27
+ JSONSchemata==0.0.0.dev12
@@ -61,6 +61,10 @@ class Document(_Renderable):
61
61
  def current_section_key(self) -> tuple[str | int, ...]:
62
62
  return tuple(self._current_section_key)
63
63
 
64
+ @property
65
+ def current_section_level(self) -> int:
66
+ return len(self._current_section_key) + 1
67
+
64
68
  def open_section(
65
69
  self,
66
70
  heading: Heading | MDContainer | ContainerContentInputType,
@@ -73,13 +77,16 @@ class Document(_Renderable):
73
77
  self._current_section = new_section
74
78
  return
75
79
 
76
- def close_section(self):
77
- if not self._current_section_key:
78
- return
79
- self._current_section_key.pop()
80
- if not self._current_section_key:
81
- self._current_section = self
82
- return
80
+ def close_section(self, target_level: int | None = None):
81
+ curr_level = self.current_section_level
82
+ if not target_level:
83
+ target_level = curr_level - 1
84
+ if not (0 < target_level < curr_level):
85
+ raise ValueError(
86
+ f"Target level must be between 1 and the current section level ({curr_level}), "
87
+ f"but got {target_level}."
88
+ )
89
+ self._current_section_key = self._current_section_key[:target_level - 1]
83
90
  section = self
84
91
  for key in self._current_section_key:
85
92
  section = section.section[key].content
File without changes
File without changes
File without changes
File without changes