Draftail Shortcode Entity, adds link-like shortcodes to Draftail.
Project description
Wagtail shortcode
Wagtail shortcode adds a custom Draftail enitity to provide a custom linktype ("shortcode"), giving you the ability to assign values in a similar way to normal links as well as decide how they should be rendered on the page.
Installation
python -m pip install wagtail-shortcode- ...
Add 'wagtail_shortcode' to INSTALLED_APPS.
Register a LinkHandler, to control how the new linktype renders on the front-end (|richtext filter).
LinkHandlers must be registered within a wagtail_hooks.py file under an app directory and use an identifier matching SHORTCODE_ANCHOR_TARGET_IDENTIFIER, for example:
# ./utils_app/wwgtail_hooks.py
from django.utils.html import escape
from wagtail import hooks
from wagtail.rich_text import LinkHandler
from wagtail_shortcode.handlers import SHORTCODE_ANCHOR_TARGET_IDENTIFIER
class CustomShortcodeLinkHandler(LinkHandler):
identifier = SHORTCODE_ANCHOR_TARGET_IDENTIFIER
@classmethod
def expand_db_attributes(cls, attrs):
href = attrs["shortcode"]
# Do something clever
return '<a href="%s">' % escape(href)
@hooks.register("register_rich_text_features")
def register_shortcode_link(features):
features.register_link_type(CustomShortcodeLinkHandler)
Add shortcode to the features argument of any rich text field where you have overridden the default feature list:
class Header(models.Model):
content = RichTextField(
features=["shortcode", "h2", "h3", "bold", "italic", "link"]
)
Configuration
Updating the window prompt's help-text
When adding shortcode within the editor, a window prompt will appear, the text within this prompt can be customised by providing a value for SHORTCODE_HELP_TEXT within your project's settings file. This can be helpful as to inform editors of the expected behaviour of your custom LinkHandler.
SHORTCODE_HELP_TEXT="Enter a shortcode value"
The window.prompt function is a JavaScript method which supports basic text formatting using special characters, as such a newline character can be included using \n if needed.
Contributing
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wagtail_shortcode-1.0.3.tar.gz.
File metadata
- Download URL: wagtail_shortcode-1.0.3.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63f8500ed8ab7c27a54c407fd6d49f7a0e07621c45a0d51e4e6194620e4664c5
|
|
| MD5 |
8881ddfb5ef5e8b27b68b2fd0768633b
|
|
| BLAKE2b-256 |
f38c1c40bff39f347bb3f529c1c660340a54cf8416704f8b90155b39462816c4
|
File details
Details for the file wagtail_shortcode-1.0.3-py3-none-any.whl.
File metadata
- Download URL: wagtail_shortcode-1.0.3-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16dbab11274a46fcc82de1dff966d37c35678b66d4542ebc2051c8c44208d910
|
|
| MD5 |
13411c6e27845e40402a62b0b4a42e27
|
|
| BLAKE2b-256 |
c8b5407ed8559b632294b5ef7194df61e948f60fd333485a831f91ab9bbac2d0
|