hexo博文加密

介绍一种给博客文章加密的方法。

很多时候当我们写了一篇博客,但并不想所有人能够访问它。对于WordPress这很容易做到,但是对于hexo,由于是静态网页,并不能做到完全的加密。

在GitHub上发现了有个人做了一个加密的插件,还挺好用,推荐给大家。

安装

在你的hexo根目录的package.json文件夹中添加:

"hexo-blog-encrypt": "2.0.*"

然后在命令行中输入:

npm install

这样这个插件就安装好了。

找到根目录下的_config.yml文件,添加如下:

# Security
##
encrypt:
    enable: true

这样就可以使用插件了。

使用

在你要加密的文章头部写入password,例如:

---
title: Hello World
date: 2016-03-30 21:18:02
password: abc123
abstract: Welcome to my blog, enter password to read.
message: Welcome to my blog, enter password to read.
---

这样就可以需要输入密码访问了。

Bugs

  • 对于hexo-blog-encrypt2.0之前的版本,无法触发渲染mathjax的函数,需要进行升级。

  • 如果想对TOC进行加密,以next主题为例,将next/layout/_macro/sidebar.swig的文件替换为:

    `{% macro render(is_post) %}
      
    
      
        
        {% if page.encrypt == true %}
          {% if display_toc and toc(page.origin).length > 1 %}
          
            
{% if page.toc_number === undefined %} {% set toc = toc(page.origin, { "class": "nav", list_number: theme.toc.number }) %} {% else %} {% set toc = toc(page.origin, { "class": "nav", list_number: page.toc_number }) %} {% endif %} {% if toc.length <= 1 %}

{{ __('post.toc_empty') }}

{% else %}
{{ toc }}
{% endif %}
{% endif %} {% else %} {% if display_toc and toc(page.content).length > 1 %}
{% if page.toc_number === undefined %} {% set toc = toc(page.content, { "class": "nav", list_number: theme.toc.number }) %} {% else %} {% set toc = toc(page.content, { "class": "nav", list_number: page.toc_number }) %} {% endif %} {% if toc.length <= 1 %}

{{ __('post.toc_empty') }}

{% else %}
{{ toc }}
{% endif %}
{% endif %} {% endif %} {% if theme.sidebar.b2t %}
{% if theme.sidebar.scrollpercent %} 0% {% endif %}
{% endif %}
{% endmacro %}

你可能感兴趣的:(hexo博文加密)