A PHP-based static site generator that processes content files through an event-driven pipeline to produce deployment-ready static websites.
Copyright 2025, Cal Evans
License: MIT
Full documentation is available at https://calevans.com/staticforge.
Install StaticForge using Composer:
composer require eicc/staticforge
vendor/bin/staticforge-install-templates.phpThe second command installs the default templates without overwriting any existing templates.
If you want to contribute to StaticForge development:
git clone https://github.com/calevans/staticforge.git my-site
cd my-site
composer install
cp .env.example .envYour StaticForge installation comes ready to use! Here's how to get started:
-
Configure your environment: Open
.envto set infrastructure settings likeSITE_BASE_URL(where your site lives) andUPLOAD_URL. -
Configure site identity: Create
siteconfig.yamlto define your site name, tagline, and menus.site: name: "My Awesome Site" tagline: "Built with StaticForge"
-
Optional: Install additional templates:
composer require vendor/template-name
-
Optional: Create
siteconfig.yaml: For static menus and site-wide settings. -
Generate your site:
php bin/staticforge.php site:render
-
View your site: Open
public/index.htmlin your browser. -
Add more content: Create
.mdor.htmlfiles in thecontent/directory and regenerate.
# Run tests
phpunit
# Check code style
phpcs src/
# Fix code style
phpcbf
# Run CLI commands
php bin/staticforge.php list- PHP 8.4+
- Twig templating engine
- Composer for dependency management
See LICENSE file for details.