Initial theme scaffolding (v0.0.1)
- Bootstrap 5 CSS/JS integration via Yarn (served locally)
- Dart Sass build pipeline with PostCSS, Autoprefixer, cssnano
- Twig 3.0 via Composer with PSR-4 autoloading
- FSE block theme templates (index, home, single, page, archive, search, 404)
- Template parts (header, footer) and block patterns
- theme.json with Bootstrap 5-aligned design tokens
- Gitea CI/CD workflow for automated release packages
- WordPress i18n support (en_US base, de_CH translation)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-08 02:25:33 +01:00
|
|
|
// Custom theme styles
|
|
|
|
|
// Add theme-specific styles here that go beyond Bootstrap defaults
|
v0.1.0 - Core Theme: patterns, dark mode, block styles, style variations
- Add 16 block patterns across 7 new categories (hero, features, CTA,
testimonials, pricing, contact, text)
- Add dark mode toggle with localStorage persistence and system preference
detection (Bootstrap 5.3 data-bs-theme)
- Register 17 custom block styles mapping Bootstrap components to WordPress
blocks (cards, alerts, tables, buttons, etc.)
- Add 4 style variations: Ocean, Forest, Sunset, Midnight
- Add sidebar template part and "Blog with Sidebar" custom template
- Add Inter and Lora variable fonts with fontFace declarations
- Add Display font size (fluid 2.5rem-3.5rem)
- Update translations (en_US .pot, de_CH .po) with all new strings
- Bump version to 0.1.0
Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-08 03:07:16 +01:00
|
|
|
|
|
|
|
|
// Dark mode toggle button
|
|
|
|
|
.wp-bootstrap-dark-mode-toggle {
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
background: none;
|
|
|
|
|
border: none;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
padding: 0.375rem;
|
|
|
|
|
color: currentColor;
|
|
|
|
|
line-height: 1;
|
|
|
|
|
transition: opacity 0.15s ease-in-out;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
opacity: 0.75;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:focus-visible {
|
|
|
|
|
outline: 2px solid currentColor;
|
|
|
|
|
outline-offset: 2px;
|
|
|
|
|
border-radius: 0.25rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-08 16:05:29 +01:00
|
|
|
// Transparent header variant
|
|
|
|
|
.header-transparent {
|
|
|
|
|
position: absolute;
|
|
|
|
|
width: 100%;
|
|
|
|
|
z-index: $zindex-fixed;
|
|
|
|
|
|
|
|
|
|
.navbar {
|
|
|
|
|
background: transparent !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Offcanvas navigation dark mode compatibility
|
|
|
|
|
[data-bs-theme="dark"] {
|
|
|
|
|
.offcanvas {
|
|
|
|
|
--bs-offcanvas-bg: var(--bs-body-bg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
v0.1.0 - Core Theme: patterns, dark mode, block styles, style variations
- Add 16 block patterns across 7 new categories (hero, features, CTA,
testimonials, pricing, contact, text)
- Add dark mode toggle with localStorage persistence and system preference
detection (Bootstrap 5.3 data-bs-theme)
- Register 17 custom block styles mapping Bootstrap components to WordPress
blocks (cards, alerts, tables, buttons, etc.)
- Add 4 style variations: Ocean, Forest, Sunset, Midnight
- Add sidebar template part and "Blog with Sidebar" custom template
- Add Inter and Lora variable fonts with fontFace declarations
- Add Display font size (fluid 2.5rem-3.5rem)
- Update translations (en_US .pot, de_CH .po) with all new strings
- Bump version to 0.1.0
Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-08 03:07:16 +01:00
|
|
|
// Dark mode overrides for block styles with hardcoded colors
|
|
|
|
|
[data-bs-theme="dark"] {
|
|
|
|
|
.is-style-alert-info {
|
|
|
|
|
background-color: #032830;
|
|
|
|
|
border-color: #055160;
|
|
|
|
|
color: #6edff6;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.is-style-alert-success {
|
|
|
|
|
background-color: #051b11;
|
|
|
|
|
border-color: #0a3622;
|
|
|
|
|
color: #75b798;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.is-style-alert-warning {
|
|
|
|
|
background-color: #332701;
|
|
|
|
|
border-color: #664d03;
|
|
|
|
|
color: #ffda6a;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.is-style-alert-danger {
|
|
|
|
|
background-color: #2c0b0e;
|
|
|
|
|
border-color: #58151c;
|
|
|
|
|
color: #ea868f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.is-style-card,
|
|
|
|
|
.is-style-card-shadow {
|
|
|
|
|
border-color: $gray-600;
|
|
|
|
|
background: var(--bs-body-bg);
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-02-08 16:27:13 +01:00
|
|
|
|
|
|
|
|
// Skip link (accessibility)
|
|
|
|
|
.wp-bootstrap-skip-link {
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: -100%;
|
|
|
|
|
left: 0;
|
|
|
|
|
z-index: $zindex-fixed + 10;
|
|
|
|
|
padding: 0.5rem 1rem;
|
|
|
|
|
background: var(--bs-primary);
|
|
|
|
|
color: #fff;
|
|
|
|
|
text-decoration: none;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
|
|
|
|
|
&:focus {
|
|
|
|
|
top: 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Post featured image
|
|
|
|
|
.post-thumbnail {
|
|
|
|
|
aspect-ratio: 16 / 9;
|
|
|
|
|
object-fit: cover;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Card thumbnail
|
|
|
|
|
.card-thumbnail {
|
|
|
|
|
aspect-ratio: 3 / 2;
|
|
|
|
|
object-fit: cover;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Sidebar heading
|
|
|
|
|
.sidebar-heading {
|
|
|
|
|
letter-spacing: 1.6px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Hero overlay
|
|
|
|
|
.hero-overlay {
|
|
|
|
|
background-position: center;
|
|
|
|
|
background-size: cover;
|
|
|
|
|
background-repeat: no-repeat;
|
|
|
|
|
opacity: 0.3;
|
|
|
|
|
}
|