Jekyll根据日期重定向

时间:2018-10-25 17:07:34

标签: redirect jekyll github-pages

我有一个网站,我认为它是完全静态的,因此非常适合Jekyll。大概这个想法:

index.md
dir1/day2018-10-25.md
dir1/day2018-10-26.md
...
dir1/day2018-12-31.md

请考虑到每个页面现在都能正常运行。我要添加的功能是用户可以浏览至/today形式的网址,并于2018年10月26日将其重定向到dir1/day2018-10-26,但是用户接下来可以浏览至/today一个月将被定向到相关页面。

插件jekyll-redirect-from似乎不是解决此问题的正确工具。它会让我在任何指定的页面中将/today列为重定向,但是我无法将它每天从一页转移到下一页。

我不知道这是否是一个重要的考虑因素,但是我正在使用GitHub Pages提供页面(以防万一施加任何其他约束或提供其他选项)。

每天进行不同重定向的想法虽然有点动态...但是感觉像是定义得很好并且是预定义的,应该可以实现。 Jekyll可以处理这样的重定向要求吗?

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用javascript重定向:

var date = Date.now()
var day = Date.getDate()
var month = Date.getMonth()
var year = Date.getFullYear()
var redirect = "/dir1/day" + year + "-" + month + "-" + day + ".md"
windows.location.replace(redirect)

您还可以使用Jekyll hook plugin来进行此操作,该操作每天都会调整您的today.html。 此解决方案的唯一缺点是您的网站必须每天都建立才能更新重定向。

第三个解决方案是将您的站点托管在Netlify上,并使用placeholders配置重定向。