MDit 0.0.0.dev41__tar.gz → 0.0.0.dev43__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.dev41/src/MDit.egg-info → mdit-0.0.0.dev43}/PKG-INFO +4 -4
  2. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/pyproject.toml +4 -4
  3. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43/src/MDit.egg-info}/PKG-INFO +4 -4
  4. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/MDit.egg-info/requires.txt +3 -3
  5. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/element.py +17 -5
  6. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/generate.py +26 -1
  7. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/MANIFEST.in +0 -0
  8. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/README.md +0 -0
  9. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/setup.cfg +0 -0
  10. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/MDit.egg-info/SOURCES.txt +0 -0
  11. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/MDit.egg-info/dependency_links.txt +0 -0
  12. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/MDit.egg-info/not-zip-safe +0 -0
  13. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/MDit.egg-info/top_level.txt +0 -0
  14. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/__init__.py +0 -0
  15. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/container.py +0 -0
  16. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/__init__.py +0 -0
  17. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/file.py +0 -0
  18. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema/document.yaml +0 -0
  19. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema/element/badge.yaml +0 -0
  20. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema.py +0 -0
  21. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/badge/dynamic.yaml +0 -0
  22. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/create-badges.yaml +0 -0
  23. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/_to_review/coc_covenant.yaml +0 -0
  24. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/_to_review/heading.yaml +0 -0
  25. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/_to_review/highlights.yaml +0 -0
  26. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/_to_review/line.yaml +0 -0
  27. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/_to_review/newline.yaml +0 -0
  28. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/_to_review/paragraph.yaml +0 -0
  29. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/_to_review/paragraph_style.yaml +0 -0
  30. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/_to_review/spacer.yaml +0 -0
  31. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/badge/params.yaml +0 -0
  32. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/badges.yaml +0 -0
  33. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/element/image.yaml +0 -0
  34. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/html/attr/align.yaml +0 -0
  35. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/html/attr/size.yaml +0 -0
  36. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/html/attrs.yaml +0 -0
  37. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/html-document.yaml +0 -0
  38. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/pepy/badge-params.yaml +0 -0
  39. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/schema_/shields/badge-params.yaml +0 -0
  40. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/data/template/code_of_conduct/contributor_covenant.md +0 -0
  41. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/display.py +0 -0
  42. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/document.py +0 -0
  43. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/parse.py +0 -0
  44. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/protocol.py +0 -0
  45. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/render.py +0 -0
  46. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/renderable.py +0 -0
  47. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/target/__init__.py +0 -0
  48. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/target/md.py +0 -0
  49. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/src/mdit/target/rich.py +0 -0
  50. {mdit-0.0.0.dev41 → mdit-0.0.0.dev43}/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.dev41
3
+ Version: 0.0.0.dev43
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.dev44
27
- Requires-Dist: PyBadger==0.0.0.dev38
26
+ Requires-Dist: PySerials==0.0.0.dev46
27
+ Requires-Dist: PyBadger==0.0.0.dev40
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.dev40
31
+ Requires-Dist: JSONSchemata==0.0.0.dev42
@@ -17,7 +17,7 @@ namespaces = true
17
17
  # ----------------------------------------- Project Metadata -------------------------------------
18
18
  #
19
19
  [project]
20
- version = "0.0.0.dev41"
20
+ version = "0.0.0.dev43"
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.dev44",
46
- "PyBadger == 0.0.0.dev38",
45
+ "PySerials == 0.0.0.dev46",
46
+ "PyBadger == 0.0.0.dev40",
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.dev40",
50
+ "JSONSchemata == 0.0.0.dev42",
51
51
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MDit
3
- Version: 0.0.0.dev41
3
+ Version: 0.0.0.dev43
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.dev44
27
- Requires-Dist: PyBadger==0.0.0.dev38
26
+ Requires-Dist: PySerials==0.0.0.dev46
27
+ Requires-Dist: PyBadger==0.0.0.dev40
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.dev40
31
+ Requires-Dist: JSONSchemata==0.0.0.dev42
@@ -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.dev44
23
- PyBadger==0.0.0.dev38
22
+ PySerials==0.0.0.dev46
23
+ PyBadger==0.0.0.dev40
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.dev40
27
+ JSONSchemata==0.0.0.dev42
@@ -4,6 +4,7 @@ from typing import TYPE_CHECKING as _TYPE_CHECKING, Sequence as _Sequence
4
4
  from types import FunctionType as _FunctionType
5
5
  from contextlib import contextmanager as _contextmanager
6
6
  import re as _re
7
+ import copy as _copy
7
8
 
8
9
  import htmp as _htmp
9
10
  import pyserials as _ps
