bloggy 0.1.40__py3-none-any.whl → 0.1.43__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.
- bloggy/__init__.py +1 -1
- bloggy/core.py +17 -5
- bloggy/main.py +13 -1
- bloggy/static/scripts.js +10 -4
- {bloggy-0.1.40.dist-info → bloggy-0.1.43.dist-info}/METADATA +1 -1
- bloggy-0.1.43.dist-info/RECORD +13 -0
- bloggy-0.1.40.dist-info/RECORD +0 -13
- {bloggy-0.1.40.dist-info → bloggy-0.1.43.dist-info}/WHEEL +0 -0
- {bloggy-0.1.40.dist-info → bloggy-0.1.43.dist-info}/entry_points.txt +0 -0
- {bloggy-0.1.40.dist-info → bloggy-0.1.43.dist-info}/licenses/LICENSE +0 -0
- {bloggy-0.1.40.dist-info → bloggy-0.1.43.dist-info}/top_level.txt +0 -0
bloggy/__init__.py
CHANGED
bloggy/core.py
CHANGED
|
@@ -803,6 +803,15 @@ hdrs = (
|
|
|
803
803
|
.dark *::-webkit-scrollbar-thumb { background-color: rgb(71 85 105); }
|
|
804
804
|
.dark *::-webkit-scrollbar-thumb:hover { background-color: rgb(100 116 139); }
|
|
805
805
|
.dark * { scrollbar-color: rgb(71 85 105) transparent; }
|
|
806
|
+
|
|
807
|
+
/* Sidebar active link highlight */
|
|
808
|
+
.sidebar-highlight {
|
|
809
|
+
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.35);
|
|
810
|
+
transition: box-shadow 10s ease, background-color 10s ease;
|
|
811
|
+
}
|
|
812
|
+
.sidebar-highlight.fade-out {
|
|
813
|
+
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0);
|
|
814
|
+
}
|
|
806
815
|
|
|
807
816
|
/* Tabs styles */
|
|
808
817
|
.tabs-container {
|
|
@@ -1093,14 +1102,17 @@ def collapsible_sidebar(icon, title, items_list, is_open=False, data_sidebar=Non
|
|
|
1093
1102
|
"""Reusable collapsible sidebar component with sticky header"""
|
|
1094
1103
|
# Build the summary content
|
|
1095
1104
|
summary_content = [
|
|
1096
|
-
|
|
1097
|
-
|
|
1105
|
+
Span(
|
|
1106
|
+
UkIcon(icon, cls="w-5 h-5 block"),
|
|
1107
|
+
cls="flex items-center justify-center w-5 h-5 shrink-0 leading-none"
|
|
1108
|
+
),
|
|
1109
|
+
Span(title, cls="flex-1 leading-none")
|
|
1098
1110
|
]
|
|
1099
1111
|
|
|
1100
1112
|
# Sidebar styling configuration
|
|
1101
|
-
common_frost_style = "bg-white/
|
|
1102
|
-
summary_classes = f"flex items-center font-semibold cursor-pointer py-2 px-3 hover:bg-slate-100/80 dark:hover:bg-slate-800/80 rounded-lg select-none list-none {common_frost_style} min-h-[56px]"
|
|
1103
|
-
content_classes = f"p-3 {common_frost_style} rounded-lg
|
|
1113
|
+
common_frost_style = "bg-white/20 dark:bg-slate-950/70 backdrop-blur-lg border border-slate-900/10 dark:border-slate-700/25 ring-1 ring-white/20 dark:ring-slate-900/30 shadow-[0_24px_60px_-40px_rgba(15,23,42,0.45)] dark:shadow-[0_28px_70px_-45px_rgba(2,6,23,0.85)]"
|
|
1114
|
+
summary_classes = f"flex items-center gap-2 font-semibold cursor-pointer py-2.5 px-3 hover:bg-slate-100/80 dark:hover:bg-slate-800/80 rounded-lg select-none list-none {common_frost_style} min-h-[56px]"
|
|
1115
|
+
content_classes = f"p-3 {common_frost_style} rounded-lg overflow-y-auto max-h-[calc(100vh-18rem)]"
|
|
1104
1116
|
|
|
1105
1117
|
return Details(
|
|
1106
1118
|
Summary(*summary_content, cls=summary_classes, style="margin: 0 0 0.5rem 0;"),
|
bloggy/main.py
CHANGED
|
@@ -89,8 +89,20 @@ def cli():
|
|
|
89
89
|
print(f"Serving at: http://{host}:{port}")
|
|
90
90
|
if host == '0.0.0.0':
|
|
91
91
|
print(f"Server accessible from network at: http://<your-ip>:{port}")
|
|
92
|
+
|
|
93
|
+
# Configure reload to watch markdown files in the blog directory
|
|
94
|
+
reload_kwargs = {}
|
|
95
|
+
if reload:
|
|
96
|
+
blog_root = config.get_root_folder()
|
|
97
|
+
reload_kwargs = {
|
|
98
|
+
"reload": True,
|
|
99
|
+
"reload_dirs": [str(blog_root)],
|
|
100
|
+
"reload_includes": ["*.md"]
|
|
101
|
+
}
|
|
102
|
+
else:
|
|
103
|
+
reload_kwargs = {"reload": False}
|
|
92
104
|
|
|
93
|
-
uvicorn.run("bloggy.main:app", host=host, port=port,
|
|
105
|
+
uvicorn.run("bloggy.main:app", host=host, port=port, **reload_kwargs)
|
|
94
106
|
|
|
95
107
|
if __name__ == "__main__":
|
|
96
108
|
cli()
|
bloggy/static/scripts.js
CHANGED
|
@@ -375,10 +375,16 @@ function revealInSidebar(rootElement = document) {
|
|
|
375
375
|
}
|
|
376
376
|
|
|
377
377
|
// Highlight the active link temporarily
|
|
378
|
-
activeLink.classList.
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
378
|
+
activeLink.classList.remove('fade-out');
|
|
379
|
+
activeLink.classList.add('sidebar-highlight');
|
|
380
|
+
requestAnimationFrame(() => {
|
|
381
|
+
setTimeout(() => {
|
|
382
|
+
activeLink.classList.add('fade-out');
|
|
383
|
+
setTimeout(() => {
|
|
384
|
+
activeLink.classList.remove('sidebar-highlight', 'fade-out');
|
|
385
|
+
}, 10000);
|
|
386
|
+
}, 1000);
|
|
387
|
+
});
|
|
382
388
|
}
|
|
383
389
|
}
|
|
384
390
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
bloggy/__init__.py,sha256=6pQNm4uY2gQkgU6DBO3az63QzYGdKQc-EyvV5WNi7uA,159
|
|
2
|
+
bloggy/build.py,sha256=fnRpaDURYCM_8naCeX8yce-ZkHmNIw_jQ2KspiOYWFQ,23671
|
|
3
|
+
bloggy/config.py,sha256=6NhHD45KnMJiKXcpdSbZgSBq8W3sFik5HAEuqC3y8vo,4229
|
|
4
|
+
bloggy/core.py,sha256=2PArRMllSPhNKPYZ0K-F0N1WCc4aJwHZlGD5qO38Imc,71432
|
|
5
|
+
bloggy/main.py,sha256=p7XJKR4kVnaXxYn_xQMdNczULMjM0KX_OQL1nC59JSI,4063
|
|
6
|
+
bloggy/static/scripts.js,sha256=GUN4oaMJyTCbFp__grmyPsJC85MDB-Ov0nlqOUc4I28,22089
|
|
7
|
+
bloggy/static/sidenote.css,sha256=11XFyPV90fL4rzXfGHgjgOegBvKDqp-d3IWgiOwRVQI,1046
|
|
8
|
+
bloggy-0.1.43.dist-info/licenses/LICENSE,sha256=xV8xoN4VOL0uw9X8RSs2IMuD_Ss_a9yAbtGNeBWZwnw,11337
|
|
9
|
+
bloggy-0.1.43.dist-info/METADATA,sha256=vAb81ii4fdYT6RT3MznMylC16cD5WRRt0LMl3qZTPmg,36734
|
|
10
|
+
bloggy-0.1.43.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
11
|
+
bloggy-0.1.43.dist-info/entry_points.txt,sha256=CNKjPiT6yMMEPbeyHXsiN0xHMwBqSo-kO3J5ClISDW4,43
|
|
12
|
+
bloggy-0.1.43.dist-info/top_level.txt,sha256=YjR92iFE4BhzWG-Hg2l55N0xUNv5207y-daHjWja1aI,7
|
|
13
|
+
bloggy-0.1.43.dist-info/RECORD,,
|
bloggy-0.1.40.dist-info/RECORD
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
bloggy/__init__.py,sha256=1FQ-FM_xw3ELuejf_b-fZEvfOjs9n67BEc5jrFQOViU,159
|
|
2
|
-
bloggy/build.py,sha256=fnRpaDURYCM_8naCeX8yce-ZkHmNIw_jQ2KspiOYWFQ,23671
|
|
3
|
-
bloggy/config.py,sha256=6NhHD45KnMJiKXcpdSbZgSBq8W3sFik5HAEuqC3y8vo,4229
|
|
4
|
-
bloggy/core.py,sha256=-oISboMzgCYwwsEpbSDkSrt-d67LsipssbrDv27NKWU,70886
|
|
5
|
-
bloggy/main.py,sha256=lvmuyehxyNEHDJPSng442nddvTcok_lavgOAvhvlPN8,3703
|
|
6
|
-
bloggy/static/scripts.js,sha256=4GQjB_llaK79buiM71Tu-eNd1yJNwr_gb8mJSIB1aDo,21892
|
|
7
|
-
bloggy/static/sidenote.css,sha256=11XFyPV90fL4rzXfGHgjgOegBvKDqp-d3IWgiOwRVQI,1046
|
|
8
|
-
bloggy-0.1.40.dist-info/licenses/LICENSE,sha256=xV8xoN4VOL0uw9X8RSs2IMuD_Ss_a9yAbtGNeBWZwnw,11337
|
|
9
|
-
bloggy-0.1.40.dist-info/METADATA,sha256=EgGwdrhz5om3FrLXaoIQ4Cxu-haOsJiKkYfnp1z_qnI,36734
|
|
10
|
-
bloggy-0.1.40.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
11
|
-
bloggy-0.1.40.dist-info/entry_points.txt,sha256=CNKjPiT6yMMEPbeyHXsiN0xHMwBqSo-kO3J5ClISDW4,43
|
|
12
|
-
bloggy-0.1.40.dist-info/top_level.txt,sha256=YjR92iFE4BhzWG-Hg2l55N0xUNv5207y-daHjWja1aI,7
|
|
13
|
-
bloggy-0.1.40.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|