在博客中插入类似 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 | String orArray | "en" | 月份语言,可选:en ,cn 或自定义 |
dayLang | String orArray | "en" | 一周中每一天的语言,可选:en ,cn 或自定义 |
weeks | Number | 40 | 显示多少周之前至今的活动记录 |
title | String | "calendar" | 日历标题 |
insertScript | Boolean | true | 是否自动插入echarts 库。如果你已全局引入echarts 库,请将此项设为false ;如果你的站点启用了pjax ,请将此项设为false ,并全局引用echarts 库。 |