Blog basado en Jekyll Bootstrap - ¿Caducan los encabezados?

I have a Jekyll bootstrap based blog hosted on Github pages.

My problem is: Every time I change something on my web page, I have to forcefully reload the page (CTRL + R) to see the changes.

Jekyll or my browser does not seem to realize that there is a newer version available to send out.

How can I configure Jekyll to better handle this?

preguntado el 09 de marzo de 12 a las 17:03

Chances are that Github Pages is sending out aggressive caching headers, telling the browser not to check for an updated version of the resource until a certain time. -

So there is no possibility to circumvent this with Github Pages? -

You'll need to ask them about their caching practices. -

Hey @SebastianHoitz did you solve this? I am facing a similar issue. -

I've also asked them about this, but to no avail. -

3 Respuestas

There are a couple of jekyl plugins to handle assets cache busting.

https://github.com/ixti/jekyll-assets/

http://matthodan.com/2012/11/22/jekyll-asset-pipeline.html

I tried jekyll-assets and it's pretty nice as it manage all kind of assets with an md5 version number.

Before I use to append a string to my css links at compilation time.

<link href="{{ ASSET_PATH }}/css/global.css?{{ site.time | date:'%Y%m%d%U%H%N%S' }}" rel="stylesheet">

Respondido el 09 de enero de 13 a las 16:01

Question is not about assets, it's about html cache. - Murat Çorlu

yop but this plugin add cache busting strings, that's why I answered here. my bad :) - Yannick Schall

You can add these meta tags to your html to disable browser caching for your pages.

<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />

Respondido el 09 de enero de 13 a las 12:01

If you want to bypass the cache on static resources you could change the name of the file each time you push it. This will make the browser get the new resource since it won't know anything about a file with a new name.

Por ejemplo:

Old file name: project.css New file name: projectv01.css

Or whatever you would like.

respondido 27 nov., 12:20

The referring page would have to be renamed as well which would break the user experience completely. Instead of index.html it would have to be index01.html :). Otherwise the cache will serve the index.html that points to project.css rather than projectv01.css. Using javascript to add ?cache=random to every content url is A solution.. but a horrible bad solution. - más duro

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.