Wagtail Draftail Anchors
Adds the ability to add and edit anchors in the Draftail rich text editor, as well as automatically adding (slug-form) anchor ids to all headings.
Installation
Install using pip:
pip install wagtail-draftail-anchors
Add 'wagtail_draftail_anchors' to INSTALLED_APPS below wagtail.admin.
Add 'anchor-identifier' to the features of any rich text field where you have overridden the default feature list. The feature must be added before any heading('h1',...,'h6') feature:
body = RichTextField(features=['anchor-identifier', 'h2', 'h3', 'bold', 'italic', 'link'])
Configuration
Rendered representation of anchors
By default, anchor-identifier rich text entities will be rendered as HTML anchor elements, e.g.:
<a href="#my-element" id="my-element" data-id="my-element">My element</a>
This package provides an alternative renderer that renders anchor-identifier entities as HTML span elements, e.g.:
<span id="my-element">My element</span>
The desired renderer can be specified using the DRAFTAIL_ANCHORS_RENDERER setting. To use the span renderer, configure your application as follows:
DRAFTAIL_ANCHORS_RENDERER = "wagtail_draftail_anchors.rich_text.render_span"
It is possible to define your own renderer. It should be a callable that takes a dict of attributes, and returns a string containing the opening tag of the HTML element that represents the anchor target. The dict passed to the renderer, for an anchor with an identifier of "my-anchor", would look like the following:
{"data-id": "my-anchor", "href": "#my-anchor", "id": "my-anchor", "linktype": "my-anchor"}
If you define your own renderer, you should set the value of DRAFTAIL_ANCHORS_RENDERER to your custom renderer's import path.
See render_span and render_a in wagtail_draftail_anchors.rich_text for examples.
Metadata
Release files for wagtail-draftail-anchors 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| wagtail_draftail_anchors-0.7.0.tar.gz | 12.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wagtail_draftail_anchors-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.9 kB
Release files / wagtail_draftail_anchors-0.7.0.tar.gz
| Download URL | wagtail_draftail_anchors-0.7.0.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e2975595fb476e1b1f78ec4ff0e810fac3751956dd94b97d20b2f435536f757
|
|
BLAKE2b-256 checksum How to use checksums |
8e33d036de1bb2c9b8139973f6955abec573c65b0e84157a216f23c00b8b6f56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / wagtail_draftail_anchors-0.7.0-py3-none-any.whl
| Download URL | wagtail_draftail_anchors-0.7.0-py3-none-any.whl |
|---|---|
| Size | 11.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
302b2b50236efed43f9d84d2a0483a9fcf31c98586ef364eb348c061877c249a
|
|
BLAKE2b-256 checksum How to use checksums |
95fd18bcc76cf829d7c28a69acf6e7820d39bf098095bb0ebe31cd1616e31363
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Security for wagtail-draftail-anchors 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.