🐘 Mastodon is My Blog
An alternative Mastodon client based on a blogging interface instead of the infinite feed.
- View your friends content in person centric way
- Publish your tweet storms into a static blog.
- View your special interests in a focused way
- Write, edit, and manage your Mastodon posts in a clean, blog-style interface.
Installation
pipx install mastodon-is-my-blog
# initialize your accounts and API keys
mimb init
# launch webserver and website
mimb start
Documentation found here
Lite Client found here
Example published blog here
Why?
Because I want to re-orient my mastodon usage from low value infinite doom-scrolling to high value finite activities.
I want the UI to be human centric and encourage seeing people first.
I want the UI to encourage medium length writing as much as reading, including thought out drafts, as well as short content and replies.
Implemented Features
- Publishes static blog from your long content.
- Local Client
- Blog-reader like interface for people.
- Content hub for special interests (pictures, videos, software links, etc)
- Discussion page
- Writing Page
- Admin Page
Some design decisions
- I call the friends a blogroll and group them by
- Top Friends (people who are mutuals and have ever commented on my content)
- Mutuals (they at least read my content)
- Bots (No one is there, this is just content)
- Broadcasters (Like bots, they write but never interact, at least not with me)
- Removed dark patterns
- Refresh is done by clicking a button. Content doesn't arrive in a stream.
- Less noisy.
- All feeds are filtered, either by person or topic.
- Retweets are corralled into one place, they don't flood your feed.
- Client side hashtag bundles because viewing a hashtag on Mastodon is broken.
- Why? Because
#pythonand#python314and so on really should show in the same feed. This can only be achieved on vanilla Mastodon via the main feed, which is mixed with 99% unrelated content. Also, most hashtags have not much going on.
- Why? Because
Roadmap
- Paid hosted option.
Other good features
- Treat Mastodon as your personal blog engine. Done! Finally.
- Keep full control with local hosting. This would be ruinously expensive for me to host this for others.
- Beautiful, distraction-free writing interface. Partial!
- Engage with comments/replies easily. Not really!
- Your data stays on your Mastodon instance. Sort of! If you use Github pages, you got a copy of your posts in two places now. The rest of your data is local to your machine.
Static Storm Export
Build the Eleventy blog export for your own long posts and self-reply threads into docs\:
npm --prefix docs-src install
npm --prefix docs-src run build
Why not a single user instance?
First off, that is really a different concept. A single user instance without massive customization is still going to be same experience as mastodon.social, both for people reading your content and for you reading other people's content.
It costs a minimum of $10 a month and requires a server to be running all the time. Administering a server is a burden.
I want this to be as burdensome as using a mastodon client and have a way to use it for free.
License
MIT
Project Links
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mastodon_is_my_blog-0.6.0.tar.gz.
File metadata
- Download URL: mastodon_is_my_blog-0.6.0.tar.gz
- Upload date:
- Size: 34.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44fa90d2f6d15368531795c76f3a3d9169e85a90618cb28e1148ade43acadd2c
|
|
| MD5 |
f5e32018937d89992397e654cb0cd96b
|
|
| BLAKE2b-256 |
2036c5f07b5fafbcd01a0bee82a8175f5eb9e421af64fd823c701d5c545de8d1
|
Provenance
The following attestation bundles were made for mastodon_is_my_blog-0.6.0.tar.gz:
Publisher:
release.yml on matthewdeanmartin/mastodon_is_my_blog
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mastodon_is_my_blog-0.6.0.tar.gz -
Subject digest:
44fa90d2f6d15368531795c76f3a3d9169e85a90618cb28e1148ade43acadd2c - Sigstore transparency entry: 2191624569
- Sigstore integration time:
-
Permalink:
matthewdeanmartin/mastodon_is_my_blog@0e898ba279adbaf2c8e0b617e6ee60c5be0d719c -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/matthewdeanmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0e898ba279adbaf2c8e0b617e6ee60c5be0d719c -
Trigger Event:
release
-
Statement type:
File details
Details for the file mastodon_is_my_blog-0.6.0-py3-none-any.whl.
File metadata
- Download URL: mastodon_is_my_blog-0.6.0-py3-none-any.whl
- Upload date:
- Size: 394.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f0e4887be7f8843df4226cd2819544d71763031d928bd3d94e307efa643959f
|
|
| MD5 |
dbc6b81a7c3dd4974ca5d7490c3502ff
|
|
| BLAKE2b-256 |
582b13c5fe11b4ae271edd6a20661301398174f848c8451c698f5a975230d960
|
Provenance
The following attestation bundles were made for mastodon_is_my_blog-0.6.0-py3-none-any.whl:
Publisher:
release.yml on matthewdeanmartin/mastodon_is_my_blog
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mastodon_is_my_blog-0.6.0-py3-none-any.whl -
Subject digest:
2f0e4887be7f8843df4226cd2819544d71763031d928bd3d94e307efa643959f - Sigstore transparency entry: 2191624624
- Sigstore integration time:
-
Permalink:
matthewdeanmartin/mastodon_is_my_blog@0e898ba279adbaf2c8e0b617e6ee60c5be0d719c -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/matthewdeanmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0e898ba279adbaf2c8e0b617e6ee60c5be0d719c -
Trigger Event:
release
-
Statement type: