An add-on to make Patternslib available to Plone.
Project description
plone.patternslib
An add-on to make Patternslib available to Plone 6.
Features
Plone and Mockup depend on Patternslib and it's Patterns registry infrastructure since quite some time already. Since Plone 6 there are also some core Patternslib patterns exposed in Plone, like pat-inject, pat-validation, pat-date-picker and some more.
This package completes that and makes all Patternslib patterns available in Plone. This includes pat-auto-submit, pat-auto-suggest, pat-carousel, pat-gallery, the fullcalendar integration pat-calendar, the wysiwyg integration pat-tiptap, pat-upload and more.
Please note - pat-leaflet is yet not included as it is not part of the Patternslib distribution. There are plans to make it available in a separate package.
Versioning scheme
The version number of plone.patternslib follows the Patternslib version numbers with an added sub-patch level and a possible pre-release suffix.
E.g. if the Patternslib version is 9.9.16 possible plone.patternslib versions
are 9.9.16.0
, 9.9.16.0a1
, 9.9.16.1
and so on.
Implementation
This package includes the Patternslib bundle in a resource directory.
The default profile installs the ++resource++patternslib/remote.min.js
bundle
as a Module Federation remote bundle.
The module federation main bundle in Plone is the plone
bundle.
You can also use the ++resource++patternslib/bundle.min.js
directly, but then
you need to update the plone bundle to use remote.min.js
instead of
bundle.min.js
.
You can find more info on module federation here:
https://github.com/Patternslib/Patterns/blob/master/docs/developer/module-federation.md
Limitations
Some of the Patternslib patterns have the same name like patterns in Mockup. They are still included but not registered. The Patterns registry does not register patterns of the same name twice.
Examples
There are example browser views for four patterns in the browser directory. If all went well, you can test the following patterns by calling their browser view examples on your plone site:
@@pat-depends
@@pat-inject
@@pat-masonry
@@pat-switch
Development
To update Patternslib to the latest released version run:
make update-patterns
or to update Patternslib to an arbitrary version - e.g. a pre-release:
PATTERNSLIB_VERSION=9.10.1-beta.1 make update-patterns
Contribute
- Issue Tracker: https://github.com/plone/plone.patternslib/issues
- Source Code: https://github.com/plone/plone.patternslib
Support
If you are having issues, please put them into the issue tracker.
License
The project is licensed under the GPLv2.
Changelog
9.9.16 (2025-02-17)
No significant changes.
9.9.16.0a1 (2025-02-03)
Breaking changes:
- Upgrade for Plone 6 and Python >= 3.9 only. [ale, thet]
New features:
- Update Patternslib to 9.9.16.
Internal:
- Update configuration files. [plone devs]
1.3.0 (2023-02-02)
- Update jQuery to 1.12.4 and Patternslib to 2.1.5. Fixes: https://github.com/plone/plone.patternslib/issues/73 (thet)
pat-leaflet
AJAX geoJSON feature (petschki)
1.2.1 (2020-11-23)
- Bugfix: Register upgrade step for the correct profile (frapell)
1.2.0 (2020-08-07)
- Register
pat-datetime-picker
in the resource registry. (thet) - Restructure upgrades to follow bobtemplates.plone recommendations. (thet)
1.1.1 (2020-07-10)
- Do not autoinclude ZCML (this was not needed here). (jensens)
- Fix dependency chain, depend on
Products.CMFPlone
insetup.py
. (jensens) - Upgrade to pat-leaflet 1.4.0. (thet)
1.1.0 (2019-04-11)
- Upgrade pat-leaflet to 1.3.0. (thet)
- Remove 2nd CSS resource from Leaflet Markercluster as Plone doesn't compile it properly. (thet)
- Register
pat-date-picker
. (thet) - Update dependencies, deped on Patterns 2.1.x. (thet)
- Update to latest Patterns. (thet)
- Remove registry initialization in bundles. (cekk)
- Declare support for python 3. (vincero)
1.0 (2017-02-28)
- Git-un-exclude
dist
directory within thestatic
folder. (thet) - Fix font-awesome web font path. (thet)
- Fix Leaflet icon integration. (thet)
- Register resources with their uncompressed files, wherever they are available. This helps debugging and the resource registry itself can handle compression on it's own. (thet)
- Upgrade Patternslib to latest version. (thet)
- Better
pat-gallery
integration. (thet) - Add
pat-leaflet
resources. (thet) - Use bower to manage resources instead of Makefile script. (thet)
- Remove browserlayer and add upgrade step for removal from component registry. (thet)
- Cleanup. (thet)
0.2 (2016-04-27)
- Polyfill removeDuplicateObjects so that we can use version 2.0.13 of Patternslib with Plone/Mockup which still uses Patternslib 2.0.11.
0.1 (2016-04-27)
- Initial release.