Skip to main content

An add-on to make Patternslib available to Plone.

Project description

plone.patternslib

An add-on to make Patternslib available to Plone 6.

References

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 directly follows the Patternslib version numbers and can include a plone.patternlsib specific PATCH level.

This is the scheme:

PA ... Patternslib version PL ... plone.patternslib version

f"${PA_MAJOR}.${PA_MINOR}.${PA_PATCH}.${PL_PATCH}${PA_PRE_RELEASE}.${PL_DEV_VERSION}"

Possible version numbers are:

  • 9.9.16 # Patternslib 9.9.16
  • 9.9.16.1 # Patternslib 9.9.16 with a plone.patternslib specific patch
  • 9.10.0a0 # Patternslib 9.10.0-alpha.0
  • 9.10.1b2 # Patternslib 9.10.1-beta.2
  • 9.10.1b2.dev0 # Development version of the above.
  • 9.10.1.1b2 # Patternslib 9.10.1-beta.2 with a plone.patternslib specific patch
  • 9.10.1 # Patternslib 9.10.1

Our update script updates the setup.py version from the Patternslib version number, which is a semver compatible version specifier. When releasing, the zest.releaser scripts replaces that to a Python compatible version scheme.

Updating Patternslib

Use a branch for updating Patternslib.

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.2 make update-patterns

This does the following:

  • Downloads the latest or a specified Patternslib release from GitHub.
  • Copies the Patternslib bundle files to the resource directory at src/plone/patternslib/static.
  • Updates the version number in the setup.py file.
  • Generates a news file.
  • Commits the changes.

You can then make further changes or push your branch and create a pull request. Or update the version number for a plone.patternslib specific patch level.

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

Support

If you are having issues, please put them into the issue tracker.

License

The project is licensed under the GPLv2.

Changelog

9.10.5 (2026-06-06)

New features:

  • Update Patternslib to 9.10.5.

9.10.4 (2026-01-14)

New features:

  • Update Patternslib to 9.10.4.

9.10.4.1a0 (2025-09-10)

New features:

  • Update Patternslib to 9.10.4-alpha.0.

9.10.4a0 (2025-09-10)

New features:

  • Update Patternslib to 9.10.4-alpha.0.

9.10.3.1 (2025-09-04)

Bug fixes:

  • Blacklist unwanted Patterns.

    Add a patternslib-preinit.js resource as bundle in the resource registry. Currently this script blacklists any unwanted Patternslib Patterns. Most prominent this is "pat-legend" which would transform any "legend" tags to "p" tags and break form-tabbing with pat-autotoc. (patternslib-preinit)

9.10.3 (2025-07-04)

New features:

  • Update Patternslib to 9.10.3.

9.10.2 (2025-07-01)

New features:

  • Update Patternslib to 9.10.2.

9.10.1b3 (2025-04-07)

New features:

  • Update Patternslib to 9.10.1-beta.3.

Bug fixes:

  • Do not create a file extension when creating towncrier news fragments to comply with the towncrier configuration. [thet]

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)

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 in setup.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 the static 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plone_patternslib-9.10.5.tar.gz (5.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plone_patternslib-9.10.5-py3-none-any.whl (6.5 MB view details)

Uploaded Python 3

File details

Details for the file plone_patternslib-9.10.5.tar.gz.

File metadata

  • Download URL: plone_patternslib-9.10.5.tar.gz
  • Upload date:
  • Size: 5.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for plone_patternslib-9.10.5.tar.gz
Algorithm Hash digest
SHA256 12539a9f8197af4710c81d0a838763336c70b7fe947cade2bbae38dabf547880
MD5 1ef2ef0bd4a342cbd1f9caf51de60f41
BLAKE2b-256 7ecbc15d36aa6388109f6303858520d922d07fce2f9a8d03324bf20a13cdb91b

See more details on using hashes here.

File details

Details for the file plone_patternslib-9.10.5-py3-none-any.whl.

File metadata

File hashes

Hashes for plone_patternslib-9.10.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cdc67f9a71dfdf2e3e901b4f7ca8fca646f99122abbddcea3653c6b83961e315
MD5 046beb460f5c30f6593560e54207d1e7
BLAKE2b-256 fe8d6acc335aa096f204bce3856407c3d1adc90e363571661c2370b608852a62

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page