eidosui 0.2.0__py3-none-any.whl → 0.4.0__py3-none-any.whl
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.
- eidos/__init__.py +0 -2
- eidos/components/headers.py +45 -6
- eidos/components/navigation.py +78 -0
- eidos/css/styles.css +137 -44
- eidos/js/eidos.js +112 -0
- eidos/plugins/__init__.py +1 -0
- eidos/plugins/markdown/__init__.py +21 -0
- eidos/plugins/markdown/components.py +53 -0
- eidos/plugins/markdown/css/markdown.css +283 -0
- eidos/plugins/markdown/extensions/__init__.py +1 -0
- eidos/plugins/markdown/extensions/alerts.py +134 -0
- eidos/plugins/markdown/renderer.py +58 -0
- eidos/tags.py +162 -67
- eidos/utils.py +16 -7
- {eidosui-0.2.0.dist-info → eidosui-0.4.0.dist-info}/METADATA +8 -5
- eidosui-0.4.0.dist-info/RECORD +22 -0
- eidosui-0.2.0.dist-info/RECORD +0 -13
- {eidosui-0.2.0.dist-info → eidosui-0.4.0.dist-info}/WHEEL +0 -0
- {eidosui-0.2.0.dist-info → eidosui-0.4.0.dist-info}/licenses/LICENSE +0 -0
eidos/tags.py
CHANGED
@@ -1,99 +1,194 @@
|
|
1
|
-
from typing import Optional, Literal
|
1
|
+
from typing import Optional, Literal, Any, Union
|
2
2
|
import air
|
3
3
|
from . import styles
|
4
4
|
from .utils import stringify
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
# Define exports for this module
|
7
|
+
__all__ = [
|
8
|
+
# Custom EidosUI components
|
9
|
+
'Button', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'Body',
|
10
|
+
# Semantic components with styling
|
11
|
+
'Strong', 'I', 'Small', 'Del', 'Abbr', 'Var', 'Mark', 'Time',
|
12
|
+
'Code', 'Pre', 'Kbd', 'Samp', 'Blockquote', 'Cite', 'Address',
|
13
|
+
'Hr', 'Details', 'Summary', 'Dl', 'Dt', 'Dd', 'Figure', 'Figcaption',
|
14
|
+
# Pass-through HTML tags from air.tags
|
15
|
+
'A', 'Area', 'Article', 'Aside', 'Audio', 'B', 'Base', 'Bdi', 'Bdo', 'Br',
|
16
|
+
'Canvas', 'Caption', 'Col', 'Colgroup', 'Data', 'Datalist', 'Dfn', 'Dialog', 'Div',
|
17
|
+
'Em', 'Embed', 'Fieldset', 'Footer', 'Form', 'Head', 'Header', 'Hgroup', 'Html',
|
18
|
+
'Iframe', 'Img', 'Input', 'Ins', 'Label', 'Legend', 'Li', 'Link',
|
19
|
+
'Main', 'Map', 'Menu', 'Meta', 'Meter', 'Nav', 'Noscript', 'Object', 'Ol', 'Optgroup', 'Option', 'Output',
|
20
|
+
'P', 'Param', 'Picture', 'Progress', 'Q', 'Rp', 'Rt', 'Ruby',
|
21
|
+
'S', 'Script', 'Search', 'Section', 'Select', 'Source', 'Span', 'Style', 'Sub', 'Sup',
|
22
|
+
'Table', 'Tbody', 'Td', 'Template', 'Textarea', 'Tfoot', 'Th', 'Thead', 'Title', 'Tr', 'Track',
|
23
|
+
'U', 'Ul', 'Video', 'Wbr'
|
24
|
+
]
|
25
|
+
|
26
|
+
def Button(*content: Any, class_: Optional[Union[str, list[str]]] = styles.buttons.primary, **kwargs: Any) -> air.Tag:
|
27
|
+
"""
|
28
|
+
Args:
|
29
|
+
content: The content of the button.
|
30
|
+
class_: The class of the button.
|
31
|
+
**kwargs: Additional keyword arguments passed to the button tag.
|
32
|
+
|
33
|
+
Returns:
|
34
|
+
air.Tag: The button tag.
|
35
|
+
|
36
|
+
Example:
|
37
|
+
Button("Click me", class_=styles.buttons.primary)
|
38
|
+
"""
|
39
|
+
return air.Button(*content, class_=stringify(styles.buttons.base, class_), **kwargs)
|
40
|
+
|
41
|
+
def H1(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
42
|
+
"""
|
43
|
+
Args:
|
44
|
+
content: The content of the h1 tag.
|
45
|
+
class_: The class of the h1 tag.
|
46
|
+
**kwargs: Additional keyword arguments passed to the h1 tag.
|
47
|
+
|
48
|
+
Returns:
|
49
|
+
air.Tag: The h1 tag.
|
50
|
+
|
51
|
+
Example:
|
52
|
+
H1("Hello, world!")
|
53
|
+
"""
|
54
|
+
return air.H1(*content, class_=stringify(styles.typography.h1, class_), **kwargs)
|
55
|
+
|
56
|
+
def H2(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
57
|
+
"""
|
58
|
+
Args:
|
59
|
+
content: The content of the h2 tag.
|
60
|
+
class_: The class of the h2 tag.
|
61
|
+
**kwargs: Additional keyword arguments passed to the h2 tag.
|
62
|
+
|
63
|
+
Returns:
|
64
|
+
air.Tag: The h2 tag.
|
65
|
+
|
66
|
+
Example:
|
67
|
+
H2("Hello, world!")
|
68
|
+
"""
|
69
|
+
return air.H2(*content, class_=stringify(styles.typography.h2, class_), **kwargs)
|
70
|
+
|
71
|
+
def H3(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
72
|
+
"""
|
73
|
+
Args:
|
74
|
+
content: The content of the h3 tag.
|
75
|
+
class_: The class of the h3 tag.
|
76
|
+
**kwargs: Additional keyword arguments passed to the h3 tag.
|
77
|
+
|
78
|
+
Returns:
|
79
|
+
air.Tag: The h3 tag.
|
80
|
+
|
81
|
+
Example:
|
82
|
+
H3("Hello, world!")
|
83
|
+
"""
|
84
|
+
return air.H3(*content, class_=stringify(styles.typography.h3, class_), **kwargs)
|
85
|
+
|
86
|
+
def H4(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
87
|
+
return air.H4(*content, class_=stringify(styles.typography.h4, class_), **kwargs)
|
88
|
+
|
89
|
+
def H5(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
90
|
+
return air.H5(*content, class_=stringify(styles.typography.h5, class_), **kwargs)
|
91
|
+
|
92
|
+
def H6(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
93
|
+
return air.H6(*content, class_=stringify(styles.typography.h6, class_), **kwargs)
|
94
|
+
|
95
|
+
def Body(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
96
|
+
return air.Body(*content, class_=stringify(styles.Theme.body, class_), **kwargs)
|
8
97
|
|
9
|
-
|
10
|
-
return air.H1(*content, cls=stringify(styles.typography.h1, cls), **kwargs)
|
11
|
-
|
12
|
-
def H2(*content, cls = None, **kwargs):
|
13
|
-
return air.H2(*content, cls=stringify(styles.typography.h2, cls), **kwargs)
|
14
|
-
|
15
|
-
def H3(*content, cls = None, **kwargs):
|
16
|
-
return air.H3(*content, cls=stringify(styles.typography.h3, cls), **kwargs)
|
17
|
-
|
18
|
-
def H4(*content, cls = None, **kwargs):
|
19
|
-
return air.H4(*content, cls=stringify(styles.typography.h4, cls), **kwargs)
|
98
|
+
# Semantic HTML Elements
|
20
99
|
|
21
|
-
def
|
22
|
-
return air.
|
100
|
+
def Strong(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
101
|
+
return air.Strong(*content, class_=stringify(styles.semantic.strong, class_), **kwargs)
|
23
102
|
|
24
|
-
def
|
25
|
-
return air.
|
103
|
+
def I(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
104
|
+
return air.I(*content, class_=stringify(styles.semantic.i, class_), **kwargs)
|
26
105
|
|
27
|
-
def
|
28
|
-
return air.
|
106
|
+
def Small(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
107
|
+
return air.Small(*content, class_=stringify(styles.semantic.small, class_), **kwargs)
|
29
108
|
|
30
|
-
|
109
|
+
def Del(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
110
|
+
return air.Del(*content, class_=stringify(styles.semantic.del_, class_), **kwargs)
|
31
111
|
|
32
|
-
def
|
33
|
-
|
112
|
+
def Abbr(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
113
|
+
"""
|
114
|
+
Args:
|
115
|
+
content: The content of the abbr tag.
|
116
|
+
class_: The class of the abbr tag.
|
117
|
+
**kwargs: Additional keyword arguments passed to the abbr tag.
|
34
118
|
|
35
|
-
|
36
|
-
|
119
|
+
Returns:
|
120
|
+
air.Tag: The abbr tag.
|
37
121
|
|
38
|
-
|
39
|
-
|
122
|
+
Example:
|
123
|
+
Abbr("HTML", title="Hyper Text Markup Language")
|
124
|
+
"""
|
125
|
+
return air.Abbr(*content, class_=stringify(styles.semantic.abbr, class_), **kwargs)
|
40
126
|
|
41
|
-
def
|
42
|
-
return air.
|
127
|
+
def Var(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
128
|
+
return air.Var(*content, class_=stringify(styles.semantic.var, class_), **kwargs)
|
43
129
|
|
44
|
-
def
|
45
|
-
return air.
|
130
|
+
def Mark(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
131
|
+
return air.Mark(*content, class_=stringify(styles.semantic.mark, class_), **kwargs)
|
46
132
|
|
47
|
-
def
|
48
|
-
return air.
|
133
|
+
def Time(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
134
|
+
return air.Time(*content, class_=stringify(styles.semantic.time, class_), **kwargs)
|
49
135
|
|
50
|
-
def
|
51
|
-
return air.
|
136
|
+
def Code(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
137
|
+
return air.Code(*content, class_=stringify(styles.semantic.code, class_), **kwargs)
|
52
138
|
|
53
|
-
def
|
54
|
-
return air.
|
139
|
+
def Pre(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
140
|
+
return air.Pre(*content, class_=stringify(styles.semantic.pre, class_), **kwargs)
|
55
141
|
|
56
|
-
def
|
57
|
-
return air.
|
142
|
+
def Kbd(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
143
|
+
return air.Kbd(*content, class_=stringify(styles.semantic.kbd, class_), **kwargs)
|
58
144
|
|
59
|
-
def
|
60
|
-
return air.
|
145
|
+
def Samp(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
146
|
+
return air.Samp(*content, class_=stringify(styles.semantic.samp, class_), **kwargs)
|
61
147
|
|
62
|
-
def
|
63
|
-
return air.
|
148
|
+
def Blockquote(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
149
|
+
return air.Blockquote(*content, class_=stringify(styles.semantic.blockquote, class_), **kwargs)
|
64
150
|
|
65
|
-
def
|
66
|
-
return air.
|
151
|
+
def Cite(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
152
|
+
return air.Cite(*content, class_=stringify(styles.semantic.cite, class_), **kwargs)
|
67
153
|
|
68
|
-
def
|
69
|
-
return air.
|
154
|
+
def Address(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
155
|
+
return air.Address(*content, class_=stringify(styles.semantic.address, class_), **kwargs)
|
70
156
|
|
71
|
-
def
|
72
|
-
return air.
|
157
|
+
def Hr(class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
158
|
+
return air.Hr(class_=stringify(styles.semantic.hr, class_), **kwargs)
|
73
159
|
|
74
|
-
def
|
75
|
-
return air.
|
160
|
+
def Details(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
161
|
+
return air.Details(*content, class_=stringify(styles.semantic.details, class_), **kwargs)
|
76
162
|
|
77
|
-
def
|
78
|
-
return air.
|
163
|
+
def Summary(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
164
|
+
return air.Summary(*content, class_=stringify(styles.semantic.summary, class_), **kwargs)
|
79
165
|
|
80
|
-
def
|
81
|
-
return air.
|
166
|
+
def Dl(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
167
|
+
return air.Dl(*content, class_=stringify(styles.semantic.dl, class_), **kwargs)
|
82
168
|
|
83
|
-
def
|
84
|
-
return air.
|
169
|
+
def Dt(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
170
|
+
return air.Dt(*content, class_=stringify(styles.semantic.dt, class_), **kwargs)
|
85
171
|
|
86
|
-
def
|
87
|
-
return air.
|
172
|
+
def Dd(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
173
|
+
return air.Dd(*content, class_=stringify(styles.semantic.dd, class_), **kwargs)
|
88
174
|
|
89
|
-
def
|
90
|
-
return air.
|
175
|
+
def Figure(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
176
|
+
return air.Figure(*content, class_=stringify(styles.semantic.figure, class_), **kwargs)
|
91
177
|
|
92
|
-
def
|
93
|
-
return air.
|
178
|
+
def Figcaption(*content: Any, class_: Optional[Union[str, list[str]]] = None, **kwargs: Any) -> air.Tag:
|
179
|
+
return air.Figcaption(*content, class_=stringify(styles.semantic.figcaption, class_), **kwargs)
|
94
180
|
|
95
|
-
def Figure(*content, cls = None, **kwargs):
|
96
|
-
return air.Figure(*content, cls=stringify(styles.semantic.figure, cls), **kwargs)
|
97
181
|
|
98
|
-
|
99
|
-
|
182
|
+
# Pass-through tags from air.tags
|
183
|
+
# Import all standard HTML tags that don't have custom styling
|
184
|
+
from air.tags import (
|
185
|
+
A, Area, Article, Aside, Audio, B, Base, Bdi, Bdo, Br,
|
186
|
+
Canvas, Caption, Col, Colgroup, Data, Datalist, Dfn, Dialog, Div,
|
187
|
+
Em, Embed, Fieldset, Footer, Form, Head, Header, Hgroup, Html,
|
188
|
+
Iframe, Img, Input, Ins, Label, Legend, Li, Link,
|
189
|
+
Main, Map, Menu, Meta, Meter, Nav, Noscript, Object, Ol, Optgroup, Option, Output,
|
190
|
+
P, Param, Picture, Progress, Q, Rp, Rt, Ruby,
|
191
|
+
S, Script, Search, Section, Select, Source, Span, Style, Sub, Sup,
|
192
|
+
Table, Tbody, Td, Template, Textarea, Tfoot, Th, Thead, Title, Tr, Track,
|
193
|
+
U, Ul, Video, Wbr
|
194
|
+
)
|
eidos/utils.py
CHANGED
@@ -27,14 +27,14 @@ def stringify(*classes: Optional[Union[str, List[str]]]) -> str:
|
|
27
27
|
"""
|
28
28
|
result = []
|
29
29
|
|
30
|
-
for
|
31
|
-
if
|
30
|
+
for class_ in classes:
|
31
|
+
if class_ is None:
|
32
32
|
continue
|
33
|
-
elif isinstance(
|
33
|
+
elif isinstance(class_, list):
|
34
34
|
# Recursively handle lists
|
35
|
-
result.extend(c for c in
|
36
|
-
elif isinstance(
|
37
|
-
result.append(
|
35
|
+
result.extend(c for c in class_ if c)
|
36
|
+
elif isinstance(class_, str) and class_.strip():
|
37
|
+
result.append(class_.strip())
|
38
38
|
|
39
39
|
return " ".join(result)
|
40
40
|
|
@@ -57,7 +57,16 @@ def get_eidos_static_directory() -> str:
|
|
57
57
|
"""
|
58
58
|
try:
|
59
59
|
from importlib.resources import files
|
60
|
-
|
60
|
+
import pathlib
|
61
|
+
# Convert MultiplexedPath to actual filesystem path
|
62
|
+
eidos_path = files('eidos')
|
63
|
+
if hasattr(eidos_path, '_paths'):
|
64
|
+
# MultiplexedPath - get the first valid path
|
65
|
+
for path in eidos_path._paths:
|
66
|
+
if isinstance(path, pathlib.Path) and path.exists():
|
67
|
+
return str(path)
|
68
|
+
# Try to get the path directly
|
69
|
+
return str(eidos_path)
|
61
70
|
except (ImportError, AttributeError):
|
62
71
|
# Fallback for development or if importlib.resources fails
|
63
72
|
return os.path.dirname(os.path.abspath(__file__))
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: eidosui
|
3
|
-
Version: 0.
|
4
|
-
Summary: A modern, Tailwind CSS-based UI library for
|
3
|
+
Version: 0.4.0
|
4
|
+
Summary: A modern, Tailwind CSS-based UI library for air development
|
5
5
|
Project-URL: Homepage, https://github.com/isaac-flath/EidosUI
|
6
6
|
Project-URL: Repository, https://github.com/isaac-flath/EidosUI
|
7
7
|
Project-URL: Issues, https://github.com/isaac-flath/EidosUI/issues
|
@@ -9,7 +9,7 @@ Project-URL: Documentation, https://github.com/isaac-flath/EidosUI#readme
|
|
9
9
|
Author: Isaac Flath
|
10
10
|
License-Expression: MIT
|
11
11
|
License-File: LICENSE
|
12
|
-
Keywords: components,css,fastapi,tailwind,ui,web
|
12
|
+
Keywords: air,components,css,fastapi,tailwind,ui,web
|
13
13
|
Classifier: Development Status :: 3 - Alpha
|
14
14
|
Classifier: Intended Audience :: Developers
|
15
15
|
Classifier: License :: OSI Approved :: MIT License
|
@@ -17,11 +17,12 @@ Classifier: Programming Language :: Python :: 3
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.10
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
20
21
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
21
22
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
22
23
|
Requires-Python: >=3.10
|
23
|
-
Requires-Dist: air
|
24
|
-
Requires-Dist: fastapi
|
24
|
+
Requires-Dist: air>=0.12
|
25
|
+
Requires-Dist: fastapi[standard]
|
25
26
|
Requires-Dist: uvicorn
|
26
27
|
Provides-Extra: dev
|
27
28
|
Requires-Dist: black; extra == 'dev'
|
@@ -29,6 +30,8 @@ Requires-Dist: isort; extra == 'dev'
|
|
29
30
|
Requires-Dist: mypy; extra == 'dev'
|
30
31
|
Requires-Dist: pytest; extra == 'dev'
|
31
32
|
Requires-Dist: ruff; extra == 'dev'
|
33
|
+
Provides-Extra: markdown
|
34
|
+
Requires-Dist: markdown>=3.4; extra == 'markdown'
|
32
35
|
Description-Content-Type: text/markdown
|
33
36
|
|
34
37
|
# EidosUI 🎨
|
@@ -0,0 +1,22 @@
|
|
1
|
+
eidos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
+
eidos/styles.py,sha256=QupOwC0VuSZ6zdNJiNFT_PqTnvbJvaNplKO5M5xzMVI,2380
|
3
|
+
eidos/tags.py,sha256=1IlB7x2AR3G5KI5yTQQ7ors5x5dMIYRvGKrlswNrYqs,9195
|
4
|
+
eidos/utils.py,sha256=DUw2a--J2rpZLY7YD3-xtHSmrK0YrnJuPi4rwV41zT8,2345
|
5
|
+
eidos/components/headers.py,sha256=M4SZ_w_ius9cj7uRALo2niAkBz-iLYMVYAX8p556vyo,2005
|
6
|
+
eidos/components/navigation.py,sha256=_8xQxVuZYmOIWk_85pa1L1ECYAXphIxV4iFmolNRwWQ,2515
|
7
|
+
eidos/css/styles.css,sha256=KvrqNpdi7y0felLNhXwgys7cD4mbWjd5EzSqQWxjRgg,9770
|
8
|
+
eidos/css/themes/dark.css,sha256=yUDNz7iLEJ_Q63MrKXlrhYcpojm1L2eNUOthzhYc3Vs,4170
|
9
|
+
eidos/css/themes/eidos-variables.css,sha256=s4_CUivnqvndE4c7T1stp59orEHL_0C9tmN0rxai7bU,5686
|
10
|
+
eidos/css/themes/light.css,sha256=kESbN5Z4ovCn-Q3fxilQcjafgMCIyyJiocU9kMC5sIM,2674
|
11
|
+
eidos/js/eidos.js,sha256=ag6aoyWIE234ZoMiXJV-KVgBTsPR-fZd5Qhuo4rEeh0,5048
|
12
|
+
eidos/plugins/__init__.py,sha256=Cv4nNAV74tOvyPyb2oEg7q2yhrHLC1lGwbWYjdT9Z4Y,25
|
13
|
+
eidos/plugins/markdown/__init__.py,sha256=FuifCP1MmO0ACy7mq_kTwKLMnw8K15td_6E3Ihlrir4,555
|
14
|
+
eidos/plugins/markdown/components.py,sha256=jz3yu4LIgBOTx0MS2o703al90jAquScmKehQQHV2dmY,1388
|
15
|
+
eidos/plugins/markdown/renderer.py,sha256=NJYTJWgDySTUkrihYudLvRSR4hr6QeAqTpzZGN4eyo8,1971
|
16
|
+
eidos/plugins/markdown/css/markdown.css,sha256=RxNx7aJDmJMx3zuydX10uAMaPFtl9r6zOFDni9Idsdk,6226
|
17
|
+
eidos/plugins/markdown/extensions/__init__.py,sha256=wOdOyCcb-4lxEm77GMnJLst8JepecDcrN4sp3HO_q9A,28
|
18
|
+
eidos/plugins/markdown/extensions/alerts.py,sha256=q1d49KyjPoTiK6OJ7gKvuwrFxM3BjPwssQnp6qhpFDs,4541
|
19
|
+
eidosui-0.4.0.dist-info/METADATA,sha256=PRrT8laWJlSp14pGvjHP6kOKkaS6n2SZze85MyAcprg,4749
|
20
|
+
eidosui-0.4.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
21
|
+
eidosui-0.4.0.dist-info/licenses/LICENSE,sha256=evjPJs6lg9eka9CYtC6ErQrZ71IovVbdvZqqz3ax8E8,1064
|
22
|
+
eidosui-0.4.0.dist-info/RECORD,,
|
eidosui-0.2.0.dist-info/RECORD
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
eidos/__init__.py,sha256=wPMqILVs6Iof510BteshYDZgsW-08w_RfenImYKlPlM,40
|
2
|
-
eidos/styles.py,sha256=QupOwC0VuSZ6zdNJiNFT_PqTnvbJvaNplKO5M5xzMVI,2380
|
3
|
-
eidos/tags.py,sha256=9jX9u8QLHjv48vRB7yorR3dV25UEt3AjgUlYPJDcxPM,3975
|
4
|
-
eidos/utils.py,sha256=dncLrIjn78x6HW-lX1feG76jtAilfLaxsRmJ8ewCCCs,1922
|
5
|
-
eidos/components/headers.py,sha256=qE5xa2Yt545FGlBAITPjPAU5CQkz0cnYq7biYcb6mB0,939
|
6
|
-
eidos/css/styles.css,sha256=4VWOWe436DQRXBN4b6g6tsIRqXsYJrwuoKNnsrQQv_M,7643
|
7
|
-
eidos/css/themes/dark.css,sha256=yUDNz7iLEJ_Q63MrKXlrhYcpojm1L2eNUOthzhYc3Vs,4170
|
8
|
-
eidos/css/themes/eidos-variables.css,sha256=s4_CUivnqvndE4c7T1stp59orEHL_0C9tmN0rxai7bU,5686
|
9
|
-
eidos/css/themes/light.css,sha256=kESbN5Z4ovCn-Q3fxilQcjafgMCIyyJiocU9kMC5sIM,2674
|
10
|
-
eidosui-0.2.0.dist-info/METADATA,sha256=ME2HeKBZS9nenM2SpdQ5FBYbA51rlU0CnO3UvoDy44g,4609
|
11
|
-
eidosui-0.2.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
12
|
-
eidosui-0.2.0.dist-info/licenses/LICENSE,sha256=evjPJs6lg9eka9CYtC6ErQrZ71IovVbdvZqqz3ax8E8,1064
|
13
|
-
eidosui-0.2.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|