Skip to content

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

License

Notifications You must be signed in to change notification settings

noripyt/wagtail-notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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>

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published