frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

How I fixed my blog's performance issues by writing a new Jekyll plugin

https://arclight.run/how-i-fixed-my-blogs-performance-issues-by-writing-a-new-jekyll-plugin-jekyll-skyhook/
56•arclight_•3d ago

Comments

Brajeshwar•6h ago
Honestly, I believe you have made it a tad complex than it needs to be. I migrated to Jekyll from WordPress about 4 years ago. It does have all 100s in Google PageSpeed. I used Jekyll as just another tool so I can stick to GitHub Pages. There is nothing tied to anything, and I can move all the Markdown contents to another system within hours, if not minutes. I can also upload the generated HTML via FTP, and it will work as well.

Almost all audio, images, and videos are rather ornamental, and the content will be OK without them. I try to have all content as standalone on its own as possible. For instance, the posts follow the pattern "_posts/YYYY/YYYY-MM-DD-url-goes-here.md," so I know where the yearly content is, despite each post having its own designated published date. I also have a folder "_posts/todo" where published (but work-in-progress) and future dated posts live.

For images, I stopped worrying about serving multiple sources. I optimized it somewhere between good enough for both mobile and higher (I now consider tablet and desktop the same).

https://brajeshwar.com/2021/brajeshwar.com-2021/

bentocorp•5h ago
I use Jekyll for my company website [1] and managed to get a lot of speed optimisations simply by using a post-processing tool on the statically generated output.

The tool I use is Jampack and I'd highly recommend it: https://jampack.divriots.com

For my product website, it reduced the overall size by 590MB or approximately 59% in size, along with changing the HTML/CSS to make the optimisations that this article notes.

[1] https://www.magiclasso.co/

maccard•5h ago
Do you mean KB or do you have a 1GB website??
vallode•5h ago
They are most likely referring to the overall size of the whole website including all generated HTML for posts, static content, styles etc.
rossant•4h ago
1gb is huge even for a whole website. Unless there are videos or hundred of high definition photos. Curious to know what makes up this space.
dewey•52m ago
Maybe they included node_modules in that count.
thomas_witt•3h ago
In my opinion the whole point of Jekyll is not having to use some npm/JS packages and dependencies.
dewey•5h ago
And yet when I open the page it first loads without CSS and then after 0.5s applies the style.
microflash•5h ago
They probably forgot to inline the critical CSS.
chrismorgan•4h ago
Responsible:

  <link rel="stylesheet" href="/_digested/assets/css/main-e03066e7ad7653435204aa3170643558.css" media="print" onload="this.media='all'">
  <noscript><link rel="stylesheet" href="/_digested/assets/css/main-e03066e7ad7653435204aa3170643558.css"></noscript>
This is deliberate FOUC. Why, I have no notion whatsoever. It should read:

  <link rel="stylesheet" href="/_digested/assets/css/main-e03066e7ad7653435204aa3170643558.css">
est•5h ago
I have a blog with pagespeed score of 98 but still got several pages de-indexed from google. Guess my content isn't that important.
dewey•2h ago
In the Google Search console you can usually see the reason why it's not included. Page speed is rarely a reason for indexing / non-indexing unless it's really bad.
thomas_witt•3h ago
Great effort - really happy to see people keeping Jekyll alive.

