MDit 0.0.0.dev50__tar.gz → 0.0.0.dev52__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.dev50/src/MDit.egg-info → mdit-0.0.0.dev52}/PKG-INFO +4 -4
  2. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/pyproject.toml +4 -4
  3. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52/src/MDit.egg-info}/PKG-INFO +4 -4
  4. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/MDit.egg-info/requires.txt +3 -3
  5. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/container.py +1 -1
  6. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/document.py +28 -11
  7. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/element.py +1 -1
  8. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/MANIFEST.in +0 -0
  9. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/README.md +0 -0
  10. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/setup.cfg +0 -0
  11. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/MDit.egg-info/SOURCES.txt +0 -0
  12. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/MDit.egg-info/dependency_links.txt +0 -0
  13. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/MDit.egg-info/not-zip-safe +0 -0
  14. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/MDit.egg-info/top_level.txt +0 -0
  15. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/__init__.py +0 -0
  16. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/__init__.py +0 -0
  17. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/file.py +0 -0
  18. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema/document.yaml +0 -0
  19. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema/element/badge.yaml +0 -0
  20. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema.py +0 -0
  21. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/badge/dynamic.yaml +0 -0
  22. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/create-badges.yaml +0 -0
  23. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/_to_review/coc_covenant.yaml +0 -0
  24. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/_to_review/heading.yaml +0 -0
  25. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/_to_review/highlights.yaml +0 -0
  26. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/_to_review/line.yaml +0 -0
  27. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/_to_review/newline.yaml +0 -0
  28. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/_to_review/paragraph.yaml +0 -0
  29. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/_to_review/paragraph_style.yaml +0 -0
  30. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/_to_review/spacer.yaml +0 -0
  31. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/badge/params.yaml +0 -0
  32. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/badges.yaml +0 -0
  33. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/element/image.yaml +0 -0
  34. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/html/attr/align.yaml +0 -0
  35. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/html/attr/size.yaml +0 -0
  36. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/html/attrs.yaml +0 -0
  37. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/html-document.yaml +0 -0
  38. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/pepy/badge-params.yaml +0 -0
  39. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/schema_/shields/badge-params.yaml +0 -0
  40. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/data/template/code_of_conduct/contributor_covenant.md +0 -0
  41. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/display.py +0 -0
  42. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/generate.py +0 -0
  43. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/parse.py +0 -0
  44. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/protocol.py +0 -0
  45. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/render.py +0 -0
  46. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/renderable.py +0 -0
  47. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/target/__init__.py +0 -0
  48. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/target/md.py +0 -0
  49. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/src/mdit/target/rich.py +0 -0
  50. {mdit-0.0.0.dev50 → mdit-0.0.0.dev52}/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.dev50
3
+ Version: 0.0.0.dev52
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.dev5
26
- Requires-Dist: PySerials==0.0.0.dev53
27
- Requires-Dist: PyBadger==0.0.0.dev47
26
+ Requires-Dist: PySerials==0.0.0.dev55
27
+ Requires-Dist: PyBadger==0.0.0.dev49
28
28
  Requires-Dist: PyColorIT==0.0.0.dev8
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.dev49
31
+ Requires-Dist: JSONSchemata==0.0.0.dev51
@@ -17,7 +17,7 @@ namespaces = true
17
17
  # ----------------------------------------- Project Metadata -------------------------------------
18
18
  #
19
19
  [project]
20
- version = "0.0.0.dev50"
20
+ version = "0.0.0.dev52"
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.dev5",
45
- "PySerials == 0.0.0.dev53",
46
- "PyBadger == 0.0.0.dev47",
45
+ "PySerials == 0.0.0.dev55",
46
+ "PyBadger == 0.0.0.dev49",
47
47
  "PyColorIT == 0.0.0.dev8",
48
48
  "ProtocolMan == 0.0.0.dev2",
49
49
  "HTMP == 0.0.0.dev5",
