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.
- 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
- Build on top on Symfony and other fantastic well maintained packages
- Build as a symfony bundle, extendable with symfony bundle
- Tested / Traits / Command
- Create new theme extending other
- Stack : Twig / Webpack
- 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 !
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.
...todo describe configuration
Run composer update
.
If you install before v1 check Update.md.
Run phpunit
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
... todo ...
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.
List of existing extension wich are not in the core :
- 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
- Move facultative extensin in an other bundle (PageUpdateNotification)
- [ ]
- Revoir install-cms (bin/console assets:install --symlink --relative)git
-
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)
- 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 ?!)
The MIT License (MIT). Please see License File for more information.