wozie 3.0.0
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.
- package/DOCS.md +191 -0
- package/README.md +53 -0
- package/bin/woozie.js +255 -0
- package/docs/elements.md +506 -0
- package/docs/hosting.md +69 -0
- package/docs/install.md +74 -0
- package/editor/woozie-syntax/icons/comet.svg +17 -0
- package/editor/woozie-syntax/icons/woozie-build.svg +19 -0
- package/editor/woozie-syntax/icons/woozie-folder.svg +13 -0
- package/editor/woozie-syntax/icons/woozie-pages.svg +21 -0
- package/editor/woozie-syntax/icons/woozie-plugin.svg +18 -0
- package/editor/woozie-syntax/icons/woozie-rules.svg +23 -0
- package/editor/woozie-syntax/icons/woozie-style.svg +19 -0
- package/editor/woozie-syntax/icons/woozie.svg +19 -0
- package/editor/woozie-syntax/language-configuration.json +23 -0
- package/editor/woozie-syntax/package.json +43 -0
- package/editor/woozie-syntax/syntaxes/woozie.tmLanguage.json +120 -0
- package/editor/woozie-syntax/themes/woozie-icons.json +53 -0
- package/package.json +47 -0
- package/scripts/install.sh +20 -0
- package/scripts/postinstall.js +29 -0
- package/src/comet/registry.js +105 -0
- package/src/core/compiler.js +246 -0
- package/src/core/generator.js +166 -0
- package/src/core/parser.js +87 -0
- package/src/core/server.js +112 -0
- package/src/runtime/client.js +117 -0
- package/src/runtime/router.js +49 -0
- package/src/styles/base.css +79 -0
- package/src/styles/components.css +135 -0
- package/src/styles/controls.css +110 -0
- package/src/styles/interactive.css +111 -0
- package/src/styles/layout.css +72 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* === LAYOUT === */
|
|
2
|
+
#app { max-width: 1200px; margin: 0 auto; padding: 2rem 1.5rem; }
|
|
3
|
+
#app > h1 {
|
|
4
|
+
font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 800;
|
|
5
|
+
background: linear-gradient(135deg, var(--wz-primary) 0%, #a855f7 50%, #ec4899 100%);
|
|
6
|
+
-webkit-background-clip: text; -webkit-text-fill-color: transparent;
|
|
7
|
+
background-clip: text; margin-bottom: 2rem; letter-spacing: -0.03em; line-height: 1.1;
|
|
8
|
+
}
|
|
9
|
+
.wz-col { display: flex; flex-direction: column; gap: 1.25rem; }
|
|
10
|
+
.wz-row { display: flex; flex-direction: row; gap: 1rem; align-items: center; flex-wrap: wrap; }
|
|
11
|
+
.wz-grid { display: grid; grid-template-columns: repeat(var(--cols, 3), 1fr); gap: 1.5rem; }
|
|
12
|
+
.wz-center { display: flex; justify-content: center; align-items: center; flex-direction: column; }
|
|
13
|
+
.wz-container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
|
|
14
|
+
.wz-section { padding: 3rem 0; }
|
|
15
|
+
.wz-spacer { height: calc(var(--size, 1) * 1rem); }
|
|
16
|
+
.wz-wrap { display: flex; flex-wrap: wrap; gap: 1rem; }
|
|
17
|
+
.wz-divider { border: none; height: 1px; background: var(--wz-border); margin: 2rem 0; width: 100%; }
|
|
18
|
+
|
|
19
|
+
/* === TYPOGRAPHY === */
|
|
20
|
+
.wz-heading {
|
|
21
|
+
font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 700;
|
|
22
|
+
color: var(--wz-text); letter-spacing: -0.025em; line-height: 1.2; margin-bottom: 0.75rem;
|
|
23
|
+
}
|
|
24
|
+
.wz-subheading {
|
|
25
|
+
font-size: 1.25rem; font-weight: 600; color: var(--wz-text);
|
|
26
|
+
letter-spacing: -0.015em; line-height: 1.3; margin-bottom: 0.5rem;
|
|
27
|
+
}
|
|
28
|
+
.wz-text { font-size: 1rem; color: var(--wz-text-secondary); line-height: 1.65; margin: 0; }
|
|
29
|
+
.wz-small { font-size: 0.875rem; color: var(--wz-text-muted); }
|
|
30
|
+
.wz-label { display: block; font-size: 0.875rem; font-weight: 600; color: var(--wz-text); margin-bottom: 0.375rem; }
|
|
31
|
+
.wz-link { color: var(--wz-primary); font-weight: 500; transition: color var(--wz-transition); text-decoration: none; }
|
|
32
|
+
.wz-link:hover { color: var(--wz-primary-hover); text-decoration: underline; }
|
|
33
|
+
.wz-code {
|
|
34
|
+
font-family: var(--wz-font-mono); font-size: 0.875em;
|
|
35
|
+
background: var(--wz-primary-light); color: var(--wz-primary);
|
|
36
|
+
padding: 0.2em 0.45em; border-radius: var(--wz-radius-sm);
|
|
37
|
+
}
|
|
38
|
+
.wz-code-block {
|
|
39
|
+
font-family: var(--wz-font-mono); font-size: 0.875rem;
|
|
40
|
+
background: var(--wz-surface); border: 1px solid var(--wz-border);
|
|
41
|
+
border-radius: var(--wz-radius-md); padding: 1.5rem;
|
|
42
|
+
overflow-x: auto; line-height: 1.7; white-space: pre;
|
|
43
|
+
}
|
|
44
|
+
.wz-quote {
|
|
45
|
+
border-left: 4px solid var(--wz-primary); padding: 1rem 1.5rem;
|
|
46
|
+
background: var(--wz-primary-light);
|
|
47
|
+
border-radius: 0 var(--wz-radius-md) var(--wz-radius-md) 0;
|
|
48
|
+
font-style: italic; color: var(--wz-text-secondary);
|
|
49
|
+
}
|
|
50
|
+
.wz-quote p { margin: 0; }
|
|
51
|
+
|
|
52
|
+
/* === CARD === */
|
|
53
|
+
.wz-card {
|
|
54
|
+
background: var(--wz-surface-glass); backdrop-filter: blur(20px);
|
|
55
|
+
-webkit-backdrop-filter: blur(20px); border: 1px solid var(--wz-border);
|
|
56
|
+
border-radius: var(--wz-radius-xl); padding: 2rem; box-shadow: var(--wz-shadow);
|
|
57
|
+
transition: transform var(--wz-transition-slow), box-shadow var(--wz-transition-slow), border-color var(--wz-transition-slow);
|
|
58
|
+
}
|
|
59
|
+
.wz-card:hover { transform: translateY(-2px); box-shadow: var(--wz-shadow-lg); border-color: var(--wz-primary-glow); }
|
|
60
|
+
|
|
61
|
+
/* === IMAGE / VIDEO / AUDIO === */
|
|
62
|
+
.wz-img { max-width: 100%; border-radius: var(--wz-radius-lg); display: block; box-shadow: var(--wz-shadow); }
|
|
63
|
+
.wz-video { width: 100%; border-radius: var(--wz-radius-lg); box-shadow: var(--wz-shadow); }
|
|
64
|
+
.wz-audio { width: 100%; }
|
|
65
|
+
.wz-icon { font-size: 2rem; line-height: 1; display: inline-block; margin-bottom: 0.75rem; }
|
|
66
|
+
.wz-avatar {
|
|
67
|
+
width: 48px; height: 48px; border-radius: 50%; overflow: hidden;
|
|
68
|
+
background: var(--wz-primary-light); display: flex; align-items: center;
|
|
69
|
+
justify-content: center; flex-shrink: 0; border: 2px solid var(--wz-border);
|
|
70
|
+
}
|
|
71
|
+
.wz-avatar img { width: 100%; height: 100%; object-fit: cover; }
|
|
72
|
+
.wz-avatar span { font-size: 1.25rem; }
|