From 93751bae652038536782594e1fb814454f8e70eb Mon Sep 17 00:00:00 2001 From: Robin Date: Sat, 16 Jan 2021 18:59:59 +0100 Subject: [PATCH] manage media in flat --- composer.json | 2 + docs/architecture.html | 1 + docs/configuration.html | 2 + docs/contribute.html | 6 ++ docs/cookbook.html | 9 ++ docs/create-extension.html | 1 + docs/extension.html | 1 + docs/extension/admin.html | 6 ++ docs/extension/facebook.html | 7 ++ docs/extension/flat.html | 4 + docs/extension/page-scanner.html | 7 ++ docs/extension/page-update-notifier.html | 5 + docs/extension/static-generator.html | 17 ++++ docs/extension/svg.html | 3 + docs/extension/template-editor.html | 6 ++ docs/extensions.html | 1 + docs/feed.xml | 2 +- docs/index.html | 2 +- docs/installation.html | 3 + docs/license.html | 1 + docs/roadmap.html | 1 + docs/search.json | 3 + docs/sitemap.txt | 2 +- docs/sitemap.xml | 8 +- docs/test-content.html | 1 + docs/themes.html | 1 + docs/upgrade.html | 5 + .../src/DependencyInjection/Configuration.php | 4 +- .../{PageHostField.php => HostField.php} | 8 +- packages/admin/src/MediaAdmin.php | 5 +- packages/core/src/Entity/MediaInterface.php | 20 +++- packages/core/src/Entity/MediaTrait.php | 2 +- packages/core/src/Entity/PageHasMedia.php | 8 +- .../core/src/Entity/PageHasMediaInterface.php | 4 +- packages/core/src/Entity/PageInterface.php | 12 ++- .../src/Entity/PageTrait/PageImageTrait.php | 9 +- .../SharedTrait/CustomPropertiesInterface.php | 22 +++++ .../SharedTrait/CustomPropertiesTrait.php | 2 +- .../core/src/EventListener/MediaListener.php | 14 --- .../core/src/Service/MediaCacheGenerator.php | 24 ++++- packages/docs/content/roadmap.md | 1 - packages/flat/composer.json | 4 +- .../flat/src/FlatFileContentDirFinder.php | 8 +- packages/flat/src/FlatFileImporter.php | 35 +++---- .../flat/src/Importer/AbstractImporter.php | 7 ++ .../flat/src/Importer/ImageImporterTrait.php | 89 ++++++++++++++++++ packages/flat/src/Importer/MediaImporter.php | 53 +++++++++-- packages/flat/src/Importer/PageImporter.php | 71 ++++++++++---- packages/flat/src/config/services.yaml | 7 +- .../DependencyInjection/ConfigurationTest.php | 2 +- packages/flat/tests/FlatFileImporterTest.php | 40 ++++++-- .../content/media/default/logo-test.json | 3 + .../tests/content/media/default/logo-test.png | Bin 0 -> 33963 bytes packages/flat/tests/content/test-content.md | 8 ++ .../skeleton/config/packages/pushword.yaml | 2 +- packages/skeleton/media/1.jpg | Bin 59884 -> 135384 bytes packages/skeleton/media/2.jpg | Bin 8001 -> 26780 bytes packages/skeleton/var/page-scan | 2 +- 58 files changed, 472 insertions(+), 101 deletions(-) create mode 100644 docs/architecture.html create mode 100644 docs/configuration.html create mode 100644 docs/contribute.html create mode 100644 docs/cookbook.html create mode 100644 docs/create-extension.html create mode 100644 docs/extension.html create mode 100644 docs/extension/admin.html create mode 100644 docs/extension/facebook.html create mode 100644 docs/extension/flat.html create mode 100644 docs/extension/page-scanner.html create mode 100644 docs/extension/page-update-notifier.html create mode 100644 docs/extension/static-generator.html create mode 100644 docs/extension/svg.html create mode 100644 docs/extension/template-editor.html create mode 100644 docs/extensions.html create mode 100644 docs/installation.html create mode 100644 docs/license.html create mode 100644 docs/roadmap.html create mode 100644 docs/search.json create mode 100644 docs/test-content.html create mode 100644 docs/themes.html create mode 100644 docs/upgrade.html rename packages/admin/src/FormField/{PageHostField.php => HostField.php} (75%) create mode 100644 packages/core/src/Entity/SharedTrait/CustomPropertiesInterface.php create mode 100644 packages/flat/src/Importer/ImageImporterTrait.php create mode 100644 packages/flat/tests/content/media/default/logo-test.json create mode 100644 packages/flat/tests/content/media/default/logo-test.png create mode 100644 packages/flat/tests/content/test-content.md diff --git a/composer.json b/composer.json index d7493c6f9..f3a9c23d1 100644 --- a/composer.json +++ b/composer.json @@ -23,10 +23,12 @@ "doctrine/doctrine-migrations-bundle": "^3.0", "doctrine/orm": "^2.8.1", "fortawesome/font-awesome": "^5.15", + "ibudasov/php7-iptc-manager": "^1.0", "knplabs/knp-markdown-bundle": "^1.8", "league/color-extractor": "^0.3.2", "league/commonmark": "^1.5", "liip/imagine-bundle": "^2.3", + "miljar/php-exif": "^0.6.5", "nette/utils": "^3.2", "piedweb/facebook-scraper": "^0.0.71", "piedweb/linksimprover": "^0.0.7", diff --git a/docs/architecture.html b/docs/architecture.html new file mode 100644 index 000000000..401a1fafd --- /dev/null +++ b/docs/architecture.html @@ -0,0 +1 @@ + Puswhord Code Architecture

