Skip to content

Commit 3c0184b

Browse files
committed
monsterui hjs sync
1 parent f4f3f22 commit 3c0184b

File tree

1 file changed

+2
-52
lines changed

1 file changed

+2
-52
lines changed

main.py

Lines changed: 2 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -12,60 +12,10 @@ def get_module_path(p,base_dir): return f'{base_dir}.{".".join(Path(p).parts[1:]
1212

1313
descr = 'A gallery of FastHTML components showing common patterns in FastHTML apps, including chat bubbles, cascading dropdowns, interactive charts, etc.'
1414

15-
HLJS_THEMES = {
16-
'dark': 'https://cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/styles/atom-one-dark.css',
17-
'light': 'https://cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/styles/atom-one-light.css'}
18-
19-
hjs = (
20-
# Basic highlight.js setup
21-
Script(src='https://cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/highlight.min.js'),
22-
Script(src='https://cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/languages/python.min.js'),
23-
24-
# Copy button setup
25-
Script(src='https://cdn.jsdelivr.net/gh/arronhunt/highlightjs-copy/dist/highlightjs-copy.min.js'),
26-
Link(rel='stylesheet', href='https://cdn.jsdelivr.net/gh/arronhunt/highlightjs-copy/dist/highlightjs-copy.min.css'),
27-
Style('''
28-
.hljs-copy-button { background-color: #2d2b57; }
29-
html.dark .hljs-copy-button { background-color: #e0e0e0; color: #2d2b57; }
30-
'''),
31-
32-
# Theme stylesheets
33-
Link(rel='stylesheet', href=HLJS_THEMES['dark'], id='hljs-dark-theme', disabled=True),
34-
Link(rel='stylesheet', href=HLJS_THEMES['light'], id='hljs-light-theme', disabled=True),
35-
36-
# Theme switching logic
37-
Script('''
38-
function updateCodeTheme() {
39-
const isDark = document.documentElement.classList.contains('dark');
40-
document.getElementById('hljs-dark-theme').disabled = !isDark;
41-
document.getElementById('hljs-light-theme').disabled = isDark;
42-
}
43-
44-
// Watch for theme changes
45-
new MutationObserver(mutations => {
46-
mutations.forEach(mutation => {
47-
if (mutation.target.tagName === 'HTML' && mutation.attributeName === 'class') {
48-
updateCodeTheme();
49-
}
50-
});
51-
}).observe(document.documentElement, { attributes: true });
52-
53-
// Initial setup
54-
document.addEventListener('DOMContentLoaded', updateCodeTheme);
55-
'''),
56-
# Highlight.js initialization
57-
Script('''
58-
hljs.configure({ ignoreUnescapedHTML: true });
59-
hljs.addPlugin(new CopyButtonPlugin());
60-
htmx.onLoad(hljs.highlightAll);
61-
''', type='module'),
62-
)
63-
64-
hdrs = (*hjs,
65-
#Script(defer=True, data_domain="gallery.fastht.ml", src="https://plausible-analytics-ce-production-dba0.up.railway.app/js/script.js"),
15+
hdrs = (
6616
*Socials(title='FastHTML Gallery', description=descr, site_name='gallery.fastht.ml', twitter_site='@isaac_flath', image=f'/social.png', url=''),
6717
toggle_script,
68-
*Theme.blue.headers(),)
18+
*Theme.blue.headers(highlightjs=True),)
6919

7020
app = FastHTML(routes=application_routes+ [Mount('/files', StaticFiles(directory='.')),], hdrs=hdrs, pico=False)
7121

0 commit comments

Comments
 (0)