summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md6
-rw-r--r--internal/generator/templates/themes/cathedral/FONT_LICENSE.txt47
-rw-r--r--internal/generator/templates/themes/cathedral/cinzel-v26-latin_latin-ext-regular.woff2bin0 -> 17172 bytes
-rw-r--r--internal/generator/templates/themes/cathedral/spectral-v15-latin_latin-ext-600.woff2bin0 -> 34980 bytes
-rw-r--r--internal/generator/templates/themes/cathedral/spectral-v15-latin_latin-ext-regular.woff2bin0 -> 33264 bytes
-rw-r--r--internal/generator/templates/themes/cathedral/theme.css37
6 files changed, 85 insertions, 5 deletions
diff --git a/README.md b/README.md
index 78e2351..93b119a 100644
--- a/README.md
+++ b/README.md
@@ -136,6 +136,12 @@ Bundled web fonts:
Natanael Gama, from [Google Fonts](https://fonts.google.com/specimen/Exo+2),
[SIL OFL 1.1](https://openfontlicense.org/open-font-license-official-text/).
See [internal/generator/templates/themes/cosmos/FONT_LICENSE.txt](internal/generator/templates/themes/cosmos/FONT_LICENSE.txt).
+- **cathedral** — *Cinzel* Regular and *Spectral* Regular + SemiBold
+ (.woff2, latin+latin-ext) by Natanael Gama and Production Type, from
+ Google Fonts ([Cinzel](https://fonts.google.com/specimen/Cinzel),
+ [Spectral](https://fonts.google.com/specimen/Spectral)),
+ [SIL OFL 1.1](https://openfontlicense.org/open-font-license-official-text/).
+ See [internal/generator/templates/themes/cathedral/FONT_LICENSE.txt](internal/generator/templates/themes/cathedral/FONT_LICENSE.txt).
- **matrix** — *VT323* Regular (.woff2, latin+latin-ext) by Peter Hull,
from [Google Fonts](https://fonts.google.com/specimen/VT323),
[SIL OFL 1.1](https://openfontlicense.org/open-font-license-official-text/).
diff --git a/internal/generator/templates/themes/cathedral/FONT_LICENSE.txt b/internal/generator/templates/themes/cathedral/FONT_LICENSE.txt
new file mode 100644
index 0000000..60feceb
--- /dev/null
+++ b/internal/generator/templates/themes/cathedral/FONT_LICENSE.txt
@@ -0,0 +1,47 @@
+Cinzel and Spectral
+===================
+
+This directory bundles the web fonts:
+
+ cinzel-v26-latin_latin-ext-regular.woff2 (weight 400)
+ spectral-v15-latin_latin-ext-regular.woff2 (weight 400)
+ spectral-v15-latin_latin-ext-600.woff2 (weight 600)
+
+Subsets: latin, latin-ext.
+
+Source / version
+----------------
+- Cinzel family page : https://fonts.google.com/specimen/Cinzel
+- Cinzel designer : Natanael Gama
+- Cinzel webfont set : cinzel-v26 (latin + latin-ext, woff2)
+- Cinzel project : https://github.com/NDISCOVER/Cinzel
+
+- Spectral family page: https://fonts.google.com/specimen/Spectral
+- Spectral designer : Production Type
+- Spectral webfont set: spectral-v15 (latin + latin-ext, woff2)
+- Spectral project : https://github.com/productiontype/Spectral
+
+- Fetched via : https://gwfh.mranftl.com/ (Webfonts Helper)
+- Cinzel download URL : https://gwfh.mranftl.com/api/fonts/cinzel?download=zip&subsets=latin,latin-ext&formats=woff2&variants=regular
+- Spectral download URL: https://gwfh.mranftl.com/api/fonts/spectral?download=zip&subsets=latin,latin-ext&formats=woff2&variants=regular,600
+- Fetched on : 2026-05-01
+
+License
+-------
+SIL Open Font License, Version 1.1.
+
+ - Summary : https://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web
+ - Full text : https://openfontlicense.org/open-font-license-official-text/
+
+The OFL allows free use, modification, and redistribution of the font,
+including embedding in commercial products. Any standalone modified
+version of the font itself must be released under the same license and
+must not use the Reserved Font Names "Cinzel" or "Spectral".
+
+Required attribution
+--------------------
+Font: "Cinzel" by Natanael Gama - https://github.com/NDISCOVER/Cinzel
+ Licensed under the SIL Open Font License 1.1.
+
+Font: "Spectral" by Production Type - https://github.com/productiontype/Spectral
+ Licensed under the SIL Open Font License 1.1.
diff --git a/internal/generator/templates/themes/cathedral/cinzel-v26-latin_latin-ext-regular.woff2 b/internal/generator/templates/themes/cathedral/cinzel-v26-latin_latin-ext-regular.woff2
new file mode 100644
index 0000000..07a0d60
--- /dev/null
+++ b/internal/generator/templates/themes/cathedral/cinzel-v26-latin_latin-ext-regular.woff2
Binary files differ
diff --git a/internal/generator/templates/themes/cathedral/spectral-v15-latin_latin-ext-600.woff2 b/internal/generator/templates/themes/cathedral/spectral-v15-latin_latin-ext-600.woff2
new file mode 100644
index 0000000..5049c6c
--- /dev/null
+++ b/internal/generator/templates/themes/cathedral/spectral-v15-latin_latin-ext-600.woff2
Binary files differ
diff --git a/internal/generator/templates/themes/cathedral/spectral-v15-latin_latin-ext-regular.woff2 b/internal/generator/templates/themes/cathedral/spectral-v15-latin_latin-ext-regular.woff2
new file mode 100644
index 0000000..0eadb58
--- /dev/null
+++ b/internal/generator/templates/themes/cathedral/spectral-v15-latin_latin-ext-regular.woff2
Binary files differ
diff --git a/internal/generator/templates/themes/cathedral/theme.css b/internal/generator/templates/themes/cathedral/theme.css
index c50b4ff..3451e50 100644
--- a/internal/generator/templates/themes/cathedral/theme.css
+++ b/internal/generator/templates/themes/cathedral/theme.css
@@ -1,3 +1,29 @@
+ /* Self-hosted web fonts: Cinzel by Natanael Gama and Spectral by
+ Production Type (SIL OFL 1.1). Sources:
+ https://fonts.google.com/specimen/Cinzel and
+ https://fonts.google.com/specimen/Spectral
+ See FONT_LICENSE.txt in this directory. */
+ @font-face {
+ font-family: 'Cinzel';
+ src: url('cinzel-v26-latin_latin-ext-regular.woff2') format('woff2');
+ font-weight: 400;
+ font-style: normal;
+ font-display: swap;
+ }
+ @font-face {
+ font-family: 'Spectral';
+ src: url('spectral-v15-latin_latin-ext-regular.woff2') format('woff2');
+ font-weight: 400;
+ font-style: normal;
+ font-display: swap;
+ }
+ @font-face {
+ font-family: 'Spectral';
+ src: url('spectral-v15-latin_latin-ext-600.woff2') format('woff2');
+ font-weight: 600;
+ font-style: normal;
+ font-display: swap;
+ }
:root { --gold:#e0c47f; --violet:#6f4fae; --ruby:#8e2f49; --glass:#7bc2ff; --stone:#110f16; --chalk:#f0e8d9; }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Spectral',serif; background:#0f0d14; color:var(--chalk); overflow:hidden; height:100vh; height:100dvh; }
@@ -10,9 +36,9 @@
.overlay { position:relative; z-index:10; height:100vh; height:100dvh; display:flex; flex-direction:column; }
header { padding:16px 28px; background:rgba(11,10,16,0.84); backdrop-filter:blur(10px); border-bottom:1px solid rgba(224,196,127,0.18); display:flex; align-items:center; justify-content:space-between; }
.logo { display:flex; align-items:center; gap:14px; }
- .logo-mark { font-family:'Cinzel',serif; font-size:1.9rem; color:var(--gold); text-shadow:0 0 14px rgba(224,196,127,0.22); }
+ .logo-mark { font-family:'Cinzel',serif; font-size:1.9rem; font-weight:400; color:var(--gold); text-shadow:0 0 14px rgba(224,196,127,0.22); }
.logo-mark::after { content:'✢'; margin-left:8px; color:#fff3c8; text-shadow:0 0 12px rgba(224,196,127,0.6); }
- .logo-title h1 { font-family:'Cinzel',serif; font-size:1.5rem; letter-spacing:0.1em; color:var(--chalk); }
+ .logo-title h1 { font-family:'Cinzel',serif; font-size:1.5rem; font-weight:400; letter-spacing:0.1em; color:var(--chalk); }
.logo-title .subtitle { font-size:0.8rem; color:rgba(240,232,217,0.6); margin-top:2px; }
.logo-title .subtitle a { color:var(--gold); text-decoration:none; }
.logo-title .subtitle a:hover { color:#fff3c8; }
@@ -38,9 +64,10 @@
background:linear-gradient(180deg, rgba(42,19,33,0.96), rgba(15,10,18,0.96)) !important;
box-shadow:0 0 0 1px rgba(224,196,127,0.12), 0 22px 44px rgba(0,0,0,0.46), inset 4px 0 0 var(--gold) !important; }
.post-header { display:flex; justify-content:space-between; margin-bottom:12px; font-size:0.88rem; }
- .post-header strong { color:var(--gold); font-family:'Cinzel',serif; }
+ .post-header strong { color:var(--gold); font-family:'Cinzel',serif; font-weight:400; }
.post-time { color:rgba(240,232,217,0.58); }
.post-text { line-height:1.72; font-size:1rem; }
+ .post-text strong { font-weight:600; }
.post-text a { color:#cfe2ff; text-decoration:none; border-bottom:1px solid rgba(207,226,255,0.22); }
.post-text a:hover { border-color:rgba(207,226,255,0.72); }
.post-image { margin-top:10px; border:1px solid rgba(224,196,127,0.12); filter:saturate(0.9) contrast(1.06); }
@@ -48,7 +75,7 @@
.post-modal { display:none; position:fixed; inset:0; z-index:100; overflow-y:auto; padding:40px 20px; }
.post-modal.active { display:block; }
.modal-inner { max-width:800px; margin:0 auto; background:rgba(15,11,18,0.98); border:1px solid rgba(224,196,127,0.2); padding:38px; box-shadow:0 28px 84px rgba(0,0,0,0.72); }
- .modal-close { float:right; background:none; border:none; color:var(--gold); font-family:'Cinzel',serif; font-size:0.8rem; cursor:pointer; letter-spacing:0.14em; }
+ .modal-close { float:right; background:none; border:none; color:var(--gold); font-family:'Cinzel',serif; font-size:0.8rem; font-weight:400; cursor:pointer; letter-spacing:0.14em; }
@media(max-width:640px) { .nav-hints{display:none;} header{padding:12px 16px;} .content{padding:14px 16px;} .modal-inner{padding:24px 16px;} .transmit-btn{padding-top:11px;padding-bottom:11px;min-height:44px} .modal-close{padding:10px 14px;min-width:44px;min-height:44px;text-align:center} }
[data-sno-theme="cathedral"] .splash-overlay {
background:
@@ -73,7 +100,7 @@
radial-gradient(circle at 68% 58%, rgba(255,255,255,0.04) 0%, transparent 26%);
animation:cathedralSmoke 8s ease-in-out infinite alternate; }
@keyframes cathedralSmoke { from { transform:translateY(0) scale(1); } to { transform:translateY(-2%) scale(1.05); } }
- [data-sno-theme="cathedral"] .splash-title { font-family:'Cinzel',serif; font-size:clamp(1.7rem,5vw,2.5rem); color:#fff4d2; letter-spacing:0.08em; }
+ [data-sno-theme="cathedral"] .splash-title { font-family:'Cinzel',serif; font-size:clamp(1.7rem,5vw,2.5rem); font-weight:400; color:#fff4d2; letter-spacing:0.08em; }
[data-sno-theme="cathedral"] .splash-tag { color:var(--gold); letter-spacing:0.26em; }
[data-sno-theme="cathedral"] .splash-hint { color:rgba(240,232,217,0.82); }
[data-sno-theme="cathedral"] .splash-inner { text-shadow:0 2px 28px rgba(0,0,0,0.94); }