diff --git a/wpfiles/wp-content/themes/hogelandlinux/assets/css/patterns.css b/wpfiles/wp-content/themes/hogelandlinux/assets/css/patterns.css
new file mode 100644
index 0000000..dac83af
--- /dev/null
+++ b/wpfiles/wp-content/themes/hogelandlinux/assets/css/patterns.css
@@ -0,0 +1,524 @@
+/* ===================================================================
+ Hogeland Linux — block patterns & content styles
+ Consolidated design system: single green palette, alternating
+ white/tint section rhythm, consistent cards, spacing and buttons.
+ =================================================================== */
+
+/* -------------------------------------------------------------------
+ Layout helpers (used by all patterns)
+------------------------------------------------------------------- */
+
+.hl-container {
+ max-width: 1200px;
+ margin: 0 auto;
+ padding: 0 1.5rem;
+ box-sizing: border-box;
+}
+
+/* Full-width sections, regardless of surrounding content wrappers. */
+.wp-block-group.hl-section {
+ width: auto;
+ max-width: none;
+ margin-left: 0;
+ margin-right: 0;
+}
+
+/* Loose, non-pattern blocks typed directly in the editor get the
+ content column width and some breathing room. */
+.entry-content > *:not(.hl-section):not([class*="align"]) {
+ max-width: 1200px;
+ margin: 1.5rem auto;
+ padding-left: 1.5rem;
+ padding-right: 1.5rem;
+}
+
+.entry-content > .alignwide {
+ max-width: 1400px;
+}
+
+.entry-content > .alignfull {
+ width: 100vw;
+ max-width: 100vw;
+ margin-left: calc(50% - 50vw);
+ margin-right: calc(50% - 50vw);
+}
+
+/* Prose inside content. */
+.entry-content a {
+ color: #059669;
+}
+
+.entry-content img {
+ border-radius: 8px;
+ max-width: 100%;
+ height: auto;
+}
+
+/* -------------------------------------------------------------------
+ Section rhythm (consistent alternation)
+ white -> tint -> white -> tint -> ... -> dark CTA
+------------------------------------------------------------------- */
+
+.hl-section {
+ padding: 3.5rem 0;
+}
+
+.hl-section--white {
+ background: #fff;
+}
+
+.hl-section--tint {
+ background: #ecfdf5;
+}
+
+.hl-section--brand {
+ background: linear-gradient(135deg, #059669 0%, #047857 100%);
+ color: #fff;
+}
+
+.hl-section-title {
+ text-align: center;
+ color: #047857;
+ margin-bottom: 1rem;
+}
+
+.hl-section-subtitle {
+ text-align: center;
+ color: #6b7280;
+ font-size: 1.1rem;
+ max-width: 640px;
+ margin: 0 auto 2.5rem;
+}
+
+/* -------------------------------------------------------------------
+ Hero (home) and page hero
+------------------------------------------------------------------- */
+
+.hl-hero {
+ background:
+ linear-gradient(135deg, rgba(236, 253, 245, 0.9) 0%, rgba(209, 250, 229, 0.9) 100%),
+ url('../images/TuxAinrom.webp') center / cover no-repeat;
+ min-height: 70vh;
+ display: flex;
+ align-items: center;
+ padding: 4rem 0;
+ text-align: center;
+ box-sizing: border-box;
+}
+
+.hl-hero .hl-hero__title {
+ color: #047857;
+ font-size: clamp(2rem, 5vw, 3rem);
+ margin-bottom: 1rem;
+ text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.8);
+}
+
+.hl-hero .hl-hero__subtitle {
+ font-size: 1.25rem;
+ color: #374151;
+ max-width: 760px;
+ margin: 0 auto 2rem;
+ text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.8);
+}
+
+.hl-hero .wp-block-buttons {
+ margin-top: 0.5rem;
+}
+
+.hl-page-hero {
+ background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
+ padding: 2.25rem 0;
+ text-align: center;
+ box-sizing: border-box;
+}
+
+.hl-page-hero .hl-page-hero__title {
+ color: #047857;
+ margin-bottom: 1rem;
+}
+
+.hl-page-hero .hl-page-hero__subtitle {
+ color: #6b7280;
+ max-width: 640px;
+ margin: 0 auto;
+}
+
+/* -------------------------------------------------------------------
+ Card grids (singular system: responsive auto-fit grid)
+------------------------------------------------------------------- */
+
+.wp-block-columns.hl-card-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
+ gap: 2rem;
+ margin: 2.5rem 0 0;
+}
+
+.wp-block-columns.hl-card-grid > .wp-block-column {
+ margin: 0;
+}
+
+.hl-card {
+ background: #fff;
+ border-radius: 12px;
+ padding: 2rem;
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
+ border: 1px solid transparent;
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+}
+
+.hl-card:hover {
+ transform: translateY(-4px);
+ box-shadow: 0 10px 30px rgba(5, 150, 105, 0.15);
+}
+
+.hl-card h3 {
+ color: #047857;
+ margin: 0 0 0.75rem;
+}
+
+.hl-card p:last-child {
+ margin-bottom: 0;
+}
+
+/* Benefit card: tinted, centered, icon on top. */
+.hl-card--benefit {
+ background: #ecfdf5;
+ border-color: #bbf7d0;
+ text-align: center;
+}
+
+.hl-card--benefit .hl-card-icon {
+ font-size: 2.5rem;
+ line-height: 1;
+ margin: 0 0 0.75rem;
+}
+
+/* Service card: white with green left accent. */
+.hl-card--service {
+ border-left: 4px solid #059669;
+}
+
+/* Steps: fixed 3/2/1 responsive layout. */
+.wp-block-columns.hl-steps-grid {
+ grid-template-columns: repeat(3, 1fr);
+}
+
+@media (max-width: 1024px) {
+ .wp-block-columns.hl-steps-grid {
+ grid-template-columns: repeat(2, 1fr);
+ }
+}
+
+@media (max-width: 640px) {
+ .wp-block-columns.hl-steps-grid {
+ grid-template-columns: 1fr;
+ }
+}
+
+/* -------------------------------------------------------------------
+ Distro cards
+------------------------------------------------------------------- */
+
+.hl-distro-card {
+ position: relative;
+ overflow: hidden;
+}
+
+.hl-distro-card::before {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ height: 4px;
+ background: linear-gradient(90deg, #059669, #10b981);
+}
+
+.hl-distro-head {
+ display: flex;
+ align-items: center;
+ gap: 1rem;
+ margin: 0 0 1rem;
+}
+
+.hl-distro-head img {
+ width: 48px;
+ height: 48px;
+ object-fit: contain;
+ flex-shrink: 0;
+ margin: 0;
+}
+
+.hl-distro-head h3 {
+ margin: 0;
+ color: #047857;
+}
+
+.hl-distro-tag {
+ background: linear-gradient(135deg, #059669, #10b981);
+ color: #fff;
+ border-radius: 20px;
+ padding: 0.2rem 0.75rem;
+ font-size: 0.8rem;
+ font-weight: 500;
+ width: auto;
+ display: inline-block;
+}
+
+.hl-distro-features {
+ color: #4b5563;
+ font-size: 0.95rem;
+ margin: 0 0 1rem;
+}
+
+.hl-distro-ideal {
+ margin: auto 0 0;
+ background: #f0f9ff;
+ border: 1px solid #bae6fd;
+ border-radius: 8px;
+ padding: 1rem;
+ color: #0c4a6e;
+ font-size: 0.9rem;
+}
+
+.hl-distro-ideal strong {
+ color: #0369a1;
+}
+
+/* -------------------------------------------------------------------
+ Windows 10 EOL section
+------------------------------------------------------------------- */
+
+.wp-block-columns.hl-eol-col {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 3rem;
+ align-items: start;
+ margin-bottom: 3rem;
+}
+
+.wp-block-columns.hl-eol-col > .wp-block-column {
+ margin: 0;
+}
+
+@media (max-width: 768px) {
+ .wp-block-columns.hl-eol-col {
+ grid-template-columns: 1fr;
+ gap: 2rem;
+ }
+}
+
+.hl-eol-image img {
+ border-radius: 12px;
+ max-width: 100%;
+}
+
+.hl-eol-list {
+ list-style: none;
+ margin: 1.5rem 0;
+ padding: 0;
+}
+
+.hl-eol-list li {
+ padding: 0.35rem 0;
+ font-size: 1.1rem;
+}
+
+.hl-highlight {
+ background: #d1fae5;
+ border-left: 4px solid #059669;
+ border-radius: 8px;
+ padding: 1rem 1.25rem;
+ color: #064e3b;
+ font-weight: 500;
+ margin: 0;
+}
+
+/* Stats row */
+.wp-block-columns.hl-stats {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 1.5rem;
+ margin: 0;
+}
+
+.wp-block-columns.hl-stats > .wp-block-column {
+ margin: 0;
+}
+
+@media (max-width: 768px) {
+ .wp-block-columns.hl-stats {
+ grid-template-columns: 1fr;
+ }
+}
+
+.hl-stat {
+ background: #fff;
+ border-radius: 12px;
+ padding: 1.5rem;
+ text-align: center;
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
+ box-sizing: border-box;
+}
+
+.hl-stat__icon {
+ font-size: 2rem;
+ line-height: 1;
+ margin: 0 0 0.5rem;
+}
+
+.hl-stat__number {
+ font-size: 1.75rem;
+ color: #047857;
+ margin: 0 0 0.25rem;
+}
+
+.hl-stat__label {
+ color: #6b7280;
+ margin: 0;
+}
+
+/* -------------------------------------------------------------------
+ Feature showcases (Linux in actie)
+------------------------------------------------------------------- */
+
+.hl-feature-card {
+ text-align: center;
+}
+
+.hl-feature-card img {
+ border-radius: 12px;
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
+ margin: 0 0 1.25rem;
+}
+
+.hl-feature-card h3 {
+ color: #047857;
+ margin: 0 0 0.75rem;
+ font-size: 1.3rem;
+}
+
+.hl-feature-card p {
+ color: #6b7280;
+ margin: 0;
+}
+
+/* -------------------------------------------------------------------
+ Call to action (dark green) and buttons
+------------------------------------------------------------------- */
+
+.hl-cta {
+ text-align: center;
+}
+
+.hl-cta h2 {
+ color: #fff;
+ margin: 0 0 1rem;
+}
+
+.hl-cta p {
+ color: #a7f3d0;
+ font-size: 1.1rem;
+ max-width: 720px;
+ margin: 0 auto 2rem;
+}
+
+/* Button block styles */
+.is-style-hl-primary .wp-block-button__link {
+ background: #059669;
+ color: #fff;
+ border: 2px solid transparent;
+ border-radius: 8px;
+ padding: 12px 24px;
+}
+
+.is-style-hl-primary .wp-block-button__link:hover {
+ background: #047857;
+ color: #fff;
+}
+
+.is-style-hl-secondary .wp-block-button__link {
+ background: transparent;
+ color: #059669;
+ border: 2px solid #059669;
+ border-radius: 8px;
+ padding: 12px 24px;
+}
+
+.is-style-hl-secondary .wp-block-button__link:hover {
+ background: #059669;
+ color: #fff;
+}
+
+.is-style-hl-on-dark .wp-block-button__link {
+ background: #fff;
+ color: #047857;
+ border: 2px solid transparent;
+ border-radius: 8px;
+ padding: 12px 24px;
+}
+
+.is-style-hl-on-dark .wp-block-button__link:hover {
+ background: #d1fae5;
+ color: #047857;
+}
+
+/* -------------------------------------------------------------------
+ Disclaimer (collapsible)
+------------------------------------------------------------------- */
+
+details.hl-disclaimer {
+ margin: 1rem 0 0;
+}
+
+details.hl-disclaimer summary {
+ cursor: pointer;
+ color: #047857;
+ font-weight: 600;
+}
+
+details.hl-disclaimer .hl-disclaimer__body {
+ background: #f9fafb;
+ border-left: 4px solid #059669;
+ border-radius: 6px;
+ padding: 1rem 1.25rem;
+ margin-top: 0.75rem;
+}
+
+/* -------------------------------------------------------------------
+ Media & text (Over mij style)
+------------------------------------------------------------------- */
+
+.hl-media-text .wp-block-image {
+ margin: 0;
+}
+
+.hl-media-text figcaption {
+ color: #6b7280;
+ font-size: 0.9rem;
+ margin-top: 0.5rem;
+ text-align: center;
+}
+
+/* -------------------------------------------------------------------
+ Responsive polish
+------------------------------------------------------------------- */
+
+@media (max-width: 768px) {
+ .hl-section {
+ padding: 2.5rem 0;
+ }
+
+ .hl-hero {
+ min-height: 60vh;
+ }
+
+ .hl-card,
+ .hl-stat {
+ padding: 1.25rem;
+ }
+}
\ No newline at end of file
diff --git a/wpfiles/wp-content/themes/hogelandlinux/functions.php b/wpfiles/wp-content/themes/hogelandlinux/functions.php
index 7c99200..8c5f16f 100644
--- a/wpfiles/wp-content/themes/hogelandlinux/functions.php
+++ b/wpfiles/wp-content/themes/hogelandlinux/functions.php
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
exit;
}
-define( 'HOGELANDLINUX_VERSION', '1.0.1' );
+define( 'HOGELANDLINUX_VERSION', '1.1.0' );
define( 'HOGELANDLINUX_URL', get_template_directory_uri() );
define( 'HOGELANDLINUX_PATH', get_template_directory() );
@@ -23,6 +23,8 @@ if ( ! function_exists( 'hogelandlinux_setup' ) ) {
add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
add_theme_support( 'customize-selective-refresh-widgets' );
+ add_theme_support( 'editor-styles' );
+ add_editor_style( array( 'assets/css/style.css', 'assets/css/patterns.css' ) );
add_theme_support(
'html5',
array(
@@ -57,6 +59,13 @@ function hogelandlinux_scripts() {
HOGELANDLINUX_VERSION
);
+ wp_enqueue_style(
+ 'hogelandlinux-patterns',
+ HOGELANDLINUX_URL . '/assets/css/patterns.css',
+ array( 'hogelandlinux-style' ),
+ HOGELANDLINUX_VERSION
+ );
+
wp_enqueue_script(
'hogelandlinux-navigation',
HOGELANDLINUX_URL . '/assets/js/main.js',
@@ -379,3 +388,36 @@ function hogelandlinux_shortcode_disclaimer( $atts, $content = null ) {
return '' . esc_html( $atts['summary'] ) . '
Windows 10-ondersteuning eindigt binnenkort? Ik help u graag overstappen. Ontdek hoe Linux uw hardware nieuw leven kan geven.
+ + + + +Korte introductie van deze pagina.
+ +Beschermd tegen virussen en zonder storende, onverwachte updates. U houdt de controle over uw computer.
+ +Geen licenties of abonnementen nodig. Linux en de meeste programma’s zijn kosteloos.
+ +Ook een computer die al jaren meegaat kan met Linux weer soepel draaien.
+ +Door langer met uw computer te doen voorkomt u elektronisch afval (e-waste). Goed voor uw portemonnee en voor de planeet.
+ +Geen verborgen gegevensverzameling of tracking.
+ +Linux start vlot op en voelt vaak lichter aan dan andere systemen.
+ +
Microsoft stopt de ondersteuning voor Windows 10 in oktober 2025. Dit betekent:
+ + +Maar u hoeft geen nieuwe computer te kopen! Linux biedt een modern, veilig alternatief dat perfect werkt op uw huidige hardware.
+ +💻
+ + +Windows 10 computers wereldwijd
+ +🗑️
+ + +Potentiële e-waste zonder migratie
+ +🔒
+ + +Na oktober 2025
+ +Korte intake: wensen, hardware en gebruik. Samen kiezen we een route.
+ +Linux live vanaf USB zodat u ziet hoe het werkt op uw pc.
+ +Veilig, met updates, codecs, printer, Nederlandse taal en basissoftware.
+ +Bestanden, foto’s, documenten en favorieten overzetten.
+ +Korte training, daarna laagdrempelig bereikbaar voor vragen.
+ +Er zijn veel Linux-distributies, elk met hun eigen voordelen. Ik help u graag de perfecte keuze te maken.
+ + +Windows-achtig
+ + +Ziet er vertrouwd uit voor Windows-gebruikers. Stabiel en betrouwbaar.
+ + +Ideaal voor: Windows-migratie, ouderen, conservatieve gebruikers.
+ +
Populair
+ + +Perfect voor beginners die van Windows komen. Gebruiksvriendelijk met veel ondersteuning.
+ + +Ideaal voor: beginners, kantoorwerk, algemeen gebruik.
+ +Gaming
+ + +Gemaakt door System76. Uitstekend voor gaming en creatief werk.
+ + +Ideaal voor: gamers, ontwikkelaars, jongeren.
+ +
Mooi
+ + +Prachtig ontwerp geïnspireerd door macOS. Eenvoudig en elegant.
+ + +Ideaal voor: Mac-gebruikers, designers, stijlbewuste mensen.
+ +
Geavanceerd
+ + +Nieuwste technologieën en functies. Voor technische gebruikers.
+ + +Ideaal voor: ontwikkelaars, IT-professionals, tech-enthousiastelingen.
+ +Prestaties
+ + +Arch-gebaseerd met extreme prestaties. Prachtig ontwerp en gaming-geoptimaliseerd.
+ + +Ideaal voor: powergebruikers, gamers, prestatie-enthousiasten.
+ +Ik bekijk uw huidige computer en adviseer over de beste Linux-distributie en aanpak.
+ +Professionele Linux-installatie met basissoftware, updates en drivers waar nodig.
+ +Overzetten van bestanden, documenten en foto’s van uw oude systeem naar Linux.
+ +Uitleg en begeleiding zodat u direct prettig aan de slag kunt met Linux.
+ +Zie hoe Linux eruitziet en werkt in de praktijk
+ + +
Ziet er vertrouwd uit, werkt snel en stabiel. Ideaal voor dagelijks gebruik.
+ +
Duizenden gratis programma’s met één klik via Softwarebeheer.
+ +
Prima geschikt voor gaming dankzij moderne drivers en optimalisaties.
+ +Laat uw computer niet eindigen als e-waste. Geef hem een tweede leven met Linux - ik help u graag.
+ + + + +Ik lever een Linux-installatie- en migratieservice. Back-ups maken en bewaren is in principe de verantwoordelijkheid van de klant. Als extra service kan ik, op uw verzoek, data kopiëren naar door u aangeleverde USB-sticks of een externe schijf.
+Hoewel ik zorgvuldig werk, kan er bij datakopie of migratie altijd een risico op dataverlies bestaan. U blijft verantwoordelijk voor uw eigen data. Ik ben niet aansprakelijk voor verlies of beschadiging van gegevens.
+Moi! Ik ben Bdnugget en ik help mensen in Het Hogeland om hun computers duurzaam, veilig en prettig te blijven gebruiken met Linux.
+ + +Linux gebruik ik al ruim 20 jaar - eerst uit nieuwsgierigheid, later uit overtuiging: het is veilig, snel, privacyvriendelijk en geeft je de regie over je eigen computer.
+ + + + +
Geen bezoekadres: ik doe uitsluitend huisbezoeken.
+ + +Voorstraat 123
9967 AA Eenrum
Maandag: 09:00 - 14:00 (op afspraak)
Dinsdag: 09:00 - 17:00 (op afspraak)
Woensdag: 09:00 - 14:00 (op afspraak)
Donderdag: 09:00 - 14:00 (op afspraak)
Vrijdag: gesloten