Commit graph

68 commits

Author SHA1 Message Date
Ruben
9be457f17f Add metadata and config changes to cache invalidation
Improve cache invalidation by including metadata.ini and config file
mtimes in the cache key calculation. This ensures cache entries are
invalidated when either the content file, its metadata, or global
configuration changes.
2026-02-07 16:12:21 +01:00
Ruben
67e6f1269a Add author and timestamp uniqueness to feed XML output 2026-02-06 18:56:16 +01:00
Ruben
f1447049e4 Add page-specific JavaScript support
Update documentation for new JS variables and rendering pipeline

Add script.js file support to content directories

Implement cache-busting for JavaScript files

Update static file serving to include JavaScript files

Document page-specific script loading in base.php
2026-02-06 18:47:23 +01:00
Ruben
f8a352afce Add JavaScript support to page templates
Add support for page-specific JavaScript files with cache busting
via MD5 hash. The script is loaded at the end of the body with
defer attribute. The JavaScript file must be named script.js and
located in the same directory as the page content.
2026-02-06 18:47:17 +01:00
Ruben
069ce389ea Add Atom feed support to list pages
Introduce `feed` metadata option to enable Atom feeds
Update list item structure with standardized fields
Add `$feedUrl` template variable for autodiscovery
Improve date handling with raw/processed date separation
Document feed generation in architecture and rendering docs
Update template examples to use new item structure
2026-02-06 18:24:39 +01:00
Ruben
1cbfb67a4c Add Atom feed support
Add feed URL to base template
Refactor list item building into separate function
Improve date extraction logic
Add feed XML generation handler
Update template variables handling
2026-02-06 18:24:31 +01:00
Ruben
b03511f99b Update AGENT.md and add architecture documentation
Update AGENT.md to reflect current project structure and philosophy

Add comprehensive architecture documentation covering:
- Directory layout
- Stable contracts
- Request flow
- Module dependencies
- Page vs list detection
- Deployment models
- Demo fallback

Remove outdated plugin system documentation
Add new content system documentation
Add configuration documentation
Add context API documentation
Add hooks and plugins documentation
Add templates documentation
Add rendering documentation
Add development environment documentation
2026-02-05 23:30:44 +01:00
Ruben
696b0ad801 Claenup
Add page CSS URL and hash to template variables

Move page CSS handling from rendering to router
2026-02-05 23:30:20 +01:00
Ruben
7782eefa96 Add trailing slash redirect for list routes 2026-01-17 00:03:53 +01:00
Ruben
0901d6324c Update ParsedownExtra to use mb_encode_numericentity for safer HTML
encoding
2026-01-16 22:03:31 +01:00
Ruben
7b5d07a88d Add ISO date format for fallback date extraction
Convert fallback date to ISO format before plugin processing
2026-01-16 22:03:25 +01:00
Ruben
d446ab1896 Optimize content rendering and plugin loading order
Load metadata and plugins before content rendering to ensure
plugin-provided variables are available to PHP content files
2026-01-16 22:03:20 +01:00
Ruben
d54cdc7ce1 Add support for INI file sections in translations
Flatten INI sections into dot notation keys for easier access
Improve language file filtering with pattern matching
2026-01-16 22:03:15 +01:00
Ruben
ccfca94b57 Add performance profiling tools and test data generator
Add Xdebug configuration and container setup for performance profiling
Add comprehensive performance testing script with profiling and test
data generation
Add test data statistics and cleanup commands
Add documentation for all performance testing features
2026-01-14 14:40:57 +01:00
Ruben
47cf4d8652 Cleanup 2026-01-14 14:40:44 +01:00
Ruben
1390ed51e8 Compress instructions 2026-01-14 14:40:30 +01:00
Ruben
602fbe196f Remove redundant comments from rendering functions 2025-12-12 21:44:55 +01:00
Ruben
70cb3cb59f Rename CLAUDE.md to AGENT.md
Remove docs template variants note
2025-12-12 21:44:50 +01:00
Ruben
f94b50f298 Patch: Update footnote sorting method reference
Use static method reference for footnote sorting
2025-11-30 22:27:03 +01:00
Ruben
1db80ebf38 Add language prefix to hero section feature URLs 2025-11-30 22:26:47 +01:00
Ruben
8291a86373 Add language prefix support to cached markdown rendering
Add language prefix parameter to cache functions Update
renderContentFile to handle language prefixes Add language prefix to
internal links in markdown Make template variables available to PHP
content files
2025-11-30 22:26:37 +01:00
Ruben
f212e320cb Update markdown rendering to use ParsedownExtra 2025-11-29 23:39:32 +01:00
Ruben
743c6bc236 Add ParsedownExtra extension for footnote support 2025-11-29 23:39:22 +01:00
Ruben
8857a91406 Add language prefix to content URLs and use folder names for assets
Use language prefix for all content URLs and ensure assets reference
folder names instead of translated slugs for proper file access
2025-11-29 01:45:41 +01:00
Ruben
77f97a3a5d Add configurable sorting order for items 2025-11-29 00:54:55 +01:00
Ruben
76697e4656 Add getting started documentation
Add tutorial on adding content