50
- "JSONSchemata == 0.0.0.dev49",
50
+ "JSONSchemata == 0.0.0.dev51",
51
51
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MDit
3
- Version: 0.0.0.dev50
3
+ Version: 0.0.0.dev52
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.dev5
26
- Requires-Dist: PySerials==0.0.0.dev53
27
- Requires-Dist: PyBadger==0.0.0.dev47
26
+ Requires-Dist: PySerials==0.0.0.dev55
27
+ Requires-Dist: PyBadger==0.0.0.dev49
28
28
  Requires-Dist: PyColorIT==0.0.0.dev8
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.dev49
31
+ Requires-Dist: JSONSchemata==0.0.0.dev51
@@ -19,9 +19,9 @@ rich>=13.8
19
19
  pydantic>=2.9
20
20
  referencing>=0.35.1
21
21
  PkgData==0.0.0.dev5
22
- PySerials==0.0.0.dev53
23
- PyBadger==0.0.0.dev47
22
+ PySerials==0.0.0.dev55
23
+ PyBadger==0.0.0.dev49
24
24
  PyColorIT==0.0.0.dev8
25
25
  ProtocolMan==0.0.0.dev2
26
26
  HTMP==0.0.0.dev5
27
- JSONSchemata==0.0.0.dev49
27
+ JSONSchemata==0.0.0.dev51
@@ -41,7 +41,7 @@ class Container:
41
41
  if not key:
42
42
  key = max((key for key in self._data.keys() if isinstance(key, int)), default=-1) + 1
43
43
  if key in self._data:
44
- raise ValueError("Key already exists in content.")
44
+ raise ValueError(f"Key '{key}' already exists in content.")
45
45
  if not conditions:
46
46
  conditions = []
47
47
  elif isinstance(conditions, str):
@@ -67,7 +67,7 @@ class Document(_Renderable):
67
67
 
68
68
  def open_section(
69
69
  self,
70
- heading: Heading | MDContainer | ContainerContentInputType,
70
+ heading: Heading | MDContainer | ContainerContentInputType | None = None,
71
71
  key: str | int | None = None,
72
72
  conditions: list[str] | None = None,
73
73
  ):
@@ -100,6 +100,8 @@ class Document(_Renderable):
100
100
  heading_number: int | list[int] = 1,
101
101
  heading_number_explicit: bool = True,
102
102
  separate_sections: bool | None = None,
103
+ toctree_args: dict[str, str] | None = None,
104
+ toctree_dirhtml: bool = True,
103
105
  ) -> None:
104
106
  target = self._resolve_target(target)
105
107
  output = self.render(
@@ -108,6 +110,8 @@ class Document(_Renderable):
108
110
  heading_number=heading_number,
109
111
  heading_number_explicit=heading_number_explicit,
110
112
  separate_sections=separate_sections,
113
+ toctree_args=toctree_args,
114
+ toctree_dirhtml=toctree_dirhtml
111
115
  )
112
116
  if isinstance(target, _mdit.target.rich.Config):
113
117
  return _mdit.display.console(output)
@@ -120,6 +124,8 @@ class Document(_Renderable):
120
124
  heading_number: int | list[int] = 1,
121
125
  heading_number_explicit: bool = True,
122
126
  separate_sections: bool | None = None,
127
+ toctree_args: dict[str, str] | None = None,
128
+ toctree_dirhtml: bool = True,
123
129
  ) -> str | RenderableType:
124
130
  target = self._resolve_target(target)
125
131
  document = self.source(
@@ -128,6 +134,8 @@ class Document(_Renderable):
128
134
  heading_number=heading_number,
129
135
  heading_number_explicit=heading_number_explicit,
130
136
  separate_sections=separate_sections,
137
+ toctree_args=toctree_args,
138
+ toctree_dirhtml=toctree_dirhtml,
131
139
  )
132
140
  if isinstance(target, _mdit.target.rich.Config):
133
141
  return document
@@ -140,6 +148,8 @@ class Document(_Renderable):
140
148
  heading_number: int | Sequence[int] = 1,
141
149
  heading_number_explicit: bool = True,
142
150
  separate_sections: bool | None = None,
151
+ toctree_args: dict[str, str] | None = None,
152
+ toctree_dirhtml: bool = True,
143
153
  ) -> str | dict[str, str] | RenderableType:
