Updated 2023 Jun 03 by Likho (firstname.lastname@example.org)
microblog.py is a simple microblog generation
script written in under 500 lines of Python.
If you use it, let me know. I can also add you to my webring.
- tag cloud
- configuration file
- sorting (backdating)
Perks over social media platforms.
- less drama
- not “software-as-a-service”
- self-stewardship of data
- no moderator abuse
- viewable on older computers and browsers
- low requirements
- doesn’t get invoked each visit (unlike f/CGI)
- doesn’t need to be run 24/7 (unlike web server application)
- doesn’t involve a relational database system
microblog.py assumes the user has a basic
understanding of HTML and CSS. There is no code specific to an
operating system, but Linux users would have the least trouble
These are the sequence of commands to get started.
git clone https://notabug.org/likho/microblog.py microblog cd microblog cp example/Makefile . make
This means to:
- download the program using a git client into a folder called
- enter the folder
- copy and paste the file
example/Makefileinto the current folder.
This should generate an example page named
result.html which can be opened in a web browser for
preview. It should also avail the files
content.txtis the user content
settings.tomlis the configuration file
template.tplis the html page template
timeline.cssis the style sheet that defines the layout and proportions of page elements; by default, it minimally defines color.
To help discern which elements are which, some borders in
result.html are color-coded in red, blue, and
If you don’t want to use Gnu Make…
make is only there for convenience. If you want to
use another interface, this is the page generation command:
python microblog.py ./template.tpl ./content.txt > result.html
You can rename the files
result.html however you
wish. THese are only names provided by example.
Assuming you have the program already downloaded by git.
git checkout syndication
example/settings.toml or online at https://notabug.org/likho/microblog.py/src/syndication/example/settings.toml#L33.
Note, I don’t consider the webring branch finalized as of May 6, 2023. Updates to the branch may involve changes to the settings file.
Adding to webring
The followers list is an array of strings.1
An array can also be broken into multiple lines.
list = [ "https://likho.neocities.org/microblog/meta.json", "https://somewhere.else/microblog/meta.json" ]
See https://toml.io/en/v1.0.0#array for acceptable syntax.
You can add someone on an alternate DNS root like OpenNIC as long as your computer resolves the URL. Just don’t expect that same URL to resolve for everyone else visiting your page.
microblog.py on the branch
uses HTTP connections only to fetch data.4`
Proxy support has been added to
syndication in commit e4af5bbd6aca8f06baa6e29d57090481eb208193.
By the default behavior of
the script will respond to environment variables such as
Tor support can be enabled by setting either
As a result, the full script invocation will look like:
https_proxy=socks://127.0.0.1:9050 python microblog.py
Why I’m not using the Fediverse
The foremost alternative to Twitter or Tumblr was the Fediverse, and I lost interest in the Fediverse for reasons as complex as the Fediverse is. But an approximation is that it is very easy to find poor administration or overbearing moderation in the Fediverse. The visibility of content is also subject to arbitrary white/blacklisting set by the administrator.6
I originally had profiles on
sendero.social. Both sites are offline now. However, I
also found myself a misfit in a culture of people who want
information delivered on a timeline.