PHPackages                             withcandour/statamic-blog-helpers - 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. withcandour/statamic-blog-helpers

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

withcandour/statamic-blog-helpers
=================================

Designed to enhance your statamic blog

0.1.3(5y ago)04.4k↓33.3%1PHP

Since Feb 17Pushed 5y ago1 watchersCompare

[ Source](https://github.com/WithCandour/statamic-blog-helpers)[ Packagist](https://packagist.org/packages/withcandour/statamic-blog-helpers)[ RSS](/packages/withcandour-statamic-blog-helpers/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)DependenciesVersions (5)Used By (0)

Statamic Blog Helpers
=====================

[](#statamic-blog-helpers)

[![Statamic 3.0+](https://camo.githubusercontent.com/93c61a311851e398f5663226aca5d307d91ef898067c6b294110a785d6c2e735/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53746174616d69632d332e302b2d4646323639453f7374796c653d666f722d7468652d6261646765266c696e6b3d68747470733a2f2f73746174616d69632e636f6d)](https://camo.githubusercontent.com/93c61a311851e398f5663226aca5d307d91ef898067c6b294110a785d6c2e735/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53746174616d69632d332e302b2d4646323639453f7374796c653d666f722d7468652d6261646765266c696e6b3d68747470733a2f2f73746174616d69632e636f6d)

Designed to enhance your statamic blog, currently this addon adds:

- Routes for archivable content (content which has a `date`)
- Tags for generating a list of all possible archive dates in a collection
- A [query scope](https://statamic.dev/extending/query-scopes-and-filters) for filtering your collections on the archive routes.

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

[](#installation)

#### Install via composer:

[](#install-via-composer)

```
composer require withcandour/statamic-blog-helpers

```

Then publish the publishables from the service provider:

```
php artisan vendor:publish --provider="WithCandour\StatamicBlogHelpers\ServiceProvider"

```

Tags
----

[](#tags)

This addon provides a tag for generating the archive dates for a specific Statamic collection.

By default the dates generated will be as follows:

- For any date within the current year, each month for which there is an entry will get pulled through
- Entries that have a date before the start of the current year will be grouped by their year

This example will generate a select option for each archive date.

```
{{ blog-helpers-archive:dates collection_name="blog_posts" }}
    {{ nice }}
{{ /blog-helpers-archive:dates }}

```

Archives and Routing
--------------------

[](#archives-and-routing)

By default the archive routes follow the pattern: `/{uri}/archive/{year}/{?month}`

Once installed a `config/statamic/blog-helpers.php` file will be created. In this file you may register your archives, the addon will then generate the routes and handle the rendering of the pages.

In this example an archive will be created for the `/blog` page (e.g. `blog/archive/2021/01`). It will use the `blog.archive` template view and the `layout` layout view. The title for this page will also be "Posts from" followed by the archive date.

```
'archives' => [
    [
        'uri' => '/blog',
        'view' => 'blog.archive',
        'layout' => 'layout',
        'title_prefix' => 'Posts from'
    ],
]
```

Filtering
---------

[](#filtering)

This addon adds the "blog\_helpers\_archive\_scope" query scope which you can use to filter your collection, simply give it an `archive_year` and an `archive_month` and it will filter the entries returned by your collection tag automatically.

In this example `blog_posts` from March 2019 will get pulled through:

```
{{ collection:blog_posts query_scope="blog_helpers_archive_scope" archive_year="2019" archive_month="03" }}

{{ /collection:blog_posts }}

```

The `year` and `month` variables will get passed to the template that gets rendered for the archive pages so you could simply use:

```
{{ collection:blog_posts query_scope="blog_helpers_archive_scope" :archive_year="year" :archive_month="month" }}

{{ /collection:blog_posts }}

```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 88.9% 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 ~16 days

Total

4

Last Release

1859d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7ad6111bfa2634bb972dc97a1b5b8c17e166260dae281d93876bc93b3f50c43f?d=identicon)[withcandour](/maintainers/withcandour)

---

Top Contributors

[![AndrewHaine](https://avatars.githubusercontent.com/u/16389134?v=4)](https://github.com/AndrewHaine "AndrewHaine (8 commits)")[![kristiana-s](https://avatars.githubusercontent.com/u/9308935?v=4)](https://github.com/kristiana-s "kristiana-s (1 commits)")

### Embed Badge

![Health badge](/badges/withcandour-statamic-blog-helpers/health.svg)

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

PHPackages © 2026

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