【已解决】请教下能根据当前是星期几,使用不同的模板吗?

能根据当前是星期几,使用不同的模板吗?


遇到的问题

想自动生成日程规划,并且根据当前是星期几使用不同的日程模板,有没有大佬有思路啊

预期的效果

  • 星期一使用周一的模板生成日程规划;
  • 星期二使用周二的模板生成日程规划;
  • 以此类推……

已尝试的解决方案

目前用QuickAdd插件做了一个宏,第3步根据模板生成日程文件,只能每天用一样的模板。

有没有办法在第3步外面包一层if逻辑判断啊?

或者整个宏外面包一层,周一用周一的宏,周二用周二的宏……

或者有其他插件可以实现?

插件官方文档提供了执行quickAdd命令的API,参照官方例子改了下,目前看起来是可以了

添加脚本dailyPlan.js

let QuickAdd, Settings;

async function start(e, t) {
    QuickAdd = e, Settings = t;
    var m = moment().locale('en');
    const dayOfWeek = m.format('dddd');
    const command = 'Generate plan of ' + dayOfWeek;
    Settings.dayOfWeek = dayOfWeek;
    await QuickAdd.quickAddApi.executeChoice(command,Settings);
    // QuickAdd.variables = {
    //     dayOfWeek: dayOfWeek
    // }
}

module.exports = {
    entry: start,
    settings: {
        name:"DailyPlan Script",
        author:"Chris"
    }
};

ps:我看官方例子,很多传给模板的参数可以放到QuickAdd.variables里,我放参数进去就跳输入框让我手动输入,有大佬知道原因吗?

然后创建多个QuickAdd template

用dailyPlan.js配置一下宏

再给宏绑定一下quickAdd命令

我的模板设置:

另外我的使用场景里,day planner插件获取不到自动生成的日记文件的路径,渲染timeline的时候有问题。必须执行脚本后马上鼠标点一下生成的模板文件页面才正常显示,我又改了下插件代码。。。

insertDayPlannerIntoCurrentNote方法const filePath = view.getState().file;这一行改成const filePath = this.app.workspace.getActiveFile().path;

既然折腾了就分享出来吧。。不会前端,也不知道会不会出问题哈哈,目前看起来完美

1 个赞

忽略那个a。。。