Q: Why did you decide to rewrite the whole image handling instead of just relying on the jekyll_picture_tag gem (https://github.com/rbuchberger/jekyll_picture_tag) - I am using that since years and it just works just fine.

corentin88•3h ago
On the YouTube embed aspect, using a component can take lots of time and efforts.

Just sharing another approach where you keep the YouTube embed iframe, but replace the domain "youtube.com" by this specific domain "embedlite.com". It loads only the thumbnail of the video and when someone clicks on it, it loads the full YouTube player.

More info: https://www.embedlite.com

Raicuparta•10m ago
Doesn't sound very smart to iframe to some unknown third party that could be compromised. But their implementation is pretty simple, can easily be copied and implemented on your own domain.

Their example doesn't even seem to work on mobile at least (just iframes the homepage itself), which doesn't really inspire confidence.

deafpolygon•2h ago
all this for a blog.
impostervt•2h ago
Over the weekend I stood up a small site with a blog of only a few articles. I've done this in the past with Wordpress and Jekyl, but I do it pretty rarely so I forget exactly how to do it and how to make the sites fast.

So I let Claude write it. I told it I wanted a simple static website without any js frameworks. It made the whole thing. Any time I add a blog post, it updates the blog index page.

The site is, of course, very fast. But the main gain, for me, was not having to figure out how to get the underlying tech working. Yes, I'm probably dumber for it, but the site was up in a few hours and I got to go on with my life.

Sayrus•2h ago
The page doesn't load any CSS, I get a 301 loop on main-e03066e7ad7653435204aa3170643558.css leading to ERR_TOO_MANY_REDIRECTS and over 100 requests and a nearly 1 second load time. Sections are displayed lazily and on each scroll I get dozens of requests sent to google-assets-formatavif-width672-4399f142b495ab9796b3b91053c097b9.avif with the same 301. This leads to section taking over 200ms for 4 lines of text.

While that may be great for Google Pagespeed, it leads to issues that wouldn't exist with a static page and a degraded experience for the end user. I'm not sure if the issue is related to the plugin discussed in the article.

With this being said, I can see many use-cases for such a plugin. Having compile-time image transformation/compression is really nice.

philipwhiuk•1h ago
Google web-fonts are very annoying for the reason specified. Ended up removing them because it was too annoying to import them properly.
Akronymus•1h ago
> And at this point, the library seems to have been abandoned as it hasn't been updated in over 5 years.

Why is the automatic assumption foe something not being updated for a few years to be abandoned instead of done? Are libraries not allowed to be stable/done?

the_sleaze_•36m ago
Aside from the specific tools in use (JS has a higher maintenance burden than a golang lib, for example)

You really need to look at the issues/updates ratio. Are there 57 open issues that haven't been triaged or addressed? Are there multiple open PRs or requests that should be easily added and are just sitting there rotting?

LLM Embeddings Explained: A Visual and Intuitive Guide

https://huggingface.co/spaces/hesamation/primer-llm-embedding
179•eric-burel•6h ago•26 comments

The Geological Sublime

https://harpers.org/archive/2025/07/the-geological-sublime-lewis-hyde-deep-time/
6•prismatic•15m ago•0 comments

Debian switches to 64-bit time for everything

https://www.theregister.com/2025/07/25/y2k38_bug_debian/
147•pseudolus•2h ago•70 comments

Show HN: I made a tool to generate photomosaics with your pictures

https://pictiler.com
30•jakemanger•2h ago•13 comments

Enough AI copilots, we need AI HUDs

https://www.geoffreylitt.com/2025/07/27/enough-ai-copilots-we-need-ai-huds
566•walterbell•14h ago•188 comments

SIMD within a register: How I doubled hash table lookup performance

https://maltsev.space/blog/012-simd-within-a-register-how-i-doubled-hash-table-lookup-performance
107•axeluser•7h ago•13 comments

Performance and telemetry analysis of Trae IDE, ByteDance's VSCode fork

https://github.com/segmentationf4u1t/trae_telemetry_research
882•segfault22•19h ago•313 comments

VPN use surges in UK as new online safety rules kick in

https://www.ft.com/content/356674b0-9f1d-4f95-b1d5-f27570379a9b
189•mmarian•10h ago•193 comments

Trying to play an isomorphic piano (2022) [video]

https://www.youtube.com/watch?v=j4itL174C-4
21•surprisetalk•3d ago•12 comments

Viral Language

https://lareviewofbooks.org/article/viral-language/
4•lermontov•2d ago•0 comments

Dumb Pipe

https://www.dumbpipe.dev/
825•udev4096•23h ago•198 comments

What would an efficient and trustworthy meeting culture look like?

https://abitmighty.com/posts/the-ultimate-meeting-culture
63•todsacerdoti•5h ago•49 comments

A Photonic SRAM with Embedded XOR Logic for Ultra-Fast In-Memory Computing

https://arxiv.org/abs/2506.22707
5•PaulHoule•3d ago•0 comments

Terminal app can now run full graphical Linux apps in the latest Android Canary

https://www.androidauthority.com/linux-terminal-graphical-apps-3580905/
23•thunderbong•3d ago•11 comments

Blender: Beyond Mouse and Keyboard

https://code.blender.org/2025/07/beyond-mouse-keyboard/
199•dagmx•3d ago•55 comments

How I fixed my blog's performance issues by writing a new Jekyll plugin

https://arclight.run/how-i-fixed-my-blogs-performance-issues-by-writing-a-new-jekyll-plugin-jekyll-skyhook/
56•arclight_•3d ago•21 comments

I hacked my washing machine

https://nexy.blog/2025/07/27/how-i-hacked-my-washing-machine/
280•JadedBlueEyes•17h ago•126 comments

Software Development at 800 Words per Minute

https://neurrone.com/posts/software-development-at-800-wpm/
112•ClawsOnPaws•3d ago•40 comments

Samsung Removes Bootloader Unlocking with One UI 8

https://sammyguru.com/breaking-samsung-removes-bootloader-unlocking-with-one-ui-8/
85•1una•11h ago•60 comments

Making Postgres slower

https://byteofdev.com/posts/making-postgres-slow/
299•AsyncBanana•16h ago•33 comments

200k Flemish drivers can turn traffic lights green

https://www.vrt.be/vrtnws/en/2025/07/24/200-000-flemish-drivers-can-turn-traffic-lights-green-but-waze/
27•svenfaw•3d ago•57 comments

Claude Code Router

https://github.com/musistudio/claude-code-router
102•y1n0•13h ago•24 comments

Ask HN: What are you working on? (July 2025)

204•david927•20h ago•624 comments

Why I write recursive descent parsers, despite their issues (2020)

https://utcc.utoronto.ca/~cks/space/blog/programming/WhyRDParsersForMe
100•blobcode•4d ago•45 comments

ZUSE – The Modern IRC Chat for the Terminal Made in Go/Bubbletea

https://github.com/babycommando/zuse
84•babycommando•14h ago•38 comments

Multiplex: Command-Line Process Mutliplexer

https://github.com/sebastien/multiplex
26•todsacerdoti•8h ago•6 comments

Solid protocol restores digital agency

https://www.schneier.com/blog/archives/2025/07/how-solid-protocol-restores-digital-agency.html
54•speckx•3d ago•31 comments

The JJ VCS workshop: A zero-to-hero speedrun

https://github.com/jkoppel/jj-workshop
149•todsacerdoti•1d ago•14 comments

Big agriculture mislead the public about the benefits of biofuels

https://lithub.com/how-big-agriculture-mislead-the-public-about-the-benefits-of-biofuels/
188•littlexsparkee•11h ago•169 comments

EU age verification app to ban any Android system not licensed by Google

https://www.reddit.com/r/degoogle/s/YxmPgFes8a
871•cft•15h ago•505 comments