Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wagtail/cookiecutter-wagtail-package

A cookiecutter template for building Wagtail add-on packages
https://github.com/wagtail/cookiecutter-wagtail-package

django wagtail

Last synced: 7 days ago
JSON representation

A cookiecutter template for building Wagtail add-on packages

Awesome Lists containing this project

README

        

# cookiecutter-wagtail-package

A cookiecutter template for building Wagtail add-on packages.

## What's included

This creates a simple Python/Django app with a nested "test" app.

### CI

This creates Github Workflows for:

- Running tests and linters on pushes and pull requests
- Running tests nightly against latest Wagtail version
- Pushing packages to PyPI when GitHub releases are created. This requires two additional setup steps before it can be used:
- Create a pending publisher in PyPI: https://docs.pypi.org/trusted-publishers/creating-a-project-through-oidc/
- Create an environment called "publish" in GitHub: https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment#creating-an-environment

### Frontend tooling

This includes a simple webpack setup with TypeScript, React, styled-components, and SVG support.

Note that React is pinned to 16.x because on production it uses the same React library as Wagtail to reduce bundle size.

This can be excluded by answering "no" to the `use_frontend` question.

## How to use

Firstly install cookiecutter:

python -m pip install "cookiecutter>=2"

Then run it like so:

cookiecutter [email protected]:wagtail/cookiecutter-wagtail-package.git

It'll ask for some details about you (name and email) and your project.

When it asks for your project name, exclude the "Wagtail" prefix.
For example, if your project is called "Wagtail Llamas", set your project name to "Llamas" and accept all the default project name variants it generates (unless you used a special character in the project name).