A series of events happened that somehow made me think I really should dedicate a bunch of time to modifiying my website structure once again.
I am not quite sure of what exactly triggered me to do this, but there are many things that made me keep going at it until today. Among them is sickness, and boredom and—Yep, pretty much that.
Last month I was PenPals with Kev Quirk and we exchanged quite a few emails, there I mentioned wanting to make my site more colorful and the like. I didn’t go that far just yet, but since Kev preferred a light mode, as well as many others, I decided to add one for my site.
I had a light theme months (maybe more than a year) ago, back when I was just using SimpleCSS with some colors changed and minimal changes. At some point—probably just to save some bytes of data or some random reason—I decided to get rid of the light colors and left the site with my dark Tokyo-Night based color theme. Regardless, it is back now for those who may need it! I am not the biggest fan of it, but it works well enough now—I think.
Another change that I made quite recently was trying to go for a more semantic use of HTML. I usually used <div>
elements whenever I wanted not much, but more than I actually needed. This time I decided to go for a more proper approach. Still making use of them when necessary, but not as much as before. Thanks to Jekyll, just by modifying the base layouts I already had 99% of the work done, and only a some pages had to be changed by hand.
I created some new bits to make my site a bit flashier too, thanks to Flexbox I modified my homepage, my blogroll and my booklog to fit more content and have it wrap nicely.
Finally, inspired by the site Noisy Deadlines, I also went ahead to something I used to have before, which is a Monospace font! My personal choice this time around is IBM Plex Mono, its been a favorite of mine for quite a while and I quite love its italics.
Anyway, feel free to look around the site, I also added some breadcrumbs to the top section, right under the header, a move inspired by Benjamin Hollon’s site, that has gone through some changes as well recently!
Sorry for the delay between posts, as I’ve mentioned, I was a bit sick, and I am still a little bit. So, I am delayed with my writing, with work and also some commissions from my Ko-Fi page, so if you requested one from me, please have patience, I’ll get to it as soon as I can!
This is day 21 of #100DaysToOffload
]]>However, I don’t see this as a failure, but as a way to keep improving myself, and something to write about in the process! So, I corrected the way I add a “reply via email (and fediverse) link” to each feed item, and also made my feed human-readable!
Features such as includes and templates, can lead one towards the wrong path, and such was the case when I implemented email replies. I originally created an file in the _include
folder, and I simply included it in every single article at the end, the contents of that file were hidden via CSS with display:none
, it was a rushed and ugly way of doing this.
I decided to check what the rest of my friends were doing. And that’s where I noticed that in kevquirk.com’s source code for its Jekyll version, the feed.xml
file was simply, a customized feed template that included the reply via email button at the end. In his case, he escapes the XML and pasted it directly:
<description>
{{ post.content | xml_escape }}
<p style="font-size:1.3rem"><a href="mailto:{{ site.email | xml_escape }}?subject={{ post.title | xml_escape }}">Reply to this post via email</a></p>
</description>
I was using the jekyll-feed
plugin for this, but I decided to change it for my own custom template too, but I am using the Atom format, instead of RSS 2.0. Since my current feed was using the Atom format, I didn’t want to break something by changing it too much.
As for the way I implemented the reply link, I went for a different—maybe more elegant—method, where I can still edit the proper HTML easily via an include, and capturing its output in a variable that I can then escape. Here is what it looks like:
<content type="html" xml:base="{{ post.url | absolute_url }}">
{{ post.content | xml_escape }}
{% capture replies %}{% include replies.html %}{% endcapture %}
{{ replies | xml_escape }}
</content>
Now the end of every article contains a link to reply to it, just like on the website!
Now, after doing the reply via email thing, I wasn’t feeling like only sharing a blogpost with one single website change that isn’t even that noticeable to begin with!
This is why I also decided to work on making my RSS feed human-readable, inspired by this post from Minutes to Midnight—although I recall seeing this applied on some other people’s feeds—I finally went ahead and tried XSLT templating!
This was quite a great excercise, but it proved to be harder than expected given the fact that Simone Silvestroni used RSS 2.0 like Kev. Therefore, I couldn’t just copy and paste—I had to find out how to apply this to my Atom feed. After some research online, it wasn’t that difficult—here’s what my template looks like now:
---
layout: none
title: rss feed | joelchrono
permalink: "/feed.xsl"
---
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:atom="http://www.w3.org/2005/Atom"
exclude-result-prefixes="atom"
>
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
{% include head.html %}
<body>
<header>
<center class="home-top"><a href="/">
<svg width="80" height="60.5" version="1.1" viewBox="0 0 80 60.5" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(1.76 0 0 1.76 -2.4 -12.1)"><g fill="#a9b1d6"><path d="m36.9 6.84-0.79 4.5 2.77-0.913z"/><path d="m33.2 7.73 0.288 4.14 2.66-0.523z"/><path d="m29.9 9.46 1.1 4.2 2.5-1.79z"/><path d="m27.1 11.7 1.75 4.28 2.13-2.32z"/><path d="m24.8 14.5 2.6 4.2 1.4-2.68z"/><path d="m23.1 17.6 3.71 3.53v-3.15z"/><path d="m39.9 9.33a15.3 15.4 0 0 0-15 12.5l4.42-0.877a1.88 1.88 0 0 1 1.91 0.77 9.69 9.74 0 0 1 9.18-6.69 9.69 9.74 0 0 1 6.22 2.27l-0.345-6.53a15.3 15.4 0 0 0-6.38-1.4zm-15.1 17.7a15.3 15.4 0 0 0 13.3 13l-1.24-6.24a9.69 9.74 0 0 1-5.74-6.45 1.88 1.88 0 0 1-1.79 0.617zm21.9 5.15a9.69 9.74 0 0 1-3.22 1.78l-1.18 5.96a15.3 15.4 0 0 0 4.05-1.2z" stop-color="#000000"/></g><g fill="#9ece6a"><g stroke-linecap="round" stroke-linejoin="round"><path d="m30.1 23.6a0.792 0.792 0 0 0-0.792 0.792 0.792 0.792 0 0 0 0.792 0.792h7.69a0.792 0.792 0 0 0 0.792-0.792 0.792 0.792 0 0 0-0.792-0.792z" color="#000000"/><path class="a" d="m29.7 26.1-8.41-1.67 8.41-1.67z" stroke="#9ece6a"/><path d="m40.2 21.2c-1.75 0-3.19 1.43-3.19 3.18s1.44 3.18 3.19 3.18 3.19-1.43 3.19-3.18-1.44-3.18-3.19-3.18zm0 1.58c0.897 0 1.61 0.706 1.61 1.59 0 0.886-0.708 1.59-1.61 1.59s-1.61-0.706-1.61-1.59c0-0.886 0.708-1.59 1.61-1.59z" color="#000000"/><path d="m40.9 32.3a0.792 0.591 0 0 1-0.792 0.591 0.792 0.591 0 0 1-0.792-0.591v-5.74a0.792 0.591 0 0 1 0.792-0.591 0.792 0.591 0 0 1 0.792 0.591z" color="#000000"/><path class="a" d="m38.5 32.2 1.67 8.41 1.67-8.41z" stroke="#9ece6a"/></g><path d="m1.36 30.2v4.89l4.93 4.89v-9.77z"/></g><path d="m6.25 40h8.35v-4.89h-8.35z" fill="#739449"/><path d="m6.35 13.6h8.2v-4.89h-8.2z" fill="#739449"/><g fill="#9ece6a"><path d="m14.5 40h0.0928l4.84-4.89h-4.93z"/><path d="m14.6 8.74v4.89h4.93z"/><path d="m14.5 13.6v21.5h4.93v-21.5h-4.89z"/></g></g></svg>
</a></center>
<center>
{% include navigation.html %}
</center>
<p>This is a web feed that can be viewed in the browser. <b>Subscribe for free</b> by copying the URL <code> joelchrono.xyz/feed.xml </code> into your RSS reader. </p>
<p>Read how <a href="/blog/improving-my-rss-feed/">I improved this feed, and made it <b>human-readable</b></a>.</p>
</header>
<main>
<h2><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 455.731 455.731" xml:space="preserve"> <path style="fill:#f78422" d="M0 0h455.731v455.731H0z"/> <path style="fill:#fff" d="M296.208 159.16C234.445 97.397 152.266 63.382 64.81 63.382v64.348c70.268 0 136.288 27.321 185.898 76.931 49.609 49.61 76.931 115.63 76.931 185.898h64.348c-.001-87.456-34.016-169.636-95.779-231.399z"/> <path style="fill:#fff" d="M64.143 172.273v64.348c84.881 0 153.938 69.056 153.938 153.939h64.348c0-120.364-97.922-218.287-218.286-218.287z"/> <circle style="fill:#fff" cx="109.833" cy="346.26" r="46.088"/> </svg> Latest 20 posts</h2>
<xsl:apply-templates select="atom:feed/atom:entry[position() <= 20]"/>
</main>
{% include footer.html %}
</body>
</html>
</xsl:template>
<xsl:template match="atom:entry">
<article class="posts wrapper">
<p class="blog-data"><a href="{atom:link[@rel='alternate']/@href}"><b><xsl:value-of select="atom:title"/></b></a></p>
<div><xsl:value-of select="atom:summary" disable-output-escaping="yes" /></div>
<small class="post-date">
<!--Display the date in YYYY-MM-DD format-->
<xsl:variable name="year" select="substring(atom:published, 1, 4)"/>
<xsl:variable name="month" select="substring(atom:published, 6, 2)"/>
<xsl:variable name="day" select="substring(atom:published, 9, 2)"/>
<xsl:value-of select="concat($year, '-', $month, '-', $day)"/>
</small>
</article>
</xsl:template>
</xsl:stylesheet>
You can check out how my RSS feed like in any browser! You will probably not be able to tell it is an xml file, but when you paste it into your RSS feed reader, it will be recognized like any other!
The new features in my RSS feed are honestly quite simple, and seem pretty easy to achieve now that I put my mind into it. I wonder why didn’t I do this sooner. Now I have to go back and edit the last line of every single markdown file in my posts folder, containing the include I no longer need…
Or I can write a script, and then blog about that :P
This is day 14 of #100DaysToOffload
]]>A thread by Molly White, ended up being the nail in the head where I decided to update my blogroll and make it better, adding context and a nicer design than before.
Anyway, I already wrote A TON of descriptions—around 30 or so—and also did quite a bit of HTML and liquid templating. So I don’t want to write much more right now.
Go check out my updated blogroll and feel free to check the source code of this website if you want to implement something similar on Jekyll! The important files are in the root folder (blogroll.md
, and blogroll.opml
), except for the one located at _data/blogroll.yaml
I hope the people who find themselves mentioned there have a chuckle with my descriptions, no harm is intended! Coming up with what to say, for the decent amount of sites that could simply have been “a random dude who likes tech and blogs about blogging”… let’s say that it was quite the task!
If you feel that I forgot you, PLEASE LET ME KNOW!, I edited a bunch and I tried to see if everyone was there but, sometimes things go unnoticed. If you’re there let me know what you think of your descriptions! I am quite interested in reading your thoughts.
This is day 12 of #100DaysToOffload
]]>If you didn’t open that link, that’s quite sad, but basically I marked all of the feeds in my FreshRSS instance as read, something that was done by accident and would get rid of my backlog of blogposts I would have liked to read at some point.
I mean, the articles are still there and my purging policy is really forgiving, but I have no way to tell what I already read from what I had not.
Regardless, this ended up being a bit of a blank slate now, thankfully, Matthew Graybosch had this fantastic comment!
More articles will come. Just give it time. Or add more feeds.
So, I decided to add more RSS feeds! And it was great!
Blogs! Of course, I barely read news on my RSS feed actually, so I decided to checkout the blogrolls of the websites I already follow, I ended up finding quite a few gems that way. An even quicker way to find random blogs to add to my RSS reader was making use of Ye Olde Blogroll’s Randomizer, which worked wonderfully too!
Some of the blogs I found that you might like are the following!
Because I marked everything as read, and I also removed a bunch of the spammy news feeds. I will get a lot less, but hopefully more meaningful content coming up. I decided to limit the few big sources I still have to mark as read older articles (or whenever up to 20 are still unread). I also added a lot of word filters for more stuff I don’t care about, words like “Amazon”, “Subscription” and whatever else. Much better.
Because of the amount of feeds I removed, as well as the list of feeds I added, I think I’ll need to reorganize my categories at some point too, since right now the biggest ones are “100DaysToOffload” for people doing the challenge and “Personal Websites” for literally everyone else. While the rest of news, updates and comics are only a small fraction in comparison. There’s always work to do I guess.
Regardless, now I should be able to just read whatever and have a good list of articles to check out when I have the time at a constant rate. I kind of wrote about that before but it didn’t stick for me, because of my huge backlog—which no longer exists. As long as I manage to catch up with Robin Rendle’s archive…
This is day 10 of #100DaysToOffload!
]]>Compared to the last time I did the challenge, I wanted to be more consistent with my writing, not leaving a single month go without a couple posts at least. However, this did not turn out that way, I ended being super inconsistent, not because I couldn’t find the time to write at least 300 or so words per day, but because of being an eternal procrastinator who found a bunch of other things to do instead.
Despite the hundreds of hours spent on YouTube, the Fediverse, social media, my phone, at work or gaming with my psp or nintendo switch, I still managed to rush through in the end. I was meaning to post daily during December but of course I decided to skip some days and post twice in others, such as yesterday.
Sidenote: I’ve done this before and there is no rule about posting only once per day, just doing 100 posts in the span of 365 days! So don’t come at me saying that I cheated! There are definitely timezones in the world where the publication of those posts happened in different days! Everything is relative, my dear reader! 😎
And now, the challenge is finally over, the year has finally ended, and this is quite the way to be done with it. In a few hours I’ll be having dinner with my family, enjoying some time together and reflect on everything that happened this year, both the good and the bad. And tomorrow—or soon after—I’ll write my post Looking back at 2023!
I am hopeful of what’s coming next, many things changed and my life is completely different to last year, but I think I’ll be alright.
God bless y’all, and Happy New Year!
This is day 100 of #100DaysToOffload
]]>Today, I just wanted to point out what a weird year this has been for me when it comes to writing posts constantly throughout the year.
Just take a look at the numbers:
I barely managed to stay afloat thanks to the epic feat of doing a third of the progress in one twelfth of the time.
In February there were only 10 posts, which was still more than 9 out of 12 months in the year. Then I went by doing a single post for 3 months, then half of what I did in February in July, I dropped again in August and I finally managed to go up a bit more during September, with October keeping the ship afloat. From there on its remained somewhat steady, although still short from the ideal of 8 blogposts per month
But I wouldn’t say I lost hope at any point of the challenge until now. Seeing how I could post daily or even twice a day if I really wanted to, so, embrace yourselves—it’s happening now.
I am now in the final sprint alongside other great bloggers like Clayton Errington, Garrit Franke and Brian Bennet and of course Noisy Deadlines! I am ashamed to say Hyde managed to beat me this time around. But I have to mention this is his fourth time beating the challenge, so we’ll see how it goes in the future! If he decides to join once again…
Finally, I wouldn’t blame you if you missed it because of how quick this guy did it, but Fredrik Bjoreman actually completed the challenge twice this year. Now that’s what I call crazy fast.
This is day 90 of #100DaysToOffload
]]>There were many possible topics. The obvious one was about the first few days of my new job, my experience, my coworkers, the courses, etc. But its honestly not that interesting to everybody, and even if it is, it would be kind of too long for me.
There’s also the fact that I finished a book (Project Hail Mary by Andy Weir) and I kinda wanna make book reviews a bit of a regular thing here, so I’ll come back to it at some point.
Another topic was maybe gaming, I haven’t played much by myself but I’ve played multiplayer switch games quite a bit on weekends. We’ve played stuff like TMNT: Shredder’s Revenge and also Castle Crushers. Or I could’ve written about the dozen or so games I randomly installed on my new phone.
I was also inspired by my purchase of a new watch, a Casio A-168. Adamsdesk asked me where is my blogpost about my current watch collection, and sadly, there’s none! But that seems like an interesting idea for the following weeks.
Lastly, I tried to buy some LTT merch—lttstore dot com—because they had some insane Black Friday deals, but I ended up getting my debit card blocked (my fault) and it was a bit of a funny experience. So idk maybe later.
However, after checking my blog archive, I noticed that last year I wrote a total of 82 posts, and that I was about to reach that very same amount thanks to this very writing.
And so, I decided to just write about that fun fact I noticed and how happy it makes me. This has been my most productive year ever, at least when it comes to writing, so that’s something right?
This is day 82 of #100DaysToOffload
]]>@Doctor_Derp asks: Do you like waffles/pancakes/french toast?
Yes, I like them all, I eat them all, I enjoy them all, good food.
Konstantin asks: what’s your favorite kind of coffee?
I think it would be American coffee? It’s just coffee with a couple spoons of sugar and fresh milk. Café con leche!
I also like Café de Olla.
Clayton asks: What was your first computer and what lead you to love technology and FOSS?
This is a hard one, I remember playing with my father’s laptops a few times, there was this cereal box motorcycle racing game that I found quite fun. I think I still have it.
My first desktop was some sort of HP thing with 512 MB of RAM, running Windows XP and quite a bit of very slow hard drive storage. I remember trying a CD of FIFA 07 for PC and it ran pretty well. I didn’t really care about FOSS until 2016 or so, when I discovered F-Droid and custom ROMs, but still, it was more because of the free as in gratis, I didn’t care much about the freedom for another couple years when I started to care about game development, discovered Godot, then Linux, and the rest is history. I may go into more detail in a biggee post.
Rogue asks: Any rare games you’ve been wanting to find and play on your PSP?
I don’t really have anything I can’t find 😉 … But there are some games I’ve been meaning to play. One of those games is Riviera: The Promised Land, it sounds neat, and it is a JRPG, I don’t know what else to say.
Hyde asks: What do you think of those youtubers that do some boxing?
I don’t know who does that, not really following that side of YouTube, but the few times I’ve heard about that I found out there’s also Chess-Boxing where you do a round of boxing and another of chess, and I think that sounds kind of fun.
Benjamin Hollon asks: If you could do anything full-time without having to worry about money or other factors, what would that dream job be?
Traveling is probably the answer—not really a dream job though.
Honestly I would probably like to do game development, I really enjoyed it during the pandemic and it was fun, I would use some of my infinite money to get a powerful desktop and some instruments to make my soundtracks and learn more about everything. I liked making games. Maybe even be in charge of just directing it, having a full team of well paid people to help me achieve my vision—I don’t know that vision yet, though.
82Mhz asks: What brought you to blogging and having a website in the first place?
I kind of answered this question already! In my previous blogpost. In short, I found out about the fediverse, about the small web community and Linux, and I decided to start blogging once I discovered Kev Quirk’s 100 Days To Offload challenge.
CactoChameleon9 asks: Do you have any interesting short term or long term ambitions?
I just want to have a job that allows me to have 2 free days and where I just have to be in front of a computer doing whatever I’m asked to do, I want to have enough time to keep blogging, doing my hobbies and discovering new ones. I would like to code or expand on one of the videogames I’ve developed, as a solo project of mine, and earn some money that way too—it would still be FOSS though.
I would like to have a family, have kids, teach them everything I know as soon as possible, specially origami! They would be bilingual, solve rubiks cubes, do yo-yo tricks and be the coolest kids at school, But I also want to be able to accept their choices in life—unless that choice involves not doing origami. 😤
Wouter asks: Why isn’t your top 25 GOAT list on your blog, and why don’t you talk a little bit about each entry?
Oh yeah, that was going to be a future blog! I kind of did it on a whim, I will expand on my choices later and think this through more in depth, it should be fun! I meant to do it but I kinda forgot, so thanks to the reminder… proceeds to forget again.
For now these are all the answers for the questions I could find, if you have anymore questions feel free to leave them somewhere! This was really fun, actually—let’s do it again!
This is post 74 of #100DaysToOffload. Have a good rest of your day, fellow reader. 😊
]]>I started this blog in February of 2021, I did so, because I stumbled upon yet another blogpost by Kev, about setting up a website with Jekyll and SimpleCSS, I didn’t even understand how CSS worked—not saying I do now—but that website and other blogs, as well as Mastodon, made me aware of the “small web” and a new community to be a part of.
All of this was during the rise of the pandemic, I started to have a lot of free time, because I was home all day long, therefore, when I learned about 100 Days To Offload, I retroactively decided to make my current blogposts a part of the challenge and everything’s history from there. Since this is now my second run of the challenge.
Anyway, I’ll try to get to the point.
When I begun many blogs I saw were kinda niche, “How to do X in this Y unknown programming language” or “Developing A using B framework” and things like that. Seeing those kinds of posts made me think “I don’t really know if I have a say regarding X or Y”.
But, thanks in part for the encouragement I got when I begun the challenge, I realized there is no point in worrying about that, no post will ever be useful for everyone, you don’t need to prove anything, you can just write, and you don’t need to have a fully fleshed out article in order for it to count.
Sometimes I worry “people may not know this term”, “I should add a fancy graphic “ or “having a thumbnail would be nice”, but honestly—if they care enough—people will not mind, they may not even realize something’s missing.
All of those things are just extras that are stopping you from publishing your article, ignore it. In fact, don’t even call it an article, that’s too serious, it’s just a post.
Just publish something, even if it is bare bones and incomplete, rather than waiting for that spark of inspiration or will, that may never even come. As long as it’s authentically yours, you’ll be fine.
Besides, if you truly think you needed to add something, you can just edit things later and call it a day.
Now, the main problem is probably finding how to start a blog at all. I have heard Bear Blog is a good start, but I’ll follow my advice and publish this as is, since I am too lazy to look for other alternatives that you can find by yourself. 😉
Also, the Ask Me Anything is still open—you can go ahead and email me your questions or something.
This is post 73 of #100DaysToOffload. Have a good rest of your day, fellow reader. 😊
]]>To kick things off, I will share how I fix the problems mentioned by Kev’s article, one by one! Here they are:
Following the same logic as Kev, as long as I have the link in my clipboard, I have these couple of lines in my vim config
nnoremap <Leader>3 ciw[<C-r>"]()<Esc>
vnoremap <Leader>3 c[<C-r>"]()<Esc>
nnoremap <Leader>4 ciw[<C-r>"](<Esc>"*pli)<Esc>
vnoremap <Leader>4 c[<C-r>"](<Esc>"*pli)<Esc>
These keybindings will add the Markdown syntax for a link. Be it for a single word (when in normal mode) or in selected text (in visual mode). Pretty handy!
I already talked about this in a previous post, which happened to also be a response to Kev.
In short, I just right click the image from my file manager (Thunar), click the prompt in the right-click menu, paste my clipboard content on VIM, and call it a day.
The script does the following:
convert
Here it is, in case you are interested.
#!/bin/bash
### AIJK (Add image to Jekyll)
### By joelchrono12
pic=$1
name=$(rofi -l 0 -width 50 -p "Title" -dmenu)
filen=$(echo $name | tr " ,.!" "-"| awk '{print tolower($0)}')
today=$(date +"%Y-%m-%d")
filename=($today-$filen)
path=/home/chrono/git/joelchrono12.ml #without / at the end
imgs=/assets/img/blogs/ #example = /assets/img/blogs/
#last_post=$(/bin/ls ${path}/_posts/*.md | sort -r | head -n 1)
convert $1 -quality 75 ${path}${imgs}${filename}.png
cwebp -q 85 ${path}${imgs}${filename}.png -o ${path}${imgs}${filename}.webp
#printf "\n![${name}](${imgs}${filename}.png)"
printf "\n{%% include img.html image='${imgs}${filename}.png' caption='${name}' %%}" | xclip -selection clipboard
The last line uses a Jekyll include, I commented a simpler version using regular Markdown syntax if you only need that. You can check why I use an include here.
If you want you can also check the full post about adding images to Jekyll, to learn how to use the script properly.
As I stated, I don’t particularly care about previewing my posts in real time. So, how do I publish my posts with a single command?
Again, I already wrote about this a few times, but here’s my current implementation of the script:
It also shares my blog to Mastodon and gets the toot id to enable comments for that blogpost. You can learn how to add comments to your static site using Mastodon in this post.
#!/usr/bin/bash
# Run at root directory of website
# All markdown files start with YYYY-MM-DD
lastpost=$(/usr/bin/ls ~/git/joelchrono12.ml/_posts/*.md | sort -r | head -n 1)
#getdesc=$(grep "description:" $lastpost | cut -d " " -f2-)
geturl=$(grep "permalink:" $lastpost | cut -d " " -f2-)
#gettags=$(grep "tags:" $lastpost | cut -d " " -f2- | sed -r 's/([^ ]+)/#\1/g')
post=$(echo -e "$1\n\nhttps://joelchrono12.xyz${geturl}")
posturl=$(toot post "$post" | cut -d/ -f5)
echo $posturl
sed -i "s/109938904113012486/$posturl/g" "$lastpost"
git add *
git commit -m "new post, with comments"
git push
exit
Here is a link of different posts I’ve done to fix the following problems!
I should probably make a tag for this specific topic, I haven’t done a great job separating these tutorials from the rest. For now, you can check the jekyll, coding and tutorial tags in case something interests you.
You can always check this website’s source code or message me in case you want help with something!
This is day 41 of #100DaysToOffload
]]>UPDATE: For the sake of accessibility, I added a button that uses javascript to disable the animation. Other metods to do so without it are mentioned below
I spent so much time doing so many changes and fixes, that I am honestly too tired to do a proper explanation of everything I did. I was also so lazy that I worked on a single commit all the time just amending the changes I was doing on it. Don’t worry, I also did a good branch to test all the changes being done. I kind of want to figure out how to merge certain commits to a different branch and such, to, for example, move this article to a different branch but not move all the CSS and layout changes I’ve done.
Regardless, here are some of the changes I did in a simple list to call it a day and go mindlessly watch YouTube videos:
My background is now the Time Gate animation from Chrono Trigger. I googled a bit and found a very awesome HD version of it, which you can admire here:
This animation comes from what’s effectively a loading screen from Chrono Trigger, my absolute favorite game of all time, the only one I’ve completed more than once and will probably be played again this year, its kind of an unwritten law.
Anyways, that video, converted to a GIF or WEBP animation, would still weight a ton. Therefore I decided to compress it quite a bit. Thankfully, I managed to go below the 512KB required by my club. So there’s that. I am probably going to lose my Green Team badge though. I found a different GIF that is actually quite smaller, to less than 90KB, but didn’t like it as much.
I also did a button using this animation, a lot simpler, without my logo, but kind of sick if I do say so myself.
Thanks to a suggestion by Benjamin Hollon you will be able to disable the animated background using the @media (prefers-reduced-motion)
CSS media feature.
As you can tell, I redesign the blog layout quite a bit, now almost everything is going to be inside its own solid colored container, to not make it all unreadable due to the animated background. It took a bit of time to add some divs to some of my Jekyll layouts. But after it was over, it was over for good.
There probably are some other small changes I forgot, but I think my site looks quite nice now. I may do even more changes in the future but I wanted to keep a similar layout and color scheme, because I still really like Tokyo-Night and how it looks. I feel like the background combines quite well with it, so I am happy with how it all turned out. I append a few images for you to compare the old layout with the new!
This is day 37 of #100DaysToOffload
]]>Therefore, I decided to go to the computer lab on my University and start writing this blog, since I brought my laptop and everything, I’ll write whatever comes to my mind.
I think I mentioned it in a toot a few days ago, but I recently got kind of interested in the Warhammer 40K lore. Its a franchise I had never heard of until an episode of the Animators React series, that showcased a fan animation of it, which sparked the first seeds that only now just flourished. A friend who is really into the games and lore introduced me to Sir Khan, a fantastic YouTube channel in Spanish that makes absolutely amazing videos about the lore. I started listening from the start and ended up super invested on them. I actually cried because of how epic the story is, especially when I listened to his video on The Horus Heresy. I still have a long way to go, but this universe is so awesome and there are so many books to read.
I already read a short novel which was quite hooking (Crusade by Andy Clark), but I am considering reading one of the many series of books within the franchise. I believe I will go with the Gaunt’s Ghosts series, but we’ll see.
I was testing out the size of my website and noticed my logo was in PNG format, I decided to just use the svg file alone since it should be lighter to load and all. I also added some 88x31 px buttons, like those that can be found in some old websites and the like. I got the inspiration from BugsWriter’s website, although I already had some, I just found some more online and added them too. I think I first saw them in The Privacy Raccoon though. I even made my own button for Void Linux, because I love Void Linux.
I am sure there are still tons of buttons like this in some neocities websites and the like. I actually went to Wiby.me, a classic search engine for classic websites to look for some random sites. It was fun!
In case you want to use some yourself, you can check this website, no search bar though.
Its now a matter of 20 or so minutes for my next class to begin, I think I will go get something to eat and publish this as always now. The episode I was listening to is going to end in 15 minutes or so. My arms are starting to hurt because the seats are too low (or the desks are too high, I guess) so I will publish this and take a break. Now you have an idea of how long I take to write posts like this one. You’re welcome ;)
This is day 35 of #100DaysToOffload
]]>First of all, I added my own blogroll, where I will feature some of my favorite websites and blogs I follow, usually via RSS. A few of them are also doing #100DaysToOffload like me!
I am currently in the process of adding more blogs as I also add them from mentions in sites I follow such as Ye Olde Blogroll and others blogs like Kev Quirk’s. If you also have a blogroll let me know!
I currently follow around 150 personal websites, and not all of them have been updated. But there is a chance I actually have you there, so if you make some interesting blogposts one of these days, I may end up adding you too! Some have a great archive already though, so it doesn’t really matter how active a blog is to me.
Anyways, I also decided to simplify my navigation bar, and move it all to a More button, following a style similar to Kev Quirk, his site keeps inspiring me everytime, I can’t help it. I also stole his Stats page.
In that site I added some other links from my website, and I also decided to mention a few clubs I am a part of as well as sites I find interesting or enjoy, like tilde communities and stuff like that. I will probably update it further in the future.
I really should be doing my homework right now, but instead I spent the evening messing around with Liquid syntax and YAML files, I feel so bad, but it was fun to do.
This is day 34 of #100DaysToOffload
]]>Anyway, it was not until two years ago, that most of my feeds were those of common tech news sites and even some YouTube channels. Back then I didn’t care much about blogging or what other people had to say, unless they were in video format, I guess.
Clearly all of that changed once I joined Fosstodon and discovered the blogging sphere. I’ve joined a webrings, some clubs, and other nerdy things like that, because why not.
Lately, I’ve added a ton of new blogs to my feed, and I came across an article by Rach Smith about the way she consumes content online. Basically, subscribe to everything and pick what to check and utterly ignore the rest.
I’ve been doing pretty much the same thing, except that my current clients don’t make it as easy, or so I thought.
Swiping to either ignore or queue up is actually kind of a cool feature that both of my mobile clients for podcasts and web feeds can do.
AntennaPod, my podcast app of choice, recently added a new Inbox screen. Which is pretty much a general feed with new episodes of all podcasts (I can also whitelist them, I believe) and just by swiping left or right, I can ignore them or add them to my queue of episodes to listen to. This is not the best for some types of podcasts, but for the news and weekly content I follow, is actually awesome.
Readrops, my RSS reader of choice on Android, has a To Read section, and its also a matter of swiping left or right, to hide an article (although I can also show read articles if I want to) or to add it to my reading list.
This is quite great, because I can now parse all feeds and categories and quickly get a general stream of articles I am actually interested on reading later. If only it didn’t have an outdated design…
Read You, a reader I’ve been watching grow and improve may become my new choice once FreshRSS support works properly. Right now they added Fever API support, but its still a bit rough around the edges.
Regardless, I think I found a better way to consume this content. So I am glad I came across that article, now its just a matter of sticking with it.
On desktop I don’t really mind having to still deal with the usual interface, since FreshRSS also has a mark as read button, even if it doesn’t hide the post immediately, I don’t mind it much. My eyes already ignore them anyways.
In the span of me starting this blog and me finishing it, I already added 4 new feeds I just discovered to my FreshRSS instance. So there’s that.
This is day 27 of #100DaysToOffload
]]>As a grumpy young adult, I tend to be annoyed when kids only want to be on their phones playing Roblox or Fortnite. But then I remember that one of my favorite things I liked to do when I was younger, was playing Club Penguin. It was a really fun game at the time. I remember it quite fondly. I probably would have played it in my phone if it was possible too. I was quite happy.
I loved it so much that I started to look for tips and tricks online. Most of them were on English, especially on YouTube, which was quite a shame. Besides, back then a lot of them were trolls or fake. Just like today you see “Easy way to get more Robux”, or “How to max your account fast” and such types of videos on modern games today. Nothing is new, everything already existed.
At least when you paid for stuff you didn’t have to gamble to get what you actually wanted…
So anyways. All I could find in Spanish back then, were blogs hosted on Blogger, Google’s blogging platform. Of course, I didn’t care much about who owned what and the like. All I know is that reading from those blogs I started to learn about coupons and secrets I could use to get free stuff. Which was awesome for little me.
Eventually, I decided to start my own Blog in Blogger, where I pretty much just copied posts from other websites.
This is actually the reason I started to learn a bit more about computing, I did my own logo and stuff, using Photoshop, still, pretty cool back then. I tried out a bunch of Blogger themes, tried to recreate some functionality and yes, I even tried to add adds. I am so sorry.
I eventually made some other sites on Blogger, one about Origami, a couple for School projects. But eventually on later years I deleted them most of them. Maybe they are still on some Google data center, wandering around in the cloud.
This is day 12 of #100DaysToOffload
]]>But I literally only had to change like 2 lines of code, and I don’t even know when the changes will be merged, if they don’t conflict with whatever checks they do to see if the update was done properly.
Other than that, I have finally managed to receive some feedback via email regarding my blog!
Funnily enough, both of them were about some part of my blog being utterly broken.
The first one was my fault, it looks like I had some misstyped html in one of my Jekyll layouts, I had hfer
instead of href
and that stayed like that for months, and only now someone noticed. Thank you kind stranger! You even used a gpg signature and you have my respect!
The second email was about something broken with my tags. They’re usually located at my website in /tags/nameoftag
, usually. But they were not there anymore. I just couldn’t figure out what was going out, until I decided to try and add .html
to the end of the url, and there it was. For some reason the behaviour of my local Jekyll build and the one used by Vercel was different.
I use a Jekyll plugin (a ruby script which can be found in this site’s source code) to generate the files that eventually get populated with articles that match the tags they got. Thankfully, I just had to modify it a bit, so now it adds a permalink to the file metadata, and now it works just fine.
Still, I am so confused, since locally and in Netlify this problem did not happen at all. I got no idea.
Anyways, maybe in the future I’ll also talk a bit about how I contributed a package to Void Linux. Its absolutely nothing special, but I have to write about something after all.
This is day 8 of my second run of #100DaysToOffload
]]>Eventually, I remembered I first heard about Vercel on a post by Kev Quirk where he compared multiple hosting providers. Vercel ended up on top when it comes to speed and the like, even if it lacks some of the features Netlify has.
I had been experiencing very slow build times, it kinda felt like Netlify was reinstalling the whole Jekyll environment everytime it built my blog or something like that. I was meaning to look into fixing it and I even considered moving to something like Hugo, but after trying Vercel I have to say I am really impressed, doing the change was pretty easy, and getting my domain configured only took a couple minutes, even if the change took a while to apply in the network, so if you tried to access my blog recently and it failed, that’s why.
Regardless, another thing I was thinking about was how I rarely get email replies from people, I actually kind of like those, but the quick link to do so is only visible from my website. I will not remove my Mastodon comments or anything as extreme, but since I am aware quite a bit of my readers follow me via my RSS feed, I added a special link to quickly reply from there. Which you’ll see from this post onward, maybe that’ll reduce the friction. Anyways, I’m kinda easy to reach out from other places anyway.
This is day 6 of #100DaysToOffload
]]>Nowadays though, I’ve found another color scheme that I don’t see mentioned too often. it’s name is Tokyo-Night, and I truly fell in love with it the moment I saw it.
I changed my color scheme on this blog months ago. But the code snippets CSS was still broken until yesterday, when I finally fixed it so now code looks good on my website.
I also updated my spectrwm bar to match the colors correctly, which was pretty cool.
I still mainly use awesomewm, but I have been using spectrwm today and doing those theme changes while I was at it.
I plan to create a repository to host these themes properly, since I couldn’t find the color scheme for anything but VSCode and Vim, so I’ll share the CSS and update my spectrwm dotfiles soon enough.
I’ll share some links in case you want to use this theme too!
Coming soon:
This is day 4 of my second run of #100DaysToOffload
]]>I had been showcasing a tag cloud in my home page for quite a while, I don’t know how many actually used it at all (let me know if you did please, I wanna know), but I decided to move it to my tags section, which has been there for a while. However, I also decided to try and sort them in a better way.
So far, I think jekyll sorted my tags in whatever order they were created. This was clearly not ideal for me.
I took my time to look around online and see other ways to do this from different blogs such as this one, (while writing this blog I came across another similar post). I found them kinda hard to understand so wrote this anyways. I think the code I found is kinda good but please, let me know if it can be improved!
Here’s how I can sort them alphabetically as well as based on the amount of posts each has.
The following snippet will sort all tags by name and will also show the amount of posts they contain.
<ul>
{% assign sorted_tags = site.tags | sort %}
{% for tag in sorted_tags %}
{% assign t = tag | first %}
{% assign posts = tag | last %}
<li><a href="/tags/{{ tag[0] }}/">{{ tag[0]}}</a> has {{ tag[1] | size }} posts</li>
{% endfor %}
</ul>
This one was a little trickier, but still quite simple to do.
<ul>
{% capture tags %}
{% for tag in site.tags %}
{{ tag[1].size | plus: 1000 }}#{{ tag[0] }}#{{ tag[1].size }}
{% endfor %}
{% endcapture %}
{% assign sortedtags = tags | split:' ' | sort %}
{% for tag in sortedtags reversed %}
{% assign tagitems = tag | split: '#' %}
<li><a href="/tags/{{ tagitems[1] }}/">{{ tagitems[1]}}</a> has {{ tagitems[2] }} posts</li>
{% endfor %}
</ul>
So, that’s it. Did you expect me to explain it? This is not original material, I understand the first one maybe but I do not know what the plus: 1000
does on the second snippet nor anything in that line. Regardless, it works just fine for me to be honest and perhaps it could work for you.
I still find Jekyll to be quite enjoyable, it seems to me like most blogs nowadays are either Hugo or plain old WordPress. Maybe its just my own bias and its nothing like that.
Besides, Void Linux itself, the one above all, uses Jekyll. Therefore, I will do my duty and stay loyal to it… until I get bored, or something.
Also, this is gonna be day 3 of my second run of #100DaysToOffload, always has been.
]]>Basically, what I mean with this title is that you will be able to look me up as @joel@joelchrono12.xyz
in my domain. This setup actually makes it so you can type whatever@joelchrono12.xyz
and it will still just show up my actual Fosstodon account. Regardless, I am a single person, so I don’t mind.
This quick tutorial is focused on Jekyll, but you should be able to figure it out using this guide too.
Pretty much paste this into a file in the root of your website and call it a day. Mastodon will do the rest.
---
layout: none
permalink: .well-known/webfinger
---
{
"subject":"acct:joel@fosstodon.org",
"aliases":
[
"https://fosstodon.org/@joel",
"https://fosstodon.org/users/joel"
],
"links":
[
{
"rel":"http://webfinger.net/rel/profile-page",
"type":"text/html",
"href":"https://fosstodon.org/@joel"
},
{
"rel":"self",
"type":"application/activity+json",
"href":"https://fosstodon.org/users/joel"
},
{
"rel":"http://ostatus.org/schema/1.0/subscribe",
"template":"https://fosstodon.org/authorize_interaction?uri={uri}"
}
]
}
Pretty easy right? Now after pushing that to your server you should be able to find yourself with ease, at least within Mastodon. I am not sure how it would work on Pleroma or other Fediverse tools. Still, it is quite cool.
This won’t change your username handle per se, it will just make it so you can search me by my domain. Which would also make it easier to switch instance without having to alter mentioning my username and stuff.
]]>