No description
Find a file
2025-11-01 17:23:11 +01:00
app Update framework documentation and rename project to FolderWeb 2025-11-01 17:23:11 +01:00
development Add demo content and documentation for FolderWeb 2025-11-01 16:47:15 +01:00
.gitignore Initial commit 2025-10-02 16:54:47 +02:00
CLAUDE.md Update framework documentation and rename project to FolderWeb 2025-11-01 17:23:11 +01:00
README.md Update framework documentation and rename project to FolderWeb 2025-11-01 17:23:11 +01:00

FolderWeb

A minimal, file-based PHP framework for publishing content that will work for decades. Just enough, nothing more. FolderWeb applies minimal PHP to enable modern conveniences while remaining maintainable for years or decades. No frameworks, no build tools, no JavaScript—just HTML, PHP 8.3+, and CSS. This is not a CMS with an admin panel, not a single-page application.

Getting Started

Requirements

  • PHP 8.3 or higher
  • A web server (Apache, Nginx, or PHP's built-in server)

Quick Start

  1. Clone or download this repository
  2. Point your web server's document root to /content

Development

Creating Content

  1. Create a directory for your content in the document root
  2. Add a content file (.md, .php or .html)
  3. Optionally add metadata.ini for title, date, and summary
  4. Optionally add cover.jpg|webp for list view thumbnails

Content is immediately accessible at the URL matching the directory path.

Example structure:

/content/
  about/
    page.md
  blog/
    2025-11-01-hello-world/
      article.md
      cover.jpg
      metadata.ini

Customization

All customization lives in custom/:

  • Styles: Place CSS in custom/styles/base.css
  • Templates: Override defaults by placing files in custom/templates/
  • Fonts: Add font files to custom/fonts/
  • Configuration: Copy app/config.ini to custom/config.ini and modify

Never modify files in /app/default/—always override them in custom/.

File-Based Routing

The folder hierarchy dictates URL structure:

  • /about/page.mdyoursite.com/about
  • /blog/2025-11-01-post/article.mdyoursite.com/blog/2025-11-01-post
  • Dates in folder names are automatically extracted and formatted
  • Directories with subdirectories automatically show list views

Metadata

Use metadata.ini files for structured data:

title = "My Page Title"
date = "2025-11-01"
summary = "A brief description of the page"