piedweb/cms-bundle

CMS built on top of Symfony (Admin, Front, Page Management, Media Management, Static Generator,...).

Installs: 5 749

Dependents: 5

Suggesters: 0

Security: 0

Stars: 7

Watchers: 6

Forks: 4

Open Issues: 17

Type:symfony-bundle

0.1.0 2020-12-21 15:10 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.

Latest Version Software License GitHub Tests Action Status Quality Score Code Coverage Code Coverage Type Coverage Total Downloads

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

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.

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.

PHP Packages Open Source