pageon / stitcher-core
Static website generator in PHP
Installs: 307
Dependents: 2
Suggesters: 0
Security: 0
Stars: 149
Watchers: 10
Forks: 7
Open Issues: 10
Requires
- php: ^8.0
- erusev/parsedown: ^1.6
- illuminate/support: ^8.0
- intervention/image: ^2.4
- leafo/scssphp: ^0.7.1
- league/commonmark: ^2.0
- matthiasmullie/minify: ^1.3
- nikic/fast-route: ^1.2
- phpoption/phpoption: ^1.7
- spatie/image-optimizer: ^1.1
- symfony/config: ^4.0
- symfony/dependency-injection: ^4.0
- symfony/filesystem: ^4.0
- symfony/finder: ^4.0
- symfony/routing: ^4.0
- symfony/yaml: ^4.0
- twig/twig: ^2.8
- vlucas/phpdotenv: ^5.3
Requires (Dev)
- guzzlehttp/guzzle: ^6.3
- larapack/dd: ^1.0
- phpunit/phpunit: ^9.0
- symfony/process: ^4.0
This package is auto-updated.
Last update: 2024-12-10 00:34:03 UTC
README
High performance, static websites for PHP developers.
composer create-project pageon/stitcher
Why Stitcher?
Stitcher differs from many other static site generator in two areas. First of all: performance is key. Stitcher is built from its core for high performance websites. All tools available to you put performance on the first place. Secondly, it doesn't try to add extra syntax to existing formats. Stitcher provides a robust set of tools for developers to build with, and not a lot of hacks so everything fits in one file.
Also important to note, included with Stitcher:
- Automatic image optimization, as easy as
image.srcset
- HTTP/2 server push support
- Markdown, YAML and JSON
- Twig and Smarty support
- Data set overviews and details; pagination, sorting and filtering
- Built-in SASS support
- JavaScript and CSS minification
- Built-in SEO and meta tag optimizations
A quick look at Stitcher:
# site.yml /blog: template: blog variables: posts: data/blog.yml /blog/{id}: template: blog.post variables: post: data/blog.yml adapters: collection: variable: post field: id
# data/blog.yml hello_world: date: 2017-03-10 highlight: false title: Hello world content: blog/hello.md image: hello_world.jpg foo_bar: date: 2017-03-14 highlight: true title: Foo Bar content: blog/far_bar.md image: foo_bar.jpg
<!-- blog.post.html --> {% extends 'index.html' %} {% block content %} <article> <h1>{{ blog.title }}</h1> <img src="{{ blog.image.src }}" srcset="{{ blog.image.srcset }}" sizes="{{ blog.image.sizes }}" alt="{{ blog.image.alt }}"/> {{ blog.content }} </article> {% endblock %}
You can read more about it on the Stitcher website.