Skip to content

kingsdigitallab/django-kdl-wagtail

Repository files navigation

Django KDL Wagtail

image

image

image

KDL Wagtail Base Models

Documentation

The full documentation is at https://django-kdl-wagtail.readthedocs.io.

Quickstart

Install Django KDL Wagtail:

pip install django-kdl-wagtail

Add it to your `INSTALLED_APPS`:

Features

  • A Core Wagtail application, kdl_wagtail.core with:
    • An abstract BasePage that contains and introduction and image fields, which all the other class in this package extend
    • A RichTextPage with just a RichTextField (WYSIWYG)
    • A StreamPage with a StreamField body
    • An abstract BaseIndexPage, with functions to return the page's live children, context, and a function to paginate the children
    • An IndexPage
    • A set of reusable StreamField blocks
    • Simple default templates for the pages and blocks defined in the module
  • A public API based on Wagtail's API https://docs.wagtail.io/en/latest/advanced_topics/api/v2/configuration.html
  • People application, kdl_wagtail_people with:
    • A Person snippet, this is accessible from the Wagtail menu bar
    • A PersonPage
    • A PeopleIndexPage
  • Zotero application, `kdl_wagtail_zotero`:
    • A Bibliography model to store entried harvested from a Zotero collection
    • A management command, zotero_import, to import entries from a Zotero collection
    • A BibliographyIndexPage, to display all the bibliography entries
    • The Zotero based Bibliography is available from the Wagtail menu bar
  • Custom settings
    • Footer customisation
    • Analytics integration
  • ProxyPage: a new page type to support shortcuts and external links in menus

TODO

  • generic front end search page (with filters for tags, page types, ...)
  • generic/abstract wagtail form page
    • contact us page (could possibly inherit from wagtail form page)
  • FAQ page

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

Credits

Tools used in rendering this package: