Edwin Noorlander 9c5a43c5ce Fix guide template variable replacement and enhance documentation
- Fix template variable replacement in guide pages by removing {{}} brackets
- Escape code blocks in guide markdown to prevent template processing
- Completely rewrite guide documentation with comprehensive CMS features
- Add bilingual guide support (English/Dutch) with detailed examples
- Enhance CodePressCMS core with improved guide page handling
- Update template system with better layout and footer components
- Improve language files with additional translations
- Update configuration with enhanced theme and language settings

Resolves issue where guide pages were showing replaced template variables
instead of displaying them as documentation examples.
2025-11-26 16:50:49 +01:00
..

CodePress CMS Plugins

Deze map bevat plugins voor de CodePress CMS. Elke plugin heeft zijn eigen submap met de plugin code.

Plugin Structuur

Elke plugin map moet het volgende bevatten:

PluginName/
├── PluginName.php          # Hoofd plugin bestand
├── README.md              # Plugin documentatie (optioneel)
├── config.json           # Plugin configuratie (optioneel)
└── assets/               # CSS, JS, images (optioneel)
    ├── css/
    ├── js/
    └── images/

Beschikbare Plugins

HTMLBlock

Toont een custom HTML blok in de sidebar met pagina-informatie en navigatie.

Locatie: HTMLBlock/HTMLBlock.php

Functies:

  • Toont huidige pagina informatie
  • Dynamische navigatie
  • Bestandsinformatie
  • Interactive controls

Plugin Development

Basis Plugin Class

<?php

class MyPlugin
{
    private ?CMSAPI $api = null;
    
    public function setAPI(CMSAPI $api): void
    {
        $this->api = $api;
    }
    
    public function getSidebarContent(): string
    {
        return '<div>Mijn plugin content</div>';
    }
}

Beschikbare API Methodes

  • getCurrentPage() - Huidige pagina data
  • getCurrentPageTitle() - Huidige pagina titel
  • getMenu() - Menu structuur
  • getConfig($key) - Configuratie waardes
  • translate($key) - Vertalingen
  • getCurrentLanguage() - Huidige taal
  • isHomepage() - Check of homepage
  • getCurrentPageFileInfo() - Bestandsinformatie
  • createUrl($page, $lang) - URL generatie

Plugin Hooks

Plugins kunnen de volgende methodes implementeren:

  • getSidebarContent() - Content voor sidebar
  • setAPI(CMSAPI $api) - API injectie

Configuratie

Plugins kunnen een config.json bestand hebben:

{
    "enabled": true,
    "settings": {
        "option1": "value1",
        "option2": "value2"
    }
}

Installatie

  1. Maak een nieuwe map in plugins/
  2. Plaats de plugin class in PluginName/PluginName.php
  3. Optioneel: voeg README.md en config.json toe
  4. De plugin wordt automatisch geladen door de CMS

Best Practices

  • Gebruik htmlspecialchars() voor output
  • Implementeer setAPI() voor CMS toegang
  • Volg PSR-12 coding standards
  • Gebruik namespace indien nodig
  • Documenteer je plugin met README.md