这里就介绍部分,细节需要参考官方文档
tp.config.active_file? 启动模板程序时的活动文件(如果存在)。
tp.config.run_mode RunMode 代表启动模板程序的方式(从模板创建新的,附加到活动文件,...)
tp.config.target_file TFile 表示将插入模板的目标文件的对象。
tp.file.template_file TFile 表示模板文件的对象。
这里除了 tp.config.run_mode 其他命令,获取到的都是文件对象,需要搭配 [tp文件](# 2.3 tp 文件) 使用
tp.date.now(format: string = "YYYY-MM-DD", offset?: number⎮string, reference?: string, reference_format?: string)
tp.file.create_new(template: TFile ⎮ string, filename?: string, open_new: boolean = false, folder?: TFolder)
tp.file.move(new_path: string, file_to_move?: TFile)
将文件移动到所需的 Vault 位置。
tp.file.title
获取文章标题
tp.system.prompt(prompt_text?: string, default_value?: string, throw_on_cancel: boolean = false, multiline?: boolean = false)
生成提示模式并返回用户的输入。
ctrl + shift + i
打开控制台,查看日志
markdown| 任务 | 计划开始时间 | 计划结束时间 | 计划天数 | 实际开始时间 | 实际结束时间 | 状态 | | ---- | ------------ | ------------ | -------- | ------------ | ------------ | ---- |
js---
tags:
create_time: <% tp.date.now("YYYY-MM-DD HH:mm:SS") %>
---
<%*
// 获取当前时间
let currentDate = tp.date.now("YYYY-MM-DD")
// 输入计划开始时间
let planstartDate = await tp.system.prompt("计划开始时间(YYY-MM-DD)", currentDate, true)
// 输入计划天数
let plantDay = await tp.system.prompt("计划天数(dd)", 7, true)
// 计算出可能结束的时间
let mayEndDate = window.moment(planstartDate).add(plantDay, "d").format("YYYY-MM-DD")
// 输入计划结束时间
let planEndDate = await tp.system.prompt("计划结束时间(YYY-MM-DD)", mayEndDate, true)
// 输入项目名称
let projectName = await tp.system.prompt("项目名", "_" + planEndDate, true)
// 输入项目说明
let projectIntro = await tp.system.prompt("项目说明", projectName, true, false, true)
-%>
- 计划开始时间:<% planstartDate %>
- 计划结束时间:<% planEndDate %>
- 计划天数: <% plantDay %>
- 实际开始时间:
- 实际结束时间:
- 领域/资源:
- 标签:
- 关联文件:
- 项目说明:<% projectIntro %>
------------
<%*
// 拼接其他模板
let includeFileName = await tp.system.prompt("添加模板", "none", true)
// 初始化 引入文本
let includeStr = ""
// 获取文件
let includeFile = await tp.file.find_tfile(includeFileName)
// 如果文件存在的话,获取引入文本
if(includeFile != null) {
console.log("获取引入文本")
// 引入目标模板,初始化,获得最终文本
includeStr = await tp.file.include(includeFile)
}
// 构建记录文件添加字符串
// 提取 [[ 防止形成外链
let changeStr = "[["
let appendRecord = "\r\n|" + changeStr + projectName + "]] | " + planstartDate + " | " + planEndDate + " | " + plantDay + " | | | 未开始|"
// 获取记录文件
let recordFile = tp.file.find_tfile("100Project-Record")
// 添加记录到 100Project-Record
await this.app.vault.append(recordFile, appendRecord)
// 移动创建文档到 100Project 下
await tp.file.move("/100Project/" + projectName)
-%>
<% includeStr %>
Alt + n
, 输入模板名, Project-template ,然后依次输入信息,生成完毕关于obsidian 查看:obsidian
关于所有插件查看:obsidian 插件
官方文档:地址
本文作者:Yui_HTT
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!