Django-Spellbook

Version 0.1.12

Released: April 30, 2025

This release introduces flexible reporting options for the spellbook_md command, allowing you to customize output for different workflows and enabling better integration with CI/CD pipelines.

New Features

Configurable Reporting

The spellbook_md command now supports customizable reporting through command-line arguments:

python manage.py spellbook_md --report-level=detailed --report-format=text

Report Levels

Control the verbosity of information:

  • --report-level=minimal: Only show essential summary information
  • --report-level=detailed: Include comprehensive processing details (default)
  • --report-level=debug: Provide maximum diagnostic information for troubleshooting

Report Formats

Choose the output format that best suits your workflow:

  • --report-format=text: Human-readable text output (default)
  • --report-format=json: Machine-readable JSON format for CI/CD integration
  • --report-format=none: Suppress all reporting output

Report Output Redirection

Save reports to a file instead of displaying in the console:

python manage.py spellbook_md --report-output=processing_report.json --report-format=json

This is particularly useful for:

  • Preserving processing records for reference
  • Automated workflow integration
  • Analyzing processing results programmatically

Improvements

Accordion Block

The new Accordion SpellBlock provides collapsible content sections, perfect for FAQs, tutorials, and organizing lengthy content.

The open=true parameter controls whether the accordion starts expanded upon rendering.

{~ accordion title="What is Django Spellbook?" ~}
Django Spellbook is a markdown processor that extends markdown with reusable content components for Django.
{~~}

{~ accordion title="Installation" open=true ~}
Install with pip: `pip install django-spellbook`
{~~}

Install with pip: pip install django-spellbook

Dynamic Metadata Display System

Introduce show_metadata template tag with two display modes:

  1. User-Facing Metadata:

{% load spellbook_tags %}
{% show_metadata %}

You can include this tag in your spellbook base template to display metadata for the current page. This page contains the following metadata:

  • Title V0.1.12
  • Created At May 2, 2025, 11:51 p.m.
  • Tags ['release', 'v0.1.12']
  • Custom Meta {}
  • Word Count 523
  • Reading Time 2
  • Prev Page (optional)
  • Next Page (optional)

TODO: Add an author field to the metadata and update the defeault metadata template to display it.

  1. Developer-Facing Metadata:

{% load spellbook_tags %}
{% if user.is_authenticated and user.is_staff %}
    {% show_metadata 'for_dev' %}
{% endif %}

You can include this tag in your spellbook base template to display metadata for the current page.

This page contains the following metadata:

  • URL v0_1/12

TODO: Add more fields that developers can use to debug and troubleshoot their content.

Features:

  • Automatic date tracking (created)

  • Reading time estimates

  • Content navigation links

  • Custom key-value pairs

  • Responsive grid layout

ℹ️

We're committed to continuous improvement. If you have feedback or feature requests for future versions, please open an issue on GitHub.