PHPackages                             opengeek/content - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. opengeek/content

ActiveLibrary

opengeek/content
================

Simple content management abstractions

0.1.0(2mo ago)01↓100%2MITPHPPHP ^8.3CI passing

Since Mar 10Pushed 1mo agoCompare

[ Source](https://github.com/opengeek/content)[ Packagist](https://packagist.org/packages/opengeek/content)[ RSS](/packages/opengeek-content/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (2)Used By (2)

opengeek/content
================

[](#opengeekcontent)

[![PHP ^8.3](https://camo.githubusercontent.com/9d9ec35e438d32eee58734a510238e61050b48e92f67595cd0047b61f5ece336/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e332d626c7565)](https://camo.githubusercontent.com/9d9ec35e438d32eee58734a510238e61050b48e92f67595cd0047b61f5ece336/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e332d626c7565)

The core package for the Opengeek Content library. Provides backend-agnostic contracts, types, collections, and shared exceptions for content management.

Installation
------------

[](#installation)

```
composer require opengeek/content
```

What's Included
---------------

[](#whats-included)

- **Contracts**: Generic interfaces for repositories (`ContentRepositoryInterface`) and collections (`ContentCollectionInterface`).
- **Support**: `ContentCollectionTrait` for rapid collection implementation with filtering, sorting, and slicing.
- **Caching**: `CachingContentRepository` decorator to add PSR-6/Symfony Cache support to any repository.
- **Article DTO**: A pure value container for article data.
- **ArticleCollection**: A typed, immutable, and searchable collection of `Article` objects.
- **ArticleRepositoryInterface**: Specialized contract for reading articles.
- **ArticlePersisterInterface**: Contract for writing articles.
- **MarkdownRendererInterface**: Implementation-agnostic interface for rendering Markdown to HTML.
- **Shared Exceptions**: `ContentException`, `ContentNotFoundException`, `ContentMappingException`, etc.

Usage
-----

[](#usage)

This package provides the interfaces you should depend on in your application logic. To actually load or save content, you will need one of the implementation packages:

- `opengeek/content-markdown`: Read-only Markdown file repository.
- `opengeek/content-dbal`: Read/write SQL persistence via Doctrine DBAL.
- `opengeek/content-markdown-renderer`: HTML rendering for Markdown content.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance88

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

60d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/21d2fffab15f3e6d2f9f282e75aa939fad57a55608fb16e1f018187f60cd091b?d=identicon)[opengeek](/maintainers/opengeek)

---

Top Contributors

[![opengeek](https://avatars.githubusercontent.com/u/232812?v=4)](https://github.com/opengeek "opengeek (18 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/opengeek-content/health.svg)

```
[![Health](https://phpackages.com/badges/opengeek-content/health.svg)](https://phpackages.com/packages/opengeek-content)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