Add tutorial on styling

Add tutorial on templates

Add configuration reference

Add metadata reference

Add template variables reference

Add internationalization reference

Add plugin system documentation

Add creating templates documentation

Add index page
2025-11-27 23:01:02 +01:00
Ruben
0e19040473 Create a simple hero section with title, subtitle, and call-to-action
button Add a features section with icons and descriptions Include a
stats section with live data Add a responsive design with modern CSS
features
2025-11-27 21:31:47 +01:00
Ruben
f0d50ff8bf Add fallback config loading with custom overrides 2025-11-27 21:29:57 +01:00
Ruben
ca91a18cb7 Add default styles and enable language plugin
Add stylesheet and enable language plugin with Norwegian support
2025-11-27 21:29:35 +01:00
Ruben
bb38245218 Add language plugin documentation
Add documentation for the language plugin that provides URL-based
internationalization support with language-specific URLs, content files,
slugs, and translations
2025-11-25 23:29:01 +01:00
Ruben
92d681feb9 Add URL-based i18n support to language plugin
Extract language from URL and store in context Filter content and
metadata by language Add language variables to templates Implement
language-specific file filtering Add date formatting with translated
months Generate language-specific URLs
2025-11-25 23:16:45 +01:00
Ruben
d10ff75aa4 Add slug resolution for content paths
Implement function to resolve slugs to actual folder paths Update path
parsing to handle slug resolution Add language prefix support to
navigation URLs
2025-11-25 23:16:34 +01:00
Ruben
441c8bca68 Add hide_list metadata option to directories
Add support for hide_list metadata option that allows directories to be
displayed as pages instead of lists when they contain subfolders
2025-11-25 20:30:11 +01:00
Ruben
a205f2cbd7 Remove language-specific content handling
Refactor to use plugin system for language support

Remove hardcoded language features from core

Move language handling to plugin system

Improve content file discovery

Simplify context creation

Add plugin system documentation

Implement hook system for extensibility

Add template variable hook

Add context storage for plugins

Improve error handling

Refactor rendering logic

Improve list view sorting

Add support for custom list templates

Improve metadata handling

Add plugin system reference documentation
2025-11-25 20:19:12 +01:00
Ruben
24ee209e17 Add plugin system and improve language handling
Add global and page-level plugin support Implement language-aware
content filtering Add month translations to language files Refactor date
formatting to use translations Move translation loading to plugin system
Improve content availability checks
2025-11-11 23:36:53 +01:00
Ruben
875408a27c Add Open Graph tags functionality 2025-11-04 23:00:53 +01:00
Ruben
6879fad5fb Add page-specific CSS support
Add helper function to find page-specific CSS files Add CSS loading to
base template Update rendering functions to include page CSS Update
router to include page CSS for static pages
2025-11-03 23:04:16 +01:00
Ruben
0b84615bf9 Add meta description support to pages
Add description meta tag to base template Fix navigation list structure
in header Add meta description extraction helper function Update
rendering and routing to include meta description
2025-11-03 22:30:49 +01:00
Ruben
6009cb451e Add markdown file caching functionality
Add cache.php with get/set functions for markdown content Update
rendering to check cache before processing files
2025-11-03 21:50:43 +01:00
Ruben
3e303ceda8 Move development files to devel directory 2025-11-02 14:36:25 +01:00
Ruben
6647d0c964 Update README with clearer structure and features 2025-11-02 14:36:15 +01:00
Ruben
ad516600bb Add docs 2025-11-02 13:46:47 +01:00
Ruben
b97b2f5503 Update default language to English
Remove outdated comments from config file
2025-11-02 13:46:12 +01:00
Ruben
eec90a4cd8 Add docs directory to gitignore 2025-11-02 13:46:05 +01:00
Ruben
673c02d237 Update PHP version to 8.4 and add property hooks 2025-11-01 23:33:09 +01:00
Ruben
32449d2edd Refactor template and content handling logic
Add constants for file extensions

Extract helper functions for common operations

Improve PDF file detection

Simplify directory scanning operations

Standardize template resolution

Optimize content rendering pipeline
2025-11-01 22:54:42 +01:00
Ruben
149ba03359 Add modular architecture to router
Extract configuration, helpers, content processing, and rendering logic
into separate files

Refactor router to use modular components
2025-11-01 22:50:02 +01:00
Ruben
eda800d048 Skip system files when finding content files 2025-11-01 20:15:37 +01:00
Ruben
b507a0c676 Add multi-file page support and improve documentation
Update README to explain multi-file page functionality Add example
content files demonstrating the feature Improve folder type detection
logic Implement new routing for page-type folders Add support for mixed
content types in single pages Update navigation and metadata handling
for multi-file pages Remove legacy frontpage.php in favor of multi-file
approach Improve file-based routing documentation Add examples of
different content types working together Update router to handle
multi-file content rendering Implement proper sorting of content files
Add best practices for multi-file content organization
2025-11-01 18:20:23 +01:00
Ruben
f2c18659dc Update framework documentation and rename project to FolderWeb 2025-11-01 17:23:11 +01:00