当前位置: 首页 > article >正文

Obsidian:实现日记记录【设计并使用模板】

问题背景

我是一个比较喜欢记录的人,有一定的写日记的习惯的,但是我又不太喜欢将自己的个人的数据寄人篱下,放在别人的数据库中。

于是就想着将自己的日记存放在自己本地的磁盘中……

在一次偶然在B站中翻找资料时,我发现了这个

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9zaJJB52-1680676459146)(assets/image-20230405134355-6zqhkxx.png)]

似乎发现这就是我所追求的,于是开始使用Obsidian进行日记记录

1.安装并设置Templater

Templater 插件相比较官方「模板插件」最大的区别就是它支持「Eta 模板」渲染,即具备了「执行 JavaScript 脚本的能力」,这使得我们可以完成一些自动化的事情。

打开设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YeopugTJ-1680676459147)(assets/image-20230405140637-8pe8yvo.png)]

打开插件社区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t5E2DRt9-1680676459147)(assets/image-20230405140703-vgss4gq.png)]

浏览社区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ykySoX0R-1680676459147)(assets/image-20230405140718-p8mvr0b.png)]

搜索template

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dibmq4Q6-1680676459148)(assets/image-20230405140808-mdudzua.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fdX3g3sH-1680676459148)(assets/image-20230405140818-23rqduc.png)]

打开插件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yRVgPqqq-1680676459148)(assets/image-20230405140910-cmfzqld.png)]

点击后,将会在这里出现Templater的设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hCNE2ofl-1680676459148)(assets/image-20230405140929-sx5u3bx.png)]

进行基础设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aAyTcAAL-1680676459149)(assets/image-20230405141107-0kl9gvw.png)]

  1. 设置脚本存放目录:指定脚本存放文件夹,后续通过「快捷键」或「快捷入口」等方式执行脚本的时候,会默认从设定的「文件夹」查找相关「脚本文件」。
  2. 打开「语法高亮」开关:打开后我们在编辑 Templater 的脚本文件时会「自动高亮」相关「语法」。
  3. 打开「自动跳转光标」开关:当我们使用 Templater 创建新笔记时,可以自动将「光标」跳转到这个笔记,方便我们继续操作。
  4. 打开「监听文件创建」开关:建议默认打开此开关,他会让我们兼容更多 Obsidian 中的插件例如(Review/calendar)

2.创建Templater目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jYK4ZYVK-1680676459149)(assets/image-20230405141257-hakggn3.png)]

3.编写脚本

接下来就进入到最关键的「脚本」环节,为了使用 Templater 创建「日记」,我们需要在上一步设置中的「Templater 目录」\Templater\ 下创建名为 daily的「脚本模板」

<%*
let today = tp.date.now("YYYY-MM-DD")
let inputDate = await tp.system.prompt("输入示例:"+today,today)
let momentDate = window.moment(inputDate, "YYYY-MM-DD", true)
let titleName = momentDate.format("MM-DD")
let year = momentDate.format("YYYY")
let month = momentDate.format("MM")

let createTime = tp.file.creation_date()
let modificationDate = tp.file.last_modified_date("dddd Do MMMM YYYY HH:mm:ss")
-%>

---
create time : <% createTime %>
modification date: <% modificationDate %>

---


<% tp.web.daily_quote() %>
<% tp.web.random_picture("200x200", "landscape,water") %>


## 上午
### 第一件事

### 第二件事

## 中午
### 第一件事


### 第二件事

## 晚上
### 第一件事


### 第二件事


<%*
let destDir = "/Daily/" + year + "/" + month
await tp.file.move(destDir + "/" + titleName)
tp.file.cursor()
-%>

这里我们只需要关注中间的内容即可(如果没有特殊需求的话)

目前脚本已实现

  • 自动按照,上午,下午和晚上作为内容模板
  • 自动移动至/Daily/year /month目录下

4.使用脚本进行编写

首先,我们ctrl + n新建一个文本,然后选择调用即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kAnCmxc4-1680676459149)(assets/image-20230405143117-1bwqn6a.png)]

实现效果

请添加图片描述


http://www.kler.cn/a/8159.html

相关文章:

  • 用Python PySide6 复刻了两软件UI 做下练习
  • 项目亮点案例
  • Redis存在安全漏洞
  • 【win10+RAGFlow+Ollama】搭建本地大模型助手(教程+源码)
  • SpringBoot+Vue3实现阿里云视频点播 实现教育网站 在上面上传对应的视频,用户开会员以后才能查看视频
  • 前端yarn工具打包时网络连接问题排查与解决
  • Linux-Shell设计
  • STM32CubeMXA安装和创建项目
  • CSS 扫盲
  • React Hooks精讲+案例
  • 使用Jmeter进行http接口测试
  • 【Unity项目实战】从零手戳一个背包系统
  • uniCloud开发api接口服务
  • 最易学和最难学编程语言排行榜!
  • Hashtable是什么?它和Hashmap有什么区别?
  • 电动汽车热管理方案
  • Docker实现MySQL8主从读写分离【超简洁】
  • 美团后端开发暑期实习一面
  • 导入 Excel 文件时,抛出 413 (Request Entity Too Large) 错误
  • 【SQL开发实战技巧】系列(四十):Oracle12C常用新特性☞可以在同样的列(列组合)上创建多个索引以及可以对DDL操作进行日志记录
  • 软件测试岗,4 轮面试成功拿下字节 Offer..........
  • Linux学习[5]---shell脚本之bash脚本---判断选择循环
  • 高效自动化测试框架-优秀实践03-使用SeleniumGrid
  • unity,欧拉角
  • HashMap源码分析小结
  • python好玩的短代码