oelna / microblog

A simple-ish PHP app that stores status updates as small posts in a SQLite database.
MIT License
55 stars 7 forks source link
blog feed indieweb json microblog php rss tweets

Mini Microblog

A simple PHP app that stores Twitter-like status updates in a sqlite database. It also generates a JSON feed, that can be used as a source for the Micro.Blog service. It is aimed at people who would like to host their own micro.blog, but want to avoid using Wordpress for it.

The app supports crossposting to Bluesky and also acts as a member of the Fediverse, in that eg. Mastodon/ActivityPub users can follow and like status updates.

a screenshot of the microblog app

There is a timeline view of your own posts, as well as a simple 'compose post' page behind a login form. Right now, only a unique ID, the post content and creation timestamp, edit time and delete status are saved for each entry, so this is only suitable for one user.

The entire design is in a directory inside a /css/ (eg. microblog/microblog.css) and can be modified easily. The site HTML is pretty straightforward and should be easy to style from the /templates/ and /snippets/ directories.

ATOM and JSON feeds are provided and rerendered as static files when posting.

If the PHP version on the server supports it, an XML-RPC interface is provided to enable posting from external apps, such as Marsedit. Please set an app_token in config.php as secret to use with your username. If you don't set one, you have to use your login password to authenticate. You can use the metaWeblog API, that is discovered automatically, or add a Micro.Blog account and point it to your site. As a bonus, you can schedule posts this way, if you set the creation date in the future ;)

The app requires at least PHP 7.2 and was tested on 8.1. It needs mbstring, curl, sqlite and openssl modules.

Installation

Optional

To Do

Support my work

The app is provided for free, but if you'd like to support what I do, please consider tipping or sponsoring – it is greatly appreciated. Can't promise it'll buy you software support, but if you send a reasonable PR, I'm happy to accept improvements to the app. Links are under GitHub's official sponsor button.