- Rename guide files: nl.md → nl.codepress.md, en.md → uk.codepress.md - Add language filtering in scanDirectory() for nl.* and uk.* files/folders - Update formatDisplayName() to remove language prefixes from display names - Update getGuidePage() to use new naming convention (en → uk mapping) - Content with nl. prefix only shows when Dutch language is selected - Content with uk. prefix only shows when English language is selected
6.7 KiB
6.7 KiB
CodePress CMS Handleiding
Overzicht
CodePress CMS is een lichtgewicht, file-based content management systeem gebouwd met PHP. Het is ontworpen om eenvoudig te gebruiken, flexibel te zijn en zonder database te werken.
Functies
🏠 Navigatie
- Tab-style navigatie met Bootstrap styling
- Dropdown menus voor mappen en sub-mappen
- Home knop met icoon die linkt naar de ingestelde homepage
- Automatische menu generatie op basis van content structuur
- Responsive design voor mobiele apparaten
📄 Content Types
- Markdown (.md) - Met auto-linking tussen pagina's
- PHP (.php) - Voor dynamische content en functionaliteit
- HTML (.html) - Voor statische HTML pagina's
- Automatische template selectie op basis van bestandstype
🔍 Zoekfunctionaliteit
- Volledige tekst zoek door alle content bestanden
- Resultaten met snippets en highlighting
- Directe navigatie naar gevonden pagina's
- SEO-vriendelijke zoekresultaten
🧭 Configuratie
- JSON configuratie in project root (
config.json) - Dynamische homepage instelling of automatische detectie
- SEO instellingen (description, keywords)
- Author informatie met links naar website en Git
- Thema configuratie mogelijkheden
🎨 Layout & Design
- Flexbox layout voor moderne, responsive structuur
- Fixed header met logo en zoekfunctie
- Breadcrumb navigatie tussen header en content
- Fixed footer met file info en links
- Bootstrap 5 styling en componenten
- Custom CSS voor specifieke styling
📱 Responsive Features
- Mobile-first aanpak
- Hamburger menu voor kleine schermen
- Touch-friendly dropdowns en navigatie
- Adaptieve breedtes voor verschillende schermgroottes
Installatie
- Upload bestanden naar webserver
- Stel permissies in voor webserver
- Configureer
config.jsonindien nodig - Toegang tot website via browser
Configuratie
Basis Configuratie (config.json)
{
"site_title": "CodePress",
"content_dir": "content",
"templates_dir": "engine/templates",
"default_page": "auto",
"homepage": "welkom",
"author": {
"name": "Edwin Noorlander",
"website": "https://noorlander.info",
"git": "https://git.noorlander.info/E.Noorlander/CodePress.git"
},
"seo": {
"description": "CodePress CMS - Lightweight file-based content management system",
"keywords": "cms, php, content management, file-based"
}
}
Configuratie Opties
site_title- Naam van de websitecontent_dir- Map met content bestandentemplates_dir- Map met template bestandendefault_page- Standaard pagina ("auto"voor automatische detectie)homepage- Specifieke homepage ("auto"voor automatische detectie)author- Auteur informatie met linksseo- SEO instellingen
Content Structuur
Bestandsstructuur
content/
├── map1/
│ ├── submap1/
│ │ ├── pagina1.md
│ │ └── pagina2.php
│ └── pagina3.html
├── map2/
│ └── pagina4.md
├── homepage.md
└── index.html
Bestandsnamen
- Gebruik lowercase bestandsnamen
- Geen spaties - gebruik
-of_als scheidingsteken - Logische extensies -
.md,.php,.html - Unieke namen - geen duplicaten binnen dezelfde map
Templates
Template Structuur
engine/templates/
├── layout.mustache - Hoofd layout template
├── assets/
│ ├── header.mustache - Header template
│ ├── navigation.mustache - Navigatie template
│ └── footer.mustache - Footer template
├── markdown_content.mustache - Markdown content template
├── php_content.mustache - PHP content template
└── html_content.mustache - HTML content template
Template Variabelen
{{site_title}}- Website titel{{page_title}}- Pagina titel{{content}}- Content (HTML){{menu}}- Navigatie menu{{breadcrumb}}- Breadcrumb navigatie{{search_query}}- Zoekopdracht{{homepage}}- Homepage link{{author_*}}- Auteur informatie{{seo_*}}- SEO informatie
SEO Optimalisatie
Meta Tags
De CMS voegt automatisch de volgende meta tags toe:
<meta name="generator" content="CodePress CMS">
<meta name="application-name" content="CodePress">
<meta name="author" content="Edwin Noorlander">
<meta name="description" content="...">
<meta name="keywords" content="...">
<link rel="author" href="https://noorlander.info">
<link rel="me" href="https://git.noorlander.info/E.Noorlander/CodePress.git">
Auto-linking
De CMS linkt automatisch pagina titels naar hun content:
- Automatische detectie van pagina titels in tekst
- Slimme links met
titleattributen - Geen dubbele links voor dezelfde pagina
- SEO-vriendelijke URL structuur
Veelgestelde Vragen
Hoe stel ik de homepage in?
- Automatisch: Laat de CMS het eerste bestand kiezen
- Handmatig: Stel
"homepage": "pagina-naam"inconfig.json - Flexibel: Werkt met elk bestandstype (md, php, html)
Hoe werkt de navigatie?
- Mappen worden dropdown menus
- Bestanden worden directe links
- Sub-mappen worden geneste dropdowns
- Home knop linkt altijd naar de homepage
Hoe voeg ik nieuwe content toe?
- Upload bestanden naar de
content/map - Organiseer in logische mappen
- Gebruik juiste bestandsnamen en extensies
- Herlaad de pagina om de navigatie te vernieuwen
Kan ik custom CSS gebruiken?
Ja! Voeg custom CSS toe aan:
/public/assets/css/style.css- Voor algemene styling- Template bestanden - Voor specifieke componenten
- Inline styles - In content bestanden indien nodig
Troubleshooting
Pagina niet gevonden (404)
- Controleer bestandsnaam en pad
- Controleer bestandsextensie (.md, .php, .html)
- Controleer permissies van bestanden
- Controleer
config.jsonsyntax
Template niet geladen
- Controleer template bestandsnamen
- Controleer template map permissies
- Controleer PHP error logs
- Controleer
templates_dirconfiguratie
Navigatie niet bijgewerkt
- Herlaad de pagina
- Controleer content map structuur
- Controleer bestandsnamen (geen spaties)
- Controleer PHP cache indien aanwezig
Ondersteuning
Voor technische ondersteuning:
- GitHub: https://git.noorlander.info/E.Noorlander/CodePress.git
- Website: https://noorlander.info
- Issues: Rapporteer problemen via GitHub issues
Licentie
CodePress CMS is open-source software. Controleer de licentie in de repository voor meer informatie.