PHPackages                             srijan/kirby-micropub - 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. [API Development](/categories/api)
4. /
5. srijan/kirby-micropub

ActiveKirby-plugin[API Development](/categories/api)

srijan/kirby-micropub
=====================

Micropub server endpoint for Kirby 5 — create, update, delete, and query posts from IndieWeb clients

0.2.1(1w ago)113↓80%[1 issues](https://github.com/srijan/kirby-micropub/issues)MITPHPPHP &gt;=8.2

Since Jul 8Pushed 1w agoCompare

[ Source](https://github.com/srijan/kirby-micropub)[ Packagist](https://packagist.org/packages/srijan/kirby-micropub)[ Docs](https://github.com/srijan/kirby-micropub)[ RSS](/packages/srijan-kirby-micropub/feed)WikiDiscussions main Synced 1w ago

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

Kirby Micropub
==============

[](#kirby-micropub)

A [Micropub](https://micropub.spec.indieweb.org/) server endpoint for [Kirby 5](https://getkirby.com). It lets IndieWeb clients (iA Writer, Quill, the Micro.blog app, micropublish.net, …) create, update, delete/undelete, and query posts under a configured parent page — including `q=config`, `q=source` (single post and post lists), `q=syndicate-to`, and a media endpoint. Update, delete/undelete, and `q=source` are the pieces the old kirby3-micropublisher (unmaintained, Kirby 3) never had.

> **Status: 0.x** — the option surface and **event payload shapes are unstable pre-1.0**. Pin a version and read the changelog before upgrading.

Requires PHP &gt;= 8.2 and Kirby 5. Authentication is bearer-token only: tokens are verified against an external IndieAuth token endpoint or a config-defined static token list. The plugin does **not** host an authorization server.

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

[](#installation)

**Composer (recommended)**

```
composer require srijan/kirby-micropub

```

**Git submodule**

```
git submodule add  site/plugins/micropub

```

**Zip download** — copy the release zip's contents to `site/plugins/micropub`.

One caveat for submodule and plain source-zip installs: the HTML→Markdown converter ([league/html-to-markdown](https://github.com/thephpleague/html-to-markdown)) is a Composer dependency. Composer installs and release zips ship it; a bare source checkout does not. Without it **everything works except HTML content** — a create/update sending `content: {"html": …}` gets a clear spec-shaped `invalid_request` error instead of a conversion. To enable it, install the dependency into the plugin's `vendor/` directory (the plugin's own `composer.json` redirects default installs to `vendor-dev/`, which is only used for running the test suite):

```
cd site/plugins/micropub
COMPOSER_VENDOR_DIR=vendor composer install --no-dev

```

or add `league/html-to-markdown` to your site's own `composer.json`.

Quick start
-----------

[](#quick-start)

1. Configure at least one way to authenticate — the default token endpoint (`tokens.indieauth.com`) or a static token:

```
// site/config/config.php
return [
    'srijan.micropub' => [
        'parent'   => 'notes',   // posts are created under this page
        'template' => 'note',    // with this template
        // For clients with manual token entry (e.g. iA Writer).
        // Tokens must be >= 32 random characters; value is the scope list.
        'tokens' => [
            'REPLACE-WITH-32-PLUS-RANDOM-CHARACTERS…' => 'create update delete media',
        ],
    ],
];
```

2. Advertise the endpoint (and, for IndieAuth-flow clients like Quill, an authorization and token endpoint) in your site's ``:

```
