piedweb / cms-bundle
CMS built on top of Symfony (Admin, Front, Page Management, Media Management, Static Generator,...).
Installs: 5 751
Dependents: 5
Suggesters: 0
Security: 0
Stars: 7
Watchers: 6
Forks: 4
Open Issues: 21
Type:symfony-bundle
Requires
- php: ^7.4
- caseyamcl/toc: ^3.0
- cocur/slugify: ^3.0|^4.0
- doctrine/annotations: ^1.11
- doctrine/doctrine-bundle: ^2.2.2
- doctrine/doctrine-fixtures-bundle: ^3.4
- doctrine/doctrine-migrations-bundle: ^3.0
- doctrine/orm: ^2.8.1
- dpolac/twig-lambda: ^1.0
- knplabs/knp-markdown-bundle: ^1.8
- league/color-extractor: ^0.3.2
- liip/imagine-bundle: ^2.3
- piedweb/linksimprover: ^0.0.7
- piedweb/render-html-attributes: ^1.0
- piedweb/url-harvester: ^0.0.24
- rosell-dk/webp-convert: ^2.4
- sensio/framework-extra-bundle: ^5.6
- sonata-project/admin-bundle: ^3.83
- sonata-project/doctrine-orm-admin-bundle: ^3.26
- spatie/async: ^1.5
- symfony/asset: ^5.2
- symfony/cache: ^5.2
- symfony/console: ^4.4.17
- symfony/dotenv: ^5.2
- symfony/expression-language: ^5.2
- symfony/finder: ^5.2
- symfony/form: ^4.4.17
- symfony/framework-bundle: ^4.4.17
- symfony/lock: ^5.2
- symfony/mailer: ^5.2
- symfony/process: ^5.2
- symfony/security-bundle: ^4.4.17
- symfony/security-csrf: ^5.2
- symfony/security-guard: ^4.4.17
- symfony/translation: ^4.4.17
- symfony/twig-bundle: ^4.4.17
- symfony/validator: ^5.2
- symfony/web-link: ^5.2
- symfony/webpack-encore-bundle: ^1.8
- symfony/yaml: ^5.2
- twig/intl-extra: ^3.1
- umpirsky/twig-php-function: ^0.2
- vich/uploader-bundle: ^1.16
- villfa/invert-color: ^0.5
- wyrihaximus/html-compress: ^4.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.17
- friendsoftwig/twigcs: ^4.0
- phpunit/phpunit: ^9
- squizlabs/php_codesniffer: ^3.5
- symfony/phpunit-bridge: ^5.0
- vimeo/psalm: ^4.3
- dev-main
- 0.1.0
- 0.0.87
- 0.0.86
- 0.0.85
- 0.0.84
- 0.0.83
- 0.0.82
- 0.0.81
- 0.0.80
- 0.0.79
- 0.0.78
- 0.0.77
- 0.0.76
- 0.0.75
- 0.0.74
- 0.0.73
- 0.0.72
- 0.0.71
- 0.0.70
- 0.0.69
- 0.0.68
- 0.0.67
- 0.0.66
- 0.0.65
- 0.0.64
- 0.0.63
- 0.0.62
- 0.0.60
- 0.0.59
- 0.0.58
- 0.0.57
- 0.0.56
- 0.0.55
- 0.0.54
- 0.0.53
- 0.0.52
- 0.0.51
- 0.0.50
- 0.0.49
- 0.0.48
- 0.0.47
- 0.0.46
- 0.0.45
- 0.0.44
- 0.0.43
- 0.0.42
- 0.0.41
- 0.0.40
- 0.0.39
- 0.0.38
- 0.0.37
- 0.0.36
- 0.0.35
- 0.0.34
- 0.0.33
- 0.0.32
- 0.0.31
- 0.0.30
- 0.0.29
- 0.0.28
- 0.0.27
- 0.0.26
- 0.0.25
- 0.0.24
- 0.0.23
- 0.0.22
- 0.0.21
- 0.0.20
- 0.0.19
- 0.0.18
- 0.0.17
- 0.0.16
- 0.0.15
- 0.0.14
- 0.0.13
- 0.0.12
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-dependabot/npm_and_yarn/minimist-1.2.6
- dev-dependabot/npm_and_yarn/url-parse-1.5.10
- dev-dependabot/npm_and_yarn/follow-redirects-1.14.8
- dev-dependabot/npm_and_yarn/node-sass-7.0.0
- dev-dependabot/npm_and_yarn/nanoid-3.2.0
- dev-dependabot/npm_and_yarn/tar-6.1.11
- dev-dependabot/npm_and_yarn/path-parse-1.0.7
- dev-dependabot/npm_and_yarn/ws-6.2.2
- dev-dependabot/npm_and_yarn/dns-packet-1.3.4
- dev-dependabot/npm_and_yarn/browserslist-4.16.6
- dev-dependabot/npm_and_yarn/lodash-4.17.21
- dev-dependabot/npm_and_yarn/hosted-git-info-2.8.9
- dev-dependabot/composer/friendsofphp/php-cs-fixer-tw-3.0
- dev-dependabot/npm_and_yarn/ssri-6.0.2
- dev-dependabot/add-v2-config-file
- dev-dependabot/npm_and_yarn/elliptic-6.5.4
- dev-dependabot/composer/friendsoftwig/twigcs-tw-5.0
- dev-dependabot/composer/sensio/framework-extra-bundle-tw-6.0
- dev-dependabot/composer/piedweb/url-harvester-tw-0.0.27
- dev-dependabot/composer/piedweb/linksimprover-tw-0.0.8
- dev-dependabot/composer/piedweb/render-html-attributes-tw-2.0
This package is auto-updated.
Last update: 2022-03-28 22:18:09 UTC
README
CMS Content First and Extendable
To maintain peace and love between Editor (feel like in Wp), Developer (composer friendly), Designer (do you like twig ?!) and SEO (SEO at hearth).
And if your team is only you, this CMS will be perfect to marry with you as Webmaster.
Main Features
Editor : feel "like" in Wordpress
- Multi-site, Multi-language (i18n), Multi-domain or just one simple website
- Old School, simple, functionnable default Admin
- Write as you prefer in a rich Text editor, in Markdown or directly in html (with Twig possibilities !!)
- Easily extendable (extensions repository) or ask a developper what you wish
Developer : feel at home if you ever used Symfony
- Build on top on Symfony and other fantastic well maintained packages
- Build as a symfony bundle, extendable with symfony bundle
- Tested / Traits / Command
Designer
- Create new theme extending other
- Stack : Twig / Webpack
SEO : feel like wikipedia
- Title / H1 / Description / Url Rewriting
- i18n (
link alternate hreflang
) easy way - Links Watcher (dead links, redirection, etc.)
- Links Improver (links suggestion on writing, or automatic adding)
- Blazing Fast (static website generator with dynamic possibilities)
... and more to discover, just install it in a few seconds !
Installation
Supposing composer is installed globally
curl https://raw.githubusercontent.com/PiedWeb/CMS/master/install-cms >> install-cms && chmod +x install-cms && ./install-cms ./my-folder
# Valid 'a' to install all recipes !
Else, look at install-cms
where each step is describe.
Options
...todo describe configuration
Update
Run composer update
.
If you install before v1 check Update.md.
Test
Run phpunit
Documentation
Editor
If you use the default admin, everything is documented directly inside the admin for daily editing.
- Advanced configuration, look at options.
- Extend your app with existing extension ?
- Customize your design with theme
Designer : Extend or Create a Theme
... todo ...
Developer : Extend
Developper : Understand the logic
The core correspond to basic functionnalities for page, media and user.
Else are extension (wich can be disabled or move to another bundle).
The code for the core follow the symfony's default directory structure for the core. For extension, liberty is taken to simplify the directory structure.
Extension
List of existing extension wich are not in the core :
ROADMAP Just TODO and IDEA
Documentation
- extend your cms (short: it's like writing a symfony app, open vs code, navigate in the code)
- create a extension (short: create a symfony bundle)
- create a template (short: create a new extension, prepenting twig with pat..to..view..folder: @TemplateName)
- Do something with the cookbook
TODO before v1
- Move facultative extensin in an other bundle (PageUpdateNotification)
- [ ]
- Revoir install-cms (bin/console assets:install --symlink --relative)git
TODO Extension
-
Wordpress To PiedWeb/CMS (and vice versa)
-
Intégrer LinksImprover (+ UX), après précédent
-
name suggester : parse content, find words or multiple words used only in this doc, suggest it as potential name
-
export/import FLAT FILES (spatie/yaml-front-matter, vérif à chaque requête pour une sync constante admin <-> flat files)
-
Create a page from a Media (media edit) => button to create a new page with title = name and mainImage = Media (useful for photographer website)... or create a dynamic page /media/[slug]/ showing data from Media
-
Intégrer Schema.org dans le backend d'une page
-
Settings Manager (simple textarea permitting to edit piedweb_cms config and parameters ? and rebooting cache)
To plan
- Author for page (will permit to manage page view right later)
- Archive edit (page) (extension or core ?)
- Multi-user editor Multi-site but not everybody can edit everything (see draft.md) (extension or core ?)
- Look for a better writer experience (https://github.com/front/g-editor or https://editorjs.io) (1/2)
- Gérer un système d'extension viable pour l'admin : à l'install, créer les fichiers Admin qui étendent l'admin de base L'ajout d'un plugin modifie automatiquement ce nouveau fichier en ajoutant le code nécessaire (ajout d'une trait + édition d'une fonction) Retro-compatibilité : créer le fichier admin + le services (autowire) si il n'existe pas
- Scan : scanner une page en direct + scanner plus de choses (liens externes, texte alternative manquant, etc.)
- Multi upload
- Test the code, search for all "todo" in the code,
- Installation without composer (download composer if not installed)
- Pagination children/list (molto idea : PageController capture les pages /slug/[0-0]*/ et renvoie si existe)
- Page with dynamic slug ?!
- Add https://github.com/nan-guo/Sonata-Menu-Bundle
- Move route to annotation (less extendable but more pratical with priority)
- Move media to var (and create a link ?!)
Credits
License
The MIT License (MIT). Please see License File for more information.