diff --git a/guide/en.codepress.md b/guide/en.codepress.md index 2c6fba4..f55081f 100644 --- a/guide/en.codepress.md +++ b/guide/en.codepress.md @@ -19,6 +19,7 @@ CodePress is a lightweight, file-based Content Management System built with PHP - PHP 8.4+ - Web server (Apache/Nginx) - Modern web browser +- Write permissions for content directory ### Installation 1. Clone or download the CodePress files @@ -56,20 +57,43 @@ content/ ``` ### Content Types -CodePress supports three content types: +CodePress supports four content types: #### Markdown (`.md`) ```markdown # Page Title -This is the page content in **Markdown** format. +This is page content in **Markdown** format with CommonMark extensions. ## Subsection -- List item 1 -- List item 2 +- [x] Task list item +- [ ] Another task +- **Bold** and *italic* text +- [Auto-linked pages](?page=another-page) ``` +#### PHP (`.php`) +```php + +
+This is dynamic content with PHP.
+``` + +#### HTML (`.html`) +```html +This is static HTML content.
+``` + +#### Directory Listings +Directories automatically generate listings: +- File information (size, dates) +- Navigation to subdirectories +- Responsive file listing layout + #### PHP (`.php`) ```php 'Your Website Name', - 'default_page' => 'home', // Default start page - 'content_dir' => __DIR__ . '/../../content', - 'templates_dir' => __DIR__ . '/../templates' -]; +```json +{ + "site_title": "Your Website Name", + "content_dir": "content", + "templates_dir": "engine/templates", + "default_page": "auto", + "language": { + "default": "en", + "available": ["en", "nl"] + }, + "theme": { + "header_color": "#0a369d", + "header_font_color": "#ffffff", + "navigation_color": "#2754b4", + "navigation_font_color": "#ffffff" + }, + "author": { + "name": "Your Name", + "website": "https://yourwebsite.com", + "git": "https://github.com/youruser/codepress" + }, + "seo": { + "description": "Your website description", + "keywords": "cms, php, content management" + }, + "features": { + "auto_link_pages": true, + "search_enabled": true, + "breadcrumbs_enabled": true + } +} ``` ### SEO Friendly URLs CodePress automatically generates clean URLs: -- `home.md` → `/home` -- `blog/article.md` → `/blog/article` +- `home.md` → `?page=home` +- `blog/article.md` → `?page=blog/article` +- `nl.page.md` → `?page=nl.page&lang=nl` + +### Language Support +- **Browser detection**: Automatic language detection +- **URL switching**: `?lang=en` or `?lang=nl` +- **Language prefixes**: `en.page.md` and `nl.page.md` +- **Directory precedence**: Directories take precedence over files ### Search Functionality The built-in search function searches through: - File names - Content of Markdown/PHP/HTML files +- Search URL: `?search=query` for bookmarkable searches +- Result highlighting and snippets + +### Directory Listings +- **Auto-generation**: `?page=directory` shows directory contents +- **File information**: Creation/modification dates and sizes +- **Navigation**: Links to files and subdirectories --- @@ -142,6 +250,15 @@ The built-in search function searches through: - Use subdirectories for categories - Give each directory an `index.md` for an overview page - Keep file names short and descriptive +- Use language prefixes: `en.page.md` and `nl.page.md` +- Directory names take precedence over files with same name + +### File Naming Conventions +- **Lowercase names**: Use lowercase for all files +- **No spaces**: Use hyphens (-) or underscores (_) +- **Language prefixes**: `en.` or `nl.` for multilingual content +- **Display names**: `file-name.md` displays as "File Name" in menus +- **Special cases**: `phpinfo` → "phpinfo", `ict` → "ICT" ### Content Optimization - Use clear headings (H1, H2, H3) diff --git a/guide/nl.codepress.md b/guide/nl.codepress.md index eac5584..fac23f3 100644 --- a/guide/nl.codepress.md +++ b/guide/nl.codepress.md @@ -12,11 +12,15 @@ CodePress CMS is een lichtgewicht, file-based content management systeem gebouwd - **Home knop** met icoon die linkt naar de ingestelde homepage - **Automatische menu generatie** op basis van content structuur - **Responsive design** voor mobiele apparaten +- **Breadcrumb navigatie** met home icoon en pad weergave +- **Active state marking** voor huidige pagina in menu ### 📄 **Content Types** -- **Markdown (.md)** - Met auto-linking tussen pagina's +- **Markdown (.md)** - Met CommonMark ondersteuning en extensies (autolink, strikethrough, tables, task lists) - **PHP (.php)** - Voor dynamische content en functionaliteit - **HTML (.html)** - Voor statische HTML pagina's +- **Directory listings** - Automatische generatie van directory overzichten +- **Language-specific content** - `nl.` en `en.` prefix voor meertalige content - **Automatische template selectie** op basis van bestandstype ### 🔍 **Zoekfunctionaliteit** @@ -24,13 +28,16 @@ CodePress CMS is een lichtgewicht, file-based content management systeem gebouwd - **Resultaten met snippets** en highlighting - **Directe navigatie** naar gevonden pagina's - **SEO-vriendelijke** zoekresultaten +- **Search URL**: `?search=zoekterm` voor bookmarkable searches ### 🧭 **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 +- **Thema configuratie** met kleur instellingen +- **Language settings** voor meertalige content +- **Feature toggles** voor search, breadcrumbs, auto-linking ### 🎨 **Layout & Design** - **Flexbox layout** voor moderne, responsive structuur @@ -39,6 +46,8 @@ CodePress CMS is een lichtgewicht, file-based content management systeem gebouwd - **Fixed footer** met file info en links - **Bootstrap 5** styling en componenten - **Custom CSS** voor specifieke styling +- **Mustache templates** met conditionals en partials +- **Semantic HTML5** structuur voor SEO ### 📱 **Responsive Features** - **Mobile-first** aanpak @@ -46,6 +55,13 @@ CodePress CMS is een lichtgewicht, file-based content management systeem gebouwd - **Touch-friendly** dropdowns en navigatie - **Adaptieve breedtes** voor verschillende schermgroottes +### 🌍 **Language Support** +- **Browser language detection** op basis van Accept-Language header +- **URL language switching**: `?lang=nl` of `?lang=en` +- **Translation files**: `lang/nl.php` en `lang/en.php` +- **Language prefixes**: `nl.bestand.md` en `en.bestand.md` +- **Automatic language routing** voor meertalige content + ## Installatie 1. **Upload bestanden** naar webserver @@ -64,6 +80,16 @@ CodePress CMS is een lichtgewicht, file-based content management systeem gebouwd "templates_dir": "engine/templates", "default_page": "auto", "homepage": "welkom", + "language": { + "default": "nl", + "available": ["nl", "en"] + }, + "theme": { + "header_color": "#0a369d", + "header_font_color": "#ffffff", + "navigation_color": "#2754b4", + "navigation_font_color": "#ffffff" + }, "author": { "name": "Edwin Noorlander", "website": "https://noorlander.info", @@ -72,6 +98,11 @@ CodePress CMS is een lichtgewicht, file-based content management systeem gebouwd "seo": { "description": "CodePress CMS - Lightweight file-based content management system", "keywords": "cms, php, content management, file-based" + }, + "features": { + "auto_link_pages": true, + "search_enabled": true, + "breadcrumbs_enabled": true } } ``` @@ -83,8 +114,12 @@ CodePress CMS is een lichtgewicht, file-based content management systeem gebouwd - **`templates_dir`** - Map met template bestanden - **`default_page`** - Standaard pagina (`"auto"` voor automatische detectie) - **`homepage`** - Specifieke homepage (`"auto"` voor automatische detectie) +- **`language.default`** - Standaard taal +- **`language.available`** - Beschikbare talen +- **`theme.*`** - Kleur instellingen voor header en navigatie - **`author`** - Auteur informatie met links - **`seo`** - SEO instellingen +- **`features.*`** - Feature toggles (search, breadcrumbs, auto-linking) ## Content Structuur @@ -109,6 +144,9 @@ content/ - **Geen spaties** - gebruik `-` of `_` als scheidingsteken - **Logische extensies** - `.md`, `.php`, `.html` - **Unieke namen** - geen duplicaten binnen dezelfde map +- **Language prefixes** - `nl.bestand.md` en `en.bestand.md` voor meertalige content +- **Display names** - `bestands-naam` wordt automatisch "Bestands Naam" in menu's +- **Special cases** - `phpinfo` → "phpinfo", `ict` → "ICT" ## Templates @@ -128,15 +166,70 @@ engine/templates/ ### Template Variabelen +#### **Site Info** - **`{{site_title}}`** - Website titel -- **`{{page_title}}`** - Pagina titel +- **`{{author_name}}`** - Auteur naam +- **`{{author_website}}`** - Auteur website +- **`{{author_git}}`** - Git repository link + +#### **Page Info** +- **`{{page_title}}`** - Pagina titel (bestandsnaam zonder extensie) - **`{{content}}`** - Content (HTML) +- **`{{file_info}}`** - Bestandsinformatie (datum, grootte) +- **`{{is_homepage}}`** - Boolean: is dit de homepage? + +#### **Navigation** - **`{{menu}}`** - Navigatie menu - **`{{breadcrumb}}`** - Breadcrumb navigatie -- **`{{search_query}}`** - Zoekopdracht - **`{{homepage}}`** - Homepage link -- **`{{author_*}}`** - Auteur informatie -- **`{{seo_*}}`** - SEO informatie +- **`{{homepage_title}}`** - Homepage titel + +#### **Theme** +- **`{{header_color}}`** - Header achtergrondkleur +- **`{{header_font_color}}`** - Header tekstkleur +- **`{{navigation_color}}`** - Navigatie achtergrondkleur +- **`{{navigation_font_color}}`** - Navigatie tekstkleur + +#### **Language** +- **`{{current_lang}}`** - Huidige taal (nl/en) +- **`{{current_lang_upper}}`** - Huidige taal (NL/EN) +- **`{{available_langs}}`** - Beschikbare talen +- **`{{t_*}}`** - Vertaalde strings (t_home, t_search, etc.) + +#### **SEO** +- **`{{seo_description}}`** - Meta description +- **`{{seo_keywords}}`** - Meta keywords + +#### **Features** +- **`{{has_content}}`** - Boolean: is er content beschikbaar? +- **`{{show_site_link}}`** - Boolean: toon site link? +- **`{{is_guide_page}}`** - Boolean: is dit de handleiding pagina? + +## URL Structuur + +### Basis URLs +- **Home**: `/` of `?page=home` +- **Pagina**: `?page=map/pagina` +- **Zoeken**: `?search=zoekterm` +- **Handleiding**: `?guide` +- **Language**: `?lang=nl` of `?lang=en` + +### File Extensions +Bestandsextensies worden automatisch gedetecteerd: +- `pagina.md` → `?page=pagina` +- `pagina.php` → `?page=pagina` +- `pagina.html` → `?page=pagina` + +### Language Support +- **Browser detection**: Automatische taal detectie +- **URL switching**: `?page=nl.bestand&lang=nl` +- **Language prefixes**: `nl.bestand.md` en `en.bestand.md` +- **Directory precedence**: Directories hebben voorrang op bestanden + +### Directory Listings +- **Auto-generation**: `?page=map` toont directory inhoud +- **File info**: Creatie/modificatie datums en groottes +- **Navigation**: Links naar bestanden en submappen ## SEO Optimalisatie