PHPackages                             swiftmade/blogdown - 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. [Templating &amp; Views](/categories/templating)
4. /
5. swiftmade/blogdown

AbandonedArchivedLibrary[Templating &amp; Views](/categories/templating)

swiftmade/blogdown
==================

Simple Laravel blog package using markdown

v6.0.0(2y ago)221.6k7[3 issues](https://github.com/swiftmade/blogdown/issues)MITPHPPHP ^8.0CI failing

Since Feb 20Pushed 5mo ago4 watchersCompare

[ Source](https://github.com/swiftmade/blogdown)[ Packagist](https://packagist.org/packages/swiftmade/blogdown)[ RSS](/packages/swiftmade-blogdown/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (6)Versions (16)Used By (0)

Blogdown
========

[](#blogdown)

> **This project is no longer maintained.** This repository has been archived and is no longer accepting issues or pull requests. Feel free to fork if you'd like to continue development.

*Add a simple, flat-file markdown blog to your existing Laravel application.*

[![Latest Version on Packagist](https://camo.githubusercontent.com/885b04918cf9a2cc8949cb2ed94b3f2f62dbfbac982849c6d65a75e2d0e4d638/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73776966746d6164652f626c6f67646f776e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/swiftmade/blogdown)[![Total Downloads](https://camo.githubusercontent.com/2635e9ba1d5f95b740eb2e6081ea9f25f1e194032a51e819ff4ca28cca35d912/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73776966746d6164652f626c6f67646f776e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/swiftmade/blogdown)[![GitHub Actions](https://github.com/swiftmade/blogdown/actions/workflows/main.yml/badge.svg)](https://github.com/swiftmade/blogdown/actions/workflows/main.yml/badge.svg)[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://supportukrainenow.org/)

Install
-------

[](#install)

You can install the package via composer:

```
# Require it as a dependency
composer require swiftmade/blogdown

# Publish the config file
php artisan vendor:publish --provider "Swiftmade\Blogdown\BlogdownProvider"
```

Go to `config/blogdown.php` to configure authors (example included in the file).

Post generator
--------------

[](#post-generator)

Simply run this command to make a new article:

```
php artisan blog:new
```

Follow the instructions, and you'll have your first blog post ready in seconds.

Anatomy of a post
-----------------

[](#anatomy-of-a-post)

Each post consists of a meta section (mandatory) and the content. You can use Markdown to enrich your post's format.

To use markdown inside blade, simply invoke `@markdown` / `@endmarkdown`. Or, you can also add `.md` extension before `.blade.php` and skip the markdown calls.

```
{{--
title: Hello World!
tags: blog, first post
date: 18.03.2020
--}}
Use blade to compose post content.

@markdown
**Or even use markdown** if you want.

### Isn't that great?
@endmarkdown
```

Draft vs Published
------------------

[](#draft-vs-published)

Let's say you're working on a long post and it's not production ready yet. Just do this:

```
{{--
... other attributes
draft: true
--}}

... Your awesome content ...
```

Since you added the `draft` meta attribute, this post will be hidden in `production` environments.

Meta Attributes are Dynamic
---------------------------

[](#meta-attributes-are-dynamic)

You can declare as many meta attributes as you want.

```
{{--
random_attribute: 51231
--}}
```

You can access your post's meta attributes like so:

```
$post->random_attribute; // 51231
```

Force Clear Cache
-----------------

[](#force-clear-cache)

> php artisan blog:index

Customizing Blogdown
--------------------

[](#customizing-blogdown)

You can change most things about Blogdown. To get started, publish the config:

```
php artisan vendor:publish  --provider "Swiftmade\Blogdown\BlogdownProvider"
```

**Things you can customize**

- Override views to change how your blog looks
- Add list of authors to quickly load author meta
- Format and content of post slugs
- Enable/disable default routes.
- Change date format.
- And probably more...

Format and content of post slugs
--------------------------------

[](#format-and-content-of-post-slugs)

By default, this is how a post's slug is built:

```
public function slug()
{
    return Str::slug($this->view_name);
}
```

If needed, you can override the `Post` model and build a better slug:

```
public function slug()
{
    return Str::slug($this->date->format('Y-m-d') . ' ' . $this->title);
}
```

Don't forget to register your custom `Post` model in `config/blogdown.php`!

Contributors
------------

[](#contributors)

- [@aozisik](https://github.com/aozisik)
- [@BenSampo](https://github.com/BenSampo)

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance46

Moderate activity, may be stable

Popularity28

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 81.5% 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 ~184 days

Recently: every ~280 days

Total

15

Last Release

788d ago

Major Versions

v1.2.1 → v2.0.02019-03-05

v2.1.0 → v3.0.12020-03-18

v3.1.1 → 4.0.02021-02-23

v4.0.1 → v5.0.02023-01-12

v5.1.0 → v6.0.02024-03-21

PHP version history (4 changes)v3.0.1PHP ^7.1.3

4.0.0PHP ^7.4|^8.0

v5.0.0PHP ^8.0|^8.1

v5.1.0PHP ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/735011?v=4)[Ahmet Özışık](/maintainers/aozisik)[@aozisik](https://github.com/aozisik)

---

Top Contributors

[![aozisik](https://avatars.githubusercontent.com/u/735011?v=4)](https://github.com/aozisik "aozisik (53 commits)")[![BenSampo](https://avatars.githubusercontent.com/u/1488068?v=4)](https://github.com/BenSampo "BenSampo (11 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/swiftmade-blogdown/health.svg)

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

###  Alternatives

[cagilo/cagilo

A set of open-source Blade components for the Laravel Framework

172996.5k](/packages/cagilo-cagilo)[orchid/blade-icons

An easy way inline SVG images in your Blade templates.

223.4M9](/packages/orchid-blade-icons)[wireui/heroicons

The Tailwind Heroicons for laravel blade by WireUI

43390.8k5](/packages/wireui-heroicons)[stillat/antlers-components

2656.0k1](/packages/stillat-antlers-components)[itstructure/laravel-grid-view

Grid view for laravel framework

2546.6k2](/packages/itstructure-laravel-grid-view)[ycs77/inertia-laravel-ssr-head

Simple SSR Head for Inertia Laravel

3211.5k](/packages/ycs77-inertia-laravel-ssr-head)

PHPackages © 2026

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