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/crisp_oasis | |
| 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/crisp_oasis')
| -rw-r--r-- | extras/html/themes/crisp_oasis/LICENSE | 21 | ||||
| -rw-r--r-- | extras/html/themes/crisp_oasis/code.ttf | bin | 0 -> 356060 bytes | |||
| -rw-r--r-- | extras/html/themes/crisp_oasis/example.html | 75 | ||||
| -rw-r--r-- | extras/html/themes/crisp_oasis/handnotes.ttf | bin | 0 -> 38344 bytes | |||
| -rw-r--r-- | extras/html/themes/crisp_oasis/heading.ttf | bin | 0 -> 58448 bytes | |||
| -rw-r--r-- | extras/html/themes/crisp_oasis/style.css | 196 | ||||
| -rw-r--r-- | extras/html/themes/crisp_oasis/text.ttf | bin | 0 -> 75152 bytes | |||
| -rw-r--r-- | extras/html/themes/crisp_oasis/theme.conf | 8 |
8 files changed, 300 insertions, 0 deletions
diff --git a/extras/html/themes/crisp_oasis/LICENSE b/extras/html/themes/crisp_oasis/LICENSE new file mode 100644 index 0000000..e2f7b17 --- /dev/null +++ b/extras/html/themes/crisp_oasis/LICENSE @@ -0,0 +1,21 @@ +Theme: crisp_oasis +Generated: 2025-06-22 21:38:55 + +Layout: book +Color Scheme: analogous (Dark) + +Font Licenses: +============== +Heading Font: Abril_Fatface +License: OFL +Category: display + +Body Font: Lato +License: OFL +Category: sans-serif + +Code Font: consola-mono +License: OFL +Category: monospace + +All fonts are free for personal use. diff --git a/extras/html/themes/crisp_oasis/code.ttf b/extras/html/themes/crisp_oasis/code.ttf Binary files differnew file mode 100644 index 0000000..78ca9da --- /dev/null +++ b/extras/html/themes/crisp_oasis/code.ttf diff --git a/extras/html/themes/crisp_oasis/example.html b/extras/html/themes/crisp_oasis/example.html new file mode 100644 index 0000000..014f25c --- /dev/null +++ b/extras/html/themes/crisp_oasis/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>Crisp Oasis - Gemtexter Theme</title> + <link rel="stylesheet" href="style.css" /> +</head> +<body> + <div class="header"> + <h1>Crisp Oasis</h1> + <p>A book layout with analogous colors</p> + </div> + + <div class="content"> + <h1>Welcome to Crisp Oasis</h1> + <p>This theme features a carefully crafted book layout with a dark analogous color scheme. The typography combines display fonts for headings with sans-serif for body text.</p> + + <h2>Typography Showcase</h2> + <p>The Lato font family provides excellent readability for body text, while Abril Fatface adds character to headings. Code blocks use consola-mono for clarity.</p> + + <h2>Color Palette</h2> + <p>Primary: <span style="color: #9f41a4; font-weight: bold;">#9f41a4</span> | + Secondary: <span style="color: #9f4679; font-weight: bold;">#9f4679</span> | + Accent: <span style="color: #643b93; font-weight: bold;">#643b93</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: "crisp_oasis", + layout: "book", + colors: { + primary: "#9f41a4", + secondary: "#9f4679", + accent: "#643b93" + }, + fonts: { + heading: "Abril_Fatface", + body: "Lato", + code: "consola-mono" + } +};</pre> + + <h2>Content Structure</h2> + <ul> + <li>Clean, readable typography with 15px base font size</li> + <li>Heading scale ratio of 4.24x for visual hierarchy</li> + <li>Line height of 1.49 for comfortable reading</li> + <li>Book layout optimized for content flow</li> + <li>Dark theme with analogous color harmony</li> + </ul> + + <h2>Font Licensing</h2> + <p>All fonts used in this theme are properly licensed:</p> + <ul> + <li>Abril_Fatface: OFL License</li> + <li>Lato: OFL License</li> + <li>consola-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 book 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/crisp_oasis/handnotes.ttf b/extras/html/themes/crisp_oasis/handnotes.ttf Binary files differnew file mode 100644 index 0000000..25e688b --- /dev/null +++ b/extras/html/themes/crisp_oasis/handnotes.ttf diff --git a/extras/html/themes/crisp_oasis/heading.ttf b/extras/html/themes/crisp_oasis/heading.ttf Binary files differnew file mode 100644 index 0000000..a291711 --- /dev/null +++ b/extras/html/themes/crisp_oasis/heading.ttf diff --git a/extras/html/themes/crisp_oasis/style.css b/extras/html/themes/crisp_oasis/style.css new file mode 100644 index 0000000..42af1cc --- /dev/null +++ b/extras/html/themes/crisp_oasis/style.css @@ -0,0 +1,196 @@ +/* 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: #9f41a4; + --color-secondary: #9f4679; + --color-accent: #643b93; + --color-bg: #171317; + --color-text: #ececec; + --font-size-base: 15px; + --font-size-h1: 4.24em; + --font-size-h2: 2.62em; + --font-size-h3: 1.62em; + --line-height: 1.49; +} + +* { + 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(159, 65, 164, 0.07); + font-style: italic; +} + +pre { + font-family: code, monospace; + background-color: rgba(236, 236, 236, 0.04); + border: 1px solid rgba(236, 236, 236, 0.13); + padding: 1em; + overflow-x: auto; + border-radius: 4px; + font-size: 0.9em; +} + +code { + font-family: code, monospace; + background-color: rgba(236, 236, 236, 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(236, 236, 236, 0.20); + margin: 2em 0; +} + + +/* Layout: book */ + +body { + max-width: 40em; + margin: 4em auto; + padding: 2em; + line-height: 1.8; + text-align: justify; + hyphens: auto; +} + +.header { + text-align: center; + margin-bottom: 6em; + page-break-after: always; +} + +.header h1 { + font-size: 3em; + margin-bottom: 0.5em; +} + +h1 { + text-align: center; + margin: 3em 0 2em 0; + page-break-before: always; +} + +h2 { + margin-top: 2em; + text-align: left; +} + +p { + text-indent: 1.5em; + margin: 0; +} + +p:first-of-type { + text-indent: 0; +} + +p:first-of-type::first-letter { + font-size: 4em; + line-height: 1; + float: left; + margin: 0 0.1em 0 0; + font-family: heading, serif; + color: var(--color-primary); +} + +.quote { + margin: 2em 2em; + text-align: center; + font-style: italic; +} diff --git a/extras/html/themes/crisp_oasis/text.ttf b/extras/html/themes/crisp_oasis/text.ttf Binary files differnew file mode 100644 index 0000000..bb2e887 --- /dev/null +++ b/extras/html/themes/crisp_oasis/text.ttf diff --git a/extras/html/themes/crisp_oasis/theme.conf b/extras/html/themes/crisp_oasis/theme.conf new file mode 100644 index 0000000..f738703 --- /dev/null +++ b/extras/html/themes/crisp_oasis/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/Abril_Fatface/Abril_Fatface-Bold.ttf +declare -xr HTML_WEBFONT_TEXT=./extras/html/fonts/Lato/Lato-Regular.ttf +declare -xr HTML_WEBFONT_CODE=./extras/html/fonts/consola-mono/consola-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 |
