summaryrefslogtreecommitdiff
path: root/extras/html/themes/strong_breeze
diff options
context:
space:
mode:
Diffstat (limited to 'extras/html/themes/strong_breeze')
-rw-r--r--extras/html/themes/strong_breeze/LICENSE21
-rw-r--r--extras/html/themes/strong_breeze/code.ttfbin0 -> 64104 bytes
-rw-r--r--extras/html/themes/strong_breeze/example.html75
-rw-r--r--extras/html/themes/strong_breeze/handnotes.ttfbin0 -> 38344 bytes
-rw-r--r--extras/html/themes/strong_breeze/style.css193
-rw-r--r--extras/html/themes/strong_breeze/text.ttfbin0 -> 149120 bytes
-rw-r--r--extras/html/themes/strong_breeze/theme.conf8
7 files changed, 297 insertions, 0 deletions
diff --git a/extras/html/themes/strong_breeze/LICENSE b/extras/html/themes/strong_breeze/LICENSE
new file mode 100644
index 0000000..1617c1a
--- /dev/null
+++ b/extras/html/themes/strong_breeze/LICENSE
@@ -0,0 +1,21 @@
+Theme: strong_breeze
+Generated: 2025-06-22 21:38:55
+
+Layout: geometric
+Color Scheme: split_complementary (Dark)
+
+Font Licenses:
+==============
+Heading Font: oxygen
+License: OFL
+Category: sans-serif
+
+Body Font: Merriweather
+License: OFL
+Category: serif
+
+Code Font: intelone-mono
+License: OFL
+Category: monospace
+
+All fonts are free for personal use.
diff --git a/extras/html/themes/strong_breeze/code.ttf b/extras/html/themes/strong_breeze/code.ttf
new file mode 100644
index 0000000..2711179
--- /dev/null
+++ b/extras/html/themes/strong_breeze/code.ttf
Binary files differ
diff --git a/extras/html/themes/strong_breeze/example.html b/extras/html/themes/strong_breeze/example.html
new file mode 100644
index 0000000..038aa6a
--- /dev/null
+++ b/extras/html/themes/strong_breeze/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>Strong Breeze - Gemtexter Theme</title>
+ <link rel="stylesheet" href="style.css" />
+</head>
+<body>
+ <div class="header">
+ <h1>Strong Breeze</h1>
+ <p>A geometric layout with split complementary colors</p>
+ </div>
+
+ <div class="content">
+ <h1>Welcome to Strong Breeze</h1>
+ <p>This theme features a carefully crafted geometric layout with a dark split complementary color scheme. The typography combines sans-serif fonts for headings with serif for body text.</p>
+
+ <h2>Typography Showcase</h2>
+ <p>The Merriweather font family provides excellent readability for body text, while oxygen adds character to headings. Code blocks use intelone-mono for clarity.</p>
+
+ <h2>Color Palette</h2>
+ <p>Primary: <span style="color: #42c757; font-weight: bold;">#42c757</span> |
+ Secondary: <span style="color: #974fba; font-weight: bold;">#974fba</span> |
+ Accent: <span style="color: #ba4f75; font-weight: bold;">#ba4f75</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: "strong_breeze",
+ layout: "geometric",
+ colors: {
+ primary: "#42c757",
+ secondary: "#974fba",
+ accent: "#ba4f75"
+ },
+ fonts: {
+ heading: "oxygen",
+ body: "Merriweather",
+ code: "intelone-mono"
+ }
+};</pre>
+
+ <h2>Content Structure</h2>
+ <ul>
+ <li>Clean, readable typography with 14px base font size</li>
+ <li>Heading scale ratio of 2.83x for visual hierarchy</li>
+ <li>Line height of 1.6 for comfortable reading</li>
+ <li>Geometric layout optimized for content flow</li>
+ <li>Dark 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>oxygen: OFL License</li>
+ <li>Merriweather: 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 geometric 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/strong_breeze/handnotes.ttf b/extras/html/themes/strong_breeze/handnotes.ttf
new file mode 100644
index 0000000..25e688b
--- /dev/null
+++ b/extras/html/themes/strong_breeze/handnotes.ttf
Binary files differ
diff --git a/extras/html/themes/strong_breeze/style.css b/extras/html/themes/strong_breeze/style.css
new file mode 100644
index 0000000..b152084
--- /dev/null
+++ b/extras/html/themes/strong_breeze/style.css
@@ -0,0 +1,193 @@
+/* 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: #42c757;
+ --color-secondary: #974fba;
+ --color-accent: #ba4f75;
+ --color-bg: #1e241f;
+ --color-text: #e8e8e8;
+ --font-size-base: 14px;
+ --font-size-h1: 2.83em;
+ --font-size-h2: 2.0em;
+ --font-size-h3: 1.41em;
+ --line-height: 1.6;
+}
+
+* {
+ 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(66, 199, 87, 0.07);
+ font-style: italic;
+}
+
+pre {
+ font-family: code, monospace;
+ background-color: rgba(232, 232, 232, 0.04);
+ border: 1px solid rgba(232, 232, 232, 0.13);
+ padding: 1em;
+ overflow-x: auto;
+ border-radius: 4px;
+ font-size: 0.9em;
+}
+
+code {
+ font-family: code, monospace;
+ background-color: rgba(232, 232, 232, 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(232, 232, 232, 0.20);
+ margin: 2em 0;
+}
+
+
+/* Layout: geometric */
+
+body {
+ padding: 2em;
+ background-color: var(--color-bg);
+ background-image: repeating-linear-gradient(45deg, rgba(66, 199, 87, 0.07) 0, rgba(66, 199, 87, 0.07) 10px, transparent 10px, transparent 20px), repeating-linear-gradient(-45deg, rgba(151, 79, 186, 0.07) 0, rgba(151, 79, 186, 0.07) 10px, transparent 10px, transparent 20px);
+}
+
+.header {
+ background-color: var(--color-bg);
+ border: 4px solid var(--color-primary);
+ padding: 3em;
+ margin-bottom: 3em;
+ position: relative;
+ clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
+}
+
+h1, h2, h3 {
+ position: relative;
+ padding-left: 2em;
+}
+
+h1::before, h2::before, h3::before {
+ content: "";
+ position: absolute;
+ left: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 1em;
+ height: 1em;
+ background-color: var(--color-accent);
+ clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
+}
+
+p, ul, pre, .quote {
+ background-color: var(--color-bg);
+ padding: 2em;
+ margin: 2em 0;
+ border-left: 4px solid var(--color-secondary);
+ position: relative;
+}
+
+p::after, ul::after, pre::after, .quote::after {
+ content: "";
+ position: absolute;
+ right: -10px;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 20px;
+ height: 20px;
+ background-color: var(--color-accent);
+ clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
+}
diff --git a/extras/html/themes/strong_breeze/text.ttf b/extras/html/themes/strong_breeze/text.ttf
new file mode 100644
index 0000000..3fecc77
--- /dev/null
+++ b/extras/html/themes/strong_breeze/text.ttf
Binary files differ
diff --git a/extras/html/themes/strong_breeze/theme.conf b/extras/html/themes/strong_breeze/theme.conf
new file mode 100644
index 0000000..11ad64d
--- /dev/null
+++ b/extras/html/themes/strong_breeze/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/oxygen/oxygen-Bold.ttf
+declare -xr HTML_WEBFONT_TEXT=./extras/html/fonts/Merriweather/Merriweather-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