144
154
  target = self._resolve_target(target)
145
155
  heading_number = list(heading_number) if isinstance(heading_number, Sequence) else [1] * heading_number
@@ -150,6 +160,8 @@ class Document(_Renderable):
150
160
  filters=filters,
151
161
  heading_number=heading_number,
152
162
  separate_sections=separate_sections,
163
+ toctree_args=toctree_args,
164
+ toctree_dirhtml=toctree_dirhtml,
153
165
  )
154
166
  return doc
155
167
  return self._str_md_single(
@@ -215,13 +227,14 @@ class Document(_Renderable):
215
227
  page.append(_mdit.element.toggle(page_content, title=heading).source(target=target))
216
228
  return "\n\n".join(page).strip()
217
229
 
218
-
219
230
  def _str_md_multi(
220
231
  self,
221
232
  target: MDTargetConfig,
222
233
  filters: str | list[str] | None,
223
234
  heading_number: list[int],
224
235
  separate_sections: bool | None,
236
+ toctree_args: dict[str, str] | None = None,
237
+ toctree_dirhtml: bool | None = None,
225
238
  ) -> dict[str, str]:
226
239
  heading_level = len(heading_number)
227
240
  document = {}
@@ -229,15 +242,17 @@ class Document(_Renderable):
229
242
  if self.heading:
230
243
  with self.heading.temp(level=heading_number, explicit_number=False):
231
244
  page.append(self.heading.source(target=target, filters=filters))
232
- separate_sections = (self.depth(target=target, filters=filters) > 6) or (
245
+ do_separate_sections = (self.depth(target=target, filters=filters) > 6) or (
233
246
  separate_sections if separate_sections is not None else self.separate_sections
234
247
  )
235
- if separate_sections:
248
+ dirhtml = toctree_dirhtml if toctree_dirhtml is not None else self.toctree_dirhtml
249
+ if do_separate_sections:
236
250
  toctree_children = [
237
- f"{key}/index" if self.toctree_dirhtml else key for key in self.section.keys()
251
+ f"{key}/index" if dirhtml else key for key in self.section.keys()
238
252
  ]
239
- toctree = _elem.toctree(*toctree_children, **self.toctree_args)
240
- page.append(toctree.source(target=target, filters=filters))
253
+ if toctree_children:
254
+ toctree = _elem.toctree(toctree_children, **(self.toctree_args | (toctree_args or {})))
255
+ page.append(toctree.source(target=target, filters=filters))
241
256
  content = self.body.source(target=target, filters=filters)
242
257
  if content:
243
258
  page.append(content)
@@ -246,15 +261,17 @@ class Document(_Renderable):
246
261
  subsections_str = section.source(
247
262
  target=target,
248
263
  filters=filters,
249
- heading_number=[1] if separate_sections else heading_number + [1],
250
- separate_sections=False if separate_sections is False else None,
264
+ heading_number=[1] if do_separate_sections else heading_number + [1],
265
+ separate_sections=separate_sections,
266
+ toctree_args=toctree_args,
267
+ toctree_dirhtml=toctree_dirhtml,
251
268
  )
252
- if not separate_sections:
269
+ if not do_separate_sections:
253
270
  page.append(subsections_str["index"])
254
271
  continue
255
272
  for sub_key, sub_section in subsections_str.items():
256
273
  if sub_key == "index":
257
- doc_key = f"{key}/index" if self.toctree_dirhtml else str(key)
274
+ doc_key = f"{key}/index" if dirhtml else str(key)
258
275
  document[doc_key] = sub_section
259
276
  else:
260
277
  document[f"{key}/{sub_key}"] = sub_section
@@ -1077,7 +1077,7 @@ class Heading(Element):
1077
1077
  if level > 6:
1078
1078
  return f"**{content}**"
1079
1079
  heading_str = f"{'#' * level} {content}"
1080
- if (self.classes or self.name) and target.attrs_block:
1080
+ if self.classes and target.attrs_block:
1081
1081
  return attribute(
1082
1082
  content=heading_str,
1083
1083
  block=True,
File without changes
File without changes
File without changes
File without changes