在博客中插入类似 Github contributions 的活动日历。
注意:此插件会和hexo g命令冲突,请使用hexo ge或hexo generate替代hexo g命令!
前提条件
注意:不满足前提条件的无法使用此插件,在不满足前提条件的情况下安装此插件出现的问题不予以处理,如何实现以下前提条件的问题不予以处理!
- Node.js >= 12.0
- 使用Git对博客**源码(不是使用 git 部署)**进行管理;
- 在博客根目录使用
git log -1 --date=iso --pretty=format:"%ad"命令能够输出一个日期; - 如何确定第一项是否符合:
- 博客根目录含有
.git文件夹,这是一个隐藏文件夹; - 符合上面的第三项。
- 博客根目录含有
安装
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 周之前至今的活动记录。
选项
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| width | String | "600" | 日历宽度,单位:px |
| height | String | "165" | 日历高度,单位:px |
| id | String | "calendar" | 日历元素 id |
| monthLang | StringorArray | "en" | 月份语言,可选:en,cn或自定义 |
| dayLang | StringorArray | "en" | 一周中每一天的语言,可选:en,cn或自定义 |
| weeks | Number | 40 | 显示多少周之前至今的活动记录 |
| title | String | "calendar" | 日历标题 |
| insertScript | Boolean | true | 是否自动插入echarts库。如果你已全局引入echarts库,请将此项设为false;如果你的站点启用了pjax,请将此项设为false,并全局引用echarts库。 |
示例






