draft0 - a shared blog by just some people

Go To Navigation
Show/Hide Navigation

Entries tagged 'cat:#100DaysToOffload' (Page 3)

SBWG 0.12.8

I've recently published a new version of SBWG, my web site generating bash script. The time that I'm able to allocate to working on SBWG fluctuated a lot in the last year and when I do work on it, I often just feel like doing one type of thing. So, when that is starting a new feature, all the other types of tasks can take on a pile that takes months to resolve. But eventually I managed to test and stabilise the features that I've added and changed, edited the README file and tried out the new version with real web sites. Well, testing could be more professionel, but it's okay for a hobby project, I think.

It's been well over a year since I wrote a blog entry about what's new in SBWG. This entry goes through the main new things since version 0.11.1.

A big new thing, at least from the view of the author/me, is that certain options where that makes sense now support multiple arguments. For example if you've edited three entries and want to re-generate just those three, you don't have to run the script three times but rather define the entries like this: sbwg -e ENTRYNAME_1 ENTRYNAME_2 ENTRYNAME_3. The same goes for pages, tagpages, entry attachments and galleries. This doesn't just make it easier and quicker to generate just some changed pieces of content. It also allows the usage of shell globbing (like *, ? and […]) and brace expansion ({…}). For example you can now regenerate all entries that are stored in one subdirectory or all entries whose names start with a vertain string of characters. Another practicle use case is to add external entries and/or to the site that are not stored in the respective directories in the web site's input directory. Using option -E/-P on the contents of an entire directory creates HTML files in the web site's output directory that look like any other of the web site's pages, but without integrating them in the structure of categories and other tags.

There is now a way to create a custom menu in the navigation bar without writing any code in the settings file of a web site. By using the new 'menu:' tag type in the header of a page or entry source file, the page or entry will get added to the menu. This allows for a list of pages you want to link to from the site's navbar, or a nested tree of interesting blog entries. The tag can be used similarly to the 'topic:' tag with the main difference that it doesn't add the entry or page to a list of entries with that topic, but rather directly in the navigation bar. In the default style set that is a drop down menu like the list of categories, authors, languages and topics. But it is just an unordered list, so it can be styled like any web site menu.

The default style set has changed a bit over the year. It basically looks the same but it's a bit cleaner now and is split into more file more logically. It will become even cleaner in the future though. It now also makes use of the new possibility to present the list of categories in the navigation bar in the form of a tag cloud. Audio attachments are better to look at now, especially when there are several audio files attached to an entry. Image attachments are can now be previewed in a modal without loading the (large) original file and without leaving the page. This almost gallery-like display is about as far as I'd like to go without starting to use JavaScript in the default styleset. Some parts of a web site generated with SBWG are now collapsible/expandable. The parts with this new feature are: entry attachments, entire entries on tagpages, entire entries on their own pages, the custom menu, the category list, topic list, language list and author list in the navbar and the entire navbar. By default all of those things are extanded upon page lead and collapsible by clicking/tapping on their titles. But you can add a setting in your settings file for each of those types of things to be collapsed upon page load and expandable by cliking/tapping on them.

Another thing that behaves similarly is content warnings. Hiding the content of an entry, or parts of it, could always be done by hand, e.g. by adding a <details> and <summary> tag pair to the body of the entry. But it is now easily possible by adding a warn: tag to the header of an entry. For example adding warn:This entry contains spoilers. to an entry header results in the entire content being hidden behind a collapsed <details> tag. Initially visible is only the summary "This entry contains spoilers. (click to open)". The default style set makes this warning line very visible but dunking it into a strong red. If the entry has attachments, those will be collapsed and their title marked in red, too. Both the entry content and its attachments will be collapsed by default if the entry has a warn: tag, independently of what your settings for those parts is in the settins file.

New special tagpages: If there are entries that have a language tag and others don't have one, 'nolang.html' will be created that lists all entries that don't have a language tags. Similarly, if at least one entry on the blog has an author tag, but other entries don't, 'noauthor.html' is created and linked to from the navigation bar.

RSS feeds are now created for every tagpage. That means visitors can now subscribe to individual topics or categories or authors or languages. It also means a longer generation time for a complete regeneration process. But permanent caching reduces that to an acceptable amount. Other feed formats are still not created because I reckon that writing those will be particularly fun and satisfying. So I want to get to that when more of the less interesting todo bullet points are done.

Many small changes make web sites with different structures than mine cleaner. Empty directories or menu entries aren't created. There are new hooks for the various different new functions and loops which a user might want to hook into. Various changes around the default language being used for RSS feeds and HTML documents in order to abide by the standards. Many bugs around all sorts of things have been fixed. The logging option works pretty reliable now. It may still be completely removed one day because it's a large chunk in the code, makes the script slower when enabled and can now be entirely replaced by redirecting output from the script on the shell level. The new flags 'hideinfeeds', 'noshow', 'nogal', 'noatts' and 'noheader' control how and where entries are presented and which parts are visible. See the README for descriptions of those flags.

Reading these update blog posts shouldn't be seen as a replacement for reading the CHANGELOG file. If you have a SBWG web site and consider updating SBWG, at least check the CHANGELOG for lines marked with ! since your current version. That makes it much much less likely that you miss something that you should change upon updating SBWG. I mean, I don't think anybody except me uses any version of SBWG. But I've always approached this project working as if it would be used by others in order to produce something that is practically usable without reading and understanding the codebase first.

