Skip to main content

11x Wagtail Blog

Project description

11x Wagtail Blog

PyPI Build Supported Python versions Documentation Downloads

11x Wagtail Blog

11x-wagtail-blog is a wagtail app implementing basic blog features for a wagtail site. This project started as an implementation of the blogging features of 11x.engineering, but since it is intended to be used as the first series of articles, it has been open sourced and published here. It is intended to demonstrate how to develop a fully featured package published to PyPI.

Quick Start

To install:

pip install 11x-wagtail-blog

Add x11x_wagtail_blog to your INSTALLED_APPS:

INSTALLED_APPS = [
    ...,
    'x11x_wagtail_blog',
    ...,
]

Since this package only gives you the common features of every blogging application, you will need to define your own page models and derive them from ExtensibleArticlePage:

>>> from x11x_wagtail_blog.models import ExtensibleArticlePage
>>> from wagtail.admin.panels import FieldPanel
>>> from wagtail.blocks import TextBlock
>>> from wagtail.fields import StreamField
>>> class MyArticlePage(ExtensibleArticlePage):
...     body = StreamField([
...         ("text", TextBlock()),
...     ], use_json_field=True)
...
...     content_panels = ExtensibleArticlePage.with_body_panels([
...         FieldPanel("body"),
...     ])

This can be done in any valid Wagtail app.

Next, generate your migrations as usual:

python manage.py makemigrations
python manage.py migrate

You will have to define a template. The default template used is x11x_wagtail_blog/article_page.html, but you should override the get_template() method to return your own template.

<!DOCTYPE html>
<html>
  <head>...</head>
  <body>
    <h1>{{ self.title }}</h1>

    {% include_block self.body %}

    <h2>About the authors</h2>
    {% for author in self.authors %}
    {% include "myblog/about_the_author_section.html" with author=author.value %}
    {% endfor %}

    <h2>Related Articles</h2>
    <ul>
    {% for article in self.related_articles %}
    <li><a href="{% pageurl article %}">{{ article.title }}</a></li>
    {% endfor %}
    </ul>
  </body>
</html>

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

11x_wagtail_blog-0.2.0.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

11x_wagtail_blog-0.2.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file 11x_wagtail_blog-0.2.0.tar.gz.

File metadata

  • Download URL: 11x_wagtail_blog-0.2.0.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for 11x_wagtail_blog-0.2.0.tar.gz
Algorithm Hash digest
SHA256 df04f74d20cb37b1e3e27206a8d294821bdefb0af13af4c0fc2875c4f57b5ce9
MD5 97252b9473346cc00fe22ae06ee39a46
BLAKE2b-256 93613f635a4e866ed1724cb68c92038bc2f82b954c738fca3de1af4975a1df00

See more details on using hashes here.

File details

Details for the file 11x_wagtail_blog-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for 11x_wagtail_blog-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0cf6e1a81f6dd333a915bf19729e483dc150aabc0fd292ce6dde4332ce34b3eb
MD5 f4772bbab0cab06c3852d81f659d455e
BLAKE2b-256 11ca78c839edb023acdef2d0a55cb30889c1a4a9457ede26e88b7f8906793552

See more details on using hashes here.

Supported by

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