Socket
Socket
Sign inDemoInstall

11x-wagtail-blog

Package Overview
Dependencies
7
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    11x-wagtail-blog

11x Wagtail Blog


Maintainers
1

Readme

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.

.. code-block:: html

<!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>

.. |PyPI| image:: https://img.shields.io/pypi/v/11x-wagtail-blog :target: https://pypi.org/project/11x-wagtail-blog/ .. |Build| image:: https://github.com/11x-engineering/11x-wagtail-blog/actions/workflows/package.yml/badge.svg :target: https://github.com/11x-engineering/11x-wagtail-blog/actions/workflows/package.yml .. |Supported Python versions| image:: https://img.shields.io/pypi/pyversions/11x-wagtail-blog.svg :target: https://pypi.org/project/11x-wagtail-blog/ .. |Documentation| image:: https://readthedocs.org/projects/11x-wagtail-blog/badge/?version=latest :target: https://11x-wagtail-blog.readthedocs.io/en/latest/?badge=latest .. |Downloads| image:: https://pepy.tech/badge/11x-wagtail-blog/month :target: https://pepy.tech/project/11x-wagtail-blog/

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc