eicc/staticforge

Static site generator built in PHP with extensible feature system

Installs: 105

Dependents: 9

Suggesters: 0

Security: 0

Stars: 2

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/eicc/staticforge


README

Ask DeepWiki

StaticForge

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

Documentation

Full documentation is available at https://calevans.com/staticforge.

Installation

Install StaticForge using Composer:

composer require eicc/staticforge
vendor/bin/staticforge-install-templates.php

The second command installs the default templates without overwriting any existing templates.

Development Installation

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 .env

Quick Start

Your StaticForge installation comes ready to use! Here's how to get started:

  1. Configure your environment: Open .env to set infrastructure settings like SITE_BASE_URL (where your site lives) and UPLOAD_URL.

  2. Configure site identity: Create siteconfig.yaml to define your site name, tagline, and menus.

    site:
      name: "My Awesome Site"
      tagline: "Built with StaticForge"
  3. Optional: Install additional templates:

    composer require vendor/template-name
  4. Optional: Create siteconfig.yaml: For static menus and site-wide settings.

  5. Generate your site:

    php bin/staticforge.php site:render
  6. View your site: Open public/index.html in your browser.

  7. Add more content: Create .md or .html files in the content/ directory and regenerate.

Development

Development Commands

# Run tests
phpunit

# Check code style
phpcs src/

# Fix code style
phpcbf

# Run CLI commands
php bin/staticforge.php list

Requirements

  • PHP 8.4+
  • Twig templating engine
  • Composer for dependency management

License

See LICENSE file for details.