neoground/charm-blog

0.2 2024-02-01 16:53 UTC

This package is auto-updated.

Last update: 2025-06-22 08:48:06 UTC


README

This provides blog functionalities for Charm apps.

All blog posts are markdown files with YAML frontmatter. You can easily add thumbnails and hero images and assets of all kind.

The whole blog engine runs flat-file, including comments handling. But you can also provide Redis for better performance and caching.

🚧 We're currently working on a hybrid solution, which allows you to manage your blog posts also remotely via a REST API. The API will also be able to synchronize assets and comments.

Features

  • Create RSS feeds easily via the RssFeed class
  • Easily access, filter, sort and paginate rss posts
  • Saves blog posts metadata as file and in redis
  • Configure the blog via blog.yaml

Installation

Begin your quest by adding charm-blog to your project via Composer:

composer require neoground/charm-blog

Next, install charm-markdown in your application:

bob cm:i neoground/charm-blog

If you haven't installed charm-markdown yet, install it as well:

bob cm:i neoground/charm-markdown

Usage

Todo. This module is in early alpha. A usage guide will follow once we reach a beta state soon.

For a reference implementation see the Markcoon project. It's a simple-to-use blog which uses this module under the hood.

Configuration

Configuration in your app's user.yaml:

rss:
  # Title, link, description can be multilingual, e.g. "description_de" for german
  title_en: My English Blog
  link_en: https://example.com/en/blog
  # Description of RSS feed
  description_en: Description of our blog
  # Absolute URL to blog index page
  blog_base_url: https://example.com/blog
  # Generator + Copyright tags
  generator: Charm Blog v1.0
  copyright: (c) ACME Corp - All rights reserved
  # Path to feed icon, relative to base URL
  image_relpath: icon.png
  # Prefix to add to each post slug for the guid
  guid_prefix: blog