stenope / stenope
Static site builder for Symfony
Installs: 11 920
Dependents: 1
Suggesters: 0
Security: 0
Stars: 104
Watchers: 5
Forks: 8
Open Issues: 14
Type:symfony-bundle
Requires
- php: >=8.1
- ext-dom: *
- erusev/parsedown: ^1.7.4
- symfony/asset: ^6.1|^7.0
- symfony/config: ^6.1|^7.0
- symfony/console: ^6.1|^7.0
- symfony/css-selector: ^6.1|^7.0
- symfony/dependency-injection: ^6.1|^7.0
- symfony/dom-crawler: ^6.1|^7.0
- symfony/event-dispatcher: ^6.1|^7.0
- symfony/filesystem: ^6.1|^7.0
- symfony/finder: ^6.1|^7.0
- symfony/http-foundation: ^6.1|^7.0
- symfony/http-kernel: ^6.1|^7.0
- symfony/mime: ^6.1|^7.0
- symfony/process: ^6.1|^7.0
- symfony/property-access: ^6.1|^7.0
- symfony/routing: ^6.1|^7.0
- symfony/serializer: ^6.1|^7.0
- symfony/stopwatch: ^6.1|^7.0
- symfony/string: ^6.1|^7.0
- symfony/yaml: ^6.1|^7.0
- twig/twig: ^2.12|^3.0
Requires (Dev)
- ekino/phpstan-banned-code: ^1.0
- fig/log-test: ^1.1
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.6
- phpunit/phpunit: ^9.6
- psr/log: ^1|^2
- symfony/browser-kit: ^6.1|^7.0
- symfony/expression-language: ^6.1|^7.0
- symfony/framework-bundle: ^6.1|^7.0
- symfony/monolog-bundle: ^3.7
- symfony/phpunit-bridge: ^6.1|^7.0
- symfony/twig-bridge: ^6.1|^7.0
- symfony/twig-bundle: ^6.1|^7.0
- dev-master / 0.x-dev
- v0.9.0
- v0.8.0
- v0.7.3
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.0
- v0.5.0
- v0.4.0
- v0.3.0
- v0.2.1
- v0.2.0
- v0.1.0
- dev-dependabot/npm_and_yarn/doc/app/follow-redirects-1.15.4
- dev-dependabot/npm_and_yarn/doc/app/babel/traverse-7.23.2
- dev-content-lists
- dev-check-is-git-dir
- dev-rm-expr-conflicts
- dev-fix-crawler-html-utf8
- dev-poc_lazy_stenope
This package is auto-updated.
Last update: 2024-04-22 09:10:01 UTC
README
The static website generation tool for Symfony.
Why another static site generator?
We're Symfony developers that couldn't find a static website generator that bended to our needs.
We needed a way of generating static websites that:
- Doesn't impose a format, a structure or a location for the data.
- Runs in a Symfony environment.
- Allow us to develop virtually any feature we might need.
Stenope does that.
Installation
In your existing Symfony app:
composer require stenope/stenope
If you plan to create a new app from scratch, you can give a try to the Stenope Skeleton.
Usage
bin/console -e prod cache:clear bin/console -e prod stenope:build ./static
Your Symfony app is now a static website in: ./static
! ✨
Next: learn more about Stenope's content management system.
Philosophy and goals
Stenope was designed with these goals in mind:
- Stenope meets your needs, not the other way around.
- Stenope runs in any Symfony project out of the box, connects with standard Symfony components and feels natural to Symfony developers.
- Stenope is highly extensible: features can be replaced, added or removed.
How it works
- 🔍 Stenope scans your Symfony app (like a search engine crawler would) and dumps every page into a static HTML file.
- 🛠 Stenope provides tools for loading and parsing various data sources (like local Markdown files or distant headless CMS).
- 🖌 Stenope enriches the parsed data by applying a series of processors (like Syntax Highlighting, slug generation, etc.).
- 🧲 Stenope finally hydrates your custom PHP objects with the enriched data and provides interfaces for listing and retrieving them (like an ORM would).
- ⚙️ Stenope gives you a lot of control over the whole process by providing entrypoints, interfaces and default implementations that are entirely replaceable.
What Stenope is not
Stenope is not a ready-to-use bloging system: but you could quickly write your own blog system with it!
In-depth documentation
Features
- Loading and parsing content
- Supported formats
- Supported sources
- CLI usage
- Debug contents
- Syntax highlighting
- Linking contents
- Configuring the build
- Twig integration