neopub

From IndieWeb
Jump to: navigation, search
neopub-screenshot-1.png

neopub is a blogging software developed by Robin Boers. It runs micro.geheimesite.nl and is written in PHP. It has a built-in micropub endpoint and sends webmentions. neopub is inspired by neofeed, publog and aaronparecki.com.


A microblog running neopub can also be called a neolog.

Features

neopub has a built-in micropub endpoint that supports the following post-types:

It sends webmentions for all of the above-mentioned post-types. It also supports filtering:

  • per year
  • per tag
  • per post-type

Planned

These features are planned, but not yet implemented:

  • media endpoint to support posting photos
  • editing or deleting posts

Design

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.

Source

neopub is open-source and available on GitHub and licensed as Apache License 2.0.

If you want to self-host it, these are the requirements:

  • PHP 7.4.3
  • Apache (with support for .htaccess)

The main config is in config.php, but you might want to change the theme as well (which can be done by editing the main.css file in the assets directory)

License

neopub 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.