Closed forvoid closed 8 months ago
我参考了https://github.com/vran-dev/obsidian-contribution-graph/blob/master/README_ADVANCE.md 使用dataviewjs 大致实现了我想要的效果。但是与配置实现方式相比比较麻烦,而且展现的效果没有配置实现的好
希望大神看看是否能配置实现对 日期字段的规则修改
const from = '2024-01-01'
const to = '2024-12-31'
let frontmatterName = '提升/看书'
const data = dv.pages('"文件"')
.filter(p => p.file.frontmatter.hasOwnProperty(frontmatterName))
.groupBy(p => p.file.name.substr(0,10))
.map(entry => {
let num = entry.rows.values[0][frontmatterName]
return {
date: entry.key,
value: num
}
})
console.log(data)
const calendarData = {
title: `2024年看书情况统计-分钟数`, // graph title
data: data, // data
fromDate: from, // from date, yyyy-MM-dd
toDate: to ,
cellStyleRules: [
{
color: "#f1d0b4",
min: 2,
max: 2,
}
]// to date, yyyy-MM-dd
}
renderContributionGraph(this.container, calendarData)
_ddd
这种格式化的结果依赖于本地语言环境,每个框架可能都有自己的输出结果,迁移性不好。
建议是将文件名改为标准的日期格式(比如 2024-01-01 这种),然后将星期的信息维护到笔记属性中。
或者是在笔记属性中加一个标准的日期属性,然后用这个属性来做统计。
您好,感谢你开发的插件,非常契合我的需要。 但是我在配置过程中发现一个困难,由于我的日记是采用 momentjs 的格式生成的
所以生成的文件名称为:
2024-01-01_周一
导致无法使用 按文件名称配置日期字段 https://momentjs.com/docs/#/displaying/format/ 目前有什么好的方式能帮助我解决这个问题吗? 再次对您的帮助表示感谢