【发布时间】:2015-08-25 20:12:44
【问题描述】:
我正在使用 github 页面学习 jekyll。当我创建一个新帖子(无论如何 - 在本地并通过 github 页面提交到 github 或在线)时,我需要强制重新加载(ctrl+r)我的页面以查看更改。正常吗?
我的存储库网址是here
【问题讨论】:
标签: jekyll reload github-pages
我正在使用 github 页面学习 jekyll。当我创建一个新帖子(无论如何 - 在本地并通过 github 页面提交到 github 或在线)时,我需要强制重新加载(ctrl+r)我的页面以查看更改。正常吗?
我的存储库网址是here
【问题讨论】:
标签: jekyll reload github-pages
由于 Github 页面内容具有 http 响应标头,例如 Cache-Control:max-age=600 和 Expires:Wed, 10 Jun 2015 16:30:25 GMT(十分钟后的日期),避免页面缓存的唯一方法是将浏览器设置为不缓存。
如果您仔细阅读 this answer about http-equiv meta(阅读 HTML 元标记与 HTTP 响应标头段落),您会明白,在您的情况下,http-equiv 元是无用的.
这个缓存与 Jekyll 无关,而是与 github 页面服务器设置有关。个人博客上的 10 分钟缓存并没有那么大。普通用户不需要每 30 秒刷新一次。
作为开发人员,您不应该在生产服务器上进行开发,而是在开发服务器上进行开发,在那里您可以专门设置您的服务器。
【讨论】:
这只是浏览器在做他们的事情。如果您使用 published: false Front Matter 处理草稿,那么您可以在帖子布局的 <head> 部分中使用以下 sn-p 有条件地禁用缓存:
<% if page.published != true %>
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
<% endif %>
在您正在进行的工作的顶部:
---
layout: post
title: My New Article
published: false
---
当您想真正发布时,只需删除 published: false YAML 或将其设置为 true。
【讨论】: