neopub is a blogging software developed by Robin Boers that supports indieweb building blocks Micropub and Webmention. It runs micro.geheimesite.nl and is written in PHP. neopub is inspired by neofeed, publog and aaronparecki.com.
A microblog running neopub can also be called a neolog.
- An example of eat what you cook
Add yourself here… (see this for more details)
neopub has a built-in micropub endpoint that supports the following post-types:
Images are uploaded to a GitHub repository by default, but you can change what hosting solution you want to use in uploader.php (in the utils directory).
It sends webmentions for all of the above-mentioned post-types. It also supports filtering:
- per year
- per tag
- per post-type
neopub uses a set of JSON files in the content directory to save posts. These also double as JSON feeds (although I'm not sure whether they are valid). These JSON files are categorized per year. This means every year a new JSON file will be created.
The RSS feed is dynamically built using the current year's JSON file, as are the homepage and other feed pages. Accessing previous years' posts is possible by using their permalink or using example.com/posts/2022.
neopub sends webmentions using mention-client-php after a post is published. It receives webmentions using webmention.io and displays them using a modified version of webmention.js that can be found in the assets directory. It also has a form to allow users to send manual webmentions.
You may self-host neopub for your own microblog. These are the requirements:
- PHP 7.4.3
- Apache (with support for
To self-host neopub:
- Get the source code
- Edit the main config in
utils/token.phpand enter a GitHub API token. This step is only necessary if you want to upload images to your microblog.
- Install a theme
- Optionally install neoblog, a simple dashboard for managing settings, themes, and writing notes. Keep in mind that it is still a WIP. Use at own risk.
neopub supports theming to some extent. Meaning: you can swap out the
main.css file in the
assets directory. I made some themes just to experiment. You can browse available themes here: https://neopublished.github.io/themes.
neopub is open-source and available on GitHub. It is released under the Apache 2.0 License, but php-markdown and webmention.js are released under the MIT license, while mention-client-php is released under both.