首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Obsidian 配置及插件分享

Obsidian 配置及插件分享

作者头像
查克
发布2024-12-06 12:29:24
发布2024-12-06 12:29:24
4430
举报
文章被收录于专栏:碲矿碲矿

今日主页

原理不讲那么多了,直接贴配置吧(注意把 ``` 的 ' 去掉)。

代码语言:javascript
复制
---
banner: "https://bingw.jasonzeng.dev"
banner_lock: true
---

'```dataviewjs
await dv.view("Obsidian/views/countdownView")
'```

去年今日 `= "[["+(date(today) - dur(1 years))+"]]"`

--- start-multi-column: ExampleRegion1
'```column-settings
number of columns: 2
'```

今日待办
'``` tasks
not done
filter by function task.file.filename.includes(moment().format('YYYY-MM-DD'))
sort by function task.priorityNumber
short mode
'```

--- end-column ---

已完成任务
'``` tasks
done on today
short mode
'```

--- end-multi-column


## 待读
'```dataview
list
from "待读"
sort file.ctime desc
limit 10
'```

稍微解释一下:

需要安装 HomePage 和 Banner 插件。

banner: "https://bingw.jasonzeng.dev",就是获取必应的每日一图,接口好多,可以自己换。

今日待办已完成任务 分栏是通过插件 Multi-Column Markdown 实现的。

今日待办已完成任务 数据源是日记(Daily),所以需要启用系统插件 Daily notes。

👋 今天是 2024 年 08 月 24 日 星期六 ,农历七月廿一。本周还剩 0 天,8 月还剩 7 天,2024 年还剩129 天。 是通过 js 实现的,代码如下:

代码语言:javascript
复制
// 创建视图的主函数
async function CountdownView() {
    var now_time = new Date();
    var today_time = now_time.toLocaleString("en-US", { timeZone: "Asia/Shanghai" });

    // 使用 moment.js 获取日期和时间信息
    var day_number = moment(today_time).format('DD');
    var month_number = moment(today_time).format('M');
    var year_number = moment(today_time).format('YYYY');

    // 将星期几改为中文格式
    var formattedDate = moment(today_time).format(' YYYY 年 MM 月 DD 日 dddd ')
        .replace("Monday", "星期一")
        .replace("Tuesday", "星期二")
        .replace("Wednesday", "星期三")
        .replace("Thursday", "星期四")
        .replace("Friday", "星期五")
        .replace("Saturday", "星期六")
        .replace("Sunday", "星期日");

    dv.el('span', '👋 今天是<span class="ob-special-font-style">' + formattedDate + ' </span>,');

    // 将农历日期转化为中文
    var cnNumbers = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"];
    function toChineseNum(num) {
        if (num <= 10) return cnNumbers[num];
        if (num > 10 && num < 20) return "十" + cnNumbers[num - 10];
        if (num === 20) return "二十";
        if (num > 20 && num < 30) return "廿" + cnNumbers[num - 20];
        return num;
    }

    var today_local_month = now_time.toLocaleString('zh-u-ca-chinese', { month: "numeric" });
    var today_local_day = now_time.toLocaleString('zh-u-ca-chinese', { day: "numeric" });

    var today_local_day_num = Number(today_local_day.split('日')[0]);
    var lunarDay = (today_local_day_num > 10 ? toChineseNum(today_local_day_num) : "初" + cnNumbers[today_local_day_num]);

    dv.el('span', '农历<span class="ob-special-font-style">' + toChineseNum(today_local_month) + lunarDay + '</span>。');

    // 计算本周、本月、今年的剩余天数
    const now = moment();
    const endOfWeek = moment().endOf('week');
    const endOfMonth = moment().endOf('month');
    const endOfYear = moment().endOf('year');

    const weekDiff = endOfWeek.diff(now, 'days');
    const monthDiff = endOfMonth.diff(now, 'days');
    const yearDiff = endOfYear.diff(now, 'days');

    dv.el('span', '本周还剩 <span class="ob-special-font-style">' + weekDiff + '</span> 天,');
    if (monthDiff == 0) {
        dv.el('span', '也是 <span class="ob-special-font-style">' + month_number + '</span> 月的最后一天,');
    } else {
        dv.el('span', month_number + ' 月还剩 <span class="ob-special-font-style">' + monthDiff + '</span> 天,');
    }
    dv.el('span', year_number + ' 年还剩<span class="ob-special-font-style">' + yearDiff + '</span> 天。');
}

// 执行主函数
CountdownView();

安装的插件好多,启用的如下:

插件

Dust Calendar 就是那个农历日历;Rollover Daily Todos 可以在新建日记的时候,把昨天没完成的任务自动搬过来,省得自己去复制。

好了,就这样。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 碲矿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档