PHPackages                             harentius/blog - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. harentius/blog

Abandoned → [harentius/blog-bundle](/?search=harentius%2Fblog-bundle)ArchivedProject[Parsing &amp; Serialization](/categories/parsing)

harentius/blog
==============

The "Symfony Standard Edition" distribution

v3.0.4(8y ago)070[2 PRs](https://github.com/harentius/blog/pulls)MITPHPPHP &gt;=5.6

Since Jun 27Pushed 1y ago1 watchersCompare

[ Source](https://github.com/harentius/blog)[ Packagist](https://packagist.org/packages/harentius/blog)[ RSS](/packages/harentius-blog/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (1)Dependencies (13)Versions (5)Used By (0)

Blog
====

[](#blog)

Overview
--------

[](#overview)

`harentius/blog` is a minimalistic blogging engine.
It is designed to use Markdown files for content and transform them into blog posts.
The directory structure represents a categories tree.

It consists of the following parts:

### Symfony application (`src/BlogBundle`)

[](#symfony-application-srcblogbundle)

It is used to store and display blog posts. Provides an API to manage blog and a UI to display it. It is also available as a standalone Symfony bundle [harentius/blog-bundle](https://github.com/harentius/blog-bundle), which is a subsplit of this engine.

### Markdown renderer and publisher (`src/publisher`)

[](#markdown-renderer-and-publisher-srcpublisher)

Renders markdown and publish it in a blogging application.

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

[](#installation)

*Requirements: docker, make, nodejs (for publisher)*

1. Clone the repository

```
git clone git@github.com:harentius/blog.git

```

2. Start containers and do initial setup

```
make up

```

3. Build a DB schema

```
make build-db

```

4. Install npm modules for publisher

```
cd src/publisher && npm install

```

3. The blog application should be available on the address

Mentioned steps run required containers and mounts source folder and can be used for development and experimenting. For more check `support/examples` configs for more production-ready setup.

Usage
-----

[](#usage)

1. Generate API token

```
make api-key

```

2. Create a blog post It is an markdown file with the following structure:

```
# Title (is required)

###### Meta Description: Blog Post Meta Description (Optional)
###### Meta Keywords: Blog Post Meta Keywords (Optional)
###### Published at: Publication date (Default is "now")

Here starts the content.
It also can contain an image
![](blog-post-url/some-image.png)

And a youtube video
[Video](https://www.youtube.com/embed/video_id?wmode=transparent)

```

The publisher also supports images and other files, including the cover file. They should be stored in the directory with the same name as the blog, but without ".md". For example:

```
/path/to/dir/with-blog-files/ Category/Subcategory/blog-post-url/

```

3. Publish the blog post

```
HOST=https://blog.url API_TOKEN=your_api_token src/publisher/src/main.mjs add /path/to/dir/with-blog-files/ Category/Subcategory/blog-post-url.md

```

Development
-----------

[](#development)

### Build docker images

[](#build-docker-images)

```
make build

```

### Publish to dockerhub

[](#publish-to-dockerhub)

```
make publish

```

### Publish to BlogBundle to blog-bundle repository

[](#publish-to-blogbundle-to-blog-bundle-repository)

```
make publish-blog-bundle

```

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance30

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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

Every ~194 days

Total

4

Last Release

3072d ago

Major Versions

v0.1.1 → v1.0.02017-06-13

v1.0.0 → v3.0.02018-01-14

PHP version history (3 changes)v0.1.1PHP &gt;=5.3.9

v1.0.0PHP &gt;=5.5.9

v3.0.0PHP &gt;=5.6

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4300680?v=4)[Yaroslav Osypenko](/maintainers/harentius)[@harentius](https://github.com/harentius)

---

Top Contributors

[![harentius](https://avatars.githubusercontent.com/u/4300680?v=4)](https://github.com/harentius "harentius (546 commits)")

---

Tags

blogbloggingmarkdownsymfonysymfony-bundle

### Embed Badge

![Health badge](/badges/harentius-blog/health.svg)

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

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M387](/packages/easycorp-easyadmin-bundle)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M728](/packages/sylius-sylius)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.8k3.8M503](/packages/pimcore-pimcore)[oro/platform

Business Application Platform (BAP)

645143.5k114](/packages/oro-platform)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k60](/packages/open-dxp-opendxp)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M559](/packages/shopware-core)

PHPackages © 2026

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