本文最后更新于天前,内容可能已不再适用!

在博客中插入类似 Github contributions 的活动日历。

注意:此插件会和hexo g命令冲突,请使用hexo gehexo generate替代hexo g命令!

前提条件

注意:不满足前提条件的无法使用此插件,在不满足前提条件的情况下安装此插件出现的问题不予以处理,如何实现以下前提条件的问题不予以处理!

  1. Node.js >= 12.0
  2. 使用Git对博客**源码(不是使用 git 部署)**进行管理;
  3. 在博客根目录使用git log -1 --date=iso --pretty=format:"%ad"命令能够输出一个日期;
  4. 如何确定第一项是否符合:
    1. 博客根目录含有.git文件夹,这是一个隐藏文件夹;
    2. 符合上面的第三项。

安装

npm i hexo-calendar -S

or

cnpm i hexo-calendar -S

使用

作为辅助函数在主题模板中使用

<%- calendar({monthLang: 'cn', dayLang: 'cn', title: '活动日历'}) %>

作为标签在 md 文件中使用

注意:这种方法请使用严格的 JSON 格式!

{% calendar %}
{"monthLang": "cn", "dayLang": "cn", "title": "活动日历"}
{% endcalendar %}

如果你使用了自动部署

如果你使用了Travis CI,Github Action之类的自动部署,那么你需要在推送源码之前使用hexo gc -w=40命令生成一个calendar.json文件。-w=40代表显示 40 周之前至今的活动记录。

选项

名称类型默认值描述
widthString"600"日历宽度,单位:px
heightString"165"日历高度,单位:px
idString"calendar"日历元素 id
monthLangStringorArray"en"月份语言,可选:en,cn自定义
dayLangStringorArray"en"一周中每一天的语言,可选:en,cn自定义
weeksNumber40显示多少周之前至今的活动记录
titleString"calendar"日历标题
insertScriptBooleantrue是否自动插入echarts库。如果你已全局引入echarts库,请将此项设为false;如果你的站点启用了pjax,请将此项设为false,并全局引用echarts库。

示例

示例

最后修改:2020-07-30 14:08:27
如果觉得我的文章对你有用,请随意赞赏