happy page.
source
在网站的设计,我不希望有些页面直观的显示在读者面前,而希望读者在不经意间或者特定的用户访问(当然里面也没有秘密),增加趣味性,但是又不想设置成密码的方式,这样很枯燥。
所以我想能否通过某种特定的方式,来打开隐藏页面。而不管是哪种方式,都需要读者使用鼠标或者键盘进行动作执行,因此,网页就需要进行动作捕捉,所以,需要在页面中嵌入javaScript代码。
模板继承
我们首先需要新建一个html模板,用于特定的md文档使用:
template = "xxx.html"
文档中需要继承项目的模板:
{% extends "base.html" %}
{% block main_content %}
<h1>{{ page.title }}</h1>//显示标题
<div>{{ page.content | safe }}</div>//显示内容
<script>
...
</script>
{% endblock %}
访问限制
如果直接可以使用url进行访问,那就失去了有趣的意义,因此设置了一些限制
当尝试直接访问时,使用javascrpit判断是否带有token,当然这个token不会和后端进行绑定(因为zola本身就没有后端🤣🤣🤣),仅仅是为了稍微限制一下。
具体逻辑为:当用户成功访问到隐藏页面时,当前页面会生成一个固定的token,隐藏页面会判断是否含有特定的字符串;但是如果用户使用URL直接访问,是不会含有字符串,因此会被重定向到/。
当然,如果实在找不到,可以通过f12查看tocken,绕过限制直接访问隐藏文件,这个tocken字符串也包含了访问隐藏页面的信息。
隐藏页面
可通过特定位置点击进入隐藏页面。