Metadata-Version: 2.1
Name: wagtail-footnotes
Version: 0.10.0
Summary: Add footnotes to rich text in your Wagtail pages
Keywords: Wagtail,Django,footnotes,rich text
Author-email: Cameron Lamb  <hello@torchbox.com>
Maintainer-email: Kevin Howbrook <kevin.howbrook@torchbox.com>, Dan Braghis <dan.braghis@torchbox.com>
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4
Classifier: Framework :: Django :: 4.1
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Wagtail
Classifier: Framework :: Wagtail :: 4
Classifier: Framework :: Wagtail :: 5
Requires-Dist: Wagtail>=4.1
Requires-Dist: Django>=3.2
Requires-Dist: pre-commit>=3.3.0,<4 ; extra == "testing"
Requires-Dist: tox>=4.6.4,<5 ; extra == "testing"
Requires-Dist: black==23.7.0 ; extra == "testing"
Requires-Dist: ruff==0.0.280 ; extra == "testing"
Requires-Dist: coverage[toml]>=7.2,<8.0 ; extra == "testing"
Project-URL: Changelog, https://github.com/torchbox/wagtail-footnotes/blob/main/CHANGELOG.md
Project-URL: Repository, https://github.com/torchbox/wagtail-footnotes
Provides-Extra: testing

# Wagtail Footnotes

[![PyPI](https://img.shields.io/pypi/v/wagtail-footnotes.svg)](https://pypi.org/project/wagtail-footnotes/)
[![PyPI downloads](https://img.shields.io/pypi/dm/wagtail-footnotes.svg)](https://pypi.org/project/wagtail-footnotes/)
[![Build Status](https://github.com/torchbox/wagtail-footnotes/workflows/CI/badge.svg)](https://github.com/torchbox/wagtail-footnotes/actions)

Add footnotes functionality to your Wagtail project.

## Usage

- Add the app to `INSTALLED_APPS`:

```python
INSTALLED_APPS = [
    # ...
    "wagtail_footnotes",
    # ...
]
```

- Add the footnotes `urls.py` to your project's `urls.py`:

```python
from wagtail_footnotes import urls as footnotes_urls

urlpatterns = [
    # ...
    path("footnotes/", include(footnotes_urls)),
    # ...
]
```

Note: The URL has to be defined as above as it is currently hardcoded in the Javascript.

- Update your page models to show the footnotes field:

```python
class InformationPage(BasePage):
    # ...
    content_panels = [
        # ...
        InlinePanel("footnotes", label="Footnotes"),
    ]
```

- Update your `RichTextBlock`s
  - Add `"footnotes"` to the `features` arg for each `RichTextBlock` that you want to have this functionality
  - You will also need to change any `RichTextBlock`s to `wagtail_footnotes.blocks.RichTextBlockWithFootnotes`
- Update your page templates to include `{% include "wagtail_footnotes/includes/footnotes.html" %}`

Make and run migrations:

```bash
./manage.py makemigrations
./manage.py migrate
```

## Settings

- `WAGTAIL_FOOTNOTES_TEXT_FEATURES`
  - Default: `["bold", "italic", "link"]`
  - Use this to update a list of Rich Text features allowed in the footnote text.

## Common issues

- I click on the `Fn` button in the editor and it stops working
  - This is likely because the URL in the JS does not match the URL of the footnotes view. Check the URL in `wagtail_footnotes/static/footnotes/js/footnotes.js` matches the URL you set.
- `NoneType` error when rendering page.
  - Make sure you are rendering the field in the template using `{% include_block page.field_name %}`

