创建带有密码的博客

创建带有密码的博客

参考资料

Laphets’s Blog

生搬硬套的后果

把参考资料中的代码搬到我的博客上以后…
因为主题的问题,所以代码竟然未生效!!!
好气啊…
所以,我决定自己动手,丰衣足食!

动手成果

经过各种尝试,现在找到了一个比较稳定且实用的方法。
首先,既然直接插入脚本无效了,那么我们就直接修改主题模板!
打开主题中layout/post.ejs,在

<!--  代码渲染  -->
<link rel="stylesheet" href="<%- config.root %>css/typo.css" />

之前(其实没必要非在这里,你放到其他地方也未尝不可,只要是能够渲染上的地方就好)加上这么几行代码:

<% if(page.layout === 'password'){  %>
    <!-- Password 密码 -->
     <%- partial('_partial/password', {password: page.password}) %>
<% } %>

之后打开该文件夹中的_partial文件夹,随便复制一个ejs文件,改名为password.ejs,之后打开它,删掉全部内容,改成下面的代码:

<script>
    if( "<%= password %>" == prompt("请输入密码:"))
    {

    }
    else
    {
        alert("密码错误!");
        location="你的主页网址";
    }
</script>

这里location也可以填其他的网址,是显示密码错误之后跳转的网址。
然后,在你想密码保护的文章的Front-matter中(就是文件最上方以 — 分隔的区域,不知道的可以去官网看文档)加入以下两行:

layout: password
password: 

password后面写这篇文章的密码即可(记得加空格)。
到这里应该是没什么问题了,如果出现什么问题可以在下面评论。