⚡️ Quick Blogging with Standard Notes
By OctoSpacc
Caution
The content of this page has been entirely machine-translated into English, from Italiano. Therefore, it might contain any kind of errors.
I’ve been using Standard Notes as my personal notes app for a long time now.
Years ago I chose it for its being free and open-source, but at the same time very clean, tidy, and functional. It was a perfect fit at a time when I was looking for something that supported data encryption that works, without affecting usability.
Without going into detail about why I liked continuing to use it, then I stopped, and then I started again until now, we need to delve deeper into one of its integrated functions in particular: [Listed](https:/ /listed.to).
It is a blogging platform designed by the same developers as Standard Notes, and available for self-hosting or free use on the official instance. Although I have never really used it before, I found the concept and its application interesting from the beginning.
A quick need
A few days ago, however, I started playing around with ChatGPT. This is a totally different question, yes, but it’s relevant because I asked myself a question: all these conversations I’m having with artificial intelligence, where can I put them to keep them integral, organised, findable and accessible to anyone, and for me easy to load?
The choice was about to use staticoso, my static site generator that I already use for the [sitoctt](https: //sitoctt.octt.eu.org), but then I thought better of it.
I thought that, in fact, I want to actually make my collection of experiences findable on the Web. The problem here, however, which I have been able to bitterly observe in all these months, is how my site, for example, is, so to speak. .. Search engines don’t give a shit. 😭
Besides this being a separate topic, it should be noted that the blame for the horrendous fate of my site does not depend on its code; It’s the fault of the domain and/or the host. So, no, I will never abandon my static one: just changing the generator (and consequently the templates) with a more serious one wouldn’t solve any problem.
In short, I had to totally trash the idea ofhosting on GitHub and GitLab, and think about something else.
- Blogger from Google? The editorial experience leaves something to be desired on mobile.
- WordPress? It would be OK, but we know what could happen in many years to data inserted into a complex system; and WordPress is very complex. I struggled to find a little program that converts its backup XML into Markdown files… which will most likely break in a few years, being unofficial, as apparently the WordPress team has a habit of changing the structure of that XML from time to time; other conversion solutions that I had found a moment before were a few years old and didn’t work, so to speak.
- Maybe WriteFreely? I already have an account on the Devol instance, but the blog limit for each account is 5 and I didn’t want to potentially waste one.
- Plume, maybe? This other blogging platform seemed nice, hosted by many and compatible with ActivityPub (not a necessity for me, but still a nice bonus), but it doesn’t allow you to set custom CSS; serious shortcoming for this use case of mine, since there is no other way to layout everything in the specific way I need to represent a chat without boilerplate for each paragraph of HTML.
The choice of Listed
My ideas were finished and, since I was in a hurry to put up this site and start uploading the experiences I had with ChatGPT, considering how oh my goodness it was convenient to copy and paste things directly into Standard Notes, this was the good time to try Listed.
To be honest, I’m a little worried about the prospect that the weekly backup file of notes could become tens of MB large, but the die has now been cast.
I could create a second account to be used only for ChatGPT notes, exporting them from the primary one and importing them there, and then deleting them from the first account to lighten the collection, but there are problems. Maybe I can transfer the username, but the links to the individual posts will be broken, because they include automatic IDs, and therefore a redirect to the home page for those who follow an old one. Also, old guestbook messages aren’t copied over, and I don’t think email subscriptions are transferred either.
The thought of “what a drag”
All in all though, for this limited purpose I appreciated how efficient it is to have Standard Notes as the final part of** my workflow. It seems to me to greatly reduce the “I’m annoyed” effect.
Therefore, considering the pleasure of the discovery, I reflected for a moment on how the “what a pain” factor is one of the things that holds me back from updating the ctt site more frequently.
Let’s leave aside the thematic pages, which are beasts apart; let’s leave aside the long posts, which require strong inspiration and enough writing time; but what the hell, at least something for the MicroBlog, which is all the rage, I would like to create it more often! But I just don’t feel like it, for some reason, considering all the trouble I have to go through.
To tell the truth, I had already immediately got into the habit of starting to write a post in Standard Notes, so as to be able to manage everything more flexibly, perhaps quickly switching from one device to another. However, if I had to start writing something not long and elaborate, to be published as soon as possible, I just didn’t feel like taking action.
“But why don’t I switch to Listed at least for my microblog?”, I therefore think. Well, there’s a reason why I even got to the point of making my own static site generator: I need it!… And even if I didn’t need it anymore and could therefore stop using it, I honestly wouldn’t even want to think about doing something about it like that, after all the work! 😖
Limitations of Listed
However, to put it nicely, Listed is pretty bare: it barely allows you to insert custom CSS, and format posts in Markdown and a limited subset of *HTML *. I propose my analyzes of the latter below:
- All elements that are inline in nature are automatically placed in a
<p>
block (for example, you cannot have<body><span>Erre< /span></body>
, it will always be<body><p><span>Erre</span></p></body>
); - Any element attribute other than
id
,class
, orstyle
, (andhref
orsrc
, as well as I believe stuff liketitle
,width
, orheight
, in appropriate cases) is thrown away: so forget, for example, deviating from the default configuration of the platform regarding the behavior of the links (therel
is not touched); - Certain elements just don’t work: those with non-standard tags (custom in short, like
<pincopallino>
) are eliminated, as are<script>
,<link>
, and others apparently stuff like<video>
too - but<iframe>
, so to speak, works, and luckily so does my beloved<details>
.
It is very clear that absolutely it cannot replace 100% any section of the sitectt, not even that of the MicroBlog, and even if it could it would create fragmentation: the main site would no longer contain all the posts in a centralized way , and anyone interested should therefore follow 2 different sites.
The blogoctt with Standard Notes
I was almost about to give up, but luckily I had a flash of genius: But I can write on Standard Notes, and have the notes that automatically synchronize as files *on the site *? …No, there’s no way. No, wait, who said that? I say there is a way.
Now, Standard Notes, as I said, uses a client-side data encryption system, so to access the notes from your account a minimum specialized software should be used.
There is sn-cli, the official command line client, which could be useful for creating scripts… but [it seems to have been abandoned](https://github.com/jonhadfield/sn-cli/issues/ 33): nothing to do.
“My way” solution
So, here too I speak, and I say: Who said that I have to do things properly and use the “real” APIs?
I say that, given that for some reason the HTML of a blog on Listed (specifically, the page /all, the only one that seems to me to really include everything, and not just the last on Listed from Standard Notes and have a program that does the dirty work - but in this case really simple, since it only has to download and parse 1 file - the job of scraping.
And script fu scripto. I leave it here: gitlab.com/octtspacc/sitoctt/Scripts/ListedDownsync.js ; Be careful though, there is nothing nice to read, also because I haven’t yet implemented everything that should serve me in the long term, but for those who want to use it it’s there.
It is technically independent of the ctt site and static, as it saves simple Markdown files on disk (even if the syntax of the metadata lines written in them is mine; so, in case , some text strings in the program should be changed to support the more classic YAML metadata format).
I don’t want to say that I really thought of everything, but I came close.
No, I still can’t decide - due to my paturnias - which standard to use to indicate special blocks (of metadata, or of HTML not to be interpreted by Listed’s SSG).
No, I haven’t yet created the script to start as a cronjob on the server, which every now and then should download the data from the Listed blog and update the files in** the Git repository** if there are updates.
However, I thought about the really mandatory things, such as the possibility for the synchronization program not to overwrite a file already in the repo if this specifies the thing in the metadata. Suppose some mess happens, and I have to modify the post data for the ctt site without touching the note data on Standard Notes: by setting this flag, the synchronization script will not replace it the next time it runs.
Conclusions
How to conclude, then.
Today I’ve already written too much (it turned out to be a blog article and not a microblog!), and I’ll end it here. But I sincerely hope that all this new efficiency and convenience, having additional technology that works for me, and does not force me to work for it (in theory, anyway the problems must come out, otherwise I am not me!), can make me write more and with more pleasure. Whether on the sitoctt, or on the stone slabs.
Ah, yes, this here was the first post on my Listed blog, it’s right to point it out for those reading from the site… but I hope that at least the Listed version of the blog can be indexed well and discovered by more people, while we’re at it.
It is precisely in the hope of achieving this objective that I am accepting some compromises when I write here, such as doing without macros (which I can use with statiso, while here they would produce broken texts and broken links), to ensure that the articles are actually also available on the Listed pages.
🏷️ Notes and References
- Updates to the post:
- 2022-12-16: I added a cover photo for the article, and clarified the final detail I had forgotten.
- 2022-12-14: I added some extra formatting, and corrected some expressions.