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. [Utility &amp; Helpers](/categories/utility)
4. /
5. opengeek/content

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

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

Simple content management abstractions

0.1.0(3mo ago)012MITPHPPHP ^8.3CI passing

Since Mar 10Pushed 3mo agoCompare

[ Source](https://github.com/opengeek/content)[ Packagist](https://packagist.org/packages/opengeek/content)[ RSS](/packages/opengeek-content/feed)WikiDiscussions main Synced 3w 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

34

—

LowBetter than 75% of packages

Maintenance80

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity39

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

105d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/232812?v=4)[Jason Coward](/maintainers/opengeek)[@opengeek](https://github.com/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)
```

###  Alternatives

[ctidigital/magento2-configurator

Keep magento persistently configured using files

174342.9k](/packages/ctidigital-magento2-configurator)[nadar/stemming

Stemming by Language

16151.0k7](/packages/nadar-stemming)[l91/iso-3166-2

PHP Lib for ISO 3166-2

15167.4k1](/packages/l91-iso-3166-2)[igorescobar/jquery-mask-plugin

A jQuery Plugin to make masks on form fields and html elements.

10270.8k4](/packages/igorescobar-jquery-mask-plugin)[mindshape/mindshape-cookie-consent

This extension provides functionality to create a customizable cookie consent for your website. It is developed for flexibility to be customized in accordance to your data security guidelines.

11155.1k](/packages/mindshape-mindshape-cookie-consent)[stape/gtm-server-side-magento-module

Stape Conversion Tracking Magento Module

1363.5k](/packages/stape-gtm-server-side-magento-module)

PHPackages © 2026

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