mirror of
https://github.com/symfony/recipes-contrib.git
synced 2026-09-11 15:16:55 +03:00
Add tito10047/progressive-image-bundle 2.0 (#2027)
* Add tito10047/progressive-image-bundle 2.0 Registers the bundle, its route, and a working default config (a chain resolver with an AssetMapper + filesystem fallback, tailwind grid breakpoints, sync generation, and a self-contained local Flysystem variant store — no extra dependency required). The responsive breakpoint stylesheet is generated and imported into assets/app.js automatically via a post-install script, so the bundle renders correctly right after "composer require" with zero manual config. Verified end-to-end against a sandboxed copy of a real AssetMapper app: uninstall -> reinstall -> render <twig:pgi:Image> produces a working <picture> element with real generated variant files on disk. * Fix recipes-contrib QA failures for tito10047/progressive-image-bundle 2.0 - add-lines only supports "top", "bottom", "after_target" as a position value — "before_target" isn't valid. Insertion order relative to the app.css import doesn't matter functionally, so switch to after_target. - post-install.txt was missing its trailing newline. * Retrigger CI: tito10047/progressive-image-bundle main/v2.0 branches now include the AssetMapper prepend() fix * Retrigger CI: asset_mapper resolver fix is live on main/v2.0 (progressive-image-bundle) * Retrigger CI: 2.0.0-rc0 (pre-fix) tag deleted, only 2.0.0-rc1 remains
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# Documentation: https://pgi.blue/guide/getting-started
|
||||
progressive_image:
|
||||
resolvers:
|
||||
default:
|
||||
type: chain
|
||||
# If your project does NOT use Symfony UX AssetMapper (e.g. Webpack Encore),
|
||||
# remove "asset_mapper_resolver" below and from this chain.
|
||||
resolvers: ['asset_mapper_resolver', 'filesystem_resolver']
|
||||
asset_mapper_resolver:
|
||||
type: asset_mapper
|
||||
filesystem_resolver:
|
||||
type: filesystem
|
||||
roots: ['%kernel.project_dir%/public']
|
||||
allowUnresolvable: true
|
||||
|
||||
responsive_strategy:
|
||||
grid:
|
||||
framework: tailwind # or bootstrap, or custom
|
||||
ratios:
|
||||
landscape: '16/9'
|
||||
portrait: '3/4'
|
||||
square: '1/1'
|
||||
|
||||
generation:
|
||||
# Switch to "async" once you've wired up a Messenger transport for it.
|
||||
strategy: sync
|
||||
|
||||
variant_store:
|
||||
storage: progressive_image.variant_storage
|
||||
|
||||
services:
|
||||
progressive_image.variant_storage.adapter:
|
||||
class: League\Flysystem\Local\LocalFilesystemAdapter
|
||||
arguments:
|
||||
- '%kernel.project_dir%/public/media/pgi'
|
||||
|
||||
progressive_image.variant_storage:
|
||||
class: League\Flysystem\Filesystem
|
||||
arguments:
|
||||
- '@progressive_image.variant_storage.adapter'
|
||||
@@ -0,0 +1,2 @@
|
||||
progressive_image:
|
||||
resource: "@ProgressiveImageBundle/config/routes.php"
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"bundles": {
|
||||
"Tito10047\\ProgressiveImageBundle\\ProgressiveImageBundle": ["all"]
|
||||
},
|
||||
"copy-from-recipe": {
|
||||
"config/": "%CONFIG_DIR%/"
|
||||
},
|
||||
"gitignore": [
|
||||
"/%PUBLIC_DIR%/media/pgi/"
|
||||
],
|
||||
"composer-scripts": {
|
||||
"progressive-image:generate-custom-css": "symfony-cmd"
|
||||
},
|
||||
"add-lines": [
|
||||
{
|
||||
"file": "assets/app.js",
|
||||
"content": "import './styles/progressive-image-custom.css';",
|
||||
"position": "after_target",
|
||||
"target": "import './styles/app.css';",
|
||||
"warn_if_missing": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<fg=blue;options=bold>Progressive Image Bundle</> <fg=blue>is ready to use.</>
|
||||
- The responsive breakpoint stylesheet was generated and imported into
|
||||
<comment>assets/app.js</comment> automatically. Re-run
|
||||
<comment>bin/console progressive-image:generate-custom-css</comment> whenever you
|
||||
change <comment>responsive_strategy</comment>.
|
||||
- Render your first image:
|
||||
<comment><twig:pgi:Image src="{{ asset('images/hero.jpg') }}" alt="Hero" /></comment>
|
||||
- If your project does <options=bold>not</> use Symfony UX AssetMapper (e.g. Webpack
|
||||
Encore), remove <comment>asset_mapper_resolver</comment> from
|
||||
<comment>%CONFIG_DIR%/packages/progressive_image.yaml</comment> and from the
|
||||
<comment>default</comment> resolver chain.
|
||||
- Full docs: <comment>https://pgi.blue/guide/getting-started</comment>
|
||||
Reference in New Issue
Block a user