MDit 0.0.0.dev53__tar.gz → 0.0.0.dev55__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.
- {mdit-0.0.0.dev53/src/MDit.egg-info → mdit-0.0.0.dev55}/PKG-INFO +4 -4
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/pyproject.toml +4 -4
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55/src/MDit.egg-info}/PKG-INFO +4 -4
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/MDit.egg-info/requires.txt +3 -3
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/element.py +18 -5
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/generate.py +0 -1
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/MANIFEST.in +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/README.md +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/setup.cfg +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/MDit.egg-info/SOURCES.txt +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/MDit.egg-info/dependency_links.txt +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/MDit.egg-info/not-zip-safe +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/MDit.egg-info/top_level.txt +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/__init__.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/container.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/__init__.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/file.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema/document.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema/element/badge.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/badge/dynamic.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/create-badges.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/coc_covenant.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/heading.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/highlights.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/line.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/newline.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/paragraph.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/paragraph_style.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/spacer.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/badge/params.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/badges.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/image.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/html/attr/align.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/html/attr/size.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/html/attrs.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/html-document.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/pepy/badge-params.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/shields/badge-params.yaml +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/template/code_of_conduct/contributor_covenant.md +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/display.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/document.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/parse.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/protocol.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/render.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/renderable.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/target/__init__.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/target/md.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/target/rich.py +0 -0
- {mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/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.
|
|
3
|
+
Version: 0.0.0.dev55
|
|
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.
|
|
27
|
-
Requires-Dist: PyBadger==0.0.0.
|
|
26
|
+
Requires-Dist: PySerials==0.0.0.dev58
|
|
27
|
+
Requires-Dist: PyBadger==0.0.0.dev52
|
|
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.
|
|
31
|
+
Requires-Dist: JSONSchemata==0.0.0.dev54
|
|
@@ -17,7 +17,7 @@ namespaces = true
|
|
|
17
17
|
# ----------------------------------------- Project Metadata -------------------------------------
|
|
18
18
|
#
|
|
19
19
|
[project]
|
|
20
|
-
version = "0.0.0.
|
|
20
|
+
version = "0.0.0.dev55"
|
|
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.
|
|
46
|
-
"PyBadger == 0.0.0.
|
|
45
|
+
"PySerials == 0.0.0.dev58",
|
|
46
|
+
"PyBadger == 0.0.0.dev52",
|
|
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.
|
|
50
|
+
"JSONSchemata == 0.0.0.dev54",
|
|
51
51
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MDit
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev55
|
|
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.
|
|
27
|
-
Requires-Dist: PyBadger==0.0.0.
|
|
26
|
+
Requires-Dist: PySerials==0.0.0.dev58
|
|
27
|
+
Requires-Dist: PyBadger==0.0.0.dev52
|
|
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.
|
|
31
|
+
Requires-Dist: JSONSchemata==0.0.0.dev54
|
|
@@ -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.
|
|
23
|
-
PyBadger==0.0.0.
|
|
22
|
+
PySerials==0.0.0.dev58
|
|
23
|
+
PyBadger==0.0.0.dev52
|
|
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.
|
|
27
|
+
JSONSchemata==0.0.0.dev54
|
|
@@ -5,6 +5,7 @@ from types import FunctionType as _FunctionType
|
|
|
5
5
|
from contextlib import contextmanager as _contextmanager
|
|
6
6
|
import re as _re
|
|
7
7
|
import copy as _copy
|
|
8
|
+
import html as _html
|
|
8
9
|
|
|
9
10
|
import htmp as _htmp
|
|
10
11
|
import pyserials as _ps
|
|
@@ -68,6 +69,17 @@ class Element(_Renderable):
|
|
|
68
69
|
container_func = getattr(_htmp.element, str(container))
|
|
69
70
|
return container_func(_htmp.elementor.markdown(content), attrs_container).source(indent=-1)
|
|
70
71
|
|
|
72
|
+
@staticmethod
|
|
73
|
+
def _escape(content: Stringable):
|
|
74
|
+
"""Escape all ASCII punctuation characters in a Markdown string.
|
|
75
|
+
|
|
76
|
+
References
|
|
77
|
+
----------
|
|
78
|
+
- [GFM Documentation](https://github.github.com/gfm/#backslash-escapes)
|
|
79
|
+
"""
|
|
80
|
+
ascii_punctuation = r'!"#$%&\'()*+,\-./:;<=>?@[\\]^_`{|}~'
|
|
81
|
+
return _re.sub(f'([{_re.escape(ascii_punctuation)}])', r'\\\1', str(content))
|
|
82
|
+
|
|
71
83
|
|
|
72
84
|
class Admonition(Element):
|
|
73
85
|
|
|
@@ -1180,7 +1192,8 @@ class InlineImage(Element):
|
|
|
1180
1192
|
|
|
1181
1193
|
def _source_md(self, target: MDTargetConfig, filters: str | list[str] | None = None) -> str:
|
|
1182
1194
|
if target.prefer_md:
|
|
1183
|
-
|
|
1195
|
+
alt = self._escape(self.alt or "")
|
|
1196
|
+
image = f""
|
|
1184
1197
|
if (self.height or self.width or self.align or self.classes or self.name) and target.attrs_inline:
|
|
1185
1198
|
image = attribute(
|
|
1186
1199
|
content=image,
|
|
@@ -1192,7 +1205,7 @@ class InlineImage(Element):
|
|
|
1192
1205
|
target_default=self.target_default,
|
|
1193
1206
|
).source(target=target, filters=filters)
|
|
1194
1207
|
if self.link:
|
|
1195
|
-
image=f"[{image}]({self.link})"
|
|
1208
|
+
image=f"[{image}]({self.link}{f' "{self._escape(self.title)}"' if self.title else ""})"
|
|
1196
1209
|
else:
|
|
1197
1210
|
img_attrs = {
|
|
1198
1211
|
"src": self.src,
|
|
@@ -2127,8 +2140,8 @@ def badge(
|
|
|
2127
2140
|
image = inline_image(
|
|
2128
2141
|
src=bdg.url(light=True),
|
|
2129
2142
|
src_dark=bdg.url(light=False) if params_dark else None,
|
|
2130
|
-
title=title
|
|
2131
|
-
alt=alt
|
|
2143
|
+
title=title if title is not None else bdg.attrs_img.get("title"),
|
|
2144
|
+
alt=alt if alt is not None else bdg.attrs_img.get("alt"),
|
|
2132
2145
|
height=height,
|
|
2133
2146
|
width=width,
|
|
2134
2147
|
align=align,
|
|
@@ -2850,7 +2863,7 @@ def html(
|
|
|
2850
2863
|
target_configs: TargetConfigs = None,
|
|
2851
2864
|
target_default: str = "sphinx",
|
|
2852
2865
|
):
|
|
2853
|
-
content = _mdit.
|
|
2866
|
+
content = _mdit.to_md_container(
|
|
2854
2867
|
content,
|
|
2855
2868
|
content_separator=content_separator,
|
|
2856
2869
|
target_configs=target_configs,
|
|
@@ -62,7 +62,6 @@ class DocumentGenerator:
|
|
|
62
62
|
generator = self._get_elem_generator(_mdit.template, template_name, "template")
|
|
63
63
|
return generator(**config)
|
|
64
64
|
|
|
65
|
-
|
|
66
65
|
def generate_container(self, container: str | list[str | dict | list[str | dict]]):
|
|
67
66
|
if isinstance(container, str):
|
|
68
67
|
return container
|
|
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
|
{mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/coc_covenant.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/highlights.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/paragraph.yaml
RENAMED
|
File without changes
|
{mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/schema_/element/_to_review/paragraph_style.yaml
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
|
{mdit-0.0.0.dev53 → mdit-0.0.0.dev55}/src/mdit/data/template/code_of_conduct/contributor_covenant.md
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
|