2012-03-09 3 views
29

Github 페이지에서 호스팅되는 지킬 부트 스트랩 기반 블로그가 있습니다.지킬 부트 스트랩 기반 블로그 - 헤더 만료?

내 문제는 : 내가 내 웹 페이지에서 무언가를 바꿀 때마다 페이지 (CTRL + R)를 강제로 다시로드해야 변경 사항을 볼 수 있습니다.

지킬 또는 내 브라우저에서 보낼 수있는 최신 버전이 있음을 인식하지 못하는 것 같습니다.

더 잘 처리하도록 지글을 어떻게 구성 할 수 있습니까?

+2

Github Pages가 공격적인 캐싱 헤더를 보내고 특정 시간까지 브라우저의 업데이트 된 버전을 확인하지 않을 가능성이 있습니다. – Charles

+0

Github Pages로이를 회피 할 가능성은 없습니까? –

+0

캐싱 관행에 대해 질문해야합니다. – Charles

답변

-1

정적 리소스의 캐시를 무시하려면 밀어 넣을 때마다 파일 이름을 변경할 수 있습니다. 그러면 새 이름의 파일에 대해 알지 못하므로 브라우저가 새 자원을 가져옵니다. 예를 들어

:

오래된 파일 이름 : project.css 새 파일 이름 : projectv01.css

또는 당신이 원하는 무엇이든.

+1

참조 페이지의 이름을 변경해야 사용자 경험이 완전히 깨질 수 있습니다. index.html 대신 index01.html :)이 필요합니다. 그렇지 않으면 캐시는 projectv01.css가 아닌 project.css를 가리키는 index.html을 제공합니다. javascript를 사용하여 모든 콘텐츠 URL에? cache = random을 추가하는 것은 해결책이지만 끔찍한 나쁜 해결책입니다. – whardier

5

애셋 캐시 무효화를 처리 할 수있는 몇 가지 jekyl 플러그인이 있습니다.

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

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

는 내가 지킬-자산을 시도하고는 MD5 버전 번호와 자산의 모든 종류의 관리로는 꽤 좋다.

나는 컴파일 타임에 CSS 링크에 문자열을 추가하기 전에 사용합니다.

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

질문은 자산에 관한 것이 아니라 html 캐시에 관한 것입니다. –

+0

yop하지만이 플러그인은 캐시 파열 문자열을 추가하기 때문에 여기에서 대답했습니다. 내 잘못이야 :) –

3

이러한 메타 태그를 html에 추가하여 페이지의 브라우저 캐싱을 사용 중지 할 수 있습니다.

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