⚡️ 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'd say I've been using Standard Notes for a long time as < strong>personal notesapp.
Years ago I chose it for its being free and open-source, but at the same time very clean, well-kept, 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 dwelling on 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.
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 easy to load for me?
The choice was about touse staticoso strong>, my generator of static sites that I already use for sitoctt, 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 example is, how to say... Search engines don't give a damn. 😭
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 completely trash the idea ofhosting on GitHub and GitLab, and think about something else.
-
Google
- Blogger? 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 your backup XML in Markdown file... 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 earlier 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 on this site and start uploading the experiences I had with ChatGPT, considering how my goodness it was convenient to copy and paste things directly into Standard Notes, this was a 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 use 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 however, for this limited purpose I appreciated how efficient it is to have Standard Notes as the final part of the > my workflow. It seems to me to greatly reduce the "I'm annoyed" effect.
Considering the pleasure of the discovery, I reflected for a moment on how the "what a pain" factor is one of the things that < strong>keeps me from updatingthe 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 process I have to do.
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 no longer needed it and could therefore stop using it, I honestly wouldn't even want to think about it. do something like this, after all the work! 😖
Limitations of Listed
However, to put it well, Listed is quite bare-bones: it barely allows you to insert custom CSS, and to format posts in Markdown and a narrow subset of HTML. I propose my analyzes of the latter below:
- All elements that are inline in nature are automatically inserted into a block
(for example, you cannot haveErr
, it will always beErr
- Any element attribute that is not
id
,class
, orstyle
, (andhref
orsrc
, as well as I believe stuff liketitle
,width
, orheight
, in appropriate cases) is thrown away go: 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
) are eliminated strong>, as well as,
, and apparently stuff like
- but
, so to speak, works, and luckily so does my beloved
< /code>.
It is very clear that it cannot replace 100% absolutely any section of the ctt site, not even that of the MicroBlog, and even if it could it would create fragmentation: the main site does not it would contain all the posts in a centralized way, and anyone interested would therefore have to follow 2 different sites.
The blogoctt with Standard Notes
I was almost about to give up, but luckily I have a flash of genius: But I can write on Standard Notes, and have the notes that Do they 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 you should use a specific software minimum specialised.
There is sn-cli, the official command line client, which could be useful for creating scripts... but it seems to have been abandoned: nothing to be done.
Solution "my way"
So, here too I speak, and I say: Who said that I have to do things properly and use "real" APIs?
I say that, since 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 X posts) include as string JSON i data of all the posts, then I can simply publish to Listed by Standard Notes and have a program that does the dirt - but in this case really simple, since it only has to download and parse 1 file - scraping work.
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 site-independent and static, as it saves simple Markdown files to disk (even if the syntax of the metadata lines written in them it is mine; therefore, in this 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 paturnia - 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 fromthe Listed blog and < strong>update the files in theGit 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 have 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'm not me!), may it make me write more and with more pleasure. Whether on the sitoctt, or on the stone slabs .
🏷️ 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.