pushword / core
A php CMS built on top of Symfony to rapidly create, manage and maintain Modern Website(s).
Requires
- php: >=8.4
- ext-gd: *
- ext-sqlite3: *
- babdev/pagerfanta-bundle: ^4.0
- caseyamcl/toc: ^4.0
- cocur/slugify: ^4.6
- doctrine/doctrine-bundle: ^3.2
- doctrine/doctrine-fixtures-bundle: ^4
- doctrine/orm: ^3.5
- fortawesome/font-awesome: ^7
- imagine/imagine: ^1.3
- intervention/image: ^4.0
- league/commonmark: ^2.7
- league/flysystem-bundle: ^3.6
- pagerfanta/twig: ^4.1
- piedweb/curl: @dev || ^0.1
- piedweb/extractor: @dev || ^0.1.19
- piedweb/render-html-attributes: ^0
- pushword/skeleton: *
- sensiolabs/ansi-to-html: ^2.0
- spatie/image-optimizer: ^1.3
- symfony/asset: ^8.0
- symfony/cache: ^8.0
- symfony/console: ^7.3 || ^8.0
- symfony/dotenv: *
- symfony/expression-language: ^8.0
- symfony/finder: ^7.3 || ^8.0
- symfony/form: ^8.0
- symfony/framework-bundle: ^8.0
- symfony/lock: ^8.0
- symfony/mailer: ^8.0
- symfony/process: ^7.3 || ^8.0
- symfony/runtime: ^7.3 || ^8.0
- symfony/security-bundle: ^8.0
- symfony/security-csrf: ^8.0
- symfony/serializer: ^8.0
- symfony/stopwatch: ^8.0
- symfony/translation: ^8.0
- symfony/twig-bundle: ^8.0
- symfony/ux-twig-component: ^2.35 || ^3.0
- symfony/validator: ^8.0
- symfony/web-link: ^8.0
- symfony/webpack-encore-bundle: ^2.0
- symfony/workflow: ^8.0
- symfony/yaml: ^8.0
- thecodingmachine/safe: *
- twig/extra-bundle: ^3
- twig/intl-extra: ^3.2
- vich/uploader-bundle: ^2.9
- villfa/invert-color: ^0.5
Suggests
- dragonmantank/cron-expression: For cron: expression support in scheduled_commands (required by symfony/scheduler)
- intervention/image-driver-vips: For ~4x faster image processing with libvips (requires libvips-dev)
- knpuniversity/oauth2-client-bundle: For OAuth authentication (Google, Microsoft, GitHub, etc.)
- league/oauth2-github: For GitHub OAuth authentication
- league/oauth2-google: For Google OAuth authentication
- pushword/admin: Create, edit, delete Page, Media, User with an interface built on top of Easy Admin
- pushword/conversation: Extend your Pushword website with **comments**, a **contact** form or just an **user input**.
- pushword/flat: Transform Pushword in a FlatFile CMS.
- pushword/page-scanner: Find dead links, 404, 301 and more (command line or admin).
- pushword/page-update-notifier: Get mail notification when your pushword content (page) is edited.
- pushword/static-generator: Generate a static website serve by github pages, apaches with one command or via the admin.
- pushword/template-editor: Edit view file online in the admin.
- pushword/version: Versioning pages with Pushword CMS.
- symfony/messenger: For Messenger-based background task dispatching (alternative to nohup+PID process mode)
- symfony/scheduler: For automatic scheduled commands without system cron (requires symfony/messenger)
- thenetworg/oauth2-azure: For Microsoft/Azure OAuth authentication
This package is auto-updated.
Last update: 2026-06-10 20:20:02 UTC
README
A modular PHP CMS built on top of Symfony to rapidly create, manage and maintain modern, multi-site websites — Markdown + Twig content, media management and a rich bundle ecosystem.
Features
- Multi-site & multi-language from a single install — the
hostfield drives each site and locale. - Page, Media and User entities with a Markdown + Twig rendering pipeline.
- Pluggable EntityFilter pipeline, CommonMark extensions and a rich event system (
PushwordEvents). - SQLite by default — zero infrastructure, no migrations required.
- Extensible through the official bundles listed below.
Installation
composer require pushword/core
The fastest way to start a full project is the installer.
Documentation
Visit pushword.piedweb.com.
The Pushword ecosystem
Pushword is a modular CMS — one Symfony bundle for the core and one bundle per feature. Pick only what you need:
Core
- pushword/core — Symfony-based CMS core: Page, Media & User entities, Markdown + Twig rendering. (this package)
Editing & admin
- pushword/admin — EasyAdmin interface to manage pages, media and users.
- pushword/admin-block-editor — Gutenberg-like block editor (stores Markdown).
- pushword/advanced-main-image — Hero images & main-image format control.
- pushword/template-editor — Edit Twig templates online.
- pushword/snippet — Reusable content fragments & components.
Content & workflow
- pushword/flat — Flat-file (Markdown + Git) CMS mode.
- pushword/version — Page & snippet versioning.
- pushword/page-update-notifier — Email alerts on content changes.
- pushword/conversation — Comments, contact & newsletter forms.
Publishing & performance
- pushword/static-generator — Export a static website (GitHub Pages, Apache, FrankenPHP).
- pushword/search — SQLite full-text search (Loupe), zero infra.
- pushword/page-scanner — Find dead links, 404s, redirects & TODOs.
- pushword/api — Token-authenticated REST API.
Tooling
- pushword/installer — Project & package installer.
- pushword/js-helper — Front-end JavaScript helpers.
Full list and guides on pushword.piedweb.com/extensions.
Contributing
If you're interested in contributing to Pushword, please read our contributing docs before submitting a pull request.
Credits
License
The MIT License (MIT). Please see License File for more information.