From 2e5672ee6069911409ade73815b835d036305367 Mon Sep 17 00:00:00 2001
From: Edwin Noorlander
Date: Wed, 19 Nov 2025 14:00:03 +0100
Subject: [PATCH 01/24] Add secure public directory structure with .htaccess
- Created public/ directory for web-accessible files
- Moved content and assets to public/ subdirectories
- Added .htaccess files for security and routing
- Updated config.php to use public/content path
- Blocked direct access to PHP files and sensitive directories
- Added URL routing to index.php
- Enhanced security headers and PHP settings
---
.htaccess | 44 +++++++++++
config.php | 2 +-
content/home.md | 8 +-
public/.htaccess | 76 +++++++++++++++++++
public/assets/favicon.svg | 23 ++++++
public/assets/icon.svg | 23 ++++++
.../blog/leren/kennis-boven-aantallen.md | 39 ++++++++++
.../blog/open-source/de-toekomst-van-ict.md | 46 +++++++++++
.../blog/open-source/standaardisatie.md | 63 +++++++++++++++
public/content/blog/over-mij/welkom.md | 33 ++++++++
public/content/home.md | 21 +++++
templates/layout.html | 9 ++-
12 files changed, 381 insertions(+), 6 deletions(-)
create mode 100644 .htaccess
create mode 100644 public/.htaccess
create mode 100644 public/assets/favicon.svg
create mode 100644 public/assets/icon.svg
create mode 100644 public/content/blog/leren/kennis-boven-aantallen.md
create mode 100644 public/content/blog/open-source/de-toekomst-van-ict.md
create mode 100644 public/content/blog/open-source/standaardisatie.md
create mode 100644 public/content/blog/over-mij/welkom.md
create mode 100644 public/content/home.md
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..c61cf00
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,44 @@
+# Security - Block access to entire application
+
+ Order allow,deny
+ Deny from all
+
+
+
+ Order allow,deny
+ Deny from all
+
+
+# Block access to all application files
+
+ Require all denied
+
+
+# Directory protection - Block all access
+
+ Order allow,deny
+ Deny from all
+
+
+# Only allow access to public directory
+
+ Order allow,deny
+ Allow from all
+ Require all granted
+
+
+# Set default directory to public
+DirectoryIndex public/index.php
+
+# Redirect root to public directory
+
+ RewriteEngine On
+ RewriteBase /
+
+ # Redirect root to public
+ RewriteRule ^$ public/ [L]
+
+ # Redirect all other requests to public
+ RewriteCond %{REQUEST_URI} !^/public/
+ RewriteRule ^(.*)$ public/$1 [L]
+
\ No newline at end of file
diff --git a/config.php b/config.php
index 98094fb..efde3e6 100644
--- a/config.php
+++ b/config.php
@@ -4,7 +4,7 @@ return [
'site_title' => 'CodePress',
'site_description' => 'A simple PHP CMS',
'base_url' => '/',
- 'content_dir' => __DIR__ . '/content',
+ 'content_dir' => __DIR__ . '/public/content',
'templates_dir' => __DIR__ . '/templates',
'cache_dir' => __DIR__ . '/cache',
'default_page' => 'home',
diff --git a/content/home.md b/content/home.md
index b552347..60c50a2 100644
--- a/content/home.md
+++ b/content/home.md
@@ -5,14 +5,14 @@ Welkom op de persoonlijke blog van Edwin Noorlander. Hier deel ik mijn gedachten
## Categorieën
### Over Mij
-- [Welkom, ik ben Edwin](/blog/over-mij/welkom) - Mijn persoonlijke verhaal en achtergrond
+- [Welkom, ik ben Edwin](?page=blog/over-mij/welkom) - Mijn persoonlijke verhaal en achtergrond
### Open Source
-- [De Toekomst van ICT](/blog/open-source/de-toekomst-van-ict) - Hoe open source software de werkvloer transformeert
-- [Standaardisatie](/blog/open-source/standaardisatie) - Het belang van standaarden en de tegenstelling tussen commerciële bedrijven en open-source gemeenschappen
+- [De Toekomst van ICT](?page=blog/open-source/de-toekomst-van-ict) - Hoe open source software de werkvloer transformeert
+- [Standaardisatie](?page=blog/open-source/standaardisatie) - Het belang van standaarden en de tegenstelling tussen commerciële bedrijven en open-source gemeenschappen
### Leren & Ontwikkeling
-- [Kennis boven Aantallen](/blog/leren/kennis-boven-aantallen) - Het cruciale belang van kennis boven personeelsaantallen in de werkkracht
+- [Kennis boven Aantallen](?page=blog/leren/kennis-boven-aantallen) - Het cruciale belang van kennis boven personeelsaantallen in de werkkracht
## Over Edwin Noorlander
diff --git a/public/.htaccess b/public/.htaccess
new file mode 100644
index 0000000..c685619
--- /dev/null
+++ b/public/.htaccess
@@ -0,0 +1,76 @@
+# Security - Block access to sensitive files and directories
+
+ Order allow,deny
+ Deny from all
+
+
+
+ Order allow,deny
+ Deny from all
+
+
+# Block access to core directories
+
+
+ Require all granted
+
+ Require all denied
+
+
+
+
+# Directory protection
+
+ Order allow,deny
+ Deny from all
+
+
+# URL Routing - Route all requests to index.php
+
+ RewriteEngine On
+
+ # Set base directory
+ RewriteBase /
+
+ # Block direct access to PHP files in content directory
+ RewriteRule ^content/.*\.php$ - [F,L]
+
+ # Route all non-file/non-directory requests to index.php
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteRule ^(.*)$ index.php [QSA,L]
+
+ # Allow access to assets
+ RewriteCond %{REQUEST_FILENAME} -f
+ RewriteRule ^assets/.*$ - [L]
+
+ # Allow access to content files (except PHP)
+ RewriteCond %{REQUEST_FILENAME} -f
+ RewriteCond %{REQUEST_FILENAME} !\.php$
+ RewriteRule ^content/.*$ - [L]
+
+
+# Security headers
+
+ Header always set X-Content-Type-Options nosniff
+ Header always set X-Frame-Options DENY
+ Header always set X-XSS-Protection "1; mode=block"
+ Header always set Referrer-Policy "strict-origin-when-cross-origin"
+
+
+# PHP settings
+
+ php_flag display_errors Off
+ php_flag log_errors On
+ php_value error_log /var/log/php_errors.log
+ php_value max_execution_time 30
+ php_value memory_limit 128M
+ php_value upload_max_filesize 10M
+ php_value post_max_size 10M
+
+
+# Default index file
+DirectoryIndex index.php
+
+# Error handling
+ErrorDocument 404 /index.php
\ No newline at end of file
diff --git a/public/assets/favicon.svg b/public/assets/favicon.svg
new file mode 100644
index 0000000..2b68b58
--- /dev/null
+++ b/public/assets/favicon.svg
@@ -0,0 +1,23 @@
+
\ No newline at end of file
diff --git a/public/assets/icon.svg b/public/assets/icon.svg
new file mode 100644
index 0000000..d711e32
--- /dev/null
+++ b/public/assets/icon.svg
@@ -0,0 +1,23 @@
+
\ No newline at end of file
diff --git a/public/content/blog/leren/kennis-boven-aantallen.md b/public/content/blog/leren/kennis-boven-aantallen.md
new file mode 100644
index 0000000..f1b4503
--- /dev/null
+++ b/public/content/blog/leren/kennis-boven-aantallen.md
@@ -0,0 +1,39 @@
+# Het Cruciale Belang van Kennis boven Aantallen in de Werkkracht
+
+In de dynamische wereld van vandaag wordt vaak de fout gemaakt om te denken dat het simpelweg uitbreiden van het personeelsbestand automatisch zal leiden tot verbeterde efficiëntie en productiviteit binnen een organisatie. Deze misvatting miskent echter het werkelijke knelpunt: een gebrek aan diepgaande kennis en expertise bij het bestaande personeel. Het is niet een kwestie van meer mensen aannemen, maar eerder van het ontwikkelen van beter opgeleide en gekwalificeerde werknemers.
+
+## Problemen door gebrek aan kennis
+
+### 1. Foutieve informatie en besluitvorming
+
+Stel je voor dat een bedrijf een projectteam heeft samengesteld dat verantwoordelijk is voor het lanceren van een nieuw product. Als de teamleden niet beschikken over de vereiste kennis van markttrends, consumentengedrag en concurrentieanalyse, kunnen ze beslissingen nemen die gebaseerd zijn op onvolledige of verouderde informatie.
+
+Dit kan resulteren in het nemen van verkeerde beslissingen, zoals het produceren van een product dat niet aansluit op de behoeften van de markt, met als gevolg financiële verliezen voor het bedrijf.
+
+### 2. Behoefte aan constante correcties
+
+Stel je voor dat een klantenserviceteam te maken heeft met klachten over een nieuw gelanceerd product. Als de medewerkers niet goed zijn opgeleid over de specificaties en eigenschappen van het product, zullen ze moeite hebben om de klachten van klanten adequaat te begrijpen en op te lossen.
+
+Dit kan leiden tot een situatie waarin meer ervaren medewerkers voortdurend de tijd moeten nemen om de fouten van minder goed opgeleide collega's te corrigeren, wat leidt tot inefficiëntie en frustratie bij zowel medewerkers als klanten.
+
+### 3. Vertraagde processen
+
+In een technologiebedrijf kan een gebrek aan kennis over de nieuwste software en systemen leiden tot vertragingen bij het uitvoeren van projecten. Stel je voor dat programmeurs niet op de hoogte zijn van de nieuwste programmeertools en -methoden.
+
+Dit kan resulteren in een langzamer ontwikkelingsproces en uiteindelijk een vertraagde productlancering, waardoor het bedrijf een concurrentievoordeel verliest.
+
+## Oplossing: Investeren in kennisontwikkeling
+
+Om deze problemen effectief aan te pakken en de algehele prestaties van een organisatie te verbeteren, is het van essentieel belang om te investeren in de ontwikkeling van de kennis en vaardigheden van het bestaande personeel.
+
+Door middel van regelmatige trainingssessies, bijscholing en professionele ontwikkelingsprogramma's kunnen werknemers worden uitgerust met de nodige expertise om hun taken effectief en efficiënt uit te voeren.
+
+## Focus op kwaliteit boven kwantiteit
+
+In plaats van te streven naar een kwantitatieve uitbreiding van het personeelsbestand, moet de focus liggen op het versterken van de kwaliteit van het personeel door middel van continue leerinitiatieven.
+
+Dit zal niet alleen leiden tot betere prestaties en productiviteit, maar ook tot een meer bevredigende werkomgeving waarin werknemers zich gewaardeerd en gesteund voelen in hun professionele ontwikkeling.
+
+## Conclusie
+
+Kortom, het is niet het aantal werknemers dat telt, maar de kwaliteit van hun kennis en vaardigheden die bepalend zijn voor het succes van een organisatie. Door te investeren in de ontwikkeling van het bestaande personeel kunnen organisaties effectiever opereren en beter inspelen op de uitdagingen van de moderne zakelijke omgeving.
\ No newline at end of file
diff --git a/public/content/blog/open-source/de-toekomst-van-ict.md b/public/content/blog/open-source/de-toekomst-van-ict.md
new file mode 100644
index 0000000..b9969d8
--- /dev/null
+++ b/public/content/blog/open-source/de-toekomst-van-ict.md
@@ -0,0 +1,46 @@
+# De Toekomst van ICT: Hoe Open Source Software de Werkvloer Transformeert
+
+In onze steeds digitaler wordende samenleving zijn medewerkers digitaal vaardiger geworden en verwachten zij dat de ICT-voorzieningen op kantoor en de werkvloer aansluiten bij hun behoeften. Helaas lopen traditionele ICT-afdelingen hier vaak op achter, wat leidt tot een kloof tussen de beschikbare technologie en de wensen van de medewerkers.
+
+## Beperkingen van traditionele ICT-oplossingen
+
+Traditionele ICT-afdelingen bieden doorgaans standaard softwarepakketten aan, zoals Office-suites en omvangrijke HRM- of communicatiesoftware. Hoewel deze tools een basisfunctionaliteit bieden, schieten ze vaak tekort in flexibiliteit en maatwerk.
+
+Technisch onderlegde medewerkers weten soms meer uit deze pakketten te halen, maar voor velen zijn de mogelijkheden binnen de bestaande infrastructuur beperkt. Dit leidt tot frustratie en inefficiëntie op de werkvloer.
+
+## De dynamiek van een digitale samenleving
+
+Onze maatschappij is dynamisch en past zich snel aan nieuwe ICT-mogelijkheden aan. Wanneer ICT-afdelingen vasthouden aan rigide systemen, ontstaan er hiaten tussen hoe mensen willen werken en de beschikbare technologie.
+
+De werkvloer wordt hierdoor leidend in de vraag naar ICT-oplossingen, terwijl de ICT-afdeling zou moeten anticiperen op deze behoeften. Maatwerk wordt vaak gezien als een dure oplossing, waardoor men kiest voor grote, minder flexibele softwarepakketten die alleen na dure trainingen volledig benut kunnen worden.
+
+Hierdoor moeten werknemers zich aanpassen aan de software, in plaats van dat de software aansluit bij de werkprocessen en het karakter van het bedrijf.
+
+## De kracht van open standaarden en open-source oplossingen
+
+Een mogelijke oplossing voor dit probleem is het omarmen van open standaarden en open-source oplossingen. Deze benadering maakt kantoorautomatisering dynamischer en beter aanpasbaar aan de behoeften van de samenleving.
+
+Open-source software biedt flexibiliteit en controle, waardoor bedrijven hun workflows kunnen optimaliseren zonder afhankelijk te zijn van dure licenties of beperkte functionaliteiten.
+
+## Voorbeelden van open-source kantoorsoftware
+
+Er zijn diverse open-source tools beschikbaar die kunnen bijdragen aan een flexibelere werkomgeving:
+
+### LibreOffice
+Een volwaardig kantoorsoftwarepakket dat een uitstekend alternatief biedt voor commerciële producten.
+
+### Nextcloud
+Een cloudoplossing voor documentbeheer en samenwerking, die bedrijven in staat stelt hun eigen cloudomgeving te beheren.
+
+### Thunderbird
+Een open-source e-mailclient die flexibiliteit en controle biedt over e-mailbeheer.
+
+## Integratie van ICT en bedrijfsafdelingen
+
+Om de kloof tussen ICT en de werkvloer te overbruggen, is het essentieel dat ICT-afdelingen nauwer samenwerken met verschillende bedrijfsafdelingen. Door gezamenlijk te bepalen welke tools en systemen het beste aansluiten bij de werkprocessen, kunnen organisaties efficiënter en effectiever opereren.
+
+Deze integratie bevordert niet alleen de productiviteit, maar ook de tevredenheid en betrokkenheid van medewerkers.
+
+## Conclusie
+
+In een tijd waarin digitalisering en flexibiliteit centraal staan, is het cruciaal dat ICT-afdelingen zich aanpassen aan de behoeften van de werkvloer. Door open standaarden en open-source oplossingen te omarmen en een nauwe samenwerking met andere afdelingen te zoeken, kunnen organisaties een dynamische en efficiënte werkomgeving creëren die aansluit bij de moderne samenleving.
\ No newline at end of file
diff --git a/public/content/blog/open-source/standaardisatie.md b/public/content/blog/open-source/standaardisatie.md
new file mode 100644
index 0000000..0d40e71
--- /dev/null
+++ b/public/content/blog/open-source/standaardisatie.md
@@ -0,0 +1,63 @@
+# Standaardisatie: Het Belang ervan en de Tegenstelling tussen Commerciële Bedrijven en Open-Source Gemeenschappen
+
+Standaardisatie is een cruciaal concept in de moderne wereld, met name in de technologie-industrie. Het verwijst naar het vaststellen van gemeenschappelijke normen en specificaties voor producten, processen, protocollen en systemen. Deze normen dienen als de ruggengraat van interoperabiliteit en efficiëntie in verschillende sectoren, zoals informatietechnologie, telecommunicatie, gezondheidszorg en meer.
+
+## Waarom is Standaardisatie Belangrijk?
+
+### 1. Interoperabiliteit
+
+Standaardisatie zorgt ervoor dat verschillende systemen, producten en software met elkaar kunnen communiceren en samenwerken. Dit vergemakkelijkt de uitwisseling van informatie en diensten tussen verschillende leveranciers en platforms.
+
+Bijvoorbeeld, standaardisatie van internetprotocollen maakt het mogelijk dat verschillende apparaten en websites wereldwijd met elkaar kunnen communiceren.
+
+### 2. Efficiëntie
+
+Standaardisatie kan de efficiëntie verbeteren door het verminderen van redundantie en complexiteit. Wanneer bedrijven en organisaties dezelfde normen volgen, kunnen ze resources beter beheren en kosten besparen.
+
+Het voorkomt bijvoorbeeld dat ze verschillende aangepaste oplossingen moeten ontwikkelen voor vergelijkbare taken.
+
+### 3. Veiligheid en Betrouwbaarheid
+
+Standaardisatie kan de veiligheid en betrouwbaarheid van producten en systemen verbeteren. Gemeenschappelijke normen stellen minimumeisen vast voor bijvoorbeeld cybersecurity en kwaliteitscontrole, wat de bescherming van gegevens en de integriteit van systemen bevordert.
+
+### 4. Innovatie en Concurrentie
+
+Standaardisatie kan innovatie stimuleren door bedrijven aan te moedigen nieuwe technologieën te ontwikkelen die aan de normen voldoen. Het kan ook de concurrentie bevorderen, omdat het de toetreding van nieuwe spelers vergemakkelijkt door hen een gemeenschappelijke basis te bieden om op voort te bouwen.
+
+## Waarom Commerciële Bedrijven van Standaardisatie Afwijken
+
+Commerciële bedrijven hebben soms redenen om van standaardisatie af te wijken, vooral als ze streven naar concurrentievoordeel, vendor lock-in of maximale winst.
+
+### 1. Vendor Lock-In
+
+Sommige bedrijven willen klanten aan zich binden door proprietaire technologieën te gebruiken die niet compatibel zijn met die van andere leveranciers. Dit creëert een zogenaamde "vendor lock-in", waarbij klanten moeilijk kunnen overstappen naar concurrenten.
+
+### 2. Concurrentievoordeel
+
+Bedrijven kunnen proberen een uniek concurrentievoordeel te behouden door niet-conforme technologieën of protocollen te gebruiken. Dit kan tijdelijk voordelig zijn, maar kan de algemene interoperabiliteit belemmeren.
+
+### 3. Winstmaximalisatie
+
+Sommige bedrijven willen maximale winst behalen en zien geen voordeel in het delen van kennis of het bevorderen van open normen.
+
+## Waarom Open-Source Gemeenschappen Standaardisatie Omarmen
+
+Open-source gemeenschappen, daarentegen, hebben vaak een sterke affiniteit met standaardisatie vanwege de voordelen die het biedt aan samenwerking en innovatie.
+
+### 1. Samenwerking en Gedeelde Waarden
+
+Open-source gemeenschappen gedijen op samenwerking, delen en transparantie. Het omarmen van standaardisatie past goed bij deze waarden, omdat het de basis legt voor gemeenschappelijke ontwikkeling en kennisuitwisseling.
+
+### 2. Toegankelijkheid en Gelijkheid
+
+Open standaarden bevorderen toegankelijkheid en gelijkheid, omdat ze de drempels voor deelname en concurrentie verlagen. Iedereen kan bijdragen aan open-source projecten en gebruikmaken van de resulterende standaarden.
+
+### 3. Innovatie en Duurzaamheid
+
+Open-source projecten kunnen innovatie stimuleren door een bredere groep mensen en organisaties bij het ontwikkelingsproces te betrekken. Dit leidt vaak tot duurzamere oplossingen die langer relevant blijven.
+
+## Conclusie
+
+Kortom, standaardisatie is een essentieel concept dat de basis vormt voor interoperabiliteit, efficiëntie en innovatie in verschillende industrieën. Terwijl commerciële bedrijven soms van standaardisatie kunnen afwijken om hun eigen belangen te behartigen, omarmen open-source gemeenschappen vaak actief standaardisatie vanwege de voordelen van samenwerking, toegankelijkheid en duurzaamheid die het met zich meebrengt.
+
+Het evenwicht tussen deze twee benaderingen speelt een cruciale rol bij het vormgeven van de technologische wereld waarin we leven.
\ No newline at end of file
diff --git a/public/content/blog/over-mij/welkom.md b/public/content/blog/over-mij/welkom.md
new file mode 100644
index 0000000..2938c51
--- /dev/null
+++ b/public/content/blog/over-mij/welkom.md
@@ -0,0 +1,33 @@
+# Welkom, ik ben Edwin
+
+**Innovatie en Technologische Passie: Het Inspirerende Verhaal van Edwin Noorlander**
+
+Mijn naam is Edwin Noorlander, en ik wil graag mijn inspirerende reis met jullie delen. Mijn leven is doordrenkt van innovatie en een onwankelbare omhelzing van technologie als mijn leidraad naar waar ik nu ben. Mijn verhaal is er een van vastberadenheid, autodidactisch leren en een diepe liefde voor complexiteit.
+
+## Uitdagingen als Drijfveer
+
+Laat me beginnen door te benadrukken dat mijn pad niet zonder uitdagingen is geweest. Van jongs af aan heb ik dyslexie en ADHD ervaren, wat mijn leerproces op traditionele scholen zeker niet eenvoudig maakte. Maar deze obstakels hebben me nooit ontmoedigd. In plaats daarvan dienden ze als drijfveer om mijn eigen weg te vinden in de wereld van technologie.
+
+## Autodidactisch Leren
+
+Ik heb altijd technologie als mijn roeping beschouwd, en dit dreef me om een unieke weg van zelfontdekking te bewandelen. In tegenstelling tot traditionele onderwijsroutes koos ik voor praktische hands-on ervaringen, en ondanks de uitdagingen die dyslexie en ADHD met zich meebrengen, leerde ik mezelf programmeren in diverse programmeertalen, waaronder ASM, C/C++, Java, PHP, HTML, JavaScript en SCSS. Deze diversiteit aan talen stelde me in staat om complexe problemen op te lossen en innovatieve oplossingen te creëren.
+
+## Micro-elektronica en Ruimtevaart
+
+Mijn passie reikte verder dan alleen software; ik dook diep in de wereld van micro-elektronica, waar ik leerde om microprocessors te programmeren en sensoren en actuatoren aan te sturen. Dit gaf me de mogelijkheid om fysieke systemen te bouwen en mijn ideeën tot leven te brengen.
+
+Naast mijn technologische avonturen was ik altijd gefascineerd door astronomie en ruimtevaart, waar ik mijn leergierigheid en passie voor ontdekking voedde.
+
+## Huidige Werk
+
+Momenteel werk ik als adviseur bij de overheid, waar ik mijn kennis en ervaring toepas om advies te geven over ICT-infrastructuur met betrekking tot digitaal leren. Dit stelt me in staat om bij te dragen aan de groei en ontwikkeling van de samenleving door middel van technologie.
+
+## Missie en Doel
+
+Mijn ultieme doel is om anderen te inspireren die zich in een vergelijkbare positie bevinden, met een handicap zoals dyslexie en ADHD, om zichzelf te blijven ontwikkelen en te leren wat ze willen leren. Ik geloof dat het nooit te laat is om te beginnen met leren en dat er altijd manieren zijn om je doelen te bereiken, zelfs als de weg er naartoe uitdagend lijkt.
+
+Daarom heb ik deze blog gecreëerd. Hier wil ik graag mijn kennis en ervaringen delen en anderen aanmoedigen om hun passie te volgen en te blijven leren, ongeacht welke obstakels zich voordoen.
+
+Dankjewel voor het bezoeken van mijn blog, en ik hoop je snel weer terug te zien!
+
+Mijn naam is Edwin Noorlander, en ik ben vastbesloten om de kracht van innovatie en technologie te blijven omarmen.
\ No newline at end of file
diff --git a/public/content/home.md b/public/content/home.md
new file mode 100644
index 0000000..60c50a2
--- /dev/null
+++ b/public/content/home.md
@@ -0,0 +1,21 @@
+# CodePress Blog
+
+Welkom op de persoonlijke blog van Edwin Noorlander. Hier deel ik mijn gedachten, ervaringen en kennis over technologie, open-source software en digitale transformatie.
+
+## Categorieën
+
+### Over Mij
+- [Welkom, ik ben Edwin](?page=blog/over-mij/welkom) - Mijn persoonlijke verhaal en achtergrond
+
+### Open Source
+- [De Toekomst van ICT](?page=blog/open-source/de-toekomst-van-ict) - Hoe open source software de werkvloer transformeert
+- [Standaardisatie](?page=blog/open-source/standaardisatie) - Het belang van standaarden en de tegenstelling tussen commerciële bedrijven en open-source gemeenschappen
+
+### Leren & Ontwikkeling
+- [Kennis boven Aantallen](?page=blog/leren/kennis-boven-aantallen) - Het cruciale belang van kennis boven personeelsaantallen in de werkkracht
+
+## Over Edwin Noorlander
+
+Ik ben adviseur bij de overheid met een passie voor technologie, innovatie en open-source software. Met een achtergrond in micro-elektronica en diverse programmeertalen, deel ik graag mijn kennis en ervaringen om anderen te inspireren.
+
+**Meer weten?** Bezoek mijn [persoonlijke website](https://noorlander.info) of volg mijn projecten op [GitLab](https://git.noorlander.info).
\ No newline at end of file
diff --git a/templates/layout.html b/templates/layout.html
index d5e89bb..cc23028 100644
--- a/templates/layout.html
+++ b/templates/layout.html
@@ -155,6 +155,13 @@
font-size: 0.9rem;
color: #6c757d;
}
+ .site-info a {
+ color: #0d6efd;
+ text-decoration: none;
+ }
+ .site-info a:hover {
+ text-decoration: underline;
+ }
.search-form {
max-width: 300px;
}
@@ -242,7 +249,7 @@
{{file_info}}
- Powered by CodePress CMS
+ Powered by CodePress CMS
';
+ }
+ }
+ return $html;
+ }
+}
+
+$cms = new CodePressCMS($config);
+$cms->render();
\ No newline at end of file
diff --git a/public/templates/layout.html b/public/templates/layout.html
new file mode 100644
index 0000000..cc23028
--- /dev/null
+++ b/public/templates/layout.html
@@ -0,0 +1,313 @@
+
+
+
+
+
+ {{page_title}} - {{site_title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
{{site_title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{breadcrumb}}
+
+
+
{{page_title}}
+
+
+ {{content}}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From e5839d10a15f6140911fb0d37ceb0b1b9766e20f Mon Sep 17 00:00:00 2001
From: Edwin Noorlander
Date: Wed, 19 Nov 2025 14:16:18 +0100
Subject: [PATCH 03/24] Add remaining blog content from noorlander.info
- Added 'Excel als Database' article in ICT category
- Added 'Open Source Voorbeelden' article in Linux category
- Updated home.md with new category links
- Complete blog content now available
- All 6 articles from noorlander.info imported
---
public/config.php | 2 +-
public/content/blog/ict/excel-als-database.md | 29 +++++++++++++++
.../blog/linux/open-source-voorbeelden.md | 37 +++++++++++++++++++
public/content/home.md | 6 +++
4 files changed, 73 insertions(+), 1 deletion(-)
create mode 100644 public/content/blog/ict/excel-als-database.md
create mode 100644 public/content/blog/linux/open-source-voorbeelden.md
diff --git a/public/config.php b/public/config.php
index efde3e6..98094fb 100644
--- a/public/config.php
+++ b/public/config.php
@@ -4,7 +4,7 @@ return [
'site_title' => 'CodePress',
'site_description' => 'A simple PHP CMS',
'base_url' => '/',
- 'content_dir' => __DIR__ . '/public/content',
+ 'content_dir' => __DIR__ . '/content',
'templates_dir' => __DIR__ . '/templates',
'cache_dir' => __DIR__ . '/cache',
'default_page' => 'home',
diff --git a/public/content/blog/ict/excel-als-database.md b/public/content/blog/ict/excel-als-database.md
new file mode 100644
index 0000000..65a0c83
--- /dev/null
+++ b/public/content/blog/ict/excel-als-database.md
@@ -0,0 +1,29 @@
+# Het gebruik van Excel als database: Waarom grote bedrijven en overheden Access niet toestaan
+
+Excel is een krachtige tool die al tientallen jaren door miljoenen mensen wereldwijd wordt gebruikt om gegevens te organiseren, analyseren en presenteren. Voor kleine bedrijven en individuele gebruikers is Excel vaak voldoende om gegevens te beheren. Maar voor grote bedrijven en overheden kan Excel soms een overbodige en inefficiënte tool zijn om data te beheren en te analyseren.
+
+## Het probleem met Access
+
+In plaats daarvan kiezen ze voor meer geïntegreerde, schaalbare en veilige systemen die beter passen bij hun specifieke behoeften. Dit kan leiden tot het beperken van de toegang tot Access, een database management systeem van Microsoft.
+
+Het beperken van de toegang tot Access kan echter leiden tot het gebruik van zware Excel-bestanden als database. Een van de redenen waarom Access niet wordt toegestaan in grote bedrijven en overheidsorganisaties, is omdat het gebruik van meer geïntegreerde, schaalbare en veilige systemen hun voorkeur heeft.
+
+## IT-afdelingen en kennisgebrek
+
+Een ander probleem is dat veel IT-afdelingen geen kennis meer hebben van het maken van open systemen. In plaats van het ontwikkelen van aangepaste oplossingen, zoeken ze vaak naar externe oplossingen en kiezen ze voor standaard software van derden.
+
+Dit kan leiden tot het gebruik van overbodige software die te complex en niet specifiek genoeg is voor de behoeften van de organisatie.
+
+## Prestatieproblemen
+
+Daarbij komt nog dat Excel-bestanden die als database worden gebruikt, vaak grote hoeveelheden data bevatten en hierdoor zwaar en traag worden. Dit kan leiden tot vertragingen in het werkproces en inefficiënties in het gebruik van middelen.
+
+## De oplossing
+
+Het is belangrijk voor IT-afdelingen om de kennis en vaardigheden te ontwikkelen om open systemen te ontwikkelen die beter passen bij de specifieke behoeften van de organisatie. Dit kan ervoor zorgen dat de organisatie efficiënter en effectiever werkt, wat uiteindelijk kan leiden tot kostenbesparingen en betere resultaten.
+
+## Conclusie
+
+Kortom, het gebruik van Excel als database kan leiden tot inefficiënties en onnodige kosten. Het is belangrijk dat organisaties nadenken over de beste manier om hun data te beheren en analyseren, en daarbij rekening houden met hun specifieke behoeften en doelstellingen.
+
+Het ontwikkelen van aangepaste oplossingen kan de efficiëntie en effectiviteit van de organisatie vergroten, wat uiteindelijk kan leiden tot betere resultaten en een hogere klanttevredenheid.
\ No newline at end of file
diff --git a/public/content/blog/linux/open-source-voorbeelden.md b/public/content/blog/linux/open-source-voorbeelden.md
new file mode 100644
index 0000000..f116fbd
--- /dev/null
+++ b/public/content/blog/linux/open-source-voorbeelden.md
@@ -0,0 +1,37 @@
+# Vijf voorbeelden van open-source software in gebruik bij commerciële bedrijven
+
+Open-source software is niet alleen populair bij individuele gebruikers en non-profit organisaties, maar wordt ook veel gebruikt door commerciële bedrijven. In deze blogpost zullen we kijken naar enkele voorbeelden van open-source software die door commerciële bedrijven worden gebruikt en bespreken waarom het voor hen zo voordelig is.
+
+## 1. Apple's macOS
+
+Apple's macOS-besturingssysteem, dat op hun Mac-computers wordt geleverd, is gebaseerd op de open-source Darwin-kernel. Hoewel Apple zijn eigen unieke interface en functies heeft toegevoegd aan het besturingssysteem, profiteert het bedrijf nog steeds van de ontwikkeling van de open-source gemeenschap.
+
+Door open-source software te gebruiken, kan Apple kosten besparen op de ontwikkeling van hun eigen besturingssysteem en tegelijkertijd profiteren van de inspanningen van de grotere ontwikkelingsgemeenschap.
+
+## 2. IBM en Apache
+
+IBM is een van de bedrijven die het Apache Software Foundation-project ondersteunt, een non-profit organisatie die open-source software ontwikkelt en onderhoudt. IBM heeft ook bijgedragen aan de ontwikkeling van Apache Hadoop, een open-source software framework dat wordt gebruikt voor gedistribueerde opslag en verwerking van big data.
+
+Door bij te dragen aan open-source projecten, kan IBM profiteren van de innovatie van de bredere ontwikkelingsgemeenschap en tegelijkertijd bijdragen aan de ontwikkeling van de industrie.
+
+## 3. Amazon en Linux
+
+Amazon Web Services (AWS) is een van de grootste aanbieders van cloud computing ter wereld en vertrouwt op Linux als besturingssysteem voor veel van zijn services. Linux is een open-source besturingssysteem dat door vele bedrijven wordt gebruikt, en het gebruik ervan stelt bedrijven in staat om kosten te besparen op licentiekosten en tegelijkertijd flexibel te blijven in het aanpassen van hun systemen.
+
+## 4. NASA en open-source software
+
+NASA gebruikt open-source software voor veel van zijn ruimtevaartprojecten, waaronder de Mars Rover en de International Space Station. Open-source software is bijzonder geschikt voor NASA omdat het hen in staat stelt de software aan te passen aan de specifieke vereisten van hun projecten, en de grotere ontwikkelingsgemeenschap biedt een schat aan hulpbronnen en expertise.
+
+## 5. Red Hat en Linux
+
+Red Hat, een Amerikaanse softwareonderneming, is een van de grootste supporters van Linux en heeft bijgedragen aan de ontwikkeling van veel open-source projecten, waaronder de Linux-kernel. Red Hat levert ook commerciële ondersteuning voor bedrijven die Linux gebruiken, waardoor bedrijven de voordelen van open-source software kunnen benutten en tegelijkertijd de zekerheid hebben van ondersteuning en updates van een gerenommeerde leverancier.
+
+## Voordelen voor bedrijven
+
+Open-source software biedt veel voordelen voor bedrijven, waaronder:
+
+- **Kostenbesparingen** op licentiekosten
+- **Flexibiliteit** in het aanpassen van systemen
+- **Mogelijkheid om te profiteren** van de innovatie van de bredere ontwikkelingsgemeenschap
+
+De bovengenoemde voorbeelden zijn slechts enkele van de vele manieren waarop open-source software wordt gebruikt in het commerciële domein.
\ No newline at end of file
diff --git a/public/content/home.md b/public/content/home.md
index 60c50a2..8d1c174 100644
--- a/public/content/home.md
+++ b/public/content/home.md
@@ -14,6 +14,12 @@ Welkom op de persoonlijke blog van Edwin Noorlander. Hier deel ik mijn gedachten
### Leren & Ontwikkeling
- [Kennis boven Aantallen](?page=blog/leren/kennis-boven-aantallen) - Het cruciale belang van kennis boven personeelsaantallen in de werkkracht
+### ICT & Bedrijfsvoering
+- [Excel als Database](?page=blog/ict/excel-als-database) - Waarom grote bedrijven en overheden Access niet toestaan
+
+### Linux & Open Source
+- [Open Source Voorbeelden](?page=blog/linux/open-source-voorbeelden) - Vijf voorbeelden van open-source software in gebruik bij commerciële bedrijven
+
## Over Edwin Noorlander
Ik ben adviseur bij de overheid met een passie voor technologie, innovatie en open-source software. Met een achtergrond in micro-elektronica en diverse programmeertalen, deel ik graag mijn kennis en ervaringen om anderen te inspireren.
From 35a990ecf3c13d7d2d5ba95c8e93ba788be88ae7 Mon Sep 17 00:00:00 2001
From: Edwin Noorlander
Date: Wed, 19 Nov 2025 14:19:29 +0100
Subject: [PATCH 04/24] Add remaining blog content from noorlander.info
- Added 'Wat is Arduino' in micro-electronica category
- Added 'Leren gaat niet over perfectie' with open-source explanation
- Added 'De ware aard van ICT' in hardware category
- Added 'Commodore 64' in retro-gaming category
- Updated home.md with all new category links
- Complete blog content now available (10 articles total)
---
.../blog/hardware/de-ware-aard-van-ict.md | 31 ++++++++++++
.../leren-gaat-niet-over-perfectie.md | 49 +++++++++++++++++++
.../blog/micro-electronica/wat-is-arduino.md | 23 +++++++++
.../content/blog/retro-gaming/commodore-64.md | 39 +++++++++++++++
public/content/home.md | 10 ++++
5 files changed, 152 insertions(+)
create mode 100644 public/content/blog/hardware/de-ware-aard-van-ict.md
create mode 100644 public/content/blog/micro-electronica/leren-gaat-niet-over-perfectie.md
create mode 100644 public/content/blog/micro-electronica/wat-is-arduino.md
create mode 100644 public/content/blog/retro-gaming/commodore-64.md
diff --git a/public/content/blog/hardware/de-ware-aard-van-ict.md b/public/content/blog/hardware/de-ware-aard-van-ict.md
new file mode 100644
index 0000000..26c9f99
--- /dev/null
+++ b/public/content/blog/hardware/de-ware-aard-van-ict.md
@@ -0,0 +1,31 @@
+# De ware aard van ICT: meer dan alleen computers en software
+
+De term "ICT" staat voor Informatie- en Communicatietechnologie. Het is een breed begrip dat veel meer omvat dan alleen computers en software. Het gaat om het beheren van informatie, kennis en communicatie binnen organisaties.
+
+## Het probleem met moderne ICT-afdelingen
+
+Toch lijkt het erop dat ICT-afdelingen vaak vergeten wat ICT werkelijk inhoudt en zich te veel richten op de technische aspecten van de systemen. Het gevolg is dat computersystemen en software vaak als doel op zich worden beschouwd in plaats van als hulpmiddelen bij het uitvoeren van de werkzaamheden.
+
+## ICT als ondersteunende factor
+
+In plaats van de nadruk te leggen op technologie, is het van belang om te begrijpen dat ICT gericht moet zijn op het ondersteunen van de werkzaamheden binnen een organisatie. Dit betekent dat de ICT-infrastructuur niet bepalend zou moeten zijn voor de manier waarop de organisatie werkt, maar juist moet worden aangepast aan de behoeften van de organisatie en haar werknemers.
+
+## Meer dan technologie
+
+Het is belangrijk om te beseffen dat ICT meer is dan alleen computers en software. Het gaat ook om het beheren van informatie, kennis en communicatie binnen organisaties. Hierbij moet de focus niet alleen liggen op de technische aspecten, maar juist ook op de menselijke kant van ICT.
+
+De bedrijfs- of overheidspersoneel moet bijvoorbeeld niet gedwongen worden om hun werkzaamheden aan te passen aan de software, maar juist andersom: de ICT-infrastructuur moet worden aangepast aan de behoeften van het personeel.
+
+## Luisteren naar gebruikers
+
+Daarom is het van belang dat ICT-afdelingen beter luisteren naar de behoeften en wensen van de medewerkers en de organisatie als geheel. Dit kan bijvoorbeeld door regelmatig feedback te vragen en door de ICT-infrastructuur te optimaliseren op basis van deze feedback.
+
+Zo kan de ICT-infrastructuur optimaal worden afgestemd op de wensen en behoeften van de organisatie, waardoor medewerkers beter kunnen functioneren en de productiviteit wordt verhoogd.
+
+## Conclusie
+
+In de huidige digitale wereld is ICT onmisbaar voor organisaties en bedrijven. Het is van groot belang om te begrijpen dat ICT meer is dan alleen computers en software. Het gaat om het beheren van informatie, kennis en communicatie.
+
+De ICT-infrastructuur moet ondersteunend zijn aan de werkzaamheden van de organisatie en niet andersom. ICT-afdelingen moeten zich daarom niet alleen richten op technologie, maar juist ook op de menselijke kant van ICT.
+
+Alleen op deze manier kan ICT een waardevolle bijdrage leveren aan het succes van organisaties en bedrijven.
\ No newline at end of file
diff --git a/public/content/blog/micro-electronica/leren-gaat-niet-over-perfectie.md b/public/content/blog/micro-electronica/leren-gaat-niet-over-perfectie.md
new file mode 100644
index 0000000..90eddc5
--- /dev/null
+++ b/public/content/blog/micro-electronica/leren-gaat-niet-over-perfectie.md
@@ -0,0 +1,49 @@
+# Leren gaat niet over perfectie, maar over passie.
+
+Als computerwetenschapper heb ik altijd een passie gehad voor electronica en open-source hardware en software. Het idee dat we de mogelijkheid hebben om onze eigen hardware te bouwen en onze eigen software te schrijven om deze te besturen, is geweldig.
+
+## Arduino: Mijn favoriete platform
+
+Een van mijn favoriete open-source hardwareprojecten is de Arduino. De Arduino is een microcontroller board dat in staat is om verschillende hardware-apparaten aan te sturen, waardoor het een zeer veelzijdig platform is voor zowel beginners als gevorderde gebruikers.
+
+Het beste van alles is dat de Arduino open-source is, wat betekent dat iedereen vrij is om de hardware- en softwarebroncode te bekijken, te bewerken en te gebruiken.
+
+## Raspberry Pi: Mini-computer met grote mogelijkheden
+
+Een ander interessant open-source hardwareproject is de Raspberry Pi. De Raspberry Pi is een mini-computer die in staat is om verschillende taken uit te voeren, zoals het bouwen van een mediacenter, het hosten van een website en het bouwen van een robot.
+
+Net als de Arduino is de Raspberry Pi een open-source platform, wat betekent dat iedereen vrij is om de hardware- en softwarebroncode te bekijken, te bewerken en te gebruiken.
+
+## Linux: De kracht van open-source software
+
+Wat betreft open-source software, ben ik altijd een fan geweest van Linux. Linux is een open-source besturingssysteem dat wordt gebruikt in verschillende toepassingen, waaronder desktops, servers en embedded systemen.
+
+Het beste van alles is dat Linux zeer aanpasbaar is en dat gebruikers de mogelijkheid hebben om de broncode te bekijken, te bewerken en te gebruiken voor hun eigen toepassingen.
+
+## Programmeren voor hardware
+
+Programmeren voor hardware is ook een fascinerend onderwerp voor mij. In tegenstelling tot programmeren voor software, gaat programmeren voor hardware veel verder dan alleen het schrijven van code.
+
+Het vereist vaak het begrijpen van hoe de hardware werkt en hoe deze kan worden geconfigureerd om specifieke taken uit te voeren. Het vereist ook vaak kennis van verschillende programmeertalen, zoals C, C++ en Python.
+
+## De waarde voor de samenleving
+
+Al met al geloof ik dat open-source hardware en software en programmeren voor zowel hardware als software enorm waardevol zijn voor de samenleving. Ze bieden de mogelijkheid om toegang te krijgen tot technologie en de kennis en vaardigheden te verwerven die nodig zijn om deze technologie te bouwen en te gebruiken.
+
+Dit opent deuren voor innovatie en creativiteit en geeft mensen de mogelijkheid om hun eigen oplossingen te ontwikkelen voor hun eigen problemen.
+
+## Toekomstvisie
+
+Ik hoop dat we blijven werken aan het bevorderen van open-source hardware en software en programmeren voor hardware en software, zodat we een betere toekomst kunnen creëren voor ons allemaal.
+
+> ## Wat is Open Source?
+
+Open-source is een term die wordt gebruikt om te beschrijven hoe software en hardware worden ontwikkeld en vrijgegeven onder een licentie die de broncode openbaar beschikbaar maakt voor iedereen. Dit betekent dat iedereen vrij is om de broncode te bekijken, te bewerken, te gebruiken en te verspreiden zonder enige beperkingen.
+
+Een belangrijk aspect van open-source is dat het een gemeenschapsgerichte aanpak is voor het ontwikkelen van technologie. In plaats van dat één bedrijf of één individu de verantwoordelijkheid heeft voor het ontwerpen en ontwikkelen van een software- of hardwareproduct, werken verschillende individuen en organisaties samen om de technologie te ontwikkelen en te verbeteren.
+
+Dit resulteert vaak in producten die van hoge kwaliteit zijn, omdat ze worden getest en verbeterd door een grote gemeenschap van gebruikers en ontwikkelaars.
+
+Open-source heeft ook een aantal voordelen ten opzichte van gesloten software of hardware. Allereerst is open-source vaak gratis beschikbaar, waardoor het toegankelijk is voor mensen die mogelijk niet het budget hebben om dure commerciële producten aan te schaffen. Ten tweede kan open-source worden aangepast en aangepast aan specifieke behoeften, wat niet mogelijk is met gesloten software of hardware. Tot slot kan open-source leiden tot innovatie en creativiteit doordat het mensen in staat stelt om nieuwe ideeën en concepten te ontwikkelen op basis van bestaande technologie.
+
+Kortom, open-source is een belangrijk concept in de technologiewereld dat veel voordelen biedt voor ontwikkelaars, gebruikers en de samenleving als geheel.
\ No newline at end of file
diff --git a/public/content/blog/micro-electronica/wat-is-arduino.md b/public/content/blog/micro-electronica/wat-is-arduino.md
new file mode 100644
index 0000000..903558c
--- /dev/null
+++ b/public/content/blog/micro-electronica/wat-is-arduino.md
@@ -0,0 +1,23 @@
+# Wat is Arduino
+
+Arduino is een open-source elektronisch platform dat is ontworpen voor het maken van elektronische projecten. Het bestaat uit een microcontroller, ontwikkelomgeving en programmeertaal waarmee je eenvoudig sensoren en actuatoren kunt aansturen om interactieve projecten te maken.
+
+## Wat maakt Arduino speciaal?
+
+Arduino is populair bij hobbyisten en professionals vanwege de eenvoudige manier van programmeren en de grote online community van gebruikers die samenwerken en kennis delen.
+
+## Mogelijkheden
+
+Met Arduino kun je bijvoorbeeld:
+- Robots bouwen
+- Muziekinstrumenten maken
+- Slimme huishoudelijke apparaten creëren
+- Tal van andere elektronische projecten realiseren
+
+## Open-source karakter
+
+Het open-source karakter van Arduino betekent dat iedereen vrij is om de hardware- en softwarebroncode te bekijken, te bewerken en te gebruiken. Dit heeft geleid tot een enorme verscheidenheid aan projecten en toepassingen die door de community zijn ontwikkeld.
+
+## Voor beginners en gevorderden
+
+Of je nu een beginner bent die net start met elektronica, of een gevorderde gebruiker die complexe systemen wilt bouwen, Arduino biedt een toegankelijk platform om je ideeën tot leven te brengen.
\ No newline at end of file
diff --git a/public/content/blog/retro-gaming/commodore-64.md b/public/content/blog/retro-gaming/commodore-64.md
new file mode 100644
index 0000000..f20659d
--- /dev/null
+++ b/public/content/blog/retro-gaming/commodore-64.md
@@ -0,0 +1,39 @@
+# De Commodore 64: Een les in creativiteit en innovatie in de game-industrie
+
+In de wereld van gaming lijkt alles tegenwoordig om technologische vooruitgang te draaien. Nieuwe hardware komt sneller uit dan we kunnen bijhouden, en games worden steeds meer gericht op realistische graphics en geluiden in plaats van creativiteit en innovatie.
+
+Het is een constante race om te zien wie de nieuwste en beste technologie kan ontwikkelen, en er is weinig tijd om stil te staan bij wat er verloren gaat in deze wedloop.
+
+## Een uitzondering: de Commodore 64
+
+Maar er is een uitzondering op deze regel: de Commodore 64. Ondanks dat deze machine bijna 40 jaar oud is, blijft het een bron van inspiratie en uitdaging voor game-ontwikkelaars. Het is ongelooflijk dat ondanks de voortdurende technologische vooruitgang en de ontwikkeling van geavanceerde consoles en computers, er nog steeds games worden ontwikkeld voor de Commodore 64.
+
+## Wat maakt de C64 speciaal?
+
+Wat maakt deze klassieke machine zo bijzonder? In tegenstelling tot de hedendaagse tijdsdruk, was er in de begindagen van de game-industrie geen sprake van concurrentie van nieuwere consoles en was de focus meer gericht op het creëren van unieke en vermakelijke games.
+
+Dit betekende dat ontwikkelaars de tijd hadden om de kwaliteit van hun games te waarborgen en te optimaliseren voor de beperkingen van het systeem.
+
+## Creativiteit door beperkingen
+
+De beperkingen van de Commodore 64 hardware dwongen ontwikkelaars om creatief te zijn en innovatieve oplossingen te bedenken om games te ontwikkelen die vermakelijk en uitdagend waren voor spelers.
+
+Het was niet zozeer de technologie die centraal stond, maar het spel zelf en de ervaring die het de speler gaf.
+
+## Les voor de huidige game-industrie
+
+Maar wat betekent dit voor de huidige game-industrie? De snelle ontwikkeling van hardware tegenwoordig kan de ontwikkeling van software in de weg staan.
+
+Omdat nieuwe hardware steeds sneller en krachtiger wordt, kan er tijdsdruk ontstaan om games en software snel te ontwikkelen om te profiteren van de nieuwe hardware. Hierdoor kan de focus meer komen te liggen op het maximaliseren van de technologische mogelijkheden in plaats van op de creativiteit en innovatie van de software.
+
+## Minder kan meer bereiken
+
+De Commodore 64 laat zien dat mensen in staat zijn om meer te bereiken met minder. De beperkingen van de hardware dwongen ontwikkelaars om creatief te zijn en innovatieve oplossingen te bedenken om games te ontwikkelen die vermakelijk en uitdagend waren voor spelers.
+
+Dit laat zien dat de focus op creativiteit en innovatie in de ontwikkeling van software net zo belangrijk is als de technologische vooruitgang.
+
+## Conclusie
+
+In een tijdperk waarin de game-industrie wordt gedreven door technologische vooruitgang en tijdsdruk, is het verfrissend om te zien dat de Commodore 64 nog steeds relevant is en nieuwe games ondersteunt.
+
+Het is een les voor ons allemaal om niet te vergeten dat creativiteit en innovatie net zo belangrijk zijn als de technologische vooruitgang in de ontwikkeling van games en software.
\ No newline at end of file
diff --git a/public/content/home.md b/public/content/home.md
index 8d1c174..2103d16 100644
--- a/public/content/home.md
+++ b/public/content/home.md
@@ -17,6 +17,16 @@ Welkom op de persoonlijke blog van Edwin Noorlander. Hier deel ik mijn gedachten
### ICT & Bedrijfsvoering
- [Excel als Database](?page=blog/ict/excel-als-database) - Waarom grote bedrijven en overheden Access niet toestaan
+### Micro-electronica
+- [Wat is Arduino](?page=blog/micro-electronica/wat-is-arduino) - Open-source elektronisch platform voor interactieve projecten
+- [Leren gaat niet over perfectie](?page=blog/micro-electronica/leren-gaat-niet-over-perfectie) - Passie voor electronica en open-source hardware/software
+
+### Hardware & ICT
+- [De ware aard van ICT](?page=blog/hardware/de-ware-aard-van-ict) - Meer dan alleen computers en software
+
+### Retro Gaming
+- [Commodore 64](?page=blog/retro-gaming/commodore-64) - Een les in creativiteit en innovatie in de game-industrie
+
### Linux & Open Source
- [Open Source Voorbeelden](?page=blog/linux/open-source-voorbeelden) - Vijf voorbeelden van open-source software in gebruik bij commerciële bedrijven
From b0483f58821b7cea22fe328ff8c4838de4a7caf1 Mon Sep 17 00:00:00 2001
From: Edwin Noorlander
Date: Wed, 19 Nov 2025 14:23:12 +0100
Subject: [PATCH 05/24] Add automatic page title linking functionality
- Added autoLinkPageTitles() function to link page titles
- Added getAllPageTitles() to scan all content pages
- Added extractPageTitle() for MD/PHP/HTML files
- Added CSS styling for auto-links with dotted underline
- Page titles in content now automatically link to their pages
- Prevents linking inside existing HTML tags and links
---
index.php | 85 +++++++++++++++++++++++++++++++++++++++++++
templates/layout.html | 11 ++++++
2 files changed, 96 insertions(+)
diff --git a/index.php b/index.php
index 4965702..f9cd2a7 100644
--- a/index.php
+++ b/index.php
@@ -219,6 +219,9 @@ class CodePressCMS {
$body = preg_replace('/href="\/blog\/([^"]+)"/', 'href="?page=blog/$1"', $body);
$body = preg_replace('/href="\/([^"]+)"/', 'href="?page=$1"', $body);
+ // Auto-link page titles to existing content pages
+ $body = $this->autoLinkPageTitles($body);
+
$body = preg_replace('/\n\n/', '
', $body);
$body = '
' . $body . '
';
$body = preg_replace('/
<\/p>/', '', $body);
@@ -231,6 +234,88 @@ class CodePressCMS {
];
}
+ private function autoLinkPageTitles($content) {
+ // Get all available pages with their titles
+ $pages = $this->getAllPageTitles();
+
+ foreach ($pages as $pagePath => $pageTitle) {
+ // Create a pattern that matches the exact page title (case-insensitive)
+ $pattern = '/\b' . preg_quote($pageTitle, '/') . '\b/i';
+
+ // Replace with link, but avoid linking inside existing links or headings
+ $replacement = function($matches) use ($pageTitle, $pagePath) {
+ // Check if we're inside an HTML tag or link
+ $before = substr($matches[0], 0, 50);
+ if (preg_match('/<[^>]*$/', $before) || preg_match('/href=/', $before)) {
+ return $matches[0]; // Don't link inside HTML tags
+ }
+
+ return '' . $matches[0] . '';
+ };
+
+ $content = preg_replace_callback($pattern, $replacement, $content);
+ }
+
+ return $content;
+ }
+
+ private function getAllPageTitles() {
+ $pages = [];
+ $this->scanForPageTitles($this->config['content_dir'], '', $pages);
+ return $pages;
+ }
+
+ private function scanForPageTitles($dir, $prefix, &$pages) {
+ if (!is_dir($dir)) return;
+
+ $items = scandir($dir);
+ sort($items);
+
+ foreach ($items as $item) {
+ if ($item[0] === '.') continue;
+
+ $path = $dir . '/' . $item;
+ $relativePath = $prefix ? $prefix . '/' . $item : $item;
+
+ if (is_dir($path)) {
+ $this->scanForPageTitles($path, $relativePath, $pages);
+ } elseif (preg_match('/\.(md|php|html)$/', $item)) {
+ $title = $this->extractPageTitle($path);
+ if ($title && !empty(trim($title))) {
+ $pagePath = preg_replace('/\.[^.]+$/', '', $relativePath);
+ $pages[$pagePath] = $title;
+ }
+ }
+ }
+ }
+
+ private function extractPageTitle($filePath) {
+ $content = file_get_contents($filePath);
+ $extension = pathinfo($filePath, PATHINFO_EXTENSION);
+
+ if ($extension === 'md') {
+ // Extract first H1 from Markdown
+ if (preg_match('/^#\s+(.+)$/m', $content, $matches)) {
+ return trim($matches[1]);
+ }
+ } elseif ($extension === 'php') {
+ // Extract title from PHP file
+ if (preg_match('/\$title\s*=\s*["\']([^"\']+)["\']/', $content, $matches)) {
+ return trim($matches[1]);
+ }
+ } elseif ($extension === 'html') {
+ // Extract title from HTML file
+ if (preg_match('/
<\/p>/', '', $body);
@@ -234,22 +234,36 @@ class CodePressCMS {
];
}
- private function autoLinkPageTitles($content) {
+private function autoLinkPageTitles($content) {
// Get all available pages with their titles
$pages = $this->getAllPageTitles();
foreach ($pages as $pagePath => $pageTitle) {
// Create a pattern that matches the exact page title (case-insensitive)
+ // Use word boundaries to avoid partial matches
$pattern = '/\b' . preg_quote($pageTitle, '/') . '\b/i';
- // Replace with link, but avoid linking inside existing links or headings
+ // Replace with link, but avoid linking inside existing links, headings, or markdown
$replacement = function($matches) use ($pageTitle, $pagePath) {
- // Check if we're inside an HTML tag or link
- $before = substr($matches[0], 0, 50);
- if (preg_match('/<[^>]*$/', $before) || preg_match('/href=/', $before)) {
- return $matches[0]; // Don't link inside HTML tags
+ $text = $matches[0];
+
+ // Check if we're inside an existing link or markdown syntax
+ if (preg_match('/\[.*?\]\(.*?\)/', $text) ||
+ preg_match('/\[.*?\]:/', $text) ||
+ preg_match('/]*>/', $text) ||
+ preg_match('/href=/', $text)) {
+ return $text; // Don't link existing links
}
+ return '' . $text . '';
+ };
+
+ $content = preg_replace_callback($pattern, $replacement, $content);
+ }
+
+ return $content;
+ }
+
return '' . $matches[0] . '';
};
diff --git a/templates/layout.html b/templates/layout.html
index 5e99457..6a24deb 100644
--- a/templates/layout.html
+++ b/templates/layout.html
@@ -165,13 +165,15 @@
.auto-link {
color: #0d6efd;
text-decoration: none;
- border-bottom: 1px dotted #0d6efd;
+ border-bottom: 2px dashed #0d6efd;
font-weight: 500;
+ transition: all 0.2s ease;
}
.auto-link:hover {
color: #0a58ca;
text-decoration: none;
border-bottom-style: solid;
+ border-bottom-color: #0a58ca;
}
.search-form {
max-width: 300px;
From be220d79b3630693af3b5f605d2ebb6749ae87b1 Mon Sep 17 00:00:00 2001
From: Edwin Noorlander
Date: Wed, 19 Nov 2025 14:32:19 +0100
Subject: [PATCH 07/24] Remove old content directory from root
- Removed duplicate content/ directory from project root
- All content is now properly located in public/content/
- Clean project structure with only public/ directory for web content
- Prevents confusion between old and new content locations
---
content/blog/leren/kennis-boven-aantallen.md | 39 ------------
.../blog/open-source/de-toekomst-van-ict.md | 46 --------------
content/blog/open-source/standaardisatie.md | 63 -------------------
content/blog/over-mij/welkom.md | 33 ----------
content/home.md | 21 -------
5 files changed, 202 deletions(-)
delete mode 100644 content/blog/leren/kennis-boven-aantallen.md
delete mode 100644 content/blog/open-source/de-toekomst-van-ict.md
delete mode 100644 content/blog/open-source/standaardisatie.md
delete mode 100644 content/blog/over-mij/welkom.md
delete mode 100644 content/home.md
diff --git a/content/blog/leren/kennis-boven-aantallen.md b/content/blog/leren/kennis-boven-aantallen.md
deleted file mode 100644
index f1b4503..0000000
--- a/content/blog/leren/kennis-boven-aantallen.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Het Cruciale Belang van Kennis boven Aantallen in de Werkkracht
-
-In de dynamische wereld van vandaag wordt vaak de fout gemaakt om te denken dat het simpelweg uitbreiden van het personeelsbestand automatisch zal leiden tot verbeterde efficiëntie en productiviteit binnen een organisatie. Deze misvatting miskent echter het werkelijke knelpunt: een gebrek aan diepgaande kennis en expertise bij het bestaande personeel. Het is niet een kwestie van meer mensen aannemen, maar eerder van het ontwikkelen van beter opgeleide en gekwalificeerde werknemers.
-
-## Problemen door gebrek aan kennis
-
-### 1. Foutieve informatie en besluitvorming
-
-Stel je voor dat een bedrijf een projectteam heeft samengesteld dat verantwoordelijk is voor het lanceren van een nieuw product. Als de teamleden niet beschikken over de vereiste kennis van markttrends, consumentengedrag en concurrentieanalyse, kunnen ze beslissingen nemen die gebaseerd zijn op onvolledige of verouderde informatie.
-
-Dit kan resulteren in het nemen van verkeerde beslissingen, zoals het produceren van een product dat niet aansluit op de behoeften van de markt, met als gevolg financiële verliezen voor het bedrijf.
-
-### 2. Behoefte aan constante correcties
-
-Stel je voor dat een klantenserviceteam te maken heeft met klachten over een nieuw gelanceerd product. Als de medewerkers niet goed zijn opgeleid over de specificaties en eigenschappen van het product, zullen ze moeite hebben om de klachten van klanten adequaat te begrijpen en op te lossen.
-
-Dit kan leiden tot een situatie waarin meer ervaren medewerkers voortdurend de tijd moeten nemen om de fouten van minder goed opgeleide collega's te corrigeren, wat leidt tot inefficiëntie en frustratie bij zowel medewerkers als klanten.
-
-### 3. Vertraagde processen
-
-In een technologiebedrijf kan een gebrek aan kennis over de nieuwste software en systemen leiden tot vertragingen bij het uitvoeren van projecten. Stel je voor dat programmeurs niet op de hoogte zijn van de nieuwste programmeertools en -methoden.
-
-Dit kan resulteren in een langzamer ontwikkelingsproces en uiteindelijk een vertraagde productlancering, waardoor het bedrijf een concurrentievoordeel verliest.
-
-## Oplossing: Investeren in kennisontwikkeling
-
-Om deze problemen effectief aan te pakken en de algehele prestaties van een organisatie te verbeteren, is het van essentieel belang om te investeren in de ontwikkeling van de kennis en vaardigheden van het bestaande personeel.
-
-Door middel van regelmatige trainingssessies, bijscholing en professionele ontwikkelingsprogramma's kunnen werknemers worden uitgerust met de nodige expertise om hun taken effectief en efficiënt uit te voeren.
-
-## Focus op kwaliteit boven kwantiteit
-
-In plaats van te streven naar een kwantitatieve uitbreiding van het personeelsbestand, moet de focus liggen op het versterken van de kwaliteit van het personeel door middel van continue leerinitiatieven.
-
-Dit zal niet alleen leiden tot betere prestaties en productiviteit, maar ook tot een meer bevredigende werkomgeving waarin werknemers zich gewaardeerd en gesteund voelen in hun professionele ontwikkeling.
-
-## Conclusie
-
-Kortom, het is niet het aantal werknemers dat telt, maar de kwaliteit van hun kennis en vaardigheden die bepalend zijn voor het succes van een organisatie. Door te investeren in de ontwikkeling van het bestaande personeel kunnen organisaties effectiever opereren en beter inspelen op de uitdagingen van de moderne zakelijke omgeving.
\ No newline at end of file
diff --git a/content/blog/open-source/de-toekomst-van-ict.md b/content/blog/open-source/de-toekomst-van-ict.md
deleted file mode 100644
index b9969d8..0000000
--- a/content/blog/open-source/de-toekomst-van-ict.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# De Toekomst van ICT: Hoe Open Source Software de Werkvloer Transformeert
-
-In onze steeds digitaler wordende samenleving zijn medewerkers digitaal vaardiger geworden en verwachten zij dat de ICT-voorzieningen op kantoor en de werkvloer aansluiten bij hun behoeften. Helaas lopen traditionele ICT-afdelingen hier vaak op achter, wat leidt tot een kloof tussen de beschikbare technologie en de wensen van de medewerkers.
-
-## Beperkingen van traditionele ICT-oplossingen
-
-Traditionele ICT-afdelingen bieden doorgaans standaard softwarepakketten aan, zoals Office-suites en omvangrijke HRM- of communicatiesoftware. Hoewel deze tools een basisfunctionaliteit bieden, schieten ze vaak tekort in flexibiliteit en maatwerk.
-
-Technisch onderlegde medewerkers weten soms meer uit deze pakketten te halen, maar voor velen zijn de mogelijkheden binnen de bestaande infrastructuur beperkt. Dit leidt tot frustratie en inefficiëntie op de werkvloer.
-
-## De dynamiek van een digitale samenleving
-
-Onze maatschappij is dynamisch en past zich snel aan nieuwe ICT-mogelijkheden aan. Wanneer ICT-afdelingen vasthouden aan rigide systemen, ontstaan er hiaten tussen hoe mensen willen werken en de beschikbare technologie.
-
-De werkvloer wordt hierdoor leidend in de vraag naar ICT-oplossingen, terwijl de ICT-afdeling zou moeten anticiperen op deze behoeften. Maatwerk wordt vaak gezien als een dure oplossing, waardoor men kiest voor grote, minder flexibele softwarepakketten die alleen na dure trainingen volledig benut kunnen worden.
-
-Hierdoor moeten werknemers zich aanpassen aan de software, in plaats van dat de software aansluit bij de werkprocessen en het karakter van het bedrijf.
-
-## De kracht van open standaarden en open-source oplossingen
-
-Een mogelijke oplossing voor dit probleem is het omarmen van open standaarden en open-source oplossingen. Deze benadering maakt kantoorautomatisering dynamischer en beter aanpasbaar aan de behoeften van de samenleving.
-
-Open-source software biedt flexibiliteit en controle, waardoor bedrijven hun workflows kunnen optimaliseren zonder afhankelijk te zijn van dure licenties of beperkte functionaliteiten.
-
-## Voorbeelden van open-source kantoorsoftware
-
-Er zijn diverse open-source tools beschikbaar die kunnen bijdragen aan een flexibelere werkomgeving:
-
-### LibreOffice
-Een volwaardig kantoorsoftwarepakket dat een uitstekend alternatief biedt voor commerciële producten.
-
-### Nextcloud
-Een cloudoplossing voor documentbeheer en samenwerking, die bedrijven in staat stelt hun eigen cloudomgeving te beheren.
-
-### Thunderbird
-Een open-source e-mailclient die flexibiliteit en controle biedt over e-mailbeheer.
-
-## Integratie van ICT en bedrijfsafdelingen
-
-Om de kloof tussen ICT en de werkvloer te overbruggen, is het essentieel dat ICT-afdelingen nauwer samenwerken met verschillende bedrijfsafdelingen. Door gezamenlijk te bepalen welke tools en systemen het beste aansluiten bij de werkprocessen, kunnen organisaties efficiënter en effectiever opereren.
-
-Deze integratie bevordert niet alleen de productiviteit, maar ook de tevredenheid en betrokkenheid van medewerkers.
-
-## Conclusie
-
-In een tijd waarin digitalisering en flexibiliteit centraal staan, is het cruciaal dat ICT-afdelingen zich aanpassen aan de behoeften van de werkvloer. Door open standaarden en open-source oplossingen te omarmen en een nauwe samenwerking met andere afdelingen te zoeken, kunnen organisaties een dynamische en efficiënte werkomgeving creëren die aansluit bij de moderne samenleving.
\ No newline at end of file
diff --git a/content/blog/open-source/standaardisatie.md b/content/blog/open-source/standaardisatie.md
deleted file mode 100644
index 0d40e71..0000000
--- a/content/blog/open-source/standaardisatie.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Standaardisatie: Het Belang ervan en de Tegenstelling tussen Commerciële Bedrijven en Open-Source Gemeenschappen
-
-Standaardisatie is een cruciaal concept in de moderne wereld, met name in de technologie-industrie. Het verwijst naar het vaststellen van gemeenschappelijke normen en specificaties voor producten, processen, protocollen en systemen. Deze normen dienen als de ruggengraat van interoperabiliteit en efficiëntie in verschillende sectoren, zoals informatietechnologie, telecommunicatie, gezondheidszorg en meer.
-
-## Waarom is Standaardisatie Belangrijk?
-
-### 1. Interoperabiliteit
-
-Standaardisatie zorgt ervoor dat verschillende systemen, producten en software met elkaar kunnen communiceren en samenwerken. Dit vergemakkelijkt de uitwisseling van informatie en diensten tussen verschillende leveranciers en platforms.
-
-Bijvoorbeeld, standaardisatie van internetprotocollen maakt het mogelijk dat verschillende apparaten en websites wereldwijd met elkaar kunnen communiceren.
-
-### 2. Efficiëntie
-
-Standaardisatie kan de efficiëntie verbeteren door het verminderen van redundantie en complexiteit. Wanneer bedrijven en organisaties dezelfde normen volgen, kunnen ze resources beter beheren en kosten besparen.
-
-Het voorkomt bijvoorbeeld dat ze verschillende aangepaste oplossingen moeten ontwikkelen voor vergelijkbare taken.
-
-### 3. Veiligheid en Betrouwbaarheid
-
-Standaardisatie kan de veiligheid en betrouwbaarheid van producten en systemen verbeteren. Gemeenschappelijke normen stellen minimumeisen vast voor bijvoorbeeld cybersecurity en kwaliteitscontrole, wat de bescherming van gegevens en de integriteit van systemen bevordert.
-
-### 4. Innovatie en Concurrentie
-
-Standaardisatie kan innovatie stimuleren door bedrijven aan te moedigen nieuwe technologieën te ontwikkelen die aan de normen voldoen. Het kan ook de concurrentie bevorderen, omdat het de toetreding van nieuwe spelers vergemakkelijkt door hen een gemeenschappelijke basis te bieden om op voort te bouwen.
-
-## Waarom Commerciële Bedrijven van Standaardisatie Afwijken
-
-Commerciële bedrijven hebben soms redenen om van standaardisatie af te wijken, vooral als ze streven naar concurrentievoordeel, vendor lock-in of maximale winst.
-
-### 1. Vendor Lock-In
-
-Sommige bedrijven willen klanten aan zich binden door proprietaire technologieën te gebruiken die niet compatibel zijn met die van andere leveranciers. Dit creëert een zogenaamde "vendor lock-in", waarbij klanten moeilijk kunnen overstappen naar concurrenten.
-
-### 2. Concurrentievoordeel
-
-Bedrijven kunnen proberen een uniek concurrentievoordeel te behouden door niet-conforme technologieën of protocollen te gebruiken. Dit kan tijdelijk voordelig zijn, maar kan de algemene interoperabiliteit belemmeren.
-
-### 3. Winstmaximalisatie
-
-Sommige bedrijven willen maximale winst behalen en zien geen voordeel in het delen van kennis of het bevorderen van open normen.
-
-## Waarom Open-Source Gemeenschappen Standaardisatie Omarmen
-
-Open-source gemeenschappen, daarentegen, hebben vaak een sterke affiniteit met standaardisatie vanwege de voordelen die het biedt aan samenwerking en innovatie.
-
-### 1. Samenwerking en Gedeelde Waarden
-
-Open-source gemeenschappen gedijen op samenwerking, delen en transparantie. Het omarmen van standaardisatie past goed bij deze waarden, omdat het de basis legt voor gemeenschappelijke ontwikkeling en kennisuitwisseling.
-
-### 2. Toegankelijkheid en Gelijkheid
-
-Open standaarden bevorderen toegankelijkheid en gelijkheid, omdat ze de drempels voor deelname en concurrentie verlagen. Iedereen kan bijdragen aan open-source projecten en gebruikmaken van de resulterende standaarden.
-
-### 3. Innovatie en Duurzaamheid
-
-Open-source projecten kunnen innovatie stimuleren door een bredere groep mensen en organisaties bij het ontwikkelingsproces te betrekken. Dit leidt vaak tot duurzamere oplossingen die langer relevant blijven.
-
-## Conclusie
-
-Kortom, standaardisatie is een essentieel concept dat de basis vormt voor interoperabiliteit, efficiëntie en innovatie in verschillende industrieën. Terwijl commerciële bedrijven soms van standaardisatie kunnen afwijken om hun eigen belangen te behartigen, omarmen open-source gemeenschappen vaak actief standaardisatie vanwege de voordelen van samenwerking, toegankelijkheid en duurzaamheid die het met zich meebrengt.
-
-Het evenwicht tussen deze twee benaderingen speelt een cruciale rol bij het vormgeven van de technologische wereld waarin we leven.
\ No newline at end of file
diff --git a/content/blog/over-mij/welkom.md b/content/blog/over-mij/welkom.md
deleted file mode 100644
index 2938c51..0000000
--- a/content/blog/over-mij/welkom.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Welkom, ik ben Edwin
-
-**Innovatie en Technologische Passie: Het Inspirerende Verhaal van Edwin Noorlander**
-
-Mijn naam is Edwin Noorlander, en ik wil graag mijn inspirerende reis met jullie delen. Mijn leven is doordrenkt van innovatie en een onwankelbare omhelzing van technologie als mijn leidraad naar waar ik nu ben. Mijn verhaal is er een van vastberadenheid, autodidactisch leren en een diepe liefde voor complexiteit.
-
-## Uitdagingen als Drijfveer
-
-Laat me beginnen door te benadrukken dat mijn pad niet zonder uitdagingen is geweest. Van jongs af aan heb ik dyslexie en ADHD ervaren, wat mijn leerproces op traditionele scholen zeker niet eenvoudig maakte. Maar deze obstakels hebben me nooit ontmoedigd. In plaats daarvan dienden ze als drijfveer om mijn eigen weg te vinden in de wereld van technologie.
-
-## Autodidactisch Leren
-
-Ik heb altijd technologie als mijn roeping beschouwd, en dit dreef me om een unieke weg van zelfontdekking te bewandelen. In tegenstelling tot traditionele onderwijsroutes koos ik voor praktische hands-on ervaringen, en ondanks de uitdagingen die dyslexie en ADHD met zich meebrengen, leerde ik mezelf programmeren in diverse programmeertalen, waaronder ASM, C/C++, Java, PHP, HTML, JavaScript en SCSS. Deze diversiteit aan talen stelde me in staat om complexe problemen op te lossen en innovatieve oplossingen te creëren.
-
-## Micro-elektronica en Ruimtevaart
-
-Mijn passie reikte verder dan alleen software; ik dook diep in de wereld van micro-elektronica, waar ik leerde om microprocessors te programmeren en sensoren en actuatoren aan te sturen. Dit gaf me de mogelijkheid om fysieke systemen te bouwen en mijn ideeën tot leven te brengen.
-
-Naast mijn technologische avonturen was ik altijd gefascineerd door astronomie en ruimtevaart, waar ik mijn leergierigheid en passie voor ontdekking voedde.
-
-## Huidige Werk
-
-Momenteel werk ik als adviseur bij de overheid, waar ik mijn kennis en ervaring toepas om advies te geven over ICT-infrastructuur met betrekking tot digitaal leren. Dit stelt me in staat om bij te dragen aan de groei en ontwikkeling van de samenleving door middel van technologie.
-
-## Missie en Doel
-
-Mijn ultieme doel is om anderen te inspireren die zich in een vergelijkbare positie bevinden, met een handicap zoals dyslexie en ADHD, om zichzelf te blijven ontwikkelen en te leren wat ze willen leren. Ik geloof dat het nooit te laat is om te beginnen met leren en dat er altijd manieren zijn om je doelen te bereiken, zelfs als de weg er naartoe uitdagend lijkt.
-
-Daarom heb ik deze blog gecreëerd. Hier wil ik graag mijn kennis en ervaringen delen en anderen aanmoedigen om hun passie te volgen en te blijven leren, ongeacht welke obstakels zich voordoen.
-
-Dankjewel voor het bezoeken van mijn blog, en ik hoop je snel weer terug te zien!
-
-Mijn naam is Edwin Noorlander, en ik ben vastbesloten om de kracht van innovatie en technologie te blijven omarmen.
\ No newline at end of file
diff --git a/content/home.md b/content/home.md
deleted file mode 100644
index 60c50a2..0000000
--- a/content/home.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# CodePress Blog
-
-Welkom op de persoonlijke blog van Edwin Noorlander. Hier deel ik mijn gedachten, ervaringen en kennis over technologie, open-source software en digitale transformatie.
-
-## Categorieën
-
-### Over Mij
-- [Welkom, ik ben Edwin](?page=blog/over-mij/welkom) - Mijn persoonlijke verhaal en achtergrond
-
-### Open Source
-- [De Toekomst van ICT](?page=blog/open-source/de-toekomst-van-ict) - Hoe open source software de werkvloer transformeert
-- [Standaardisatie](?page=blog/open-source/standaardisatie) - Het belang van standaarden en de tegenstelling tussen commerciële bedrijven en open-source gemeenschappen
-
-### Leren & Ontwikkeling
-- [Kennis boven Aantallen](?page=blog/leren/kennis-boven-aantallen) - Het cruciale belang van kennis boven personeelsaantallen in de werkkracht
-
-## Over Edwin Noorlander
-
-Ik ben adviseur bij de overheid met een passie voor technologie, innovatie en open-source software. Met een achtergrond in micro-elektronica en diverse programmeertalen, deel ik graag mijn kennis en ervaringen om anderen te inspireren.
-
-**Meer weten?** Bezoek mijn [persoonlijke website](https://noorlander.info) of volg mijn projecten op [GitLab](https://git.noorlander.info).
\ No newline at end of file
From c68e8cd14100a0212a944902944952ddd3918682 Mon Sep 17 00:00:00 2001
From: Edwin Noorlander
Date: Wed, 19 Nov 2025 14:35:57 +0100
Subject: [PATCH 08/24] Add sidebar toggle functionality
- Added toggle button for left sidebar collapse/expand
- Sidebar slides in/out with smooth animation
- Toggle button changes icon (list/chevron-right)
- Main content adjusts margin when sidebar is collapsed
- Added CSS transitions for smooth animations
- Button positioned fixed with z-index for accessibility
---
templates/layout.html | 57 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 56 insertions(+), 1 deletion(-)
diff --git a/templates/layout.html b/templates/layout.html
index 6a24deb..4539bd4 100644
--- a/templates/layout.html
+++ b/templates/layout.html
@@ -42,12 +42,43 @@
border-right: 1px solid #dee2e6;
overflow-y: auto;
flex-shrink: 0;
+ transition: transform 0.3s ease;
+ position: relative;
+ z-index: 1000;
+ }
+ .sidebar.collapsed {
+ transform: translateX(-250px);
+ }
+ .sidebar-toggle {
+ position: fixed;
+ top: 80px;
+ left: 10px;
+ z-index: 1001;
+ background-color: #0d6efd;
+ color: white;
+ border: none;
+ border-radius: 5px;
+ padding: 8px 12px;
+ cursor: pointer;
+ box-shadow: 0 2px 5px rgba(0,0,0,0.2);
+ transition: all 0.3s ease;
+ }
+ .sidebar-toggle:hover {
+ background-color: #0a58ca;
+ transform: scale(1.05);
+ }
+ .sidebar-toggle.shifted {
+ left: 270px;
+ }
+ .main-content.shifted {
+ margin-left: 0;
}
.main-content {
flex: 1;
overflow-y: auto;
padding: 20px;
+ transition: margin-left 0.3s ease;
}
.folder-toggle {
@@ -231,7 +262,10 @@