diff options
| author | Paul Buetow <paul@buetow.org> | 2025-06-22 22:06:43 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-06-22 22:06:43 +0300 |
| commit | 3af674aebad9e3792fbf13b3cbda7b1691b1f4f3 (patch) | |
| tree | c70f6033d21628579d96044c89a060e9031dbf8b /extras/html/themes/modern_storm | |
| parent | 99078f90bf5222c618a60e536cb148850e4b89e2 (diff) | |
Add 50 new experimental HTML themes for Gemtexter
- Generated 50 unique themes with creative layouts and color schemes
- Each theme includes:
- Custom CSS with W3C validated styles
- Example HTML preview page
- Font files with proper licensing
- Theme configuration file
- License documentation
- Layout types include: centered, wide, magazine, card, brutalist,
terminal, book, hero, sidebar, and more creative designs
- All themes support both light and dark color schemes
- Fixed CSS validation issues for W3C compliance
- Created theme gallery page at extras/html/themes/index.html
- Added screenshot previews for all themes
- Utility scripts included:
- generate_50_themes.py - Main theme generator
- fix_css_validation.py - CSS validator/fixer
- create_theme_previews.py - Screenshot generator
- Theme gallery with filtering at index.html
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'extras/html/themes/modern_storm')
| -rw-r--r-- | extras/html/themes/modern_storm/LICENSE | 21 | ||||
| -rw-r--r-- | extras/html/themes/modern_storm/code.ttf | bin | 0 -> 64104 bytes | |||
| -rw-r--r-- | extras/html/themes/modern_storm/example.html | 75 | ||||
| -rw-r--r-- | extras/html/themes/modern_storm/handnotes.ttf | bin | 0 -> 38344 bytes | |||
| -rw-r--r-- | extras/html/themes/modern_storm/style.css | 161 | ||||
| -rw-r--r-- | extras/html/themes/modern_storm/theme.conf | 8 |
6 files changed, 265 insertions, 0 deletions
diff --git a/extras/html/themes/modern_storm/LICENSE b/extras/html/themes/modern_storm/LICENSE new file mode 100644 index 0000000..ad6ad4e --- /dev/null +++ b/extras/html/themes/modern_storm/LICENSE @@ -0,0 +1,21 @@ +Theme: modern_storm +Generated: 2025-06-22 21:38:55 + +Layout: wide +Color Scheme: split_complementary (Light) + +Font Licenses: +============== +Heading Font: roboto-slab +License: Apache +Category: serif + +Body Font: oxygen +License: OFL +Category: sans-serif + +Code Font: intelone-mono +License: OFL +Category: monospace + +All fonts are free for personal use. diff --git a/extras/html/themes/modern_storm/code.ttf b/extras/html/themes/modern_storm/code.ttf Binary files differnew file mode 100644 index 0000000..2711179 --- /dev/null +++ b/extras/html/themes/modern_storm/code.ttf diff --git a/extras/html/themes/modern_storm/example.html b/extras/html/themes/modern_storm/example.html new file mode 100644 index 0000000..ee4c9bd --- /dev/null +++ b/extras/html/themes/modern_storm/example.html @@ -0,0 +1,75 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>Modern Storm - Gemtexter Theme</title> + <link rel="stylesheet" href="style.css" /> +</head> +<body> + <div class="header"> + <h1>Modern Storm</h1> + <p>A wide layout with split complementary colors</p> + </div> + + <div class="content"> + <h1>Welcome to Modern Storm</h1> + <p>This theme features a carefully crafted wide layout with a light split complementary color scheme. The typography combines serif fonts for headings with sans-serif for body text.</p> + + <h2>Typography Showcase</h2> + <p>The oxygen font family provides excellent readability for body text, while roboto-slab adds character to headings. Code blocks use intelone-mono for clarity.</p> + + <h2>Color Palette</h2> + <p>Primary: <span style="color: #822121; font-weight: bold;">#822121</span> | + Secondary: <span style="color: #2a7853; font-weight: bold;">#2a7853</span> | + Accent: <span style="color: #2a5378; font-weight: bold;">#2a5378</span></p> + + <h3>Interactive Elements</h3> + <p>Links like <a href="#">this example</a> and longer <a href="#" class="textlink">text links that demonstrate the theme's navigation style</a> use the secondary color.</p> + + <div class="quote"> + "Design is not just what it looks like and feels like. Design is how it works." — Steve Jobs + </div> + + <h3>Code Examples</h3> + <p>Inline code like <code>theme.generate()</code> and larger blocks:</p> + <pre>// Theme configuration +const theme = { + name: "modern_storm", + layout: "wide", + colors: { + primary: "#822121", + secondary: "#2a7853", + accent: "#2a5378" + }, + fonts: { + heading: "roboto-slab", + body: "oxygen", + code: "intelone-mono" + } +};</pre> + + <h2>Content Structure</h2> + <ul> + <li>Clean, readable typography with 16px base font size</li> + <li>Heading scale ratio of 2.83x for visual hierarchy</li> + <li>Line height of 1.66 for comfortable reading</li> + <li>Wide layout optimized for content flow</li> + <li>Light theme with split complementary color harmony</li> + </ul> + + <h2>Font Licensing</h2> + <p>All fonts used in this theme are properly licensed:</p> + <ul> + <li>roboto-slab: Apache License</li> + <li>oxygen: OFL License</li> + <li>intelone-mono: OFL License</li> + </ul> + + <h3>Final Thoughts</h3> + <p>Every element of this theme has been carefully designed to create a harmonious reading experience. The wide layout ensures content is presented in an engaging way, while the color scheme provides the perfect backdrop for your words to shine.</p> + + <p>Whether you're writing technical documentation, creative prose, or anything in between, this theme adapts to showcase your content beautifully.</p> + </div> +</body> +</html>
\ No newline at end of file diff --git a/extras/html/themes/modern_storm/handnotes.ttf b/extras/html/themes/modern_storm/handnotes.ttf Binary files differnew file mode 100644 index 0000000..25e688b --- /dev/null +++ b/extras/html/themes/modern_storm/handnotes.ttf diff --git a/extras/html/themes/modern_storm/style.css b/extras/html/themes/modern_storm/style.css new file mode 100644 index 0000000..9fbe8c2 --- /dev/null +++ b/extras/html/themes/modern_storm/style.css @@ -0,0 +1,161 @@ +/* Base styles */ +@font-face { + font-family: 'text'; + src: url("./text.ttf") format("truetype"); +} + +@font-face { + font-family: 'heading'; + src: url("./heading.ttf") format("truetype"); +} + +@font-face { + font-family: 'code'; + src: url("./code.ttf") format("truetype"); +} + +@font-face { + font-family: 'handnotes'; + src: url("./handnotes.ttf") format("truetype"); +} + +:root { + --color-primary: #822121; + --color-secondary: #2a7853; + --color-accent: #2a5378; + --color-bg: #efecec; + --color-text: #212121; + --font-size-base: 16px; + --font-size-h1: 2.83em; + --font-size-h2: 2.0em; + --font-size-h3: 1.41em; + --line-height: 1.66; +} + +* { + box-sizing: border-box; +} + +html { + font-size: var(--font-size-base); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +body { + font-family: text, sans-serif; + background-color: var(--color-bg); + color: var(--color-text); + line-height: var(--line-height); + margin: 0; + padding: 0; + overflow-wrap: break-word; +} + +h1, h2, h3 { + font-family: heading, serif; + line-height: 1.2; + margin-top: 1em; + margin-bottom: 0.5em; +} + +h1 { + font-size: var(--font-size-h1); + color: var(--color-primary); +} + +h2 { + font-size: var(--font-size-h2); + color: var(--color-primary); +} + +h3 { + font-size: var(--font-size-h3); + color: var(--color-secondary); +} + +a { + font-family: code, monospace; + color: var(--color-secondary); + text-decoration: none; + transition: all 0.3s ease; +} + +a:hover { + color: var(--color-accent); + text-decoration: underline; +} + +.textlink { + font-family: text, sans-serif; +} + +.quote { + font-family: handnotes, cursive; + border-left: 4px solid var(--color-accent); + padding: 1em 1.5em; + margin: 1.5em 0; + background-color: rgba(130, 33, 33, 0.07); + font-style: italic; +} + +pre { + font-family: code, monospace; + background-color: rgba(33, 33, 33, 0.04); + border: 1px solid rgba(33, 33, 33, 0.13); + padding: 1em; + overflow-x: auto; + border-radius: 4px; + font-size: 0.9em; +} + +code { + font-family: code, monospace; + background-color: rgba(33, 33, 33, 0.04); + padding: 0.2em 0.4em; + border-radius: 3px; + font-size: 0.9em; +} + +ul, ol { + padding-left: 2em; + margin: 1em 0; +} + +li { + margin: 0.5em 0; +} + +img { + max-width: 100%; + height: auto; +} + +hr { + border: none; + border-top: 1px solid rgba(33, 33, 33, 0.20); + margin: 2em 0; +} + + +/* Layout: wide */ + +body { + max-width: 90%; + margin: 0 auto; + padding: 3em 2em; +} + +.header { + display: flex; + justify-content: space-between; + align-items: baseline; + margin-bottom: 4em; + padding-bottom: 2em; + border-bottom: 3px solid var(--color-primary); +} + +.content { + max-width: 75ch; + margin: 0 auto; +} diff --git a/extras/html/themes/modern_storm/theme.conf b/extras/html/themes/modern_storm/theme.conf new file mode 100644 index 0000000..19a2553 --- /dev/null +++ b/extras/html/themes/modern_storm/theme.conf @@ -0,0 +1,8 @@ +declare -xr HTML_HEADER=./extras/html/header.html.part +declare -xr HTML_FOOTER=./extras/html/footer.html.part +declare -xr HTML_CSS_STYLE=$HTML_THEME_DIR/style.css +declare -xr HTML_WEBFONT_HEADING=./extras/html/fonts/roboto-slab/roboto-slab-Bold.ttf +declare -xr HTML_WEBFONT_TEXT=./extras/html/fonts/oxygen/oxygen-Regular.ttf +declare -xr HTML_WEBFONT_CODE=./extras/html/fonts/intelone-mono/intelone-mono-Regular.ttf +declare -xr HTML_WEBFONT_HANDNOTES=./extras/html/fonts/khand/khand.ttf +declare -xr SOURCE_HIGHLIGHT_CSS=./extras/html/source-highlight-styles/mono.css |
