Skip to main content

Adds anchor links and related backlinks to the Wagtail editor (Draftail). Useful for footnotes and more!

Project description

Comparison with other solutions

This package is similar to https://github.com/torchbox/wagtail-footnotes but in general:

  • our approach is more lightweight
  • our approach is similar to what users do in Microsoft Word
  • our approach is more flexible, you can use it to make a handcrafted table of contents, for example
  • our approach is not structured, so developers have no control over where the notes should be and what they should look like, since any inline selection of text can become a note anchor or reference
  • as a consequence, our approach relies more on editor consistency across a site

More technical details:

  • we save notes inside the same rich text field/block
  • we do not create an extra database model
  • we do not require an extra InlinePanel
  • you can copy anchors and their references directly from Office documents (only from LibreOffice, for now), the links are created automatically
  • future database migrations can be easier as the data is less spread
  • We are not limited to 1 set of footnotes per page, you can have many footnotes section if needed, one per rich text field/block

Install

  1. pip install wagtail-notes
  2. Add 'wagtail_notes', to INSTALLED_APPS, before 'wagtail.admin',
  3. Add 'wagtailfontawesomesvg', to INSTALLED_APPS if it is not already added. Its position does not matter.
  4. Add 'note-anchor' and 'note-reference' features to your Draftaileditor features. Example:
     WAGTAILADMIN_RICH_TEXT_EDITORS = {
         'default': {
             'WIDGET': 'flaubert.rich_text.TypographicDraftailRichTextArea',
             'OPTIONS': {
                 'features': [
                     'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'bold', 'italic',
                     'link', 'document-link', 'note-anchor', 'note-reference', 'image', 'embed',
                 ],
             },
         },
     }
    

Usage

2 new buttons will appear in the Draftail bar. To use them, you must select some text first. You also need to create a note before making a reference to this note.

Typically, for creating footnotes:

  1. Add a paragraph to your RichTextField/RichTextBlock.
  2. Add another paragraph at the end of the same rich text, starting with 1. and containing a comment about something in the paragraph written in step 1.
  3. Select just 1. and click on “Note anchor”, then give a unique name to that note. It can be a number too, but we recommend you to give a more meaningful name, as it makes it easier to change the order of notes later.
  4. Go back to the step 1 paragraph, and write [1] just after the place that the note will comment (no space). Select [1] and click on “Note reference”. Select the unique name of the note you wrote in step 3.
  5. The [1] part will be rendered as:
    <a id="slugified-unique-name-reference" href="#slugified-unique-name" data-note="reference">[1]</a>
    
    The 1. part will be rendered as:
    <a id="slugified-unique-name" href="#slugified-unique-name-reference" data-note="anchor">1.</a>
    

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

wagtail_notes-1.0.2.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wagtail_notes-1.0.2-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file wagtail_notes-1.0.2.tar.gz.

File metadata

  • Download URL: wagtail_notes-1.0.2.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.15

File hashes

Hashes for wagtail_notes-1.0.2.tar.gz
Algorithm Hash digest
SHA256 9e19d839ef7195363d019fbb1ad078f770ca93da9204777196c8f3938faa45c4
MD5 5b81d2aa7f9db44434123b79e3e6e282
BLAKE2b-256 aba07682210167a8f87438448c6d232c957e58ff8da3859acddff86ed62ec1b0

See more details on using hashes here.

File details

Details for the file wagtail_notes-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for wagtail_notes-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e4401ccbd361acd6e1d381cf66424f537a1477a37fbfa0383e1083e8484f3cc5
MD5 b8dae606bdcaf1565011c65ebc716f8e
BLAKE2b-256 2fdae090192935ee785727ff335282b3028fdde98e3350eb10e14d0c43be337c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page