opengeek / content-markdown
Markdown repository for opengeek/content
0.1.0
2026-03-11 16:28 UTC
Requires
- php: ^8.3
- mnapoli/front-yaml: ^2.0
- opengeek/content: ^0.1.0
- symfony/finder: ^7.0
Requires (Dev)
- marcocesarato/php-conventional-changelog: ^1.17
- phpunit/phpunit: ^11.0
- symfony/console: ^7.0
README
Markdown file repository implementation for opengeek/content.
Installation
composer require opengeek/content-markdown
Features
- Generic Base:
AbstractMarkdownRepositoryto easily build additional file-based content types. - Mappers:
ContentMapperInterfacesupport for decoupling raw Markdown/YAML data from DTOs. - Read-only: Designed for performant, read-only filesystem-based content.
- Front Matter: Full YAML front matter support via
mni/front-yaml. - Recursive Discovery: Built-in support for nested directory structures.
Usage
use Opengeek\Content\Markdown\MarkdownArticleRepository; use Opengeek\Content\Markdown\MarkdownArticleRepositoryConfig; use Opengeek\Content\Markdown\MarkdownArticleMapper; $config = new MarkdownArticleRepositoryConfig( contentPath: __DIR__ . '/content/articles', recursive: true ); $repository = new MarkdownArticleRepository( $config, new MarkdownArticleMapper() ); $articles = $repository->findAll();