cookieplone 0.7.1
Cookieplone 🍪
Welcome to Cookieplone, a powerful wrapper around Cookiecutter designed to streamline the development of Plone codebases.
Whether you're building a backend add-on, a new Volto add-on, a full project with both backend and frontend, or even documentation, Cookieplone simplifies the process using robust Cookiecutter templates.
Key features 🌟
Cookieplone offers the following key features for each audience.
For users
One stop for all Plone templates: Cookieplone helps you find the correct template to start your new Plone project.
Simplified usage: Cookieplone provides an enhanced experience over standard Cookiecutter usage by offering predefined sane defaults and a unified approach to generating various Plone projects.
Batteries included: No need to install lots of dependencies. Run pipx run cookieplone, and you will quickly generate your codebase.
For template creators
Built-in validators: Includes built-in validators to ensure user inputs are correct.
Jinja2 filters: Includes Jinja2 filters for advanced template control.
Sub-templates: Mechanism to easily instantiate "sub templates" within cookiecutter hooks -- i.e. post_gen_hook -- , facilitating greater code reuse.
Installation 💾
First, ensure you have Python, pip, and pipx installed on your system.
Then install Cookieplone using pipx:
# pipx is strongly recommended.
pipx install cookieplone
Or, if pipx is not an option, you can install Cookieplone in your Python user directory.
python -m pip install --user cookieplone
Usage 🛠️
To see all available template options, run:
pipx run cookieplone
Cookieplone will walk you through the necessary steps, using sensible defaults and offering customization options where needed.
Specify a template
You can also specify other templates.
Template
Description
Command
backend_addon
Create a Plone add-on to be used with the backend.
pipx run cookieplone backend_addon
frontend_addon
Create a Plone add-on to be used with the frontend.
pipx run cookieplone frontend_addon
The updated list of templates can be found at the cookieplone-templates repository.
Configure Cookieplone
Environment Variable
Description
Example
COOKIEPLONE_REPOSITORY
Where to look for templates to be used.
COOKIEPLONE_REPOSITORY=/home/plone/cookiecutter-plone/ pipx run cookieplone
COOKIEPLONE_REPOSITORY_REF
Which tag/branch to use from a remote repository.
COOKIEPLONE_REPOSITORY_REF=experimental pipx run cookieplone
COOKIEPLONE_REPO_PASSWORD
Password to use when using a remote repository that is password protected.
COOKIEPLONE_REPO_PASSWORD=very-secure pipx run cookieplone
Contribute 🤝
We welcome contributions to Cookieplone.
You can create an issue in the issue tracker, or contact a maintainer.
Issue Tracker
Source Code
Development requirements
Python 3.10 or later
Hatch
Setup
Install all development dependencies, including Hatch, and create a local virtual environment with the following command.
make install
Check and format the codebase
make check
Run tests
pytest is this package's test runner.
Run all tests with the following command.
make test
Run all tests, but stop on the first error and open a pdb session with the following command.
hatch run test -x --pdb
Run only tests that match test_run_sanity_checks_fail with the following command.
hatch run test -k test_run_sanity_checks_fail
Run only tests that match test_run_sanity_checks_fail, but stop on the first error and open a pdb session with the following command.
hatch run test -k test_run_sanity_checks_fail -x --pdb
Support 📢
For support, questions, or more detailed documentation, visit the official Cookieplone repository.
Thank you for choosing Cookieplone for your Plone development needs!
This project is supported by
License
The project is released under the MIT License.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.