Hello, guys! Thank you for give me such cool tool like Jekyll. I also created tool for Jekyll called Reprose – it’s Markdown files editor for Github. It also based on Jekyll.
This is my personal web site. I want it to transcend all my other stuff that I’m doing and the record of truth for my life online. Writing in Obsidian, and hosting through netlify. I’m not a coder, so this is a big learning curve for me, but I know it will help me continue learning and growing.
This is my personal site where I share thoughts and things I find interesting. In the spirit of many blogs out there, it used to be heavily outdated because I kept tinkering with how the blog works more than actually writing anything. Let’s see if I can consistently keep it up now with this update. Wish me luck.
The things that keep me up at night:
Writing every single piece of HTML, CSS(, and JS) from scratch.
No cookies. No tracking. Analytics are privacy-preserving.
A custom design with light and dark mode as well as fonts specifically picked for the task.
Exceptional page load speeds, even though I’m not a developer or admin by trade. And I learned so much from the journey!
What a nice clean site! Couldn’t agree more with the sentiments you express, e.g. re static CSSs or iCloud.
I pressed “f”, search was blindingly fast indeed, but no result on “analytics”, to which you refer. So how do you do “privacy-preserving” analytics, if I may ask?
Thank you! I guess I’ll have to write a post on that at some point. I put it on my to-do list.
I decided to use Plausible.io for analytics, who do not set cookies or store user’s IP addresses and in no way create persistent identifiers for visitors across the web. In order to count visitors vs. page views in a limited way, a daily rotating salt is used to hash IP address and user agent with. This means I can’t ever see returning visitors past a day, but that’s not an issue for me. All requests to Plausible are proxies through my nginx web server, so the visitor’s browser doesn’t contact them directly.
My nginx server does not store IP addresses in logs either (anonymized the log format to store anonymized addresses). I don’t use the logs for anything anyway, but keep them around in case something goes awry.
Vielen Dank! Probiere ich gerade. Ich weiß nicht ob ich mit meinem Provider das Self-hosten hinkriege, aber die 30 Probetage laufen jetzt. Es hat auf Anhieb funktioniert – wieder mal Jekyll: einfach in meine head-includes reingesetzt, ftp-Synchronisation, und alle 500 Seiten oder so werden jetzt schon life gezählt. Danke.
I am a big fan of your post ‘Jekyll against the rest of the world’. Your writing (and technical approach) are absolutely amazing. Keep up the good work!
Hey, great site Toby! It’s beautiful. I saw it in dark mode and really like the design.
I have a site (https://Jethro.site) but I haven’t been able to get search working and since my posts are connected notes, search would be really handy.
I have almost 2K posts dating all the way back to 2006(!) and when I installed lunar search it took up to an hour to build the site, and always timed out on my host (netlify).
I’d love to see how you did search, in more detail than was on your site.
It’s funny you’ve had a Jekyll site for years and I’m just getting started. I tried to do it over a decade ago, but I got too frustrated trying to make it work. Fully committed now though.
I’ve added search in our template site. Search, if done locally, is a trade-off. We decided to include only the titles and descriptions of pages and posts, since including the full text proved to be really slow.
Unfortunately no. I started drafting a blog post about it, but never really finished it. I will try to someday take a look at it and see if I can finish it, but I have to take a very good look at the code again.
The main PR that introduced the search is here, and you can see the search working in our demo site. Note that after that PR other changes have been introduced to the search code. I decided to go with a client side search based on Ninja keys, but using deepdub’s fork as basis since it supports fuzzy search. I avoided lunr because it’s been a while since it had any update.
I had to do a bunch of changes to their code to make it work without using node to install everything. Also changed to use some colors defined in our side and using both pages’ titles and descriptions for search.