I’d like to share the latest incarnation of the IMIM blogging app on Autonomi. IMIM is shorthand for I’M IMmutable, as once your immutable blogs have been uploaded, you cannot be muted!
I’ll do a proper write up of how it all works, but I wanted to write a brief introduction and let folks have a play with it.
(Blog index with a mixture of media and etag caching)
In short, IMIM is an Angular app, built using Typescript, which expects an sn_httpd backend.
IMIM can read any public archive that you point it at. You don’t need to upload your own service, nor any Javascript or Typescript. You don’t need to worry about anyone leaching your hosting bandwidth. You just point it to your archive address, then let it render your Markdown files, complete with images and videos!
The easiest way to give it a spin is by grabbing the latest sn_httpd docker image (see here), starting a local container and taking a look at my test blog here.
Note that the IMIM app needs to run in /imim/
, so it depends on a rudimentary/experimental DNS address. If you use the docker container, this is already setup, so it should resolve automatically.
So, fed up of reading my ancient articles? Why not try creating your own blog? Follow the following steps:
- Create a nice article written in Markdown.
- Save it to a folder (e.g. myblog), along with any images you’ve used.
- Upload the files to Autonomi as a public archive, e.g.
ant file upload -p myblog
. - Save the address (e.g.
7ca488701eb318c05ecfea806245199f85d7987d5f73f7afea4a68b2437e5285
), then use it as your IMIM blog URL, e.g.http://localhost:8080/imim/blog/7ca488701eb318c05ecfea806245199f85d7987d5f73f7afea4a68b2437e5285/
.
There will be more to come, but I wanted to share this with everyone, so folks can put up their own blogs.
Feel free to poke around at the source code for my articles (it’s a public archive) for inspiration!
Limitations
- To have dynamic blogs, they should resolve to a name. As registers aren’t working well and their replacement isn’t published in API form yet, we aren’t quite there yet. Once it is possible, I’ll update the code. Note that sn_httpd does the name resolution, currently.
- Videos can only be mp4 files and they are slow due to the Autonomi API not directly supporting streaming, currently. However, they do load and you can play them!
If there are any questions, please post them here and I’ll do my best to answer them. I’ll also use this thread to let everyone know when there are new versions.
Links: