Download the PHP package amund/kiss-php without Composer
On this page you can find all versions of the php package amund/kiss-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download amund/kiss-php
More information about amund/kiss-php
Files in amund/kiss-php
Package kiss-php
Short Description Kiss (Keep It Simply Static) is a php static site generator.
License MIT
Homepage https://github.com/amund/kiss-php
Informations about the package kiss-php
💋 Kiss - Keep It Simply Static
A PHP static site generator. Uses Twig for templating, supports YAML/JSON/PHP/XML/INI data sources, dynamic page parameters, static file sync, and a watch mode with partial rebuilds.
Prerequisites
- PHP 8.2+ (CLI)
inotifywait(Linux/WSL) oufswatch(macOS) pour le mode watch
Getting started
CLI
| Command | Description |
|---|---|
kiss init [dir] |
Creates a new site in the folder (or the current folder) |
kiss build |
Build the entire website |
kiss watch |
Build and then monitor the files (using inotifywait or fswatch) |
kiss reset [all\|dist\|cache] |
Remove web/ and/or tmp/ |
kiss route [list\|name] |
List the routes or rebuild a specific route |
kiss copy [path] |
Sync a file from copy/ to web/ |
kiss test |
Validate the configuration (warmup without build) |
Default project structure
Configuration
File kiss.yml (also supports .yaml, .php, .json, .xml, .ini).
Environment variables (take precedence):
KISS_DEBUG=trueKISS_VERBOSE=true
Data sources
Files in data/ are loaded automatically and available in Twig via {{ global.* }}.
Example — data/site.yml:
In a Twig template:
Markdown files
Markdown files (.md) in data/ support frontmatter delimited by ---:
The frontmatter fields are available directly, and the body is available as content. Combine with the |markdown filter in your templates:
Routes
Single page
route/index.yml:
Pages with settings (items)
route/blog.yml:
Each item generates a page. data contains the metadata, which is merged into each child page.
External reference ($ref)
Archive page + list
Access in the archive template :
URL Generation (path())
Accessing data from another route (route())
Pagination
route/blog.yml:
Generates blog/index.html (page 1) and blog/page/{n}/index.html (subsequent pages).
Validation
{param}orpaginate→itemsis requireddatais reserved for metadata- The
$refshould be set toitems, notdata
How it works
- Route manifest:
tmp/kiss/route-manifest.phptracks which files each route generated; orphaned files are cleaned on rebuild. - Template deps:
tmp/kiss/template-deps.phptraces dependencies between templates (extends/include/embed) for partial rebuilds. - DataTree: caches remote and local data sources as serialized PHP files.
- Watch:
inotifywaitdetects changes and recompiles only the impacted routes.
License
MIT
All versions of kiss-php with dependencies
symfony/yaml Version ^7
symfony/filesystem Version ^7
symfony/var-dumper Version ^7
league/commonmark Version ^2.8