{"id":13530917,"url":"https://github.com/wagtail-nest/wagtail-bakery","last_synced_at":"2026-03-17T16:07:28.246Z","repository":{"id":11913210,"uuid":"65332148","full_name":"wagtail-nest/wagtail-bakery","owner":"wagtail-nest","description":"A set of helpers for baking your Django Wagtail site out as flat files.","archived":false,"fork":false,"pushed_at":"2025-01-02T12:28:01.000Z","size":177,"stargazers_count":186,"open_issues_count":20,"forks_count":42,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-05-09T08:58:56.964Z","etag":null,"topics":["django","static-site-generator","wagtail"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wagtail-nest.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-09T22:22:38.000Z","updated_at":"2025-04-03T12:51:32.000Z","dependencies_parsed_at":"2023-02-18T04:45:44.231Z","dependency_job_id":"4613912e-14d6-4ea2-878d-df468c6e1184","html_url":"https://github.com/wagtail-nest/wagtail-bakery","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wagtail-nest%2Fwagtail-bakery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wagtail-nest%2Fwagtail-bakery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wagtail-nest%2Fwagtail-bakery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wagtail-nest%2Fwagtail-bakery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wagtail-nest","download_url":"https://codeload.github.com/wagtail-nest/wagtail-bakery/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254394724,"owners_count":22063984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","static-site-generator","wagtail"],"created_at":"2024-08-01T07:00:57.687Z","updated_at":"2025-12-12T00:38:57.018Z","avatar_url":"https://github.com/wagtail-nest.png","language":"Python","funding_links":[],"categories":["Apps"],"sub_categories":["Static site generation"],"readme":"# Wagtail-bakery\n\nA set of helpers for baking your Django Wagtail site out as flat files.\n\n[![License: MIT](https://img.shields.io/pypi/l/wagtail-bakery)](https://github.com/wagtail-nest/wagtail-bakery/blob/main/LICENSE)\n[![Build Status](https://github.com/wagtail-nest/wagtail-bakery/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/wagtail-nest/wagtail-bakery/actions/workflows/test.yml)\n[![Version](https://img.shields.io/pypi/v/wagtail-bakery.svg)](https://pypi.python.org/pypi/wagtail-bakery/)\n[![Monthly downloads](https://img.shields.io/pypi/dm/wagtail-bakery.svg?logo=Downloads)](https://pypi.python.org/pypi/wagtail-bakery/)\n\nWagtail-bakery is built on top of [Django bakery](https://github.com/datadesk/django-bakery). Please read their [documentation](https://palewi.re/docs/django-bakery/) for detailed configuration and how to build default Django flat files. Yes. Wagtail-bakery is not limited to build Wagtail pages specifically, mixed content is possible!\n\n## Links\n\n- [Issues](https://github.com/wagtail-nest/wagtail-bakery/issues)\n- [Discussion boards](https://github.com/wagtail/wagtail/discussions) are open for sharing ideas and plans for the Wagtail project.\n- [Changelog](https://github.com/wagtail-nest/wagtail-bakery/issues)\n\n### Security\n\nWe take the security of Wagtail, and related packages we maintain, seriously. If you have found a security issue with any of our projects please email us at [security@wagtail.org](mailto:security@wagtail.org) so we can work together to find and patch the issue. We appreciate responsible disclosure with any security related issues, so please contact us first before creating a GitHub issue.\n\nIf you want to send an encrypted email (optional), the public key ID for security@wagtail.org is 0xbed227b4daf93ff9, and this public key is available from most commonly-used keyservers.\n\n## Features\n\n- Single management command that will build your Wagtail site out as flat files\n- Support for multisite, [theming](https://github.com/wagtail/wagtail-themes) and [multilingual](https://docs.wagtail.org/en/latest/advanced_topics/i18n.html) setup\n- Support for `i18n_patterns`\n- Support for generating a static API\n- Ready to use Wagtail Buildable views to build all your (un)published pages at once (no extra code required!)\n\n## Supported Versions\n\n- Python 3.8 - 3.12\n- Django 4.2 - 5.0\n- Wagtail \u003e= 5.2\n\nWe aim to support the Wagtail versions as [supported](http://docs.wagtail.org/en/latest/releases/upgrading.html) by Wagtail (current LTS, current stable).\n\nDjango/Wagtail combinations as [supported](http://docs.wagtail.org/en/latest/releases/upgrading.html#compatible-django-python-versions) by Wagtail (for the Wagtail versions as defined above).\n\n### Browser support\n\nWe align our browser support targets with that of Wagtail. Have a look at the [official documentation](http://docs.wagtail.org/en/latest/contributing/developing.html).\n\n## Installation\n\n```\npip install wagtail-bakery\n```\n\nAdd `bakery` and `wagtailbakery` to your `INSTALLED_APPS` setting.\n\n```python\nINSTALLED_APPS = (\n    # ...\n    'bakery',\n    'wagtailbakery',\n)\n```\n\n## Configuration\n\nDefine whether you want to build multiple sites or the default site (see examples for impact on directory output), by default this settings is `False`.\n\n```python\nBAKERY_MULTISITE = True\n```\n\nAdd the build directory where you want to be the site be built as flat files.\n\n```python\nBUILD_DIR = '/tmp/build/'\n```\n\nAs you may know with Django bakery, the trickiest part is to make your current models/pages buildable with [Buildable views](https://django-bakery.readthedocs.io/en/latest/buildableviews.html). As Django Wagtail uses only the `Page` model at their lowest level, you can use at least one of the already present Buildable views provided by Wagtail bakery.\n\nBuild all published public pages (use for production).\n\n```python\nBAKERY_VIEWS = (\n\t'wagtailbakery.views.AllPublishedPagesView',\n)\n```\n\nBuild all published and unpublished public pages (use for staging/acceptance).\n\n```python\nBAKERY_VIEWS = (\n\t'wagtailbakery.views.AllPagesView',\n)\n```\n\nTo build static JSON files representing your site's API, use the following views:\n\n```python\nBAKERY_VIEWS = (\n\t'wagtailbakery.api_views.PagesAPIDetailView',\n\t'wagtailbakery.api_views.PagesAPIListingView',\n\t'wagtailbakery.api_views.TypedPagesAPIListingView',\n)\n```\n\nThe API views use Wagtail's V2 API module. To configure the data that is rendered by these views, please refer to Wagtail's [V2 API configuration guide](http://docs.wagtail.org/en/latest/advanced_topics/api/v2/configuration.html).\n\n## Usage\n\nBuild the site out as flat files by running the `build` management command.\n\n```\nmanage.py build\n```\n\nIf you want to check how your static website will look, use the `buildserver` command after you have build your static files once.\n\n```\nmanage.py buildserver\n```\n\n## Examples\n\nIn the [examples](https://github.com/wagtail-nest/wagtail-bakery/tree/main/examples) directory you can find a Wagtail setup with fixtures for a single site as well as a multisite setup.\n\nCreate a virtualenv and go to one of the examples, you can use the `Make` command to install all requirements, load fixtures and run the server.\n\nAs described in the usage section, use `manage.py build` to build out the example as static files.\n\n**Build output with `BAKERY_MULTISITE=True`**:\n\n```\nbuild/example.com/index.html\nbuild/example.com/about/index.html\nbuild/example.com/blog/index.html\nbuild/example.com/blog/example/index.html\nbuild/static/\n```\n\n**Build output with `BAKERY_MULTISITE=False` (default)**:\n\n```\nbuild/index.html\nbuild/about/index.html\nbuild/blog/index.html\nbuild/blog/example/index.html\nbuild/static/\n```\n\n## Troubleshooting\n\nFor issues [please submit an issue](https://github.com/wagtail-nest/wagtail-bakery/issues/new) on GitHub.\n\n## Development\n\n### Which version combinations to include in Github Actions test matrix?\n\nIn order to keep for CI build time from growing out of control, not all Python/Django/Wagtail combinations will be tested.\n\nTest as follow:\n\n- All supported Django/Wagtail combinations with the latest supported Python version.\n- The latest supported Django/Wagtail combination for the remaining Python versions.\n\n### Releases\n\n1. Create a new branch (e.g. `release/1.1.3`) for the release of the new version.\n1. Update the version number in `setup.py` following [Semantic Versioning](http://semver.org/spec/v2.0.0.html).\n1. Update `CHANGELOG.md`.\n1. On GitHub, create a pull request and squash merge it.\n1. On GitHub, if this is a minor release bump (for example `1.1.0` or `1.2.0` but not `1.1.1`, `1.2.3`), create a `stable/1.1.x` branch from `main`.\n1. (Optional) Publish to TestPyPI if you need to verify anything:\n   1. Create and push a tag following the pattern `X.Y.Z.devN` (for example `1.1.3.dev1`).\n   1. Follow the action progress for the [Publish to TestPyPI](https://github.com/wagtail-nest/wagtail-bakery/actions/workflows/publish-test.yml) workflow.\n   1. Check the result on [TestPyPI: wagtail-bakery](https://test.pypi.org/project/wagtail-bakery/).\n1. Publish to PyPI:\n   1. Create and push a tag following [PEP 440 – Version Identification Specification](https://peps.python.org/pep-0440/) (for example `1.1.3` or `1.1.3rc1`), except for the `.devN` suffix used for testing (see _Publish to TestPyPI_ step above)\n   1. Follow the action progress for the [Publish to PyPI](https://github.com/wagtail-nest/wagtail-bakery/actions/workflows/publish.yml) workflow\n   1. Check the result on [PyPI: wagtail-bakery](https://pypi.org/project/wagtail-bakery/)\n1. On GitHub, create a release and a tag for the new version.\n\n## Credits\n\nThanks to [@mhnbcu](https://github.com/mhnbcu/wagtailbakery) for bringing this\nidea up initially, and [Django Bakery](https://github.com/datadesk/django-bakery)\nfor providing the initial bakery package.\n\nThanks to all the [contributors](https://github.com/wagtail-nest/wagtail-bakery/graphs/contributors) for their help.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwagtail-nest%2Fwagtail-bakery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwagtail-nest%2Fwagtail-bakery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwagtail-nest%2Fwagtail-bakery/lists"}