You've already forked wp-bootstrap
v0.2.0 - Design Editor: templates, patterns, header/footer variations
Full Design Editor compatibility with custom block categories, page templates, header/footer variations, and navigation styles. Both FSE (admin) and Twig (frontend) sides kept in sync. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
31
CHANGELOG.md
31
CHANGELOG.md
@@ -2,6 +2,37 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [0.2.0] - 2026-02-08
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Full Design Editor compatibility: Bootstrap JS in block editor, full Bootstrap SCSS in editor stylesheet
|
||||||
|
- 3 custom block categories: Bootstrap Layout, Bootstrap Components, Bootstrap Navigation
|
||||||
|
- 3 custom pattern categories: Layout, Components, Navigation
|
||||||
|
- 4 layout patterns: container, 2-column, 3-column, full-width section
|
||||||
|
- 2 component patterns: card group, accordion
|
||||||
|
- 3 full-page patterns: about, services, contact
|
||||||
|
- 4 custom page templates (FSE + Twig): landing (no header/footer), full-width, hero, sidebar
|
||||||
|
- 2 header variations (FSE + Twig): centered, transparent
|
||||||
|
- 2 footer variations (FSE + Twig): minimal, multi-column
|
||||||
|
- 2 navigation patterns: dark navbar, offcanvas mobile navigation
|
||||||
|
- Offcanvas navigation Twig partial with Bootstrap offcanvas component
|
||||||
|
- Editor SCSS overrides for alignment and spacing consistency
|
||||||
|
- Shadow presets (sm, md, lg), aspect ratio presets, and custom layout values in `theme.json`
|
||||||
|
- Header/footer variant support via `get_theme_mod()` in `ContextBuilder`
|
||||||
|
- Twig block inheritance in `base.html.twig` for header/footer variant overrides
|
||||||
|
- Custom page template routing via `get_page_template_slug()` in `TemplateController`
|
||||||
|
- Transparent header and offcanvas dark mode SCSS styles
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Enhanced `editor-style.scss` to import full Bootstrap for WYSIWYG editor fidelity
|
||||||
|
- Enhanced `theme.json` with custom templates and template parts registration
|
||||||
|
- Enhanced `functions.php` with block editor assets, block categories, and pattern categories
|
||||||
|
- Enhanced `ContextBuilder` with header/footer variant methods
|
||||||
|
- Enhanced `TemplateController` with custom page template slug routing
|
||||||
|
- Updated translation files (`.pot` and `de_CH.po`) with all new translatable strings
|
||||||
|
|
||||||
## [0.1.1] - 2026-02-08
|
## [0.1.1] - 2026-02-08
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
35
CLAUDE.md
35
CLAUDE.md
@@ -34,7 +34,7 @@ This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase w
|
|||||||
|
|
||||||
**Note for AI Assistants:** Clean this section after the specific features are done or new releases are made. Effective changes are tracked in `CHANGELOG.md`. Do not add completed versions here - document them in the Session History section at the end of this file.
|
**Note for AI Assistants:** Clean this section after the specific features are done or new releases are made. Effective changes are tracked in `CHANGELOG.md`. Do not add completed versions here - document them in the Session History section at the end of this file.
|
||||||
|
|
||||||
Current version is **v0.1.1** - Bootstrap Frontend Rendering. Next milestone is **v0.2.0 - Design Editor**. See `PLAN.md` for details.
|
Current version is **v0.2.0** - Design Editor. Next milestone is **v0.3.0 - Polish**. See `PLAN.md` for details.
|
||||||
|
|
||||||
## Technical Stack
|
## Technical Stack
|
||||||
|
|
||||||
@@ -193,6 +193,39 @@ Build steps (in order):
|
|||||||
|
|
||||||
## Session History
|
## Session History
|
||||||
|
|
||||||
|
### Session 4 — v0.2.0 Design Editor (2026-02-08)
|
||||||
|
|
||||||
|
**Completed:** Full Design Editor compatibility, custom block categories, page templates, header/footer/navigation variations.
|
||||||
|
|
||||||
|
**What was built:**
|
||||||
|
|
||||||
|
- Enhanced editor stylesheet importing full Bootstrap SCSS for WYSIWYG fidelity
|
||||||
|
- Editor overrides SCSS (`_editor-overrides.scss`) for alignment and spacing
|
||||||
|
- Bootstrap JS loaded in block editor via `enqueue_block_editor_assets`
|
||||||
|
- 3 custom block categories (`block_categories_all` filter): Bootstrap Layout, Components, Navigation
|
||||||
|
- 3 custom pattern categories: Layout, Components, Navigation
|
||||||
|
- 6 layout/component patterns: container, 2-col, 3-col, full-width section, card group, accordion
|
||||||
|
- 3 full-page patterns: about, services, contact
|
||||||
|
- 4 custom page templates (FSE + Twig): landing, full-width, hero, sidebar
|
||||||
|
- 2 header variations (FSE parts + patterns + Twig): centered, transparent
|
||||||
|
- 2 footer variations (FSE parts + patterns + Twig): minimal, multi-column
|
||||||
|
- 2 navigation patterns: dark navbar, offcanvas
|
||||||
|
- Offcanvas navigation Twig partial with Bootstrap offcanvas component
|
||||||
|
- Twig block inheritance in `base.html.twig` for header/footer variant overrides
|
||||||
|
- Header/footer variant support via `get_theme_mod()` in `ContextBuilder`
|
||||||
|
- Custom page template routing via `get_page_template_slug()` in `TemplateController`
|
||||||
|
- Shadow presets, aspect ratios, custom layout values in `theme.json`
|
||||||
|
- Transparent header and offcanvas dark mode SCSS styles
|
||||||
|
- Updated translations (`.pot` and `de_CH.po`) with ~70 new translatable strings
|
||||||
|
|
||||||
|
**Key learnings:**
|
||||||
|
|
||||||
|
- WordPress `block_categories_all` filter (block inserter categories) and `register_block_pattern_category()` (pattern inserter categories) are separate APIs serving different parts of the editor UI
|
||||||
|
- FSE template parts (`parts/`) use pattern references (`<!-- wp:pattern {"slug":"..."} /-->`) to keep markup in PHP pattern files for i18n support
|
||||||
|
- Twig blocks (`{% block header %}`) enable page-level templates to override header/footer without modifying `base.html.twig`
|
||||||
|
- `get_page_template_slug()` returns the custom template slug assigned in the page editor, used in `TemplateController` for routing to the correct Twig template
|
||||||
|
- Bootstrap SCSS deprecation warnings (Dart Sass 3.0 migration) are upstream issues, not blocking — the build succeeds
|
||||||
|
|
||||||
### Session 3 — v0.1.1 Bootstrap Frontend Rendering (2026-02-08)
|
### Session 3 — v0.1.1 Bootstrap Frontend Rendering (2026-02-08)
|
||||||
|
|
||||||
**Completed:** Full Twig-based Bootstrap 5 frontend rendering, replacing FSE block markup on the public-facing site.
|
**Completed:** Full Twig-based Bootstrap 5 frontend rendering, replacing FSE block markup on the public-facing site.
|
||||||
|
|||||||
13
PLAN.md
13
PLAN.md
@@ -65,18 +65,19 @@ node_modules/bootstrap/dist/js/ → copyfiles → assets/js/bootstrap.bundle.min
|
|||||||
- [x] Comment form Bootstrap styling
|
- [x] Comment form Bootstrap styling
|
||||||
- [x] README.md project documentation
|
- [x] README.md project documentation
|
||||||
|
|
||||||
### v0.2.0 - Design Editor
|
### v0.2.0 - Design Editor (Complete)
|
||||||
|
|
||||||
- [ ] Full Design Editor compatibility
|
- [x] Full Design Editor compatibility
|
||||||
- [ ] Custom block categories
|
- [x] Custom block categories
|
||||||
- [ ] Page-level patterns and templates
|
- [x] Page-level patterns and templates
|
||||||
- [ ] Enhanced header/footer variations
|
- [x] Enhanced header/footer variations
|
||||||
- [ ] Custom navigation styles
|
- [x] Custom navigation styles
|
||||||
|
|
||||||
### v0.3.0 - Polish
|
### v0.3.0 - Polish
|
||||||
|
|
||||||
- [ ] Performance optimization (selective Bootstrap imports)
|
- [ ] Performance optimization (selective Bootstrap imports)
|
||||||
- [ ] Accessibility audit and fixes
|
- [ ] Accessibility audit and fixes
|
||||||
|
- [ ] Security audit and fixes
|
||||||
- [ ] RTL language support
|
- [ ] RTL language support
|
||||||
- [ ] Additional translations
|
- [ ] Additional translations
|
||||||
- [ ] Documentation
|
- [ ] Documentation
|
||||||
|
|||||||
@@ -7,9 +7,13 @@ A modern WordPress Block Theme built from scratch with Bootstrap 5. Features res
|
|||||||
- **Bootstrap 5 Frontend** -- Proper Bootstrap 5 HTML (navbar, cards, pagination, grid) rendered via Twig templates
|
- **Bootstrap 5 Frontend** -- Proper Bootstrap 5 HTML (navbar, cards, pagination, grid) rendered via Twig templates
|
||||||
- **Dark Mode** -- Toggle with localStorage persistence and `prefers-color-scheme` support
|
- **Dark Mode** -- Toggle with localStorage persistence and `prefers-color-scheme` support
|
||||||
- **Full Site Editing** -- Compatible with the WordPress Site Editor for admin editing
|
- **Full Site Editing** -- Compatible with the WordPress Site Editor for admin editing
|
||||||
- **Block Patterns** -- 16 patterns across 7 categories (hero, features, CTA, testimonials, pricing, contact, text)
|
- **Block Patterns** -- 30+ patterns across 10 categories (hero, features, CTA, testimonials, pricing, contact, text, layout, components, navigation)
|
||||||
- **Block Styles** -- 17 custom styles mapping Bootstrap components to WordPress blocks
|
- **Block Styles** -- 17 custom styles mapping Bootstrap components to WordPress blocks
|
||||||
- **Style Variations** -- 4 color schemes: Ocean, Forest, Sunset, Midnight
|
- **Style Variations** -- 4 color schemes: Ocean, Forest, Sunset, Midnight
|
||||||
|
- **Custom Templates** -- Landing (no header/footer), full-width, hero, sidebar page templates
|
||||||
|
- **Header/Footer Variations** -- Centered, transparent, minimal, multi-column variants
|
||||||
|
- **Navigation Styles** -- Dark navbar, offcanvas mobile navigation
|
||||||
|
- **Design Editor** -- Full compatibility with the WordPress Site Editor
|
||||||
- **Responsive** -- Mobile-first design with Bootstrap's responsive grid
|
- **Responsive** -- Mobile-first design with Bootstrap's responsive grid
|
||||||
- **Translation Ready** -- Full i18n support with `en_US` and `de_CH` translations
|
- **Translation Ready** -- Full i18n support with `en_US` and `de_CH` translations
|
||||||
|
|
||||||
@@ -105,7 +109,7 @@ wp-bootstrap/
|
|||||||
| +-- Twig/ TwigService singleton
|
| +-- Twig/ TwigService singleton
|
||||||
+-- languages/ Translation files (.pot, .po)
|
+-- languages/ Translation files (.pot, .po)
|
||||||
+-- patterns/ Block patterns (PHP)
|
+-- patterns/ Block patterns (PHP)
|
||||||
+-- parts/ FSE template parts (header, footer, sidebar)
|
+-- parts/ FSE template parts (header, footer, sidebar, variants)
|
||||||
+-- src/
|
+-- src/
|
||||||
| +-- js/ Source JavaScript
|
| +-- js/ Source JavaScript
|
||||||
| +-- scss/ Source SCSS
|
| +-- scss/ Source SCSS
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -11911,6 +11911,19 @@ h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, blockquote, caption, figca
|
|||||||
border-radius: 0.25rem;
|
border-radius: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.header-transparent {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 1030;
|
||||||
|
}
|
||||||
|
.header-transparent .navbar {
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-bs-theme=dark] .offcanvas {
|
||||||
|
--bs-offcanvas-bg: var(--bs-body-bg);
|
||||||
|
}
|
||||||
|
|
||||||
[data-bs-theme=dark] .is-style-alert-info {
|
[data-bs-theme=dark] .is-style-alert-info {
|
||||||
background-color: #032830;
|
background-color: #032830;
|
||||||
border-color: #055160;
|
border-color: #055160;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
2
assets/css/style.min.css
vendored
2
assets/css/style.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -91,6 +91,60 @@ if ( ! function_exists( 'wp_bootstrap_enqueue_scripts' ) ) :
|
|||||||
endif;
|
endif;
|
||||||
add_action( 'wp_enqueue_scripts', 'wp_bootstrap_enqueue_scripts' );
|
add_action( 'wp_enqueue_scripts', 'wp_bootstrap_enqueue_scripts' );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enqueue Bootstrap JS in the block editor for interactive previews.
|
||||||
|
*
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
if ( ! function_exists( 'wp_bootstrap_enqueue_editor_assets' ) ) :
|
||||||
|
function wp_bootstrap_enqueue_editor_assets() {
|
||||||
|
$theme_version = wp_get_theme()->get( 'Version' );
|
||||||
|
|
||||||
|
wp_enqueue_script(
|
||||||
|
'wp-bootstrap-editor-js',
|
||||||
|
get_template_directory_uri() . '/assets/js/bootstrap.bundle.min.js',
|
||||||
|
array(),
|
||||||
|
$theme_version,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
endif;
|
||||||
|
add_action( 'enqueue_block_editor_assets', 'wp_bootstrap_enqueue_editor_assets' );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register custom block categories for Bootstrap components.
|
||||||
|
*
|
||||||
|
* @since 0.2.0
|
||||||
|
*
|
||||||
|
* @param array $categories Existing block categories.
|
||||||
|
* @param WP_Block_Editor_Context $context Block editor context.
|
||||||
|
* @return array Modified categories.
|
||||||
|
*/
|
||||||
|
if ( ! function_exists( 'wp_bootstrap_block_categories' ) ) :
|
||||||
|
function wp_bootstrap_block_categories( array $categories, $context ): array {
|
||||||
|
$bootstrap_categories = array(
|
||||||
|
array(
|
||||||
|
'slug' => 'wp-bootstrap-layout',
|
||||||
|
'title' => __( 'Bootstrap Layout', 'wp-bootstrap' ),
|
||||||
|
'icon' => 'layout',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'slug' => 'wp-bootstrap-components',
|
||||||
|
'title' => __( 'Bootstrap Components', 'wp-bootstrap' ),
|
||||||
|
'icon' => 'grid-view',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'slug' => 'wp-bootstrap-navigation',
|
||||||
|
'title' => __( 'Bootstrap Navigation', 'wp-bootstrap' ),
|
||||||
|
'icon' => 'menu',
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
return array_merge( $bootstrap_categories, $categories );
|
||||||
|
}
|
||||||
|
endif;
|
||||||
|
add_filter( 'block_categories_all', 'wp_bootstrap_block_categories', 10, 2 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register block pattern categories.
|
* Register block pattern categories.
|
||||||
*/
|
*/
|
||||||
@@ -159,6 +213,30 @@ if ( ! function_exists( 'wp_bootstrap_pattern_categories' ) ) :
|
|||||||
'description' => __( 'Text-focused content sections.', 'wp-bootstrap' ),
|
'description' => __( 'Text-focused content sections.', 'wp-bootstrap' ),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
register_block_pattern_category(
|
||||||
|
'wp-bootstrap-layout',
|
||||||
|
array(
|
||||||
|
'label' => __( 'Layout', 'wp-bootstrap' ),
|
||||||
|
'description' => __( 'Layout building blocks for page structure.', 'wp-bootstrap' ),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
register_block_pattern_category(
|
||||||
|
'wp-bootstrap-components',
|
||||||
|
array(
|
||||||
|
'label' => __( 'Components', 'wp-bootstrap' ),
|
||||||
|
'description' => __( 'Reusable Bootstrap component patterns.', 'wp-bootstrap' ),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
register_block_pattern_category(
|
||||||
|
'wp-bootstrap-navigation',
|
||||||
|
array(
|
||||||
|
'label' => __( 'Navigation', 'wp-bootstrap' ),
|
||||||
|
'description' => __( 'Navigation and header patterns.', 'wp-bootstrap' ),
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
endif;
|
endif;
|
||||||
add_action( 'init', 'wp_bootstrap_pattern_categories' );
|
add_action( 'init', 'wp_bootstrap_pattern_categories' );
|
||||||
|
|||||||
@@ -25,11 +25,13 @@ class ContextBuilder
|
|||||||
public function build(): array
|
public function build(): array
|
||||||
{
|
{
|
||||||
$context = [
|
$context = [
|
||||||
'site' => $this->getSiteData(),
|
'site' => $this->getSiteData(),
|
||||||
'menu' => $this->getMenuData('primary'),
|
'menu' => $this->getMenuData('primary'),
|
||||||
'footer_menu' => $this->getMenuData('footer'),
|
'footer_menu' => $this->getMenuData('footer'),
|
||||||
'dark_mode' => true,
|
'dark_mode' => true,
|
||||||
'layout' => 'default',
|
'layout' => 'default',
|
||||||
|
'header_variant' => $this->getHeaderVariant(),
|
||||||
|
'footer_variant' => $this->getFooterVariant(),
|
||||||
];
|
];
|
||||||
|
|
||||||
if (is_singular()) {
|
if (is_singular()) {
|
||||||
@@ -448,6 +450,26 @@ class ContextBuilder
|
|||||||
return $items;
|
return $items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the active header variant.
|
||||||
|
*
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
private function getHeaderVariant(): string
|
||||||
|
{
|
||||||
|
return get_theme_mod('wp_bootstrap_header_variant', 'default');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the active footer variant.
|
||||||
|
*
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
private function getFooterVariant(): string
|
||||||
|
{
|
||||||
|
return get_theme_mod('wp_bootstrap_footer_variant', 'default');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get terms list for a taxonomy.
|
* Get terms list for a taxonomy.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -82,7 +82,14 @@ class TemplateController
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (is_page()) {
|
if (is_page()) {
|
||||||
return 'pages/page.html.twig';
|
$slug = get_page_template_slug();
|
||||||
|
return match ($slug) {
|
||||||
|
'page-landing' => 'pages/landing.html.twig',
|
||||||
|
'page-full-width' => 'pages/full-width.html.twig',
|
||||||
|
'page-hero' => 'pages/hero.html.twig',
|
||||||
|
'page-sidebar' => 'pages/page-sidebar.html.twig',
|
||||||
|
default => 'pages/page.html.twig',
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_archive()) {
|
if (is_archive()) {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WP Bootstrap 0.1.0\n"
|
"Project-Id-Version: WP Bootstrap 0.2.0\n"
|
||||||
"Report-Msgid-Bugs-To: https://src.bundespruefstelle.ch/magdev/wp-bootstrap/issues\n"
|
"Report-Msgid-Bugs-To: https://src.bundespruefstelle.ch/magdev/wp-bootstrap/issues\n"
|
||||||
"POT-Creation-Date: 2026-02-08 00:00+0000\n"
|
"POT-Creation-Date: 2026-02-08 00:00+0000\n"
|
||||||
"PO-Revision-Date: 2026-02-08 00:00+0000\n"
|
"PO-Revision-Date: 2026-02-08 00:00+0000\n"
|
||||||
@@ -27,10 +27,12 @@ msgid "A modern WordPress Block Theme built from scratch with Bootstrap 5. Featu
|
|||||||
msgstr "Ein modernes WordPress Block-Theme, erstellt mit Bootstrap 5. Mit responsivem Design, Darkmode-Unterstützung und voller Kompatibilität mit dem WordPress Site-Editor."
|
msgstr "Ein modernes WordPress Block-Theme, erstellt mit Bootstrap 5. Mit responsivem Design, Darkmode-Unterstützung und voller Kompatibilität mit dem WordPress Site-Editor."
|
||||||
|
|
||||||
#: patterns/footer.php
|
#: patterns/footer.php
|
||||||
|
#: patterns/footer-columns.php
|
||||||
msgid "Powered by %s"
|
msgid "Powered by %s"
|
||||||
msgstr "Betrieben mit %s"
|
msgstr "Betrieben mit %s"
|
||||||
|
|
||||||
#: patterns/footer.php
|
#: patterns/footer.php
|
||||||
|
#: patterns/footer-columns.php
|
||||||
msgid "https://wordpress.org"
|
msgid "https://wordpress.org"
|
||||||
msgstr "https://de.wordpress.org"
|
msgstr "https://de.wordpress.org"
|
||||||
|
|
||||||
@@ -91,6 +93,7 @@ msgstr "Erstellen Sie moderne, responsive Websites mit der Leistung von Bootstra
|
|||||||
#: patterns/hero-cover.php
|
#: patterns/hero-cover.php
|
||||||
#: patterns/hero-centered.php
|
#: patterns/hero-centered.php
|
||||||
#: patterns/pricing-3-col.php
|
#: patterns/pricing-3-col.php
|
||||||
|
#: patterns/page-services.php
|
||||||
msgid "Get Started"
|
msgid "Get Started"
|
||||||
msgstr "Jetzt starten"
|
msgstr "Jetzt starten"
|
||||||
|
|
||||||
@@ -339,6 +342,8 @@ msgid "Custom Development"
|
|||||||
msgstr "Individuelle Entwicklung"
|
msgstr "Individuelle Entwicklung"
|
||||||
|
|
||||||
#: patterns/pricing-3-col.php
|
#: patterns/pricing-3-col.php
|
||||||
|
#: patterns/page-services.php
|
||||||
|
#: patterns/page-contact.php
|
||||||
msgid "Contact Us"
|
msgid "Contact Us"
|
||||||
msgstr "Kontaktieren Sie uns"
|
msgstr "Kontaktieren Sie uns"
|
||||||
|
|
||||||
@@ -351,6 +356,7 @@ msgid "We would love to hear from you. Reach out through any of the channels bel
|
|||||||
msgstr "Wir freuen uns von Ihnen zu hören. Kontaktieren Sie uns über einen der folgenden Kanäle."
|
msgstr "Wir freuen uns von Ihnen zu hören. Kontaktieren Sie uns über einen der folgenden Kanäle."
|
||||||
|
|
||||||
#: patterns/contact-info.php
|
#: patterns/contact-info.php
|
||||||
|
#: patterns/page-contact.php
|
||||||
msgid "Address"
|
msgid "Address"
|
||||||
msgstr "Adresse"
|
msgstr "Adresse"
|
||||||
|
|
||||||
@@ -363,6 +369,7 @@ msgid "8000 Zurich, Switzerland"
|
|||||||
msgstr "8000 Zürich, Schweiz"
|
msgstr "8000 Zürich, Schweiz"
|
||||||
|
|
||||||
#: patterns/contact-info.php
|
#: patterns/contact-info.php
|
||||||
|
#: patterns/page-contact.php
|
||||||
msgid "Phone"
|
msgid "Phone"
|
||||||
msgstr "Telefon"
|
msgstr "Telefon"
|
||||||
|
|
||||||
@@ -372,10 +379,12 @@ msgstr "+41 44 123 45 67"
|
|||||||
|
|
||||||
#: patterns/contact-info.php
|
#: patterns/contact-info.php
|
||||||
#: patterns/cta-newsletter.php
|
#: patterns/cta-newsletter.php
|
||||||
|
#: patterns/page-contact.php
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "E-Mail"
|
msgstr "E-Mail"
|
||||||
|
|
||||||
#: patterns/contact-info.php
|
#: patterns/contact-info.php
|
||||||
|
#: patterns/page-contact.php
|
||||||
msgid "info@example.com"
|
msgid "info@example.com"
|
||||||
msgstr "info@example.com"
|
msgstr "info@example.com"
|
||||||
|
|
||||||
@@ -428,6 +437,7 @@ msgid "With years of experience in web development and design, we understand wha
|
|||||||
msgstr "Mit jahrelanger Erfahrung in Webentwicklung und Design verstehen wir, was nötig ist, um ein Theme zu erstellen, das sowohl leistungsstark als auch einfach zu bedienen ist."
|
msgstr "Mit jahrelanger Erfahrung in Webentwicklung und Design verstehen wir, was nötig ist, um ein Theme zu erstellen, das sowohl leistungsstark als auch einfach zu bedienen ist."
|
||||||
|
|
||||||
#: patterns/text-about.php
|
#: patterns/text-about.php
|
||||||
|
#: patterns/page-about.php
|
||||||
msgid "About us image"
|
msgid "About us image"
|
||||||
msgstr "Über-uns-Bild"
|
msgstr "Über-uns-Bild"
|
||||||
|
|
||||||
@@ -447,6 +457,14 @@ msgstr "Zum Darkmode wechseln"
|
|||||||
msgid "Switch to light mode"
|
msgid "Switch to light mode"
|
||||||
msgstr "Zum hellen Modus wechseln"
|
msgstr "Zum hellen Modus wechseln"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Primary Navigation"
|
||||||
|
msgstr "Primäre Navigation"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Footer Navigation"
|
||||||
|
msgstr "Fusszeilen-Navigation"
|
||||||
|
|
||||||
#: functions.php
|
#: functions.php
|
||||||
msgid "Pages"
|
msgid "Pages"
|
||||||
msgstr "Seiten"
|
msgstr "Seiten"
|
||||||
@@ -570,3 +588,304 @@ msgstr "Klein"
|
|||||||
#: functions.php
|
#: functions.php
|
||||||
msgid "Wide"
|
msgid "Wide"
|
||||||
msgstr "Breit"
|
msgstr "Breit"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Name"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Website"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Save my name, email, and website in this browser for the next time I comment."
|
||||||
|
msgstr "Meinen Namen, meine E-Mail-Adresse und meine Website in diesem Browser für meinen nächsten Kommentar speichern."
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Bootstrap Layout"
|
||||||
|
msgstr "Bootstrap-Layout"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Bootstrap Components"
|
||||||
|
msgstr "Bootstrap-Komponenten"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Bootstrap Navigation"
|
||||||
|
msgstr "Bootstrap-Navigation"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Layout"
|
||||||
|
msgstr "Layout"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Layout building blocks for page structure."
|
||||||
|
msgstr "Layout-Bausteine für die Seitenstruktur."
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Components"
|
||||||
|
msgstr "Komponenten"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Reusable Bootstrap component patterns."
|
||||||
|
msgstr "Wiederverwendbare Bootstrap-Komponentenvorlagen."
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
#: patterns/footer-columns.php
|
||||||
|
msgid "Navigation"
|
||||||
|
msgstr "Navigation"
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Navigation and header patterns."
|
||||||
|
msgstr "Navigations- und Kopfzeilenvorlagen."
|
||||||
|
|
||||||
|
#: patterns/layout-container.php
|
||||||
|
msgid "Heading goes here"
|
||||||
|
msgstr "Überschrift hier eingeben"
|
||||||
|
|
||||||
|
#: patterns/layout-container.php
|
||||||
|
msgid "This is a content container with constrained width and comfortable padding. Replace this text with your own content."
|
||||||
|
msgstr "Dies ist ein Inhaltscontainer mit begrenzter Breite und komfortablem Innenabstand. Ersetzen Sie diesen Text durch Ihren eigenen Inhalt."
|
||||||
|
|
||||||
|
#: patterns/layout-2-col.php
|
||||||
|
#: patterns/layout-3-col.php
|
||||||
|
msgid "Column One"
|
||||||
|
msgstr "Spalte Eins"
|
||||||
|
|
||||||
|
#: patterns/layout-2-col.php
|
||||||
|
msgid "Add your content here. This column takes up half the available width on larger screens and stacks on mobile devices."
|
||||||
|
msgstr "Fügen Sie hier Ihren Inhalt ein. Diese Spalte nimmt auf grösseren Bildschirmen die Hälfte der verfügbaren Breite ein und wird auf Mobilgeräten gestapelt."
|
||||||
|
|
||||||
|
#: patterns/layout-2-col.php
|
||||||
|
#: patterns/layout-3-col.php
|
||||||
|
msgid "Column Two"
|
||||||
|
msgstr "Spalte Zwei"
|
||||||
|
|
||||||
|
#: patterns/layout-3-col.php
|
||||||
|
msgid "Column Three"
|
||||||
|
msgstr "Spalte Drei"
|
||||||
|
|
||||||
|
#: patterns/layout-3-col.php
|
||||||
|
msgid "Add your content here. This column takes up one third of the available width on larger screens."
|
||||||
|
msgstr "Fügen Sie hier Ihren Inhalt ein. Diese Spalte nimmt auf grösseren Bildschirmen ein Drittel der verfügbaren Breite ein."
|
||||||
|
|
||||||
|
#: patterns/layout-full-width-section.php
|
||||||
|
msgid "Full Width Section Heading"
|
||||||
|
msgstr "Überschrift des Vollbreiten-Abschnitts"
|
||||||
|
|
||||||
|
#: patterns/layout-full-width-section.php
|
||||||
|
msgid "This full-width section stands out with a colored background. Use it to highlight important content, announcements, or calls to action."
|
||||||
|
msgstr "Dieser Vollbreiten-Abschnitt fällt durch einen farbigen Hintergrund auf. Verwenden Sie ihn, um wichtige Inhalte, Ankündigungen oder Handlungsaufforderungen hervorzuheben."
|
||||||
|
|
||||||
|
#: patterns/component-card-group.php
|
||||||
|
msgid "Card One"
|
||||||
|
msgstr "Karte Eins"
|
||||||
|
|
||||||
|
#: patterns/component-card-group.php
|
||||||
|
msgid "Card Two"
|
||||||
|
msgstr "Karte Zwei"
|
||||||
|
|
||||||
|
#: patterns/component-card-group.php
|
||||||
|
msgid "Card Three"
|
||||||
|
msgstr "Karte Drei"
|
||||||
|
|
||||||
|
#: patterns/component-card-group.php
|
||||||
|
msgid "Add a short description for this card. Cards are a great way to organize and present related content."
|
||||||
|
msgstr "Fügen Sie eine kurze Beschreibung für diese Karte hinzu. Karten sind eine hervorragende Möglichkeit, zusammengehörige Inhalte zu organisieren und zu präsentieren."
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "Accordion"
|
||||||
|
msgstr "Akkordeon"
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "Click on each item to expand and reveal its content."
|
||||||
|
msgstr "Klicken Sie auf jedes Element, um es aufzuklappen und den Inhalt anzuzeigen."
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "Accordion Item One"
|
||||||
|
msgstr "Akkordeon-Element Eins"
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "This is the content for the first accordion item. You can add any blocks inside this details element to create rich, expandable content sections."
|
||||||
|
msgstr "Dies ist der Inhalt des ersten Akkordeon-Elements. Sie können beliebige Blöcke in dieses Details-Element einfügen, um reichhaltige, aufklappbare Inhaltsabschnitte zu erstellen."
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "Accordion Item Two"
|
||||||
|
msgstr "Akkordeon-Element Zwei"
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "This is the content for the second accordion item. Details blocks are a native HTML element that provide toggle functionality without JavaScript."
|
||||||
|
msgstr "Dies ist der Inhalt des zweiten Akkordeon-Elements. Details-Blöcke sind native HTML-Elemente, die Aufklappfunktionalität ohne JavaScript bieten."
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "Accordion Item Three"
|
||||||
|
msgstr "Akkordeon-Element Drei"
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "This is the content for the third accordion item. Use accordions to organize frequently asked questions, feature lists, or any content that benefits from progressive disclosure."
|
||||||
|
msgstr "Dies ist der Inhalt des dritten Akkordeon-Elements. Verwenden Sie Akkordeons, um häufig gestellte Fragen, Funktionslisten oder andere Inhalte zu organisieren, die von schrittweiser Offenlegung profitieren."
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "About Us"
|
||||||
|
msgstr "Über uns"
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Learn more about who we are, what we do, and the people behind our mission."
|
||||||
|
msgstr "Erfahren Sie mehr darüber, wer wir sind, was wir tun und wer hinter unserer Mission steht."
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Our Story"
|
||||||
|
msgstr "Unsere Geschichte"
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Founded with a passion for innovation and excellence, our journey began with a simple idea: to create meaningful solutions that make a real difference. Over the years, we have grown from a small team into a dedicated group of professionals committed to delivering outstanding results."
|
||||||
|
msgstr "Gegründet mit einer Leidenschaft für Innovation und Exzellenz, begann unsere Reise mit einer einfachen Idee: bedeutungsvolle Lösungen zu schaffen, die einen echten Unterschied machen. Im Laufe der Jahre sind wir von einem kleinen Team zu einer engagierten Gruppe von Fachleuten gewachsen, die sich der Erbringung herausragender Ergebnisse verschrieben haben."
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Today, we continue to push boundaries and challenge conventions. Our approach combines creative thinking with proven methodologies, ensuring that every project we undertake meets the highest standards of quality and craftsmanship."
|
||||||
|
msgstr "Heute stossen wir weiterhin Grenzen und hinterfragen Konventionen. Unser Ansatz verbindet kreatives Denken mit bewährten Methoden und stellt sicher, dass jedes Projekt, das wir übernehmen, den höchsten Qualitäts- und Handwerksstandards entspricht."
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Our Team"
|
||||||
|
msgstr "Unser Team"
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Meet the people who make it all happen."
|
||||||
|
msgstr "Lernen Sie die Menschen kennen, die alles möglich machen."
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Jane Doe"
|
||||||
|
msgstr "Jane Doe"
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Founder & CEO"
|
||||||
|
msgstr "Gründerin & CEO"
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "John Smith"
|
||||||
|
msgstr "John Smith"
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Lead Developer"
|
||||||
|
msgstr "Leitender Entwickler"
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Emily Johnson"
|
||||||
|
msgstr "Emily Johnson"
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Creative Director"
|
||||||
|
msgstr "Kreativdirektorin"
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Our Services"
|
||||||
|
msgstr "Unsere Dienstleistungen"
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Professional solutions tailored to your needs."
|
||||||
|
msgstr "Professionelle Lösungen, massgeschneidert auf Ihre Bedürfnisse."
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "What We Offer"
|
||||||
|
msgstr "Was wir anbieten"
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "We provide a wide range of services to help your business grow and succeed."
|
||||||
|
msgstr "Wir bieten ein breites Spektrum an Dienstleistungen, um Ihr Unternehmen beim Wachstum und Erfolg zu unterstützen."
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Design"
|
||||||
|
msgstr "Design"
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Beautiful, user-centered designs that capture your brand identity and engage your audience across all platforms and devices."
|
||||||
|
msgstr "Schöne, benutzerzentrierte Designs, die Ihre Markenidentität einfangen und Ihr Publikum auf allen Plattformen und Geräten ansprechen."
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Development"
|
||||||
|
msgstr "Entwicklung"
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Robust, scalable web applications built with modern technologies and best practices to ensure performance and reliability."
|
||||||
|
msgstr "Robuste, skalierbare Webanwendungen, erstellt mit modernen Technologien und bewährten Methoden, um Leistung und Zuverlässigkeit zu gewährleisten."
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Strategy"
|
||||||
|
msgstr "Strategie"
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Data-driven strategies and consulting to help you achieve your business goals and stay ahead of the competition."
|
||||||
|
msgstr "Datengetriebene Strategien und Beratung, um Ihnen zu helfen, Ihre Geschäftsziele zu erreichen und der Konkurrenz voraus zu sein."
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Ready to take your project to the next level? Let us help you build something great."
|
||||||
|
msgstr "Bereit, Ihr Projekt auf die nächste Stufe zu heben? Lassen Sie uns Ihnen helfen, etwas Grossartiges zu bauen."
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "View Portfolio"
|
||||||
|
msgstr "Portfolio ansehen"
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "We would love to hear from you. Reach out to us anytime."
|
||||||
|
msgstr "Wir freuen uns von Ihnen zu hören. Kontaktieren Sie uns jederzeit."
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Get in Touch"
|
||||||
|
msgstr "Kontakt aufnehmen"
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "123 Main Street, Suite 100, Anytown, ST 12345"
|
||||||
|
msgstr "Hauptstrasse 123, Suite 100, 8000 Zürich"
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "+1 (555) 123-4567"
|
||||||
|
msgstr "+41 44 123 45 67"
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Business Hours"
|
||||||
|
msgstr "Öffnungszeiten"
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Monday - Friday:"
|
||||||
|
msgstr "Montag - Freitag:"
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "9:00 AM - 6:00 PM"
|
||||||
|
msgstr "09:00 - 18:00 Uhr"
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Saturday:"
|
||||||
|
msgstr "Samstag:"
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "10:00 AM - 4:00 PM"
|
||||||
|
msgstr "10:00 - 16:00 Uhr"
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Sunday:"
|
||||||
|
msgstr "Sonntag:"
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Closed"
|
||||||
|
msgstr "Geschlossen"
|
||||||
|
|
||||||
|
#. translators: Copyright notice. %1$s: Year, %2$s: Site title.
|
||||||
|
#: patterns/footer-minimal.php
|
||||||
|
msgid "© %1$s %2$s. All rights reserved."
|
||||||
|
msgstr "© %1$s %2$s. Alle Rechte vorbehalten."
|
||||||
|
|
||||||
|
#: patterns/footer-columns.php
|
||||||
|
msgid "A modern WordPress theme built with Bootstrap 5."
|
||||||
|
msgstr "Ein modernes WordPress-Theme, erstellt mit Bootstrap 5."
|
||||||
|
|
||||||
|
#: patterns/footer-columns.php
|
||||||
|
msgid "About"
|
||||||
|
msgstr "Über"
|
||||||
|
|
||||||
|
#: patterns/footer-columns.php
|
||||||
|
msgid "This theme is proudly built with Bootstrap 5 and WordPress Full Site Editing."
|
||||||
|
msgstr "Dieses Theme wurde mit Stolz mit Bootstrap 5 und WordPress Full Site Editing erstellt."
|
||||||
|
|
||||||
|
#. translators: Copyright notice. %1$s: Year, %2$s: Site title.
|
||||||
|
#: patterns/footer-columns.php
|
||||||
|
msgid "© %1$s %2$s"
|
||||||
|
msgstr "© %1$s %2$s"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# This file is distributed under the same license as the WP Bootstrap theme.
|
# This file is distributed under the same license as the WP Bootstrap theme.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WP Bootstrap 0.1.0\n"
|
"Project-Id-Version: WP Bootstrap 0.2.0\n"
|
||||||
"Report-Msgid-Bugs-To: https://src.bundespruefstelle.ch/magdev/wp-bootstrap/issues\n"
|
"Report-Msgid-Bugs-To: https://src.bundespruefstelle.ch/magdev/wp-bootstrap/issues\n"
|
||||||
"POT-Creation-Date: 2026-02-08 00:00+0000\n"
|
"POT-Creation-Date: 2026-02-08 00:00+0000\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -24,10 +24,12 @@ msgid "A modern WordPress Block Theme built from scratch with Bootstrap 5. Featu
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: patterns/footer.php
|
#: patterns/footer.php
|
||||||
|
#: patterns/footer-columns.php
|
||||||
msgid "Powered by %s"
|
msgid "Powered by %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: patterns/footer.php
|
#: patterns/footer.php
|
||||||
|
#: patterns/footer-columns.php
|
||||||
msgid "https://wordpress.org"
|
msgid "https://wordpress.org"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -88,6 +90,7 @@ msgstr ""
|
|||||||
#: patterns/hero-cover.php
|
#: patterns/hero-cover.php
|
||||||
#: patterns/hero-centered.php
|
#: patterns/hero-centered.php
|
||||||
#: patterns/pricing-3-col.php
|
#: patterns/pricing-3-col.php
|
||||||
|
#: patterns/page-services.php
|
||||||
msgid "Get Started"
|
msgid "Get Started"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -336,6 +339,8 @@ msgid "Custom Development"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: patterns/pricing-3-col.php
|
#: patterns/pricing-3-col.php
|
||||||
|
#: patterns/page-services.php
|
||||||
|
#: patterns/page-contact.php
|
||||||
msgid "Contact Us"
|
msgid "Contact Us"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -348,6 +353,7 @@ msgid "We would love to hear from you. Reach out through any of the channels bel
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: patterns/contact-info.php
|
#: patterns/contact-info.php
|
||||||
|
#: patterns/page-contact.php
|
||||||
msgid "Address"
|
msgid "Address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -360,6 +366,7 @@ msgid "8000 Zurich, Switzerland"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: patterns/contact-info.php
|
#: patterns/contact-info.php
|
||||||
|
#: patterns/page-contact.php
|
||||||
msgid "Phone"
|
msgid "Phone"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -369,10 +376,12 @@ msgstr ""
|
|||||||
|
|
||||||
#: patterns/contact-info.php
|
#: patterns/contact-info.php
|
||||||
#: patterns/cta-newsletter.php
|
#: patterns/cta-newsletter.php
|
||||||
|
#: patterns/page-contact.php
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: patterns/contact-info.php
|
#: patterns/contact-info.php
|
||||||
|
#: patterns/page-contact.php
|
||||||
msgid "info@example.com"
|
msgid "info@example.com"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -425,6 +434,7 @@ msgid "With years of experience in web development and design, we understand wha
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: patterns/text-about.php
|
#: patterns/text-about.php
|
||||||
|
#: patterns/page-about.php
|
||||||
msgid "About us image"
|
msgid "About us image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -444,6 +454,14 @@ msgstr ""
|
|||||||
msgid "Switch to light mode"
|
msgid "Switch to light mode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Primary Navigation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Footer Navigation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: functions.php
|
#: functions.php
|
||||||
msgid "Pages"
|
msgid "Pages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -567,3 +585,304 @@ msgstr ""
|
|||||||
#: functions.php
|
#: functions.php
|
||||||
msgid "Wide"
|
msgid "Wide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Website"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Save my name, email, and website in this browser for the next time I comment."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Bootstrap Layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Bootstrap Components"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Bootstrap Navigation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Layout building blocks for page structure."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Components"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Reusable Bootstrap component patterns."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
#: patterns/footer-columns.php
|
||||||
|
msgid "Navigation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: functions.php
|
||||||
|
msgid "Navigation and header patterns."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/layout-container.php
|
||||||
|
msgid "Heading goes here"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/layout-container.php
|
||||||
|
msgid "This is a content container with constrained width and comfortable padding. Replace this text with your own content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/layout-2-col.php
|
||||||
|
#: patterns/layout-3-col.php
|
||||||
|
msgid "Column One"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/layout-2-col.php
|
||||||
|
msgid "Add your content here. This column takes up half the available width on larger screens and stacks on mobile devices."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/layout-2-col.php
|
||||||
|
#: patterns/layout-3-col.php
|
||||||
|
msgid "Column Two"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/layout-3-col.php
|
||||||
|
msgid "Column Three"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/layout-3-col.php
|
||||||
|
msgid "Add your content here. This column takes up one third of the available width on larger screens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/layout-full-width-section.php
|
||||||
|
msgid "Full Width Section Heading"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/layout-full-width-section.php
|
||||||
|
msgid "This full-width section stands out with a colored background. Use it to highlight important content, announcements, or calls to action."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-card-group.php
|
||||||
|
msgid "Card One"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-card-group.php
|
||||||
|
msgid "Card Two"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-card-group.php
|
||||||
|
msgid "Card Three"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-card-group.php
|
||||||
|
msgid "Add a short description for this card. Cards are a great way to organize and present related content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "Accordion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "Click on each item to expand and reveal its content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "Accordion Item One"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "This is the content for the first accordion item. You can add any blocks inside this details element to create rich, expandable content sections."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "Accordion Item Two"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "This is the content for the second accordion item. Details blocks are a native HTML element that provide toggle functionality without JavaScript."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "Accordion Item Three"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/component-accordion.php
|
||||||
|
msgid "This is the content for the third accordion item. Use accordions to organize frequently asked questions, feature lists, or any content that benefits from progressive disclosure."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "About Us"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Learn more about who we are, what we do, and the people behind our mission."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Our Story"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Founded with a passion for innovation and excellence, our journey began with a simple idea: to create meaningful solutions that make a real difference. Over the years, we have grown from a small team into a dedicated group of professionals committed to delivering outstanding results."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Today, we continue to push boundaries and challenge conventions. Our approach combines creative thinking with proven methodologies, ensuring that every project we undertake meets the highest standards of quality and craftsmanship."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Our Team"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Meet the people who make it all happen."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Jane Doe"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Founder & CEO"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "John Smith"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Lead Developer"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Emily Johnson"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-about.php
|
||||||
|
msgid "Creative Director"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Our Services"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Professional solutions tailored to your needs."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "What We Offer"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "We provide a wide range of services to help your business grow and succeed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Design"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Beautiful, user-centered designs that capture your brand identity and engage your audience across all platforms and devices."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Development"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Robust, scalable web applications built with modern technologies and best practices to ensure performance and reliability."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Strategy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Data-driven strategies and consulting to help you achieve your business goals and stay ahead of the competition."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "Ready to take your project to the next level? Let us help you build something great."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-services.php
|
||||||
|
msgid "View Portfolio"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "We would love to hear from you. Reach out to us anytime."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Get in Touch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "123 Main Street, Suite 100, Anytown, ST 12345"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "+1 (555) 123-4567"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Business Hours"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Monday - Friday:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "9:00 AM - 6:00 PM"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Saturday:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "10:00 AM - 4:00 PM"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Sunday:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/page-contact.php
|
||||||
|
msgid "Closed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. translators: Copyright notice. %1$s: Year, %2$s: Site title.
|
||||||
|
#: patterns/footer-minimal.php
|
||||||
|
msgid "© %1$s %2$s. All rights reserved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/footer-columns.php
|
||||||
|
msgid "A modern WordPress theme built with Bootstrap 5."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/footer-columns.php
|
||||||
|
msgid "About"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: patterns/footer-columns.php
|
||||||
|
msgid "This theme is proudly built with Bootstrap 5 and WordPress Full Site Editing."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. translators: Copyright notice. %1$s: Year, %2$s: Site title.
|
||||||
|
#: patterns/footer-columns.php
|
||||||
|
msgid "© %1$s %2$s"
|
||||||
|
msgstr ""
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wp-bootstrap",
|
"name": "wp-bootstrap",
|
||||||
"version": "0.1.1",
|
"version": "0.2.0",
|
||||||
"description": "WordPress Theme built with Bootstrap 5",
|
"description": "WordPress Theme built with Bootstrap 5",
|
||||||
"author": "Marco Graetsch <magdev3.0@gmail.com>",
|
"author": "Marco Graetsch <magdev3.0@gmail.com>",
|
||||||
"license": "GPL-2.0-or-later",
|
"license": "GPL-2.0-or-later",
|
||||||
|
|||||||
1
parts/footer-columns.html
Normal file
1
parts/footer-columns.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<!-- wp:pattern {"slug":"wp-bootstrap/footer-columns"} /-->
|
||||||
1
parts/footer-minimal.html
Normal file
1
parts/footer-minimal.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<!-- wp:pattern {"slug":"wp-bootstrap/footer-minimal"} /-->
|
||||||
1
parts/header-centered.html
Normal file
1
parts/header-centered.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<!-- wp:pattern {"slug":"wp-bootstrap/header-centered"} /-->
|
||||||
1
parts/header-transparent.html
Normal file
1
parts/header-transparent.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<!-- wp:pattern {"slug":"wp-bootstrap/header-transparent"} /-->
|
||||||
38
patterns/component-accordion.php
Normal file
38
patterns/component-accordion.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Accordion
|
||||||
|
* Slug: wp-bootstrap/component-accordion
|
||||||
|
* Categories: wp-bootstrap-components, text
|
||||||
|
* Description: An accordion section using details blocks with summary and content paragraphs.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|70","bottom":"var:preset|spacing|70"}}},"layout":{"type":"constrained","contentSize":"720px"}} -->
|
||||||
|
<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--70);padding-bottom:var(--wp--preset--spacing--70)"><!-- wp:heading {"textAlign":"center","fontSize":"xx-large"} -->
|
||||||
|
<h2 class="wp-block-heading has-text-align-center has-xx-large-font-size"><?php esc_html_e( 'Accordion', 'wp-bootstrap' ); ?></h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","textColor":"secondary"} -->
|
||||||
|
<p class="has-text-align-center has-secondary-color has-text-color"><?php esc_html_e( 'Click on each item to expand and reveal its content.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:details -->
|
||||||
|
<details class="wp-block-details"><summary><?php esc_html_e( 'Accordion Item One', 'wp-bootstrap' ); ?></summary><!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'This is the content for the first accordion item. You can add any blocks inside this details element to create rich, expandable content sections.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></details>
|
||||||
|
<!-- /wp:details -->
|
||||||
|
|
||||||
|
<!-- wp:details -->
|
||||||
|
<details class="wp-block-details"><summary><?php esc_html_e( 'Accordion Item Two', 'wp-bootstrap' ); ?></summary><!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'This is the content for the second accordion item. Details blocks are a native HTML element that provide toggle functionality without JavaScript.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></details>
|
||||||
|
<!-- /wp:details -->
|
||||||
|
|
||||||
|
<!-- wp:details -->
|
||||||
|
<details class="wp-block-details"><summary><?php esc_html_e( 'Accordion Item Three', 'wp-bootstrap' ); ?></summary><!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'This is the content for the third accordion item. Use accordions to organize frequently asked questions, feature lists, or any content that benefits from progressive disclosure.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></details>
|
||||||
|
<!-- /wp:details --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
50
patterns/component-card-group.php
Normal file
50
patterns/component-card-group.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Card Group
|
||||||
|
* Slug: wp-bootstrap/component-card-group
|
||||||
|
* Categories: wp-bootstrap-components
|
||||||
|
* Description: A three-column card group with shadow-styled cards, each containing a heading and paragraph.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|70","bottom":"var:preset|spacing|70"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--70);padding-bottom:var(--wp--preset--spacing--70)"><!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":{"left":"var:preset|spacing|40"}}}} -->
|
||||||
|
<div class="wp-block-columns alignwide"><!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:group {"className":"is-style-card-shadow","style":{"spacing":{"padding":{"top":"var:preset|spacing|50","bottom":"var:preset|spacing|50","left":"var:preset|spacing|40","right":"var:preset|spacing|40"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group is-style-card-shadow" style="padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--40)"><!-- wp:heading {"level":3} -->
|
||||||
|
<h3 class="wp-block-heading"><?php esc_html_e( 'Card One', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'Add a short description for this card. Cards are a great way to organize and present related content.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:group {"className":"is-style-card-shadow","style":{"spacing":{"padding":{"top":"var:preset|spacing|50","bottom":"var:preset|spacing|50","left":"var:preset|spacing|40","right":"var:preset|spacing|40"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group is-style-card-shadow" style="padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--40)"><!-- wp:heading {"level":3} -->
|
||||||
|
<h3 class="wp-block-heading"><?php esc_html_e( 'Card Two', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'Add a short description for this card. Cards are a great way to organize and present related content.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:group {"className":"is-style-card-shadow","style":{"spacing":{"padding":{"top":"var:preset|spacing|50","bottom":"var:preset|spacing|50","left":"var:preset|spacing|40","right":"var:preset|spacing|40"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group is-style-card-shadow" style="padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--40)"><!-- wp:heading {"level":3} -->
|
||||||
|
<h3 class="wp-block-heading"><?php esc_html_e( 'Card Three', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'Add a short description for this card. Cards are a great way to organize and present related content.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group --></div>
|
||||||
|
<!-- /wp:column --></div>
|
||||||
|
<!-- /wp:columns --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
85
patterns/footer-columns.php
Normal file
85
patterns/footer-columns.php
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Footer - Multi-Column
|
||||||
|
* Slug: wp-bootstrap/footer-columns
|
||||||
|
* Categories: footer
|
||||||
|
* Block Types: core/template-part/footer
|
||||||
|
* Description: Multi-column footer with site info, navigation, and credits.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"style":{"spacing":{"padding":{"top":"var:preset|spacing|60","bottom":"var:preset|spacing|50"}}},"backgroundColor":"dark","textColor":"base","layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group has-base-color has-dark-background-color has-text-color has-background" style="padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--50)">
|
||||||
|
<!-- wp:columns {"align":"wide"} -->
|
||||||
|
<div class="wp-block-columns alignwide">
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column">
|
||||||
|
<!-- wp:site-title {"level":3} /-->
|
||||||
|
<!-- wp:site-tagline {"fontSize":"small"} /-->
|
||||||
|
<!-- wp:paragraph {"fontSize":"small"} -->
|
||||||
|
<p class="has-small-font-size"><?php esc_html_e( 'A modern WordPress theme built with Bootstrap 5.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column">
|
||||||
|
<!-- wp:heading {"level":4,"fontSize":"medium"} -->
|
||||||
|
<h4 class="wp-block-heading has-medium-font-size"><?php esc_html_e( 'Navigation', 'wp-bootstrap' ); ?></h4>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
<!-- wp:navigation {"overlayMenu":"never","layout":{"type":"flex","orientation":"vertical"},"style":{"spacing":{"blockGap":"var:preset|spacing|10"}}} /-->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column">
|
||||||
|
<!-- wp:heading {"level":4,"fontSize":"medium"} -->
|
||||||
|
<h4 class="wp-block-heading has-medium-font-size"><?php esc_html_e( 'About', 'wp-bootstrap' ); ?></h4>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
<!-- wp:paragraph {"fontSize":"small"} -->
|
||||||
|
<p class="has-small-font-size"><?php esc_html_e( 'This theme is proudly built with Bootstrap 5 and WordPress Full Site Editing.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:columns -->
|
||||||
|
|
||||||
|
<!-- wp:spacer {"height":"var:preset|spacing|40"} -->
|
||||||
|
<div style="height:var(--wp--preset--spacing--40)" aria-hidden="true" class="wp-block-spacer"></div>
|
||||||
|
<!-- /wp:spacer -->
|
||||||
|
|
||||||
|
<!-- wp:separator {"align":"wide","className":"is-style-separator-wide"} -->
|
||||||
|
<hr class="wp-block-separator alignwide has-alpha-channel-opacity is-style-separator-wide"/>
|
||||||
|
<!-- /wp:separator -->
|
||||||
|
|
||||||
|
<!-- wp:group {"align":"wide","layout":{"type":"flex","flexWrap":"wrap","justifyContent":"space-between"}} -->
|
||||||
|
<div class="wp-block-group alignwide">
|
||||||
|
<!-- wp:paragraph {"fontSize":"small"} -->
|
||||||
|
<p class="has-small-font-size">
|
||||||
|
<?php
|
||||||
|
printf(
|
||||||
|
/* translators: Copyright notice. %1$s: Year, %2$s: Site title. */
|
||||||
|
esc_html__( '© %1$s %2$s', 'wp-bootstrap' ),
|
||||||
|
esc_html( gmdate( 'Y' ) ),
|
||||||
|
esc_html( get_bloginfo( 'name' ) )
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
</p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
<!-- wp:paragraph {"fontSize":"small"} -->
|
||||||
|
<p class="has-small-font-size">
|
||||||
|
<?php
|
||||||
|
printf(
|
||||||
|
/* translators: Powered by WordPress. %s: WordPress link. */
|
||||||
|
esc_html__( 'Powered by %s', 'wp-bootstrap' ),
|
||||||
|
'<a href="' . esc_url( __( 'https://wordpress.org', 'wp-bootstrap' ) ) . '" rel="nofollow">WordPress</a>'
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
</p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
35
patterns/footer-minimal.php
Normal file
35
patterns/footer-minimal.php
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Footer - Minimal
|
||||||
|
* Slug: wp-bootstrap/footer-minimal
|
||||||
|
* Categories: footer
|
||||||
|
* Block Types: core/template-part/footer
|
||||||
|
* Description: Minimal single-line footer with copyright.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"style":{"spacing":{"padding":{"top":"var:preset|spacing|40","bottom":"var:preset|spacing|40"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group" style="padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)">
|
||||||
|
<!-- wp:separator {"className":"is-style-separator-wide","style":{"spacing":{"margin":{"bottom":"var:preset|spacing|40"}}}} -->
|
||||||
|
<hr class="wp-block-separator has-alpha-channel-opacity is-style-separator-wide" style="margin-bottom:var(--wp--preset--spacing--40)"/>
|
||||||
|
<!-- /wp:separator -->
|
||||||
|
<!-- wp:group {"align":"wide","layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"center"}} -->
|
||||||
|
<div class="wp-block-group alignwide">
|
||||||
|
<!-- wp:paragraph {"fontSize":"small"} -->
|
||||||
|
<p class="has-small-font-size">
|
||||||
|
<?php
|
||||||
|
printf(
|
||||||
|
/* translators: Copyright notice. %1$s: Year, %2$s: Site title. */
|
||||||
|
esc_html__( '© %1$s %2$s. All rights reserved.', 'wp-bootstrap' ),
|
||||||
|
esc_html( gmdate( 'Y' ) ),
|
||||||
|
esc_html( get_bloginfo( 'name' ) )
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
</p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
32
patterns/header-centered.php
Normal file
32
patterns/header-centered.php
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Header - Centered
|
||||||
|
* Slug: wp-bootstrap/header-centered
|
||||||
|
* Categories: header
|
||||||
|
* Block Types: core/template-part/header
|
||||||
|
* Description: Centered header with site title above navigation.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","layout":{"type":"default"}} -->
|
||||||
|
<div class="wp-block-group alignfull">
|
||||||
|
<!-- wp:group {"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group">
|
||||||
|
<!-- wp:group {"align":"wide","style":{"spacing":{"padding":{"top":"var:preset|spacing|40","bottom":"var:preset|spacing|20"}}},"layout":{"type":"flex","orientation":"vertical","justifyContent":"center"}} -->
|
||||||
|
<div class="wp-block-group alignwide" style="padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--20)">
|
||||||
|
<!-- wp:site-title {"level":0,"textAlign":"center"} /-->
|
||||||
|
<!-- wp:site-tagline {"textAlign":"center","fontSize":"small"} /-->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
<!-- wp:group {"align":"wide","style":{"spacing":{"padding":{"top":"var:preset|spacing|20","bottom":"var:preset|spacing|30"}}},"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"center"}} -->
|
||||||
|
<div class="wp-block-group alignwide" style="padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--30)">
|
||||||
|
<!-- wp:navigation {"overlayBackgroundColor":"base","overlayTextColor":"contrast","layout":{"type":"flex","justifyContent":"center","flexWrap":"wrap"}} /-->
|
||||||
|
<!-- wp:pattern {"slug":"wp-bootstrap/dark-mode-toggle"} /-->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
31
patterns/header-transparent.php
Normal file
31
patterns/header-transparent.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Header - Transparent
|
||||||
|
* Slug: wp-bootstrap/header-transparent
|
||||||
|
* Categories: header
|
||||||
|
* Block Types: core/template-part/header
|
||||||
|
* Description: Transparent header that overlays page content, ideal for hero sections.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"0","bottom":"0"}}},"layout":{"type":"default"}} -->
|
||||||
|
<div class="wp-block-group alignfull" style="padding-top:0;padding-bottom:0">
|
||||||
|
<!-- wp:group {"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group">
|
||||||
|
<!-- wp:group {"align":"wide","style":{"spacing":{"padding":{"top":"var:preset|spacing|30","bottom":"var:preset|spacing|30"}}},"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"space-between"}} -->
|
||||||
|
<div class="wp-block-group alignwide" style="padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)">
|
||||||
|
<!-- wp:site-title {"level":0,"style":{"elements":{"link":{"color":{"text":"var:preset|color|base"}}}}} /-->
|
||||||
|
<!-- wp:group {"style":{"spacing":{"blockGap":"var:preset|spacing|20"}},"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"right","verticalAlignment":"center"}} -->
|
||||||
|
<div class="wp-block-group">
|
||||||
|
<!-- wp:navigation {"overlayBackgroundColor":"base","overlayTextColor":"contrast","style":{"elements":{"link":{"color":{"text":"var:preset|color|base"}}}},"layout":{"type":"flex","justifyContent":"right","flexWrap":"wrap"}} /-->
|
||||||
|
<!-- wp:pattern {"slug":"wp-bootstrap/dark-mode-toggle"} /-->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
34
patterns/layout-2-col.php
Normal file
34
patterns/layout-2-col.php
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Two Columns
|
||||||
|
* Slug: wp-bootstrap/layout-2-col
|
||||||
|
* Categories: wp-bootstrap-layout, columns
|
||||||
|
* Description: A two-column layout with equal width columns, each containing a heading and paragraph.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|60","bottom":"var:preset|spacing|60"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)"><!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":{"left":"var:preset|spacing|50"}}}} -->
|
||||||
|
<div class="wp-block-columns alignwide"><!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:heading {"level":3,"fontSize":"x-large"} -->
|
||||||
|
<h3 class="wp-block-heading has-x-large-font-size"><?php esc_html_e( 'Column One', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'Add your content here. This column takes up half the available width on larger screens and stacks on mobile devices.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:heading {"level":3,"fontSize":"x-large"} -->
|
||||||
|
<h3 class="wp-block-heading has-x-large-font-size"><?php esc_html_e( 'Column Two', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'Add your content here. This column takes up half the available width on larger screens and stacks on mobile devices.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:column --></div>
|
||||||
|
<!-- /wp:columns --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
44
patterns/layout-3-col.php
Normal file
44
patterns/layout-3-col.php
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Three Columns
|
||||||
|
* Slug: wp-bootstrap/layout-3-col
|
||||||
|
* Categories: wp-bootstrap-layout, columns
|
||||||
|
* Description: A three-column layout with equal width columns, each containing a heading and paragraph.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|60","bottom":"var:preset|spacing|60"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)"><!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":{"left":"var:preset|spacing|50"}}}} -->
|
||||||
|
<div class="wp-block-columns alignwide"><!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:heading {"level":3,"fontSize":"x-large"} -->
|
||||||
|
<h3 class="wp-block-heading has-x-large-font-size"><?php esc_html_e( 'Column One', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'Add your content here. This column takes up one third of the available width on larger screens.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:heading {"level":3,"fontSize":"x-large"} -->
|
||||||
|
<h3 class="wp-block-heading has-x-large-font-size"><?php esc_html_e( 'Column Two', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'Add your content here. This column takes up one third of the available width on larger screens.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:heading {"level":3,"fontSize":"x-large"} -->
|
||||||
|
<h3 class="wp-block-heading has-x-large-font-size"><?php esc_html_e( 'Column Three', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'Add your content here. This column takes up one third of the available width on larger screens.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:column --></div>
|
||||||
|
<!-- /wp:columns --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
20
patterns/layout-container.php
Normal file
20
patterns/layout-container.php
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Bootstrap Container
|
||||||
|
* Slug: wp-bootstrap/layout-container
|
||||||
|
* Categories: wp-bootstrap-layout
|
||||||
|
* Description: A constrained container with padding, containing a heading and paragraph placeholder.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|60","bottom":"var:preset|spacing|60","left":"var:preset|spacing|40","right":"var:preset|spacing|40"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--60);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--40)"><!-- wp:heading {"fontSize":"xx-large"} -->
|
||||||
|
<h2 class="wp-block-heading has-xx-large-font-size"><?php esc_html_e( 'Heading goes here', 'wp-bootstrap' ); ?></h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p><?php esc_html_e( 'This is a content container with constrained width and comfortable padding. Replace this text with your own content.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
20
patterns/layout-full-width-section.php
Normal file
20
patterns/layout-full-width-section.php
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Full Width Section
|
||||||
|
* Slug: wp-bootstrap/layout-full-width-section
|
||||||
|
* Categories: wp-bootstrap-layout, banner
|
||||||
|
* Description: A full-width section with a primary background color, centered white heading and paragraph.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|80","bottom":"var:preset|spacing|80"}}},"backgroundColor":"primary","textColor":"base","layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull has-base-color has-primary-background-color has-text-color has-background" style="padding-top:var(--wp--preset--spacing--80);padding-bottom:var(--wp--preset--spacing--80)"><!-- wp:heading {"textAlign":"center","fontSize":"xx-large"} -->
|
||||||
|
<h2 class="wp-block-heading has-text-align-center has-xx-large-font-size"><?php esc_html_e( 'Full Width Section Heading', 'wp-bootstrap' ); ?></h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","fontSize":"large"} -->
|
||||||
|
<p class="has-text-align-center has-large-font-size"><?php esc_html_e( 'This full-width section stands out with a colored background. Use it to highlight important content, announcements, or calls to action.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
31
patterns/nav-dark.php
Normal file
31
patterns/nav-dark.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Navigation - Dark
|
||||||
|
* Slug: wp-bootstrap/nav-dark
|
||||||
|
* Categories: wp-bootstrap-navigation, header
|
||||||
|
* Block Types: core/template-part/header
|
||||||
|
* Description: Dark-themed navigation header with dark background.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","backgroundColor":"dark","textColor":"base","layout":{"type":"default"}} -->
|
||||||
|
<div class="wp-block-group alignfull has-base-color has-dark-background-color has-text-color has-background">
|
||||||
|
<!-- wp:group {"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group">
|
||||||
|
<!-- wp:group {"align":"wide","style":{"spacing":{"padding":{"top":"var:preset|spacing|30","bottom":"var:preset|spacing|30"}}},"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"space-between"}} -->
|
||||||
|
<div class="wp-block-group alignwide" style="padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)">
|
||||||
|
<!-- wp:site-title {"level":0,"style":{"elements":{"link":{"color":{"text":"var:preset|color|base"}}}}} /-->
|
||||||
|
<!-- wp:group {"style":{"spacing":{"blockGap":"var:preset|spacing|20"}},"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"right","verticalAlignment":"center"}} -->
|
||||||
|
<div class="wp-block-group">
|
||||||
|
<!-- wp:navigation {"overlayBackgroundColor":"dark","overlayTextColor":"base","style":{"elements":{"link":{"color":{"text":"var:preset|color|base"}}}},"layout":{"type":"flex","justifyContent":"right","flexWrap":"wrap"}} /-->
|
||||||
|
<!-- wp:pattern {"slug":"wp-bootstrap/dark-mode-toggle"} /-->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
31
patterns/nav-offcanvas.php
Normal file
31
patterns/nav-offcanvas.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Navigation - Offcanvas
|
||||||
|
* Slug: wp-bootstrap/nav-offcanvas
|
||||||
|
* Categories: wp-bootstrap-navigation, header
|
||||||
|
* Block Types: core/template-part/header
|
||||||
|
* Description: Header with offcanvas mobile navigation using Bootstrap offcanvas component.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","layout":{"type":"default"}} -->
|
||||||
|
<div class="wp-block-group alignfull">
|
||||||
|
<!-- wp:group {"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group">
|
||||||
|
<!-- wp:group {"align":"wide","style":{"spacing":{"padding":{"top":"var:preset|spacing|30","bottom":"var:preset|spacing|30"}}},"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"space-between"}} -->
|
||||||
|
<div class="wp-block-group alignwide" style="padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)">
|
||||||
|
<!-- wp:site-title {"level":0} /-->
|
||||||
|
<!-- wp:group {"style":{"spacing":{"blockGap":"var:preset|spacing|20"}},"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"right","verticalAlignment":"center"}} -->
|
||||||
|
<div class="wp-block-group">
|
||||||
|
<!-- wp:navigation {"overlayMenu":"always","overlayBackgroundColor":"base","overlayTextColor":"contrast","layout":{"type":"flex","justifyContent":"right","flexWrap":"wrap"}} /-->
|
||||||
|
<!-- wp:pattern {"slug":"wp-bootstrap/dark-mode-toggle"} /-->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
92
patterns/page-about.php
Normal file
92
patterns/page-about.php
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: About Page
|
||||||
|
* Slug: wp-bootstrap/page-about
|
||||||
|
* Categories: wp-bootstrap_page
|
||||||
|
* Description: A full about page layout with hero, story section, and team members.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|80","bottom":"var:preset|spacing|80"}}},"backgroundColor":"primary","textColor":"base","layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull has-base-color has-primary-background-color has-text-color has-background" style="padding-top:var(--wp--preset--spacing--80);padding-bottom:var(--wp--preset--spacing--80)"><!-- wp:heading {"textAlign":"center","level":1,"fontSize":"display"} -->
|
||||||
|
<h1 class="wp-block-heading has-text-align-center has-display-font-size"><?php esc_html_e( 'About Us', 'wp-bootstrap' ); ?></h1>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","fontSize":"large"} -->
|
||||||
|
<p class="has-text-align-center has-large-font-size"><?php esc_html_e( 'Learn more about who we are, what we do, and the people behind our mission.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|70","bottom":"var:preset|spacing|70"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--70);padding-bottom:var(--wp--preset--spacing--70)"><!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":{"left":"var:preset|spacing|60"}}}} -->
|
||||||
|
<div class="wp-block-columns alignwide"><!-- wp:column {"verticalAlignment":"center"} -->
|
||||||
|
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:heading {"fontSize":"xx-large"} -->
|
||||||
|
<h2 class="wp-block-heading has-xx-large-font-size"><?php esc_html_e( 'Our Story', 'wp-bootstrap' ); ?></h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p><?php esc_html_e( 'Founded with a passion for innovation and excellence, our journey began with a simple idea: to create meaningful solutions that make a real difference. Over the years, we have grown from a small team into a dedicated group of professionals committed to delivering outstanding results.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"textColor":"secondary"} -->
|
||||||
|
<p class="has-secondary-color has-text-color"><?php esc_html_e( 'Today, we continue to push boundaries and challenge conventions. Our approach combines creative thinking with proven methodologies, ensuring that every project we undertake meets the highest standards of quality and craftsmanship.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column {"verticalAlignment":"center"} -->
|
||||||
|
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:image {"sizeSlug":"large","style":{"border":{"radius":"0.5rem"}}} -->
|
||||||
|
<figure class="wp-block-image size-large" style="border-radius:0.5rem"><img src="" alt="<?php esc_attr_e( 'About us image', 'wp-bootstrap' ); ?>"/></figure>
|
||||||
|
<!-- /wp:image --></div>
|
||||||
|
<!-- /wp:column --></div>
|
||||||
|
<!-- /wp:columns --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|70","bottom":"var:preset|spacing|70"}}},"backgroundColor":"light","layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull has-light-background-color has-background" style="padding-top:var(--wp--preset--spacing--70);padding-bottom:var(--wp--preset--spacing--70)"><!-- wp:heading {"textAlign":"center","fontSize":"xx-large"} -->
|
||||||
|
<h2 class="wp-block-heading has-text-align-center has-xx-large-font-size"><?php esc_html_e( 'Our Team', 'wp-bootstrap' ); ?></h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","textColor":"secondary"} -->
|
||||||
|
<p class="has-text-align-center has-secondary-color has-text-color"><?php esc_html_e( 'Meet the people who make it all happen.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":{"left":"var:preset|spacing|40"}}}} -->
|
||||||
|
<div class="wp-block-columns alignwide"><!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:group {"className":"is-style-card","style":{"spacing":{"padding":{"top":"var:preset|spacing|50","bottom":"var:preset|spacing|50","left":"var:preset|spacing|40","right":"var:preset|spacing|40"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group is-style-card" style="padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--40)"><!-- wp:heading {"textAlign":"center","level":3} -->
|
||||||
|
<h3 class="wp-block-heading has-text-align-center"><?php esc_html_e( 'Jane Doe', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","textColor":"secondary"} -->
|
||||||
|
<p class="has-text-align-center has-secondary-color has-text-color"><?php esc_html_e( 'Founder & CEO', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:group {"className":"is-style-card","style":{"spacing":{"padding":{"top":"var:preset|spacing|50","bottom":"var:preset|spacing|50","left":"var:preset|spacing|40","right":"var:preset|spacing|40"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group is-style-card" style="padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--40)"><!-- wp:heading {"textAlign":"center","level":3} -->
|
||||||
|
<h3 class="wp-block-heading has-text-align-center"><?php esc_html_e( 'John Smith', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","textColor":"secondary"} -->
|
||||||
|
<p class="has-text-align-center has-secondary-color has-text-color"><?php esc_html_e( 'Lead Developer', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:group {"className":"is-style-card","style":{"spacing":{"padding":{"top":"var:preset|spacing|50","bottom":"var:preset|spacing|50","left":"var:preset|spacing|40","right":"var:preset|spacing|40"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group is-style-card" style="padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--40)"><!-- wp:heading {"textAlign":"center","level":3} -->
|
||||||
|
<h3 class="wp-block-heading has-text-align-center"><?php esc_html_e( 'Emily Johnson', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","textColor":"secondary"} -->
|
||||||
|
<p class="has-text-align-center has-secondary-color has-text-color"><?php esc_html_e( 'Creative Director', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group --></div>
|
||||||
|
<!-- /wp:column --></div>
|
||||||
|
<!-- /wp:columns --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
66
patterns/page-contact.php
Normal file
66
patterns/page-contact.php
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Contact Page
|
||||||
|
* Slug: wp-bootstrap/page-contact
|
||||||
|
* Categories: wp-bootstrap_page
|
||||||
|
* Description: A full contact page layout with hero, contact details, business hours, and spacer.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|80","bottom":"var:preset|spacing|80"}}},"backgroundColor":"primary","textColor":"base","layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull has-base-color has-primary-background-color has-text-color has-background" style="padding-top:var(--wp--preset--spacing--80);padding-bottom:var(--wp--preset--spacing--80)"><!-- wp:heading {"textAlign":"center","level":1,"fontSize":"display"} -->
|
||||||
|
<h1 class="wp-block-heading has-text-align-center has-display-font-size"><?php esc_html_e( 'Contact Us', 'wp-bootstrap' ); ?></h1>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","fontSize":"large"} -->
|
||||||
|
<p class="has-text-align-center has-large-font-size"><?php esc_html_e( 'We would love to hear from you. Reach out to us anytime.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|70","bottom":"var:preset|spacing|70"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--70);padding-bottom:var(--wp--preset--spacing--70)"><!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":{"left":"var:preset|spacing|60"}}}} -->
|
||||||
|
<div class="wp-block-columns alignwide"><!-- wp:column {"verticalAlignment":"top"} -->
|
||||||
|
<div class="wp-block-column is-vertically-aligned-top"><!-- wp:heading {"fontSize":"xx-large"} -->
|
||||||
|
<h2 class="wp-block-heading has-xx-large-font-size"><?php esc_html_e( 'Get in Touch', 'wp-bootstrap' ); ?></h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p><strong><?php esc_html_e( 'Address', 'wp-bootstrap' ); ?></strong><br><?php esc_html_e( '123 Main Street, Suite 100, Anytown, ST 12345', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p><strong><?php esc_html_e( 'Email', 'wp-bootstrap' ); ?></strong><br><?php esc_html_e( 'info@example.com', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p><strong><?php esc_html_e( 'Phone', 'wp-bootstrap' ); ?></strong><br><?php esc_html_e( '+1 (555) 123-4567', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column {"verticalAlignment":"top"} -->
|
||||||
|
<div class="wp-block-column is-vertically-aligned-top"><!-- wp:heading {"fontSize":"xx-large"} -->
|
||||||
|
<h2 class="wp-block-heading has-xx-large-font-size"><?php esc_html_e( 'Business Hours', 'wp-bootstrap' ); ?></h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:list {"className":"is-style-list-unstyled","style":{"spacing":{"blockGap":"var:preset|spacing|20"}}} -->
|
||||||
|
<ul class="is-style-list-unstyled"><!-- wp:list-item -->
|
||||||
|
<li><strong><?php esc_html_e( 'Monday - Friday:', 'wp-bootstrap' ); ?></strong> <?php esc_html_e( '9:00 AM - 6:00 PM', 'wp-bootstrap' ); ?></li>
|
||||||
|
<!-- /wp:list-item -->
|
||||||
|
|
||||||
|
<!-- wp:list-item -->
|
||||||
|
<li><strong><?php esc_html_e( 'Saturday:', 'wp-bootstrap' ); ?></strong> <?php esc_html_e( '10:00 AM - 4:00 PM', 'wp-bootstrap' ); ?></li>
|
||||||
|
<!-- /wp:list-item -->
|
||||||
|
|
||||||
|
<!-- wp:list-item -->
|
||||||
|
<li><strong><?php esc_html_e( 'Sunday:', 'wp-bootstrap' ); ?></strong> <?php esc_html_e( 'Closed', 'wp-bootstrap' ); ?></li>
|
||||||
|
<!-- /wp:list-item --></ul>
|
||||||
|
<!-- /wp:list --></div>
|
||||||
|
<!-- /wp:column --></div>
|
||||||
|
<!-- /wp:columns --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
|
||||||
|
<!-- wp:spacer {"height":"var:preset|spacing|70"} -->
|
||||||
|
<div style="height:var(--wp--preset--spacing--70)" aria-hidden="true" class="wp-block-spacer"></div>
|
||||||
|
<!-- /wp:spacer -->
|
||||||
94
patterns/page-services.php
Normal file
94
patterns/page-services.php
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Title: Services Page
|
||||||
|
* Slug: wp-bootstrap/page-services
|
||||||
|
* Categories: wp-bootstrap_page
|
||||||
|
* Description: A full services page layout with hero, service offerings, and call to action.
|
||||||
|
*
|
||||||
|
* @package WPBootstrap
|
||||||
|
* @since 0.2.0
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|80","bottom":"var:preset|spacing|80"}}},"backgroundColor":"dark","textColor":"base","layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull has-base-color has-dark-background-color has-text-color has-background" style="padding-top:var(--wp--preset--spacing--80);padding-bottom:var(--wp--preset--spacing--80)"><!-- wp:heading {"textAlign":"center","level":1,"fontSize":"display"} -->
|
||||||
|
<h1 class="wp-block-heading has-text-align-center has-display-font-size"><?php esc_html_e( 'Our Services', 'wp-bootstrap' ); ?></h1>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","fontSize":"large"} -->
|
||||||
|
<p class="has-text-align-center has-large-font-size"><?php esc_html_e( 'Professional solutions tailored to your needs.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|70","bottom":"var:preset|spacing|70"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--70);padding-bottom:var(--wp--preset--spacing--70)"><!-- wp:heading {"textAlign":"center","fontSize":"xx-large"} -->
|
||||||
|
<h2 class="wp-block-heading has-text-align-center has-xx-large-font-size"><?php esc_html_e( 'What We Offer', 'wp-bootstrap' ); ?></h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","textColor":"secondary"} -->
|
||||||
|
<p class="has-text-align-center has-secondary-color has-text-color"><?php esc_html_e( 'We provide a wide range of services to help your business grow and succeed.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":{"left":"var:preset|spacing|50"}}}} -->
|
||||||
|
<div class="wp-block-columns alignwide"><!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3,"fontSize":"display"} -->
|
||||||
|
<h3 class="wp-block-heading has-text-align-center has-display-font-size"><?php esc_html_e( "\xF0\x9F\x8E\xA8", 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:heading {"textAlign":"center","level":3} -->
|
||||||
|
<h3 class="wp-block-heading has-text-align-center"><?php esc_html_e( 'Design', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","textColor":"secondary"} -->
|
||||||
|
<p class="has-text-align-center has-secondary-color has-text-color"><?php esc_html_e( 'Beautiful, user-centered designs that capture your brand identity and engage your audience across all platforms and devices.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3,"fontSize":"display"} -->
|
||||||
|
<h3 class="wp-block-heading has-text-align-center has-display-font-size"><?php esc_html_e( "\xE2\x9A\x99\xEF\xB8\x8F", 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:heading {"textAlign":"center","level":3} -->
|
||||||
|
<h3 class="wp-block-heading has-text-align-center"><?php esc_html_e( 'Development', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","textColor":"secondary"} -->
|
||||||
|
<p class="has-text-align-center has-secondary-color has-text-color"><?php esc_html_e( 'Robust, scalable web applications built with modern technologies and best practices to ensure performance and reliability.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column -->
|
||||||
|
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3,"fontSize":"display"} -->
|
||||||
|
<h3 class="wp-block-heading has-text-align-center has-display-font-size"><?php esc_html_e( "\xF0\x9F\x93\x88", 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:heading {"textAlign":"center","level":3} -->
|
||||||
|
<h3 class="wp-block-heading has-text-align-center"><?php esc_html_e( 'Strategy', 'wp-bootstrap' ); ?></h3>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","textColor":"secondary"} -->
|
||||||
|
<p class="has-text-align-center has-secondary-color has-text-color"><?php esc_html_e( 'Data-driven strategies and consulting to help you achieve your business goals and stay ahead of the competition.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph --></div>
|
||||||
|
<!-- /wp:column --></div>
|
||||||
|
<!-- /wp:columns --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
|
||||||
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|70","bottom":"var:preset|spacing|70"}}},"backgroundColor":"primary","textColor":"base","layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group alignfull has-base-color has-primary-background-color has-text-color has-background" style="padding-top:var(--wp--preset--spacing--70);padding-bottom:var(--wp--preset--spacing--70)"><!-- wp:heading {"textAlign":"center","fontSize":"xx-large"} -->
|
||||||
|
<h2 class="wp-block-heading has-text-align-center has-xx-large-font-size"><?php esc_html_e( 'Get Started', 'wp-bootstrap' ); ?></h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph {"align":"center","fontSize":"medium"} -->
|
||||||
|
<p class="has-text-align-center has-medium-font-size"><?php esc_html_e( 'Ready to take your project to the next level? Let us help you build something great.', 'wp-bootstrap' ); ?></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
|
||||||
|
<div class="wp-block-buttons"><!-- wp:button {"backgroundColor":"base","textColor":"primary"} -->
|
||||||
|
<div class="wp-block-button"><a class="wp-block-button__link has-primary-color has-base-background-color has-text-color has-background wp-element-button"><?php esc_html_e( 'Contact Us', 'wp-bootstrap' ); ?></a></div>
|
||||||
|
<!-- /wp:button -->
|
||||||
|
|
||||||
|
<!-- wp:button {"className":"is-style-outline","style":{"elements":{"link":{"color":{"text":"var:preset|color|base"}}}},"textColor":"base"} -->
|
||||||
|
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link has-base-color has-text-color has-link-color wp-element-button"><?php esc_html_e( 'View Portfolio', 'wp-bootstrap' ); ?></a></div>
|
||||||
|
<!-- /wp:button --></div>
|
||||||
|
<!-- /wp:buttons --></div>
|
||||||
|
<!-- /wp:group -->
|
||||||
@@ -25,6 +25,24 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Dark mode overrides for block styles with hardcoded colors
|
// Dark mode overrides for block styles with hardcoded colors
|
||||||
[data-bs-theme="dark"] {
|
[data-bs-theme="dark"] {
|
||||||
.is-style-alert-info {
|
.is-style-alert-info {
|
||||||
|
|||||||
29
src/scss/_editor-overrides.scss
Normal file
29
src/scss/_editor-overrides.scss
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
// Editor-specific overrides
|
||||||
|
// Adjustments for the block editor iframe to match frontend appearance
|
||||||
|
|
||||||
|
.editor-styles-wrapper {
|
||||||
|
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||||
|
line-height: 1.5;
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration-thickness: 1px !important;
|
||||||
|
text-underline-offset: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Alignment overrides matching Bootstrap container widths
|
||||||
|
.alignfull {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alignwide {
|
||||||
|
max-width: 1140px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Block gap matching theme.json blockGap
|
||||||
|
> * + * {
|
||||||
|
margin-block-start: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,23 +1,22 @@
|
|||||||
/*!
|
/*!
|
||||||
* WP Bootstrap Theme - Editor Styles
|
* WP Bootstrap Theme - Editor Styles
|
||||||
|
* Imports full Bootstrap so WYSIWYG matches the frontend.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Import Bootstrap functions and variables for consistency
|
// 1. Import Bootstrap functions first (needed for variable manipulation)
|
||||||
@import "bootstrap/scss/functions";
|
@import "bootstrap/scss/functions";
|
||||||
|
|
||||||
|
// 2. Override Bootstrap variables BEFORE they're set
|
||||||
@import "variables";
|
@import "variables";
|
||||||
@import "bootstrap/scss/variables";
|
|
||||||
@import "bootstrap/scss/variables-dark";
|
|
||||||
@import "bootstrap/scss/maps";
|
|
||||||
@import "bootstrap/scss/mixins";
|
|
||||||
@import "bootstrap/scss/root";
|
|
||||||
|
|
||||||
// Editor-specific adjustments
|
// 3. Import all of Bootstrap
|
||||||
.editor-styles-wrapper {
|
@import "bootstrap/scss/bootstrap";
|
||||||
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
||||||
line-height: 1.5;
|
|
||||||
|
|
||||||
a {
|
// 4. WordPress block compatibility
|
||||||
text-decoration-thickness: 1px !important;
|
@import "wordpress";
|
||||||
text-underline-offset: 0.1em;
|
|
||||||
}
|
// 5. Custom styles (dark mode overrides, block styles, etc.)
|
||||||
}
|
@import "custom";
|
||||||
|
|
||||||
|
// 6. Editor-specific overrides
|
||||||
|
@import "editor-overrides";
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Description: A modern WordPress Block Theme built from scratch with Bootstrap 5.
|
|||||||
Requires at least: 6.7
|
Requires at least: 6.7
|
||||||
Tested up to: 6.7
|
Tested up to: 6.7
|
||||||
Requires PHP: 8.3
|
Requires PHP: 8.3
|
||||||
Version: 0.1.1
|
Version: 0.2.0
|
||||||
License: GNU General Public License v2 or later
|
License: GNU General Public License v2 or later
|
||||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
Text Domain: wp-bootstrap
|
Text Domain: wp-bootstrap
|
||||||
|
|||||||
9
templates/page-full-width.html
Normal file
9
templates/page-full-width.html
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<!-- wp:template-part {"slug":"header"} /-->
|
||||||
|
|
||||||
|
<!-- wp:group {"tagName":"main","layout":{"type":"default"}} -->
|
||||||
|
<main class="wp-block-group">
|
||||||
|
<!-- wp:post-content {"align":"full","layout":{"type":"default"}} /-->
|
||||||
|
</main>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
|
||||||
|
<!-- wp:template-part {"slug":"footer"} /-->
|
||||||
14
templates/page-hero.html
Normal file
14
templates/page-hero.html
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<!-- wp:template-part {"slug":"header"} /-->
|
||||||
|
|
||||||
|
<!-- wp:group {"tagName":"main","layout":{"type":"default"}} -->
|
||||||
|
<main class="wp-block-group">
|
||||||
|
<!-- wp:pattern {"slug":"wp-bootstrap/hero-cover"} /-->
|
||||||
|
<!-- wp:group {"layout":{"type":"constrained"}} -->
|
||||||
|
<div class="wp-block-group">
|
||||||
|
<!-- wp:post-content {"layout":{"type":"constrained"}} /-->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
</main>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
|
||||||
|
<!-- wp:template-part {"slug":"footer"} /-->
|
||||||
5
templates/page-landing.html
Normal file
5
templates/page-landing.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!-- wp:group {"tagName":"main","layout":{"type":"default"}} -->
|
||||||
|
<main class="wp-block-group">
|
||||||
|
<!-- wp:post-content {"align":"full","layout":{"type":"default"}} /-->
|
||||||
|
</main>
|
||||||
|
<!-- /wp:group -->
|
||||||
25
templates/page-sidebar.html
Normal file
25
templates/page-sidebar.html
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<!-- wp:template-part {"slug":"header"} /-->
|
||||||
|
|
||||||
|
<!-- wp:group {"tagName":"main","style":{"spacing":{"margin":{"top":"var:preset|spacing|60"}}},"layout":{"type":"constrained"}} -->
|
||||||
|
<main class="wp-block-group" style="margin-top:var(--wp--preset--spacing--60)">
|
||||||
|
<!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":{"left":"var:preset|spacing|60"}}}} -->
|
||||||
|
<div class="wp-block-columns alignwide">
|
||||||
|
<!-- wp:column {"width":"66.66%"} -->
|
||||||
|
<div class="wp-block-column" style="flex-basis:66.66%">
|
||||||
|
<!-- wp:post-featured-image {"style":{"spacing":{"margin":{"bottom":"var:preset|spacing|60"}}}} /-->
|
||||||
|
<!-- wp:post-title {"level":1} /-->
|
||||||
|
<!-- wp:post-content {"align":"full","layout":{"type":"constrained"}} /-->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
|
||||||
|
<!-- wp:column {"width":"33.33%"} -->
|
||||||
|
<div class="wp-block-column" style="flex-basis:33.33%">
|
||||||
|
<!-- wp:template-part {"slug":"sidebar"} /-->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:column -->
|
||||||
|
</div>
|
||||||
|
<!-- /wp:columns -->
|
||||||
|
</main>
|
||||||
|
<!-- /wp:group -->
|
||||||
|
|
||||||
|
<!-- wp:template-part {"slug":"footer"} /-->
|
||||||
93
theme.json
93
theme.json
@@ -215,6 +215,59 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"shadow": {
|
||||||
|
"defaultPresets": false,
|
||||||
|
"presets": [
|
||||||
|
{
|
||||||
|
"name": "Small",
|
||||||
|
"slug": "sm",
|
||||||
|
"shadow": "0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Regular",
|
||||||
|
"slug": "md",
|
||||||
|
"shadow": "0 0.5rem 1rem rgba(0, 0, 0, 0.15)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Large",
|
||||||
|
"slug": "lg",
|
||||||
|
"shadow": "0 1rem 3rem rgba(0, 0, 0, 0.175)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dimensions": {
|
||||||
|
"aspectRatios": [
|
||||||
|
{
|
||||||
|
"name": "16:9",
|
||||||
|
"slug": "16-9",
|
||||||
|
"ratio": "16/9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "4:3",
|
||||||
|
"slug": "4-3",
|
||||||
|
"ratio": "4/3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "1:1",
|
||||||
|
"slug": "1-1",
|
||||||
|
"ratio": "1/1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "3:4",
|
||||||
|
"slug": "3-4",
|
||||||
|
"ratio": "3/4"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"layout": {
|
||||||
|
"contentSize": "720px",
|
||||||
|
"wideSize": "1140px"
|
||||||
|
},
|
||||||
|
"spacing": {
|
||||||
|
"baseline": "1.5rem"
|
||||||
|
}
|
||||||
|
},
|
||||||
"useRootPaddingAwareAlignments": true
|
"useRootPaddingAwareAlignments": true
|
||||||
},
|
},
|
||||||
"styles": {
|
"styles": {
|
||||||
@@ -450,6 +503,26 @@
|
|||||||
"name": "home-sidebar",
|
"name": "home-sidebar",
|
||||||
"postTypes": ["page"],
|
"postTypes": ["page"],
|
||||||
"title": "Blog with Sidebar"
|
"title": "Blog with Sidebar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "page-landing",
|
||||||
|
"postTypes": ["page"],
|
||||||
|
"title": "Landing Page (No Header/Footer)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "page-full-width",
|
||||||
|
"postTypes": ["page"],
|
||||||
|
"title": "Full Width"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "page-hero",
|
||||||
|
"postTypes": ["page"],
|
||||||
|
"title": "Page with Hero"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "page-sidebar",
|
||||||
|
"postTypes": ["page", "post"],
|
||||||
|
"title": "Page with Sidebar"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"templateParts": [
|
"templateParts": [
|
||||||
@@ -458,11 +531,31 @@
|
|||||||
"name": "header",
|
"name": "header",
|
||||||
"title": "Header"
|
"title": "Header"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"area": "header",
|
||||||
|
"name": "header-centered",
|
||||||
|
"title": "Header - Centered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": "header",
|
||||||
|
"name": "header-transparent",
|
||||||
|
"title": "Header - Transparent"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"area": "footer",
|
"area": "footer",
|
||||||
"name": "footer",
|
"name": "footer",
|
||||||
"title": "Footer"
|
"title": "Footer"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"area": "footer",
|
||||||
|
"name": "footer-minimal",
|
||||||
|
"title": "Footer - Minimal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": "footer",
|
||||||
|
"name": "footer-columns",
|
||||||
|
"title": "Footer - Multi-Column"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"area": "uncategorized",
|
"area": "uncategorized",
|
||||||
"name": "sidebar",
|
"name": "sidebar",
|
||||||
|
|||||||
@@ -8,13 +8,17 @@
|
|||||||
<body {{ body_class() }}>
|
<body {{ body_class() }}>
|
||||||
{{ wp_body_open() }}
|
{{ wp_body_open() }}
|
||||||
|
|
||||||
{% include 'partials/header.html.twig' %}
|
{% block header %}
|
||||||
|
{% include 'partials/header.html.twig' %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
<main id="main-content" class="{% block main_class %}py-4{% endblock %}">
|
<main id="main-content" class="{% block main_class %}py-4{% endblock %}">
|
||||||
{% block content %}{% endblock %}
|
{% block content %}{% endblock %}
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
{% include 'partials/footer.html.twig' %}
|
{% block footer %}
|
||||||
|
{% include 'partials/footer.html.twig' %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{{ wp_footer() }}
|
{{ wp_footer() }}
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
18
views/pages/full-width.html.twig
Normal file
18
views/pages/full-width.html.twig
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{% extends 'base.html.twig' %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="container-fluid px-0">
|
||||||
|
<article>
|
||||||
|
{% if post.thumbnail %}
|
||||||
|
<img src="{{ post.thumbnail }}" class="w-100 mb-4" alt="{{ post.title|e('html_attr') }}">
|
||||||
|
{% endif %}
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="mb-4">{{ post.title }}</h1>
|
||||||
|
|
||||||
|
<div class="post-content">
|
||||||
|
{{ post.content|raw }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
21
views/pages/hero.html.twig
Normal file
21
views/pages/hero.html.twig
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{% extends 'base.html.twig' %}
|
||||||
|
|
||||||
|
{% block main_class %}{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<section class="bg-primary text-white py-5 mb-5{% if post.thumbnail %} position-relative overflow-hidden{% endif %}">
|
||||||
|
{% if post.thumbnail %}
|
||||||
|
<div class="position-absolute top-0 start-0 w-100 h-100" style="background: url('{{ post.thumbnail }}') center/cover no-repeat; opacity: 0.3;"></div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="container position-relative py-5 text-center">
|
||||||
|
<h1 class="display-4 fw-bold">{{ post.title }}</h1>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<div class="container">
|
||||||
|
<article>
|
||||||
|
<div class="post-content">
|
||||||
|
{{ post.content|raw }}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
18
views/pages/landing.html.twig
Normal file
18
views/pages/landing.html.twig
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{% extends 'base.html.twig' %}
|
||||||
|
|
||||||
|
{% block header %}{% endblock %}
|
||||||
|
{% block footer %}{% endblock %}
|
||||||
|
|
||||||
|
{% block main_class %}{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="container py-5">
|
||||||
|
<article>
|
||||||
|
<h1>{{ post.title }}</h1>
|
||||||
|
|
||||||
|
<div class="post-content">
|
||||||
|
{{ post.content|raw }}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
24
views/pages/page-sidebar.html.twig
Normal file
24
views/pages/page-sidebar.html.twig
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{% extends 'base.html.twig' %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<article>
|
||||||
|
<h1 class="mb-4">{{ post.title }}</h1>
|
||||||
|
{% if post.thumbnail %}
|
||||||
|
<img src="{{ post.thumbnail }}" class="img-fluid rounded mb-4"
|
||||||
|
alt="{{ post.title|e('html_attr') }}">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="post-content">
|
||||||
|
{{ post.content|raw }}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-4">
|
||||||
|
{% include 'partials/sidebar.html.twig' %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
42
views/partials/footer-columns.html.twig
Normal file
42
views/partials/footer-columns.html.twig
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
<footer class="bg-dark text-light mt-auto">
|
||||||
|
<div class="container py-5">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-4 mb-4 mb-lg-0">
|
||||||
|
<h5 class="fw-bold">{{ site.name }}</h5>
|
||||||
|
<p class="text-body-secondary">{{ site.description }}</p>
|
||||||
|
<p class="text-body-secondary small">{{ __('A modern WordPress theme built with Bootstrap 5.') }}</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-4 mb-4 mb-lg-0">
|
||||||
|
<h5 class="fw-bold">{{ __('Navigation') }}</h5>
|
||||||
|
{% if footer_menu|length > 0 %}
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
{% for item in footer_menu %}
|
||||||
|
<li class="mb-1">
|
||||||
|
<a href="{{ item.url }}" class="text-body-secondary text-decoration-none">
|
||||||
|
{{ item.title }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<h5 class="fw-bold">{{ __('About') }}</h5>
|
||||||
|
<p class="text-body-secondary small">
|
||||||
|
{{ __('This theme is proudly built with Bootstrap 5 and WordPress Full Site Editing.') }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr class="my-4">
|
||||||
|
<div class="row align-items-center">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<p class="text-body-secondary small mb-0">© {{ current_year }} {{ site.name }}</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 text-md-end">
|
||||||
|
<p class="text-body-secondary small mb-0">
|
||||||
|
{{ __('Powered by %s')|format('<a href="https://wordpress.org" rel="nofollow" class="text-body-secondary">WordPress</a>')|raw }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
8
views/partials/footer-minimal.html.twig
Normal file
8
views/partials/footer-minimal.html.twig
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<footer class="bg-body-tertiary mt-auto">
|
||||||
|
<div class="container py-4">
|
||||||
|
<hr class="mb-4">
|
||||||
|
<p class="text-body-secondary text-center small mb-0">
|
||||||
|
© {{ current_year }} {{ site.name }}. {{ __('All rights reserved.') }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
59
views/partials/header-centered.html.twig
Normal file
59
views/partials/header-centered.html.twig
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<header>
|
||||||
|
<nav class="navbar navbar-expand-lg bg-body-tertiary">
|
||||||
|
<div class="container flex-column">
|
||||||
|
<a class="navbar-brand fw-bold mb-2" href="{{ site.url }}">
|
||||||
|
{{ site.name }}
|
||||||
|
</a>
|
||||||
|
{% if site.description %}
|
||||||
|
<p class="text-body-secondary small mb-2">{{ site.description }}</p>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button"
|
||||||
|
data-bs-toggle="collapse" data-bs-target="#navbarMain"
|
||||||
|
aria-controls="navbarMain" aria-expanded="false"
|
||||||
|
aria-label="{{ __('Toggle navigation') }}">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse justify-content-center" id="navbarMain">
|
||||||
|
<ul class="navbar-nav mb-2 mb-lg-0">
|
||||||
|
{% for item in menu %}
|
||||||
|
{% if item.children|length > 0 %}
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle{{ item.active ? ' active' : '' }}"
|
||||||
|
href="{{ item.url }}" role="button"
|
||||||
|
data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
|
{{ item.title }}
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
{% for child in item.children %}
|
||||||
|
<li>
|
||||||
|
<a class="dropdown-item{{ child.active ? ' active' : '' }}"
|
||||||
|
href="{{ child.url }}"
|
||||||
|
{% if child.target %}target="{{ child.target }}"{% endif %}>
|
||||||
|
{{ child.title }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
{% else %}
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link{{ item.active ? ' active' : '' }}"
|
||||||
|
href="{{ item.url }}"
|
||||||
|
{% if item.active %}aria-current="page"{% endif %}
|
||||||
|
{% if item.target %}target="{{ item.target }}"{% endif %}>
|
||||||
|
{{ item.title }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{% if dark_mode %}
|
||||||
|
{% include 'partials/dark-mode-toggle.html.twig' %}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
64
views/partials/header-offcanvas.html.twig
Normal file
64
views/partials/header-offcanvas.html.twig
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<header>
|
||||||
|
<nav class="navbar navbar-expand-lg bg-body-tertiary">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand fw-bold" href="{{ site.url }}">
|
||||||
|
{{ site.name }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button"
|
||||||
|
data-bs-toggle="offcanvas" data-bs-target="#navbarOffcanvas"
|
||||||
|
aria-controls="navbarOffcanvas"
|
||||||
|
aria-label="{{ __('Toggle navigation') }}">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="offcanvas offcanvas-end" tabindex="-1" id="navbarOffcanvas"
|
||||||
|
aria-labelledby="navbarOffcanvasLabel">
|
||||||
|
<div class="offcanvas-header">
|
||||||
|
<h5 class="offcanvas-title" id="navbarOffcanvasLabel">{{ site.name }}</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas"
|
||||||
|
aria-label="{{ __('Close') }}"></button>
|
||||||
|
</div>
|
||||||
|
<div class="offcanvas-body">
|
||||||
|
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
|
||||||
|
{% for item in menu %}
|
||||||
|
{% if item.children|length > 0 %}
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle{{ item.active ? ' active' : '' }}"
|
||||||
|
href="{{ item.url }}" role="button"
|
||||||
|
data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
|
{{ item.title }}
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
{% for child in item.children %}
|
||||||
|
<li>
|
||||||
|
<a class="dropdown-item{{ child.active ? ' active' : '' }}"
|
||||||
|
href="{{ child.url }}"
|
||||||
|
{% if child.target %}target="{{ child.target }}"{% endif %}>
|
||||||
|
{{ child.title }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
{% else %}
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link{{ item.active ? ' active' : '' }}"
|
||||||
|
href="{{ item.url }}"
|
||||||
|
{% if item.active %}aria-current="page"{% endif %}
|
||||||
|
{% if item.target %}target="{{ item.target }}"{% endif %}>
|
||||||
|
{{ item.title }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{% if dark_mode %}
|
||||||
|
{% include 'partials/dark-mode-toggle.html.twig' %}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
56
views/partials/header-transparent.html.twig
Normal file
56
views/partials/header-transparent.html.twig
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
<header class="position-absolute w-100" style="z-index: 1030;">
|
||||||
|
<nav class="navbar navbar-expand-lg navbar-dark">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand fw-bold" href="{{ site.url }}">
|
||||||
|
{{ site.name }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button"
|
||||||
|
data-bs-toggle="collapse" data-bs-target="#navbarMain"
|
||||||
|
aria-controls="navbarMain" aria-expanded="false"
|
||||||
|
aria-label="{{ __('Toggle navigation') }}">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
|
||||||
|
{% for item in menu %}
|
||||||
|
{% if item.children|length > 0 %}
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle{{ item.active ? ' active' : '' }}"
|
||||||
|
href="{{ item.url }}" role="button"
|
||||||
|
data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
|
{{ item.title }}
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
{% for child in item.children %}
|
||||||
|
<li>
|
||||||
|
<a class="dropdown-item{{ child.active ? ' active' : '' }}"
|
||||||
|
href="{{ child.url }}"
|
||||||
|
{% if child.target %}target="{{ child.target }}"{% endif %}>
|
||||||
|
{{ child.title }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
{% else %}
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link{{ item.active ? ' active' : '' }}"
|
||||||
|
href="{{ item.url }}"
|
||||||
|
{% if item.active %}aria-current="page"{% endif %}
|
||||||
|
{% if item.target %}target="{{ item.target }}"{% endif %}>
|
||||||
|
{{ item.title }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{% if dark_mode %}
|
||||||
|
{% include 'partials/dark-mode-toggle.html.twig' %}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
Reference in New Issue
Block a user