Hey everyone, I’m running a small content-based website that focuses on Texas Roadhouse menu updates, coupons, and restaurant guides. The site is built with Jekyll and hosted on GitHub Pages. For the most part, everything has been working fine, but recently, I started facing an issue where my menu pages (which use collections and includes) aren’t updating properly when I rebuild or push new content. The changes show up locally sometimes, but not consistently, and once deployed, some old data still appears live.
I’ve structured the site using collections — for example, _menus and _offers, which I loop through using for loops inside my HTML templates. The data is stored in Markdown files with front matter for items like title, price, and category. However, when I modify a single file in _menus, the local build (bundle exec jekyll serve) doesn’t always reflect the change unless I do a full clean and rebuild with jekyll clean. Even then, once I push to GitHub, the live site sometimes continues to show outdated entries or missing new ones.
I initially thought it might be a caching issue, but clearing my browser cache and even disabling GitHub Pages’ CDN cache didn’t help. Then I tried building the site manually and deploying it to a different server, but the problem persisted. It feels like the incremental build process is failing to detect content changes in my collections, especially when I modify the includes or Liquid loops that pull data dynamically.
Another problem is with my _includes folder. I’ve got several reusable templates (like menu-item.html and offer-card.html) that I call in different layout files. When I tweak any of these include files, sometimes Jekyll doesn’t rebuild those dependent pages unless I restart the server. It’s starting to slow down my workflow quite a bit since I make frequent small updates to the layout and content. Is there a reliable way to force Jekyll to rebuild affected pages automatically when includes are edited?
I’m running Jekyll 4.3.3 with Ruby 3.2.2 on Windows, and my site’s theme is a slightly customized version of Minima. I’ve also tried disabling incremental builds with the --no-incremental flag, which does make updates appear correctly, but it significantly increases build time — not ideal for frequent edits. I wonder if there’s a configuration or plugin issue causing Jekyll to miss changes in certain file types or directories.
Has anyone else experienced something similar where Jekyll doesn’t update content from collections or includes properly? If so, what was your fix maybe a plugin like jekyll-include-cache, or should I restructure my collections to avoid this issue altogether? Any suggestions would be greatly appreciated because my website relies on regular menu updates, and manually cleaning and rebuilding every time is becoming a real hassle. Sorry for the longpost!