summaryrefslogtreecommitdiff
path: root/extras/html/themes/clear_forest
diff options
context:
space:
mode:
Diffstat (limited to 'extras/html/themes/clear_forest')
-rw-r--r--extras/html/themes/clear_forest/LICENSE21
-rw-r--r--extras/html/themes/clear_forest/code.ttfbin0 -> 356060 bytes
-rw-r--r--extras/html/themes/clear_forest/example.html75
-rw-r--r--extras/html/themes/clear_forest/handnotes.ttfbin0 -> 38344 bytes
-rw-r--r--extras/html/themes/clear_forest/heading.ttfbin0 -> 18056 bytes
-rw-r--r--extras/html/themes/clear_forest/style.css208
-rw-r--r--extras/html/themes/clear_forest/theme.conf8
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
new file mode 100644
index 0000000..78ca9da
--- /dev/null
+++ b/extras/html/themes/clear_forest/code.ttf
Binary files differ
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
new file mode 100644
index 0000000..25e688b
--- /dev/null
+++ b/extras/html/themes/clear_forest/handnotes.ttf
Binary files differ
diff --git a/extras/html/themes/clear_forest/heading.ttf b/extras/html/themes/clear_forest/heading.ttf
new file mode 100644
index 0000000..acb3c81
--- /dev/null
+++ b/extras/html/themes/clear_forest/heading.ttf
Binary files differ
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