The Code Architecture

Are you searching for :

  • organizing your own app code
  • organizing the code for a pushword extension

Else, you are at the good place.

The code for all officially maintained extension and the core is kept in an unique repository adopting the mono-repository.

The core contain the minimum features, then everything is done via extension.

Each extension are facultative.

Keeping all this extensions in one repository permit to test them easily and to code much quicker.

The skeleton isn't a real skeleton (copy and install). It's used for testing, demos and a few class from skeleton are extracted by the default installer.

On top of Symfony

Each package (except skeleton) is build as a symfony bundle.

The core package required a symfony app instaled to be functionnel.

When you know that, you just have to learn how to make a bundle for symfony and you will know how to make an extension for pushword.

There is some simple example like flat or more complex like conversation (and more respecting the symfony best practices).

Learn more about create an extension for Puswhord

\ No newline at end of file diff --git a/docs/configuration.html b/docs/configuration.html new file mode 100644 index 000000000..70d4dffb7 --- /dev/null +++ b/docs/configuration.html @@ -0,0 +1,2 @@ + Configure a fresh install of Pushword

Configuration

Have a look inside config/packages/pushword.yaml.

Try this command to get the up to date configuration's options :

php bin/console config:dump-reference PushwordCoreBundle
+
\ No newline at end of file diff --git a/docs/contribute.html b/docs/contribute.html new file mode 100644 index 000000000..6191b0aa9 --- /dev/null +++ b/docs/contribute.html @@ -0,0 +1,6 @@ + Contribute to Pushword : Documention, Core or Extension

Contribution and signaling issues

Signaling an issue

Use the github issue tracker.

This project is open source, and as such, the maintainers give their free time to build and maintain the source code held within. They make the code freely available in the hope that it will be of use to other developers. It would be extremely unfair for them to suffer abuse or anger for their hard work.

Contribute

Contributions are welcome.

Please, send your contribution via a github pull request on Puswhord/Puswhord.

The code is mainly organised in a mono-repo, learn more about the code architecture

Contribute to the documentation

The docs is inside the main repo, you will find write in markdown in packages/docs/content.

On each PR, the docs is compiled and published [pushword.piedweb.com] by a github action.

Pull Requests

New Features

When requesting or submitting new features, first consider to create a dedicated extension.

If your extension reply to an important community need, you can create a pull request to merge it in this Mono Repo. It will permit to maintain easily it compatibility in next Puswhord update. Moreover, extension will be tested at each commit on one of Pushword's package.