The list of things that I'd like to do with SBWG is still long and includes heavy changes on how content is placed in the website's input directory. I reckon that it would take me something like 10 - 16 years to get there is I would continue advancing through the todo list at the pace at which I have in the last year. But if I would loose interest at any point along this path, I could feel okay for at least have gotton as far as testing and publishing version 0.12.8 because it's getting closer to looking how I want it to look in regards to the results it produces.

Comment via email
Writing To Think

Over the last two years or so I slowly realised that blogging is something that I want to do more often. Or writing in general. Often it was when I read other people's personal blogs that that realisation became a little push. One blog post in particular helped me realise what sort of mental processing the activity of writing evokes. Unfortunately I wasn't able to find it to link to it from here. Instead, here is another short blog post on the topic: "The two kinds of writing" by Herman Martinus. The principle that writing forces you to think wasn't an entirely new one to me. I just hadn't ever deemed it relevant to my life before and so never thought about it. Maybe I still haven't properly, because I never forced myself to do so for more than a minute at a time. But I'm writing about it now, so …

In a way, writing forces you to think like explaining something to somebody else forces you to understand what you want to explain first. Sometimes it is in the middle of a conversation that I realise: What I'm saying, or was about to say, is actually not a well thought through concept; but I hadn't realised this before because I never properly thought about it. But the conversation usually flows on. Even if you do take the time to think something through before you continue to talk, somebody else will likey use the pause to interject what they think at that moment. At least most people tend to do that. But when I write, I can pause however long I want, think about what I was about to say, what words are the best ones to describe what I know already but have never expressed, think about the relevance of my next thought and in what context it stands to what I wrote beforeand so on. I can fact-check something, search for a name, title or quote, read what I've written so far and in general take the time that I need overthink my thoughts before they are out there. That doesn't mean that I always do all of this for everything that I write. For example I often don't re-read immedietely after I wrote something, which leads to a lot of typos living permanently in my blog. I don't research what I write about for a post like this. But to put things into words and to structure thoughts itself already benefits my thinking. It takes a long time for me to write. Even a sentence like the last one can have several pauses and a tree of thoughts that may all end up being bretty much irrelevant to finishing the sentence. But I couldn't have known that for sure before thinking them through. I'm a slow writer, which is part of the reason why I don't write as much as I did when I worked less hours. For a long time though I didn't realise that writing it itself can be a recreational activity and that the very reason why I write so slowly is something that can help me in my life. Granted, with a topic like this, I'm not getting much therapeutic value out of it. It's mainly throttling my perfectionist-like attitude on forming sentences that slows me down, as well as dismissing thoughts that I eventually regard as not belonging in the entry. But who knows what some of those thoughts can do in the future. Having had them once may help me make the right connection in a completely different situation some day. But when writing a diary, forcing yourself to think about things can do a lot to set you onto a track to improve your life.

Comment via email
At least 100 new entries will be published here over the next year.

I'll write more regularly here from now on. I won't have more to say than in the past. My thoughts put into words won't be more interesting or important than before. Nor will I have more time or deem writing blog entries more important. The only thing that has changed is that I have decided to write a new entry more often for a year, starting now. After the year: Who knows!

The idea that I'm following with this is that of #100DaysToOffload, a project - apparently started by Kev Quirk - that encourages to make exactly the decision that I just made. I feel that it is just the right form and amount of goal-setting that I need right now. It is voluntary: I'm not forced to do it by anything other than my will to do so. It's free: Nobody tells me what to write, or how long posts must be, or about what. It's forgiving: I don't need to have a 365 or 100 day streak or stick to a strict plan or routine throughout the year. But it's challenging nonetheless: If I would like to be able to sincerely feel that I have accomplished this goal, I need to do something about it multiple times a week. I need to take it seriously and not put it off for a week or two. The routine and fixed plan that I'm glad is not predefined by the challange will have to emerge sooner or later if I don't want this to turn into a new source of constant stress in my life.

I found this idea (and indeed the necessary nudge to write this here entry), from JCProbably's note from yesterday, which kicked off their #100DaysToOffload. This is how I found that note coincidentally: I subscribe to the blog of Herman Martinus. He wrote and runs the blogging platform Bear, which is, judging from the output it produces, a really neat, clean, lightweight, no-nonsense, cool weblogging tool, in case you've never checked it out. Sometimes when I read a post of his I take the time to see what else has been written on his platform recently. Just to give myself the chance to discover something new sometimes. And there on the discovery feed of Bear was the title I’ve been living inside my head too much, which got slightly tangled in some of my neurons when I read it. That feeling always makes me interested enough to click something. And in the case of a Bear blog entry, it's always a safe click without either bate or hate. It's generally a very friendly platform.

I don't know yet what I will write about in the coming year. The character of the blog will not change because I write more. Or maybe it will, if you consider the fact that absence of character is what my blog so far amounts to. Then more regular writing may allow the blog to develop its character in the first place. Anyway; There will be shitposts, incomplete posts, lots of typos, short thoughts and unfinished

Comment via email
Mastodon