diff options
Diffstat (limited to 'extras/html/themes/clear_forest')
| -rw-r--r-- | extras/html/themes/clear_forest/LICENSE | 21 | ||||
| -rw-r--r-- | extras/html/themes/clear_forest/code.ttf | bin | 0 -> 356060 bytes | |||
| -rw-r--r-- | extras/html/themes/clear_forest/example.html | 75 | ||||
| -rw-r--r-- | extras/html/themes/clear_forest/handnotes.ttf | bin | 0 -> 38344 bytes | |||
| -rw-r--r-- | extras/html/themes/clear_forest/heading.ttf | bin | 0 -> 18056 bytes | |||
| -rw-r--r-- | extras/html/themes/clear_forest/style.css | 208 | ||||
| -rw-r--r-- | extras/html/themes/clear_forest/theme.conf | 8 |
7 files changed, 312 insertions, 0 deletions
diff --git a/extras/html/themes/clear_forest/LICENSE b/extras/html/themes/clear_forest/LICENSE new file mode 100644 index 0000000..8db2eea --- /dev/null +++ b/extras/html/themes/clear_forest/LICENSE @@ -0,0 +1,21 @@ +Theme: clear_forest +Generated: 2025-06-22 21:38:55 + +Layout: technical +Color Scheme: split_complementary (Light) + +Font Licenses: +============== +Heading Font: pixelon +License: Free +Category: display + +Body Font: roboto-slab +License: Apache +Category: serif + +Code Font: consola-mono +License: OFL +Category: monospace + +All fonts are free for personal use. diff --git a/extras/html/themes/clear_forest/code.ttf b/extras/html/themes/clear_forest/code.ttf Binary files differnew file mode 100644 index 0000000..78ca9da --- /dev/null +++ b/extras/html/themes/clear_forest/code.ttf diff --git a/extras/html/themes/clear_forest/example.html b/extras/html/themes/clear_forest/example.html new file mode 100644 index 0000000..2d4d5cd --- /dev/null +++ b/extras/html/themes/clear_forest/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>Clear Forest - Gemtexter Theme</title> + <link rel="stylesheet" href="style.css" /> +</head> +<body> + <div class="header"> + <h1>Clear Forest</h1> + <p>A technical layout with split complementary colors</p> + </div> + + <div class="content"> + <h1>Welcome to Clear Forest</h1> + <p>This theme features a carefully crafted technical layout with a light split complementary color scheme. The typography combines display fonts for headings with serif for body text.</p> + + <h2>Typography Showcase</h2> + <p>The roboto-slab font family provides excellent readability for body text, while pixelon adds character to headings. Code blocks use consola-mono for clarity.</p> + + <h2>Color Palette</h2> + <p>Primary: <span style="color: #4eaa17; font-weight: bold;">#4eaa17</span> | + Secondary: <span style="color: #37269b; font-weight: bold;">#37269b</span> | + Accent: <span style="color: #9b268f; font-weight: bold;">#9b268f</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: "clear_forest", + layout: "technical", + colors: { + primary: "#4eaa17", + secondary: "#37269b", + accent: "#9b268f" + }, + fonts: { + heading: "pixelon", + body: "roboto-slab", + 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.73 for comfortable reading</li> + <li>Technical 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>pixelon: Free License</li> + <li>roboto-slab: Apache 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 technical 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/clear_forest/handnotes.ttf b/extras/html/themes/clear_forest/handnotes.ttf Binary files differnew file mode 100644 index 0000000..25e688b --- /dev/null +++ b/extras/html/themes/clear_forest/handnotes.ttf diff --git a/extras/html/themes/clear_forest/heading.ttf b/extras/html/themes/clear_forest/heading.ttf Binary files differnew file mode 100644 index 0000000..acb3c81 --- /dev/null +++ b/extras/html/themes/clear_forest/heading.ttf diff --git a/extras/html/themes/clear_forest/style.css b/extras/html/themes/clear_forest/style.css new file mode 100644 index 0000000..364dbca --- /dev/null +++ b/extras/html/themes/clear_forest/style.css @@ -0,0 +1,208 @@ +/* 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: #4eaa17; + --color-secondary: #37269b; + --color-accent: #9b268f; + --color-bg: #eff1ee; + --color-text: #1a1a1a; + --font-size-base: 15px; + --font-size-h1: 4.24em; + --font-size-h2: 2.62em; + --font-size-h3: 1.62em; + --line-height: 1.73; +} + +* { + 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(78, 170, 23, 0.07); + font-style: italic; +} + +pre { + font-family: code, monospace; + background-color: rgba(26, 26, 26, 0.04); + border: 1px solid rgba(26, 26, 26, 0.13); + padding: 1em; + overflow-x: auto; + border-radius: 4px; + font-size: 0.9em; +} + +code { + font-family: code, monospace; + background-color: rgba(26, 26, 26, 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(26, 26, 26, 0.20); + margin: 2em 0; +} + + +/* Layout: technical */ + +body { + font-family: code, monospace; + background-color: #0a0a0a; + color: #e0e0e0; + padding: 2em; + background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px); + background-size: 20px 20px; +} + +.header { + border: 2px solid #4eaa17; + padding: 2em; + margin-bottom: 3em; + position: relative; + background: linear-gradient(135deg, transparent 10px, #0a0a0a 10px); +} + +.header::before { + content: "//"; + position: absolute; + top: 10px; + left: 10px; + color: #4eaa17; + font-size: 2em; +} + +h1, h2, h3 { + font-family: code, monospace; + text-transform: uppercase; + letter-spacing: 0.1em; + border-left: 4px solid #9b268f; + padding-left: 1em; +} + +h1::before { content: "001 "; color: #4eaa17; } +h2::before { content: "010 "; color: #37269b; } +h3::before { content: "011 "; color: #9b268f; } + +p, ul, pre, .quote { + background-color: rgba(255,255,255,0.02); + border: 1px solid rgba(255,255,255,0.1); + padding: 1.5em; + margin: 1.5em 0; + position: relative; +} + +p::before, ul::before, .quote::before { + content: ">"; + position: absolute; + left: -1em; + color: #9b268f; +} + +a { + color: #9b268f; + text-decoration: none; + padding: 0.2em 0.4em; + background-color: rgba(255,255,255,0.05); + border: 1px solid rgba(155, 38, 143, 0.20); + transition: all 0.3s ease; +} + +a:hover { + background-color: rgba(155, 38, 143, 0.13); + border-color: #9b268f; +} diff --git a/extras/html/themes/clear_forest/theme.conf b/extras/html/themes/clear_forest/theme.conf new file mode 100644 index 0000000..6147fc7 --- /dev/null +++ b/extras/html/themes/clear_forest/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/pixelon/pixelon-Bold.ttf +declare -xr HTML_WEBFONT_TEXT=./extras/html/fonts/roboto-slab/roboto-slab-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 |
