mandel/stable/: ocyan-plugin-wagtail-blog-2.0.1 metadata and description

Homepage Simple index Newer version available

Reusable Wagtail blog pages for the MandelBlogStack/Ocyan stack

author Mandel
author_email [email protected]
classifiers
  • License :: Other/Proprietary License
  • Framework :: Ocyan
  • Environment :: Plugins
description_content_type text/markdown
dynamic
  • author
  • author-email
  • classifier
  • description
  • description-content-type
  • home-page
  • provides-extra
  • requires-dist
  • requires-python
  • summary
provides_extras
  • test
requires_dist
  • ocyan.core
  • wagtail-roadrunner
  • oxyan.themes; extra == "test"
  • ocyan.plugin.testing; extra == "test"
  • wheel; extra == "test"
  • empty_testproject; extra == "test"
  • pylint-django; extra == "test"
  • isort; extra == "test"
  • ruff; extra == "test"
  • ocyan.plugin.wagtail; extra == "test"
  • vdt.versionplugin.wheel; extra == "test"
  • coverage; extra == "test"
  • ocyan.plugin.coyote; extra == "test"
requires_python >=3.6
File Tox results History
ocyan_plugin_wagtail_blog-2.0.1-py3-none-any.whl
Size
40 KB
Type
Python Wheel
Python
3
ocyan_plugin_wagtail_blog-2.0.1.tar.gz
Size
24 KB
Type
Source

Ocyan plugin Wagtail Blog

ocyan.plugin.wagtail_blog provides a small, extendable Wagtail blog layer for the MandelBlogStack/Ocyan stack. It is intentionally lightweight: the plugin owns the page models, default templates, and a narrow set of query helpers, and expects projects/themes to override templates or helper classes when they need different presentation or editorial behavior.

What it provides

Installation

Add ocyan.plugin.wagtail_blog to your project dependencies and enable it in your project plugin configuration.

Optional integrations

The core list/detail blog pages remain usable even if a project does not use Coyote stream blocks.

Configuration

The plugin works without custom settings. One optional setting is available in config.json:

Extension points

The plugin keeps its query and pagination behavior override-friendly.

Utility override hooks exposed through Ocyan class loading:

Model override seams:

Templates are also intended to be project/theme overridable:

Premium presentation partials are also plugin-owned and safe to override individually:

This keeps the default design reusable while allowing projects and themes to replace only the pieces they need.

Template styles

BlogPageList now owns the visual template pack selection through the template_style field:

The style selector is stored only on BlogPageList. Detail pages inherit from their parent overview page:

This keeps the contract extendable: projects can override either the default templates, the premium pack, or the helper methods that resolve template names.

Static CSS remains compiled and shipped:

There is no runtime SCSS loading in either template pack.

Template contract

The default templates assume these context values:

Projects can safely override presentation templates without changing the model API as long as they keep using those context values.

SEO and structured data

The plugin now exposes lightweight SEO helpers without adding new content-model fields:

Meta description fallback for blog articles is:

  1. search_description
  2. stripped intro
  3. None

Structured data is rendered through an overridable partial:

Canonical and paginated SEO link tags are rendered through a separate overridable partial:

The default canonical behavior is conservative and explicit:

PageMakerBlogPage uses the blog-owned template override blog/pagemaker_blog_item.html, which extends the generic Roadrunner BS5 page template and injects the same blog canonical / structured-data hooks as the standard detail page.

The default schema output is intentionally conservative:

Optional fields such as description, image, and modified date are only included when the relevant data is available.

Legacy field note

BlogPage.magento_id remains present for backward compatibility with older project integrations. It should be treated as a legacy field and not as a required part of the generic blog contract.

Testing

Focused checks for this plugin:

/Users/motolaniolaiya/kitchensink/.venv/bin/ruff check ocyan/plugin/wagtail_blog
/Users/motolaniolaiya/kitchensink/.venv/bin/black --check --exclude 'migrations/*' ocyan/plugin/wagtail_blog

Plugin tests can then be run through the host project or a minimal Ocyan/Wagtail test host, depending on the environment available.