Else, consider create it own git repo and create a Pull Request on the doc to add a link to this fresh extension. The link will be accepted if your extension is well tested and fully functionnal.

Coding standards

This project respect PSR-2 Coding standard. Before your pull-request, run php-cs-fixer.

composer format
+

Tests

composer test
+
+# and to test with --prefer-lowest
+composer tests
+

Other Requirements

This attention, not always respected by the main maintener, would be cool :

  • Add tests

  • Document any change in behaviour - Make sure the documentation are kept up-to-date.

  • Consider our release cycle - We try to follow SemVer v2.0.0. Randomly breaking public APIs is not an option.

  • One pull request per feature - If you want to do more than one thing, send multiple pull requests.

  • Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.

Happy coding!

\ No newline at end of file diff --git a/docs/cookbook.html b/docs/cookbook.html new file mode 100644 index 000000000..b952d0b5e --- /dev/null +++ b/docs/cookbook.html @@ -0,0 +1,9 @@ + Puswhord Cookbook

Cookbook

Installation and Personalization

Editing an entity

When you install a new project, entities are installed full featured. +To remove default feature or add new one, you just need to edit Entity/Page.php, Entity/Media.php or Entity/User.php in your src folder. +Look at Pushword\Core\Entity\Page.php & co for full traits list.

You can easily extends and override Admin as well.

Edit the navbar

See override current theme.

{% set logo = page.locale == 'en' ? {'alt' : 'Alps Guide', 'href':'/en'} : {'alt':'Accompagnateur Vercors Pied Vert'} %}
+
{{ "
+{{ homepage() }}
+{{ page('my-slug') }}
+{{ page(pageObjecct) }}" }}
+

Optimize CSS

Activate purge css commented code in webpack.config.js

Maintaining

Update all cached image

Command line

php bin/console pushword:media:cache
+

Editor Tips

See help in the admin (/admin/markdown-cheatsheet).

\ No newline at end of file diff --git a/docs/create-extension.html b/docs/create-extension.html new file mode 100644 index 000000000..49701b0b2 --- /dev/null +++ b/docs/create-extension.html @@ -0,0 +1 @@ + Create a Pushword Extension the easy way

Create an extension

Each extension is build as a symfony bundle.

When you know that, you just have to learn how to make a bundle for symfony and you will know how to make an extension for Pushword.

There is some simple example like flat or more complex like conversation (and more respecting the symfony best practices).

\ No newline at end of file diff --git a/docs/extension.html b/docs/extension.html new file mode 100644 index 000000000..ab6c0db43 --- /dev/null +++ b/docs/extension.html @@ -0,0 +1 @@ + Redirect to extensions

Redirect to extensions

Location: /extensions

\ No newline at end of file diff --git a/docs/extension/admin.html b/docs/extension/admin.html new file mode 100644 index 000000000..291f381f6 --- /dev/null +++ b/docs/extension/admin.html @@ -0,0 +1,6 @@ + Standard Admin for Pushword : Admin User Interface

Admin

Create, edit, delete Page, Media, User with an interface built on top of Sonata Admin.

Contents

Install

composer require pushword/admin
+

Add Routes

admin:
+  resource: '@PushwordAdminBundle/AdminRoutes.yaml'
+# or do it in 1 command line
+# $ sed -i '1s/^/admin:\n    resource: "@PushwordAdminBundle\/AdminRoutes.yaml"\n/' config/routes.yaml
+
\ No newline at end of file diff --git a/docs/extension/facebook.html b/docs/extension/facebook.html new file mode 100644 index 000000000..47940c64b --- /dev/null +++ b/docs/extension/facebook.html @@ -0,0 +1,7 @@ + Write from Facebook on Pushword CMS

Facebook

Write from Facebook on your page managed by Pushword.

Install

composer require pushword/facebook
+

Usage

For now, this extension just permit to show last post from a page.

{{ facebook_last_post('Google') }}
+# will return the last post from Google's Facebook Page render via /component/FacebookLastPost.html.twig
+
+{% set fb_last_post_meta_data = facebook_last_post('Google', '') %}
+# will return an array
+

Override default theme

Create a /component/FacebookLastPost.html.twig in your app template directory.

\ No newline at end of file diff --git a/docs/extension/flat.html b/docs/extension/flat.html new file mode 100644 index 000000000..9ea54a445 --- /dev/null +++ b/docs/extension/flat.html @@ -0,0 +1,4 @@ + Puswhord Flat File CMS - Markdown and Twig Ready

Flat

Transform Pushword in a FlatFile CMS.

Install

composer require pushword/flat-file
+

Configure

Add in your current config/package/pushword.yaml for an App or globally under pushword_static_generator:

    flat_content_dir: content #default value
+

Usage

Command Line

php bin/console pushword:flat:import $host
+

Where $host is facultative.


\ No newline at end of file diff --git a/docs/extension/page-scanner.html b/docs/extension/page-scanner.html new file mode 100644 index 000000000..46c21dc32 --- /dev/null +++ b/docs/extension/page-scanner.html @@ -0,0 +1,7 @@ + Pushword Page Scanner : Find dead links, 404, 301 and more.

Page Scanner

Find dead links, 404, 301 and more (command line or admin).

Contents

Install

composer require pushword/page-scanner
+

Add Routes

page_scanner:
+  resource: '@PushwordPageScannerBundle/PageScannerRoutes.yaml'
+# or do it in 1 command line
+# $ sed -i '1s/^/page_scanner:\n    resource: "@PushwordPageScannerBundle\/PageScannerRoutes.yaml"\n/' config/routes.yaml
+

Command

php bin/console pushword:page:scan $host
+
\ No newline at end of file diff --git a/docs/extension/page-update-notifier.html b/docs/extension/page-update-notifier.html new file mode 100644 index 000000000..a917551bd --- /dev/null +++ b/docs/extension/page-update-notifier.html @@ -0,0 +1,5 @@ + Be notify when a page is edited on your Pushword CMS

Page Update Notifier

Get mail notification when your pushword content (page) is edited.

Install

composer require pushword/page-update-notifier
+

Configure

Add in your current config/package/pushword.yaml for an App or globally under pushword_page_update_notifier:

    notifier_email: fromMe@example.tld
+    page_update_notification_mail: NotificationForMe@example.tld
+    interval: 'P1D' #See PHP DateInterval format https://www.php.net/manual/fr/class.dateinterval.php
+

Usage

Nothing to do, just get notify. On postPersist/postUpdate, the extension check if you didn't get notify till too long (interval), then, send the last edit since interval.

\ No newline at end of file diff --git a/docs/extension/static-generator.html b/docs/extension/static-generator.html new file mode 100644 index 000000000..b1014831c --- /dev/null +++ b/docs/extension/static-generator.html @@ -0,0 +1,17 @@ + Static Website Generator with Pushword CMS

Static Generator

Generate a static website serve by github pages, apaches with one command or via the admin.

Install

composer require pushword/template-editor
+

Add Routes

static:
+  resource: '@PushwordStaticGeneratorBundle/StaticRoutes.yaml'
+# or do it in 1 command line
+# $ sed -i '1s/^/static:\n    resource: "@PushwordStaticGeneratorBundle\/StaticRoutes.yaml"\n/' config/routes.yaml
+

Configure

Add in your current config/package/pushword.yaml for an App or globally under pushword_static_generator:

    static_generators: apache|github|[..., classNameGenerator, ...]
+    static_symlink: true
+    static_dir: '' #default /%mainHost.tld%/
+

Command

# Generate all apps
+php bin/console pushword:static:generate
+
+# Generate 1 app
+php bin/console pushword:static:generate $host
+
+# (re)Generate only one page
+php bin/console pushword:static:generate $host $slug
+
\ No newline at end of file diff --git a/docs/extension/svg.html b/docs/extension/svg.html new file mode 100644 index 000000000..8b719c636 --- /dev/null +++ b/docs/extension/svg.html @@ -0,0 +1,3 @@ + Insert SVG/Icon in your content - Pushword CMS

SVG

Add SVG with ease in your main content or in a template file via a twig function.

Install

composer require pushword/svg
+

Usage

By default, this extension use FontAwesome 5.15. You just need to use twig svg function :

svg('surprise')
+

Will show

Configure

By default, this extension load FontAwesome 5.15's icons. You can choose to use your custom SVG icons by specifyng the svg_dir in your app config or under pushword_svg.

\ No newline at end of file diff --git a/docs/extension/template-editor.html b/docs/extension/template-editor.html new file mode 100644 index 000000000..2093476c2 --- /dev/null +++ b/docs/extension/template-editor.html @@ -0,0 +1,6 @@ + Template Editor with Pushword CMS

Template Editor

Edit view file online in the admin.

Contents

Install

composer require pushword/template-editor
+

Add Routes

template_editor:
+  resource: '@PushwordTemplateEditorBundle/TemplateEditorRoutes.yaml'
+# or do it in 1 command line
+# $ sed -i '1s/^/template_editor:\n    resource: "@PushwordTemplateEditorBundle\/TemplateEditorRoutes.yaml"\n/' config/routes.yaml
+
\ No newline at end of file diff --git a/docs/extensions.html b/docs/extensions.html new file mode 100644 index 000000000..7d2ddf511 --- /dev/null +++ b/docs/extensions.html @@ -0,0 +1 @@ + Extensions

Find your missing feature with a Pushword Extension

  • Admin Create, edit, delete Page, Media, User with an interface built on top of Sonata Admin.
  • Conversation Extend your Pushword website with comments, a contact form or just an user input.
  • Flat Transform Pushword in a FlatFile CMS.
  • Facebook Write from Facebook on your page managed by Pushword.
  • Page Scanner Find dead links, 404, 301 and more (command line or admin).
  • Page Update Notifier Get mail notification when your pushword content (page) is edited.
  • Static Generator Generate a static website serve by github pages, apaches with one command or via the admin.
  • Svg Add SVG with ease in your main content or in a template file via a twig function.
  • Template Editor Edit view file online in the admin.

Add your own extension editing this file on github.

\ No newline at end of file diff --git a/docs/feed.xml b/docs/feed.xml index 32079bb9c..72642db23 100644 --- a/docs/feed.xml +++ b/docs/feed.xml @@ -1 +1 @@ -Pushword - Modern CMS to build rapidly Websites (powered by Symfony) https://pushword.piedweb.com/ https://pushword.piedweb.com/architecture https://pushword.piedweb.com/architecture Sat, 16 Jan 2021 11:36:01 +0000 https://pushword.piedweb.com/configuration https://pushword.piedweb.com/configuration Sat, 16 Jan 2021 11:36:01 +0000 https://pushword.piedweb.com/contribute https://pushword.piedweb.com/contribute Sat, 16 Jan 2021 11:36:01 +0000 https://pushword.piedweb.com/cookbook https://pushword.piedweb.com/cookbook Sat, 16 Jan 2021 11:36:01 +0000 https://pushword.piedweb.com/create-extension https://pushword.piedweb.com/create-extension Sat, 16 Jan 2021 11:36:01 +0000 \ No newline at end of file +Pushword - Modern CMS to build rapidly Websites (powered by Symfony) https://pushword.piedweb.com/ https://pushword.piedweb.com/test-content https://pushword.piedweb.com/test-content Sat, 16 Jan 2021 18:30:29 +0100 https://pushword.piedweb.com/architecture https://pushword.piedweb.com/architecture Sat, 16 Jan 2021 13:45:38 +0100 https://pushword.piedweb.com/configuration https://pushword.piedweb.com/configuration Sat, 16 Jan 2021 13:45:38 +0100 https://pushword.piedweb.com/contribute https://pushword.piedweb.com/contribute Sat, 16 Jan 2021 13:45:38 +0100 https://pushword.piedweb.com/cookbook https://pushword.piedweb.com/cookbook Sat, 16 Jan 2021 13:45:38 +0100 \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 785ec0a04..5a190796d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ - Welcome : this is your first page

Welcome : this is your first page

You just succeed to install Pushword/Core.

You are on your future homepage.

Go to admin to edit this one.

Use the credentials you enter during the installation.

Have Fun,

Robin From Pied Web

Pushword
\ No newline at end of file + Pushword - Modern CMS to build rapidly Websites (powered by Symfony)

Build modern websites rapidly
maintain it as quickly

Puswhord is a php CMS build on top of Symfony to rapidly create, manage and maintain Modern Website(s).

Edition
Simple and efficient Admin

  • Simple, functionnable and efficient default Admin. If you come from Wordpress, you will not be lost. If you prefer a flat file cms, Pushword do that too !
  • Write as you prefer in a rich Text editor, in Markdown or directly in html (with Twig functionnalities avalaible !)
  • Multi-site, Multi-language (i18n), Multi-domain or just one simple website : both are possible on the same installation
  • Easily extendable (extensions list) or ask a developper what you wish

Theme it

  • Customize the default theme with ease, it's built with Tailwind CSS (you never use it ? It's amazing).
  • Create new theme extending other or just override default theme, see docs example (assets, components)
  • Stack : Twig / WhatYouWant (Webpack/Encore per default)

Extend
Feel at home if you ever used Symfony and composer

If not, be happy : there is autowiring, event suscriber and more !

  • Build on top on Symfony and other fantastic well maintained packages
  • Build as a symfony bundle, extendable with symfony bundle
  • Tested / Traits / Command

Be visible on Search Engine
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 or browse the code.

\ No newline at end of file diff --git a/docs/installation.html b/docs/installation.html new file mode 100644 index 000000000..f983cc471 --- /dev/null +++ b/docs/installation.html @@ -0,0 +1,3 @@ + Install Pushword in a few seconds (automatic installer)

Installation

Supposing composer is installed globally


curl https://raw.githubusercontent.com/Pushword/Pushword/main/packages/installer/src/installer >> installer && chmod +x installer && echo 'y' | ./installer ./my-folder + +

Else, look in the shell script installer where each step is describe.

...
\ No newline at end of file diff --git a/docs/license.html b/docs/license.html new file mode 100644 index 000000000..4276d8d94 --- /dev/null +++ b/docs/license.html @@ -0,0 +1 @@ + Pushword CMS License and contributors

License and contributors

Contributors

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

\ No newline at end of file diff --git a/docs/roadmap.html b/docs/roadmap.html new file mode 100644 index 000000000..39c96737c --- /dev/null +++ b/docs/roadmap.html @@ -0,0 +1 @@ + Where Pushword is going ? Roadmap, TODO and Ideas

ROADMAP Just TODO and IDEA

TODO before v1

  • [ ] Revoir la gestion des assets
  • [ ] release de sonata 4
  • [ ] Test installer
  • [ ] update docs
  • [ ] Issue : User Password Edit don't work from admin

TODO Extension

  • [ ] FacebookManager (post from facebook and ~~show last facebook status~~ )
  • [ ] Flat: Transform markdown link to page link (useful for navigate in docs from editor)
  • [ ] Flat: Throw error when the content is more up to date in database... add export (and maintain ID)
  • [ ] Wordpress To Pushword/Core (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 pushword config and parameters ? and rebooting cache)

To plan

  • [ ] Media Management v2 : utiliser IPTC&exif pour stocker toutes les infos stockées en bdd (static power)
  • [ ] CI : Test Installer
  • [ ] 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 ?!)
\ No newline at end of file diff --git a/docs/search.json b/docs/search.json new file mode 100644 index 000000000..d14ab8a26 --- /dev/null +++ b/docs/search.json @@ -0,0 +1,3 @@ + + +[{"title":"test content","url":"\/test-content","slug":"test-content","content":"

This is my test content page<\/p>\n"},{"title":"The Code Architecture","url":"\/architecture","slug":"architecture","content":"

Are you searching for :<\/p>\n\n