A Draftail extension to add anchor identifiers to rich text
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file wagtail_draftail_anchors-0.6.0-py3-none-any.whl
.
File metadata
- Download URL: wagtail_draftail_anchors-0.6.0-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02d09da0f1e46a155e2d62b06d64902e73d3413cc4de5ac9604ca35afdeea9ce |
|
MD5 | 500adb51738f7466141769c3123a260c |
|
BLAKE2b-256 | 24dd48064f8ed7c1f4133764163c0422795a03753a9798f6a47677d76cd62884 |