@@ -2168,7 +2169,7 @@ def badges(
2168
2169
  attrs_source_dark: dict | None = None,
2169
2170
  attrs_picture: dict | None = None,
2170
2171
  attrs_a: dict | None = None,
2171
- container: Stringable | None = "span",
2172
+ container: Stringable | None = "div",
2172
2173
  attrs_container: dict | None = None,
2173
2174
  container_conditions: str | list[str] | None = None,
2174
2175
  merge_params: bool = True,
@@ -2176,7 +2177,7 @@ def badges(
2176
2177
  target_configs: TargetConfigs = None,
2177
2178
  target_default: str = "sphinx",
2178
2179
  ) -> MDContainer:
2179
- default = locals()
2180
+ default = _copy.deepcopy(locals())
2180
2181
  for top_level_param in ("items", "separator", "container", "attrs_container", "container_conditions"):
2181
2182
  default.pop(top_level_param)
2182
2183
  gradient = _make_badge_gradients(inputs=default, count_items=len(items))
@@ -2189,7 +2190,10 @@ def badges(
2189
2190
  "message": badge_settings
2190
2191
  },
2191
2192
  }
2192
- badge_settings = default | badge_settings
2193
+ _ps.update.dict_from_addon(
2194
+ data=badge_settings,
2195
+ addon={k: v for k, v in default.items() if v is not None}
2196
+ )
2193
2197
  for theme in ("light", "dark"):
2194
2198
  # Set gradient colors if available
2195
2199
  for color in ("color", "label_color", "logo_color"):
@@ -3497,9 +3501,9 @@ def _make_badge_params(inputs: dict):
3497
3501
  ):
3498
3502
  param_light = inputs.get(param_name)
3499
3503
  param_dark = inputs.get(f"{param_name}_dark")
3500
- if param_light:
3504
+ if param_light is not None:
3501
3505
  params_light[param_name] = param_light
3502
- if param_dark:
3506
+ if param_dark is not None:
3503
3507
  params_dark[param_name] = param_dark
3504
3508
  return params_light, params_dark
3505
3509
 
@@ -3529,6 +3533,14 @@ def _make_badge_gradients(inputs: dict, count_items: int):
3529
3533
 
3530
3534
 
3531
3535
 
3536
+
3537
+
3538
+
3539
+
3540
+
3541
+
3542
+ #
3543
+ #
3532
3544
  # def continuous_integration(self, data):
3533
3545
  # def github(filename, **kwargs):
3534
3546
  # badge = self._github_badges.workflow_status(filename=filename, **kwargs)
@@ -63,7 +63,7 @@ class DocumentGenerator:
63
63
  return generator(**config)
64
64
 
65
65
 
66
- def generate_container(self, container: str | list[str | dict, list[str | dict]]):
66
+ def generate_container(self, container: str | list[str | dict | list[str | dict]]):
67
67
  if isinstance(container, str):
68
68
  return container
69
69
  elements = []
@@ -109,6 +109,8 @@ class DocumentGenerator:
109
109
  )
110
110
 
111
111
  def generate_md_element(self, elem_id: str, element: dict):
112
+ if elem_id == "table":
113
+ return self.elem_table(element)
112
114
  generator = self._get_elem_generator(_elem, elem_id, "MD")
113
115
  if elem_id in self.nested_keys:
114
116
  return self.elem_nested(generator, element, self.nested_keys[elem_id])
@@ -139,6 +141,29 @@ class DocumentGenerator:
139
141
  config = {}
140
142
  return _elem.heading(content, level=1, **config)
141
143
 
144
+ def elem_table(self, config: dict):
145
+ rows_out = []
146
+ for row in config["rows"]:
147
+ row_cells = []
148
+ if isinstance(row, tuple):
149
+ cells = row[0]
150
+ row_attrs = row[1]
151
+ else:
152
+ cells = row
153
+ row_attrs = None
154
+ for cell in cells:
155
+ if isinstance(cell, tuple):
156
+ cell_data = cell[0]
157
+ cell_attrs = cell[1]
158
+ else:
159
+ cell_data = cell
160
+ cell_attrs = None
161
+ cell_compiled = self.generate_container(cell_data)
162
+ row_cells.append(cell_compiled if not cell_attrs else (cell_compiled, cell_attrs))
163
+ rows_out.append(row_cells if not row_attrs else (row_cells, row_attrs))
164
+ config["rows"] = rows_out
165
+ return _elem.table(**config)
166
+
142
167
  @staticmethod
143
168
  def _get_elem_generator(module, elem_id, class_name):
144
169
  error_msg = f"Element '{elem_id}' is not a valid {class_name} element."
File without changes
File without changes
File without changes
File without changes