{"id":19776896,"url":"https://github.com/neoground/charm-blog","last_synced_at":"2026-05-11T21:35:42.603Z","repository":{"id":208498425,"uuid":"666563394","full_name":"neoground/charm-blog","owner":"neoground","description":"A blog engine for charm framework","archived":false,"fork":false,"pushed_at":"2024-02-01T17:41:27.000Z","size":51,"stargazers_count":1,"open_issues_count":13,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T01:45:13.364Z","etag":null,"topics":["charm"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neoground.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-14T21:10:35.000Z","updated_at":"2023-11-20T20:15:34.000Z","dependencies_parsed_at":"2023-11-21T20:30:08.113Z","dependency_job_id":"3b1432b8-f6f5-4703-b730-6cc17e222726","html_url":"https://github.com/neoground/charm-blog","commit_stats":null,"previous_names":["neoground/charm-blog"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoground%2Fcharm-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoground%2Fcharm-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoground%2Fcharm-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoground%2Fcharm-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neoground","download_url":"https://codeload.github.com/neoground/charm-blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241107359,"owners_count":19910973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["charm"],"created_at":"2024-11-12T05:22:16.064Z","updated_at":"2026-05-11T21:35:42.598Z","avatar_url":"https://github.com/neoground.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A Blog Module for Charm Framework 3.1+\n\nThis provides blog functionalities for Charm apps.\n\nAll blog posts are markdown files with YAML frontmatter. You can easily add thumbnails and hero images and\nassets of all kind.\n\nThe whole blog engine runs flat-file, including comments handling. But you can also provide Redis\nfor better performance and caching.\n\n🚧 This project is incomplete and still WIP. It is mostly a reference implementation for charm modules.\n   The code from here might end up in a successor project like racpub.\n\n## Features\n\n- Create RSS feeds easily via the `RssFeed` class\n- Easily access, filter, sort and paginate rss posts\n- Saves blog posts metadata as file and in redis\n- Configure the blog via `blog.yaml`\n\n## Installation\n\nBegin your quest by adding charm-blog to your project via Composer:\n\n```bash\ncomposer require neoground/charm-blog\n```\n\nNext, install charm-markdown in your application:\n\n```bash\nbob cm:i neoground/charm-blog\n```\n\nIf you haven't installed charm-markdown yet, install it as well:\n\n```bash\nbob cm:i neoground/charm-markdown\n```\n\n## Usage\n\nTodo. This module is in early alpha. A usage guide will follow once we reach a beta state soon.\n\nFor a reference implementation see the [Markcoon](https://github.com/neoground/markcoon) project. \nIt's a simple-to-use blog which uses this module under the hood.\n\n### Configuration\n\nConfiguration in your app's `user.yaml`:\n\n```yaml\nrss:\n  # Title, link, description can be multilingual, e.g. \"description_de\" for german\n  title_en: My English Blog\n  link_en: https://example.com/en/blog\n  # Description of RSS feed\n  description_en: Description of our blog\n  # Absolute URL to blog index page\n  blog_base_url: https://example.com/blog\n  # Generator + Copyright tags\n  generator: Charm Blog v1.0\n  copyright: (c) ACME Corp - All rights reserved\n  # Path to feed icon, relative to base URL\n  image_relpath: icon.png\n  # Prefix to add to each post slug for the guid\n  guid_prefix: blog\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneoground%2Fcharm-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneoground%2Fcharm-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneoground%2Fcharm-blog/lists"}