A set of helpers for baking your Django Wagtail site out as flat files.
Project description
# Wagtail-bakery
A set of helpers for baking your Django Wagtail site out as flat files.
[](http://wagtail-bakery.readthedocs.io/en/latest/?badge=latest)
[](https://travis-ci.org/moorinteractive/wagtail-bakery)
[](https://coveralls.io/github/moorinteractive/wagtail-bakery?branch=master)
* Issues: [https://github.com/moorinteractive/wagtail-bakery/issues](https://github.com/moorinteractive/wagtail-bakery/issues)
* Testing: [https://travis-ci.org/moorinteractive/wagtail-bakery](https://travis-ci.org/moorinteractive/wagtail-bakery)
* Coverage: [https://coveralls.io/github/moorinteractive/wagtail-bakery](https://coveralls.io/github/moorinteractive/wagtail-bakery)
Wagtail-bakery is built on top of [Django bakery](https://github.com/datadesk/django-bakery). Please read their [documentation](https://django-bakery.readthedocs.io/en/latest/) 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!
## Features
* Single management command that will build your Wagtail site out as flat files
* Support for multisite, [theming](https://github.com/moorinteractive/wagtail-themes) and [multilingual](http://docs.wagtail.io/en/latest/advanced_topics/i18n/index.html) setup
* Support for `i18n_patterns`
* Ready to use Wagtail Buildable views to build all your (un)published pages at once (no extra code required!)
## Installation
```
pip install git+https://github.com/moorinteractive/wagtail-bakery.git#egg=wagtail-bakery
```
Add `bakery` and `wagtailbakery` to your `INSTALLED_APPS` setting.
```python
INSTALLED_APPS = (
# ...
'bakery',
'wagtailbakery',
)
```
## Configuration
Define whether you want to build multiple sites or the default site (see examples for impact on directory output), by default this settings is `False`.
```python
BAKERY_MULTISITE = True
```
Add the build directory where you want to be the site be built as flat files.
```python
BUILD_DIR = '/tmp/build/'
```
As 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.
Build all published public pages (use for production).
```python
BAKERY_VIEWS = (
'wagtailbakery.views.AllPublishedPagesView',
)
```
Build all published and unpublished public pages (use for staging/acceptance).
```python
BAKERY_VIEWS = (
'wagtailbakery.views.AllPagesView',
)
```
## Usage
Build the site out as flat files by running the `build` management command.
```
manage.py build
```
If you want to check how your static website will look, use the `buildserver` command after you have build your static files once.
```
manage.py buildserver
```
## Examples
In the [examples](https://github.com/moorinteractive/wagtail-bakery/tree/master/examples) directory you can find a Wagtail setup with fixtures for a single site as well as a multisite setup.
Create 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.
As described in the usage section, use `manage.py build` to build out the example as static files.
**Build output with `BAKERY_MULTISITE=True`**:
```
build/example.com/index.html
build/example.com/about/index.html
build/example.com/blog/index.html
build/example.com/blog/example/index.html
build/static/
```
**Build output with `BAKERY_MULTISITE=False` (default)**:
```
build/index.html
build/about/index.html
build/blog/index.html
build/blog/example/index.html
build/static/
```
## Troubleshooting
For issues [please submit an issue](https://github.com/moorinteractive/wagtail-bakery/issues/new) on GitHub.
## Credits
Thanks to [@mhnbcu](https://github.com/mhnbcu/wagtailbakery) for bringing this
idea up initially, and [Django Bakery](https://github.com/datadesk/django-bakery)
for providing the initial bakery package.
A set of helpers for baking your Django Wagtail site out as flat files.
[](http://wagtail-bakery.readthedocs.io/en/latest/?badge=latest)
[](https://travis-ci.org/moorinteractive/wagtail-bakery)
[](https://coveralls.io/github/moorinteractive/wagtail-bakery?branch=master)
* Issues: [https://github.com/moorinteractive/wagtail-bakery/issues](https://github.com/moorinteractive/wagtail-bakery/issues)
* Testing: [https://travis-ci.org/moorinteractive/wagtail-bakery](https://travis-ci.org/moorinteractive/wagtail-bakery)
* Coverage: [https://coveralls.io/github/moorinteractive/wagtail-bakery](https://coveralls.io/github/moorinteractive/wagtail-bakery)
Wagtail-bakery is built on top of [Django bakery](https://github.com/datadesk/django-bakery). Please read their [documentation](https://django-bakery.readthedocs.io/en/latest/) 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!
## Features
* Single management command that will build your Wagtail site out as flat files
* Support for multisite, [theming](https://github.com/moorinteractive/wagtail-themes) and [multilingual](http://docs.wagtail.io/en/latest/advanced_topics/i18n/index.html) setup
* Support for `i18n_patterns`
* Ready to use Wagtail Buildable views to build all your (un)published pages at once (no extra code required!)
## Installation
```
pip install git+https://github.com/moorinteractive/wagtail-bakery.git#egg=wagtail-bakery
```
Add `bakery` and `wagtailbakery` to your `INSTALLED_APPS` setting.
```python
INSTALLED_APPS = (
# ...
'bakery',
'wagtailbakery',
)
```
## Configuration
Define whether you want to build multiple sites or the default site (see examples for impact on directory output), by default this settings is `False`.
```python
BAKERY_MULTISITE = True
```
Add the build directory where you want to be the site be built as flat files.
```python
BUILD_DIR = '/tmp/build/'
```
As 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.
Build all published public pages (use for production).
```python
BAKERY_VIEWS = (
'wagtailbakery.views.AllPublishedPagesView',
)
```
Build all published and unpublished public pages (use for staging/acceptance).
```python
BAKERY_VIEWS = (
'wagtailbakery.views.AllPagesView',
)
```
## Usage
Build the site out as flat files by running the `build` management command.
```
manage.py build
```
If you want to check how your static website will look, use the `buildserver` command after you have build your static files once.
```
manage.py buildserver
```
## Examples
In the [examples](https://github.com/moorinteractive/wagtail-bakery/tree/master/examples) directory you can find a Wagtail setup with fixtures for a single site as well as a multisite setup.
Create 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.
As described in the usage section, use `manage.py build` to build out the example as static files.
**Build output with `BAKERY_MULTISITE=True`**:
```
build/example.com/index.html
build/example.com/about/index.html
build/example.com/blog/index.html
build/example.com/blog/example/index.html
build/static/
```
**Build output with `BAKERY_MULTISITE=False` (default)**:
```
build/index.html
build/about/index.html
build/blog/index.html
build/blog/example/index.html
build/static/
```
## Troubleshooting
For issues [please submit an issue](https://github.com/moorinteractive/wagtail-bakery/issues/new) on GitHub.
## Credits
Thanks to [@mhnbcu](https://github.com/mhnbcu/wagtailbakery) for bringing this
idea up initially, and [Django Bakery](https://github.com/datadesk/django-bakery)
for providing the initial bakery package.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size wagtail_bakery-0.1.0-py2.py3-none-any.whl (5.8 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size wagtail-bakery-0.1.0.tar.gz (4.9 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for wagtail_bakery-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b143407d074c9463d5de6774c53ade6cf1944de244b8bc8e273e30f33632b53d |
|
MD5 | 6a527c062fef034b2203c1dabce48e10 |
|
BLAKE2-256 | f77af0a9f79d32101ca941db7c2614669473839cdf34605c6c51645465b8545b |