Obsidian之模板的简单使用

news/2024/10/21 23:20:27

前言:在使用Obsidian时经常对每次新建的文件输入相同的内容是否有更好的解决方法呢,以下是我使用Obsidian模板的一些经验总结

用到的插件

  • Templater
  • quickadd
  • banner

在开始前确保已经安装了以上的插件

首先简单的介绍下Templater的功能

  • 自定义指定文件夹的新建文件的模板
  • 配合quickadd可以快速的新建指定模板的文件
  • 可以执行指定的系统命令
  • 指定快捷键给特定的模板生成文件
  • 可以执行特定的js脚本

quickadd和Dataview可以用来配合Templater来提高我们的工作效率

quickadd的功能简述

  • 录制宏(Macros):记录执行一系列的命令,并添加到quickadd快捷命令中
  • 调用模板到quickadd快捷命令中
  • 通过已有规则以指定格式快速添加内容到指定笔记
  • 在宏中也可以执行js脚本

实战利用

创建常用的文件模板

创建一个常规模板,创建文件默认使用这个模板,我的模板内容如下,实现的效果是
生成含有文档信息的文件,里面包含了创建时间,banner插件引用的图片地址,还有指定地方的天气的信息

---
<%-* 
let banner= await tp.user.getrandomImage("99-Attachment/banner")
let  newtitle
if(tp.file.title.includes("未命名") || tp.file.title.toLowerCase().includes("untitled")) 
{ title=await tp.system.prompt("请输入要创建的文件名");newtitle=title||tp.date.now("YYYYMMDDHHmmss")await tp.file.rename(newtitle)}else newtitle=tp.file.title
-%>UID: <% tp.date.now("YYYYMMDDHHmmss") %> 
aliases: 
tags: 
source: 
banner: <% banner %>
cssclass: 
created: <% tp.date.now("YYYY-MM-DD") %>
---
**<% tp.date.now("YYYY-MM-DD") %>**🌱<% tp.user.tianqi("") %>

以下是我对模板内容的一些解释
tp.user.getrandomImage中的getrandomImage是用户自定义的一个脚本,或者是执行的系统命令的自定义的名称
第一行的意思就是定义一个banner变量,然后执行脚本随机选择指定目录下的一张图片
getrandomImage.js文件内容如下

module.exports = imgpath
let images = []async function imgpath (folders) {await init(folders);return images[Math.floor(Math.random() * images.length)].path
}async function init(folders){images = images.concat(await app.fileManager.vault.fileMap[folders].children)
}

然后后面的代码就是弹窗命名文件
后面的代码很简单,就不解释了

templater的设置如下
选择模板目录

指定脚本目录

自定义一个系统命令,使用指定的命令行执行,获取指定地方的天气

tianqi
curl -H "Accept-Language: zh-CN" "wttr.in/湖州?format=4"

设置好后ctrl+n新建文件,效果如下

若是觉得文档属性碍事,可以隐藏

使用quickadd快速生成指定模板的文件

假设指定日记的模板,使用quickadd命令直接生成日记文件

指定模板文件夹,选择Template模块,输入diary,新建一个名为diary的模板

点击闪电标志,让它命令生效,然后点击设置图标,设置如下

  • 当然,这种快速指定模板生成文件的功能,templater插件也可以做到,只是,它是指定快捷键,我感觉没有quickadd好用

使用quickadd打开悬浮大纲

首先得下载hover editor插件
然后在quickadd中新建一个宏,设置如下

然后点击宏管理,enable运行插件加载

这样在启动app时就会悬浮大纲

暂时就写这么多吧,就是觉得这个模板的功能和这个quickadd很方便,可以用空的时候补充一下

最后补充一下dataview插件的功能

使用这个插件可以相当有效率的查找管理自己的笔记,最终的效果如下

用到的dataview代码如下

const filename=dv.current().file.name;
dv.list(dv.pages().where(p => p.file.cday.toISODate() === filename).sort(p => p.file.ctime, 'desc').file.link)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/72383.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用!

前言 今天大姚给大家分享一款基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用:ZR.Admin.NET。开源免费(基于MIT License开源协议)、代码量少、学习简单、通俗易懂、功能强大、易扩展、轻量级,让 web 开发更快速、简单高效(从此告别 996),解决 70%的重复工作,…

Mininet问题合集

我的环境:Ubuntu 22.04.5 LTS liu@liu-Ubuntu-Desktop:~/桌面$ ovs-vsctl -V ovs-vsctl (Open vSwitch) 2.17.9 DB Schema 8.3.0liu@liu-Ubuntu-Desktop:~/桌面$ mn --version 2.3.0liu@liu-Ubuntu-Desktop:~/桌面$ python3 Python 3.10.12 (main, Sep 11 2024, 15:47:36) [GC…

计算机网络——第一章

@目录1.计算机网络在信息时代中的作用2.互联网概述2.1网络的网络2.2互联网发展的三个阶段3.互联网的组成3.1互联网的边缘部分3.2互联网的核心部分4.计算机网络的性能指标5.计算机网络体系结构5.1计算机网络的五层体系结构5.2 TCP/IP协议族6.本章重点概念 本文首先介绍计算机网络…

计算机基础(cpu,内存,硬盘)

计算机基础(cpu,内存,硬盘) 内存:负责硬盘等硬件上的数据与CPU之间数据交换处理; 缓存系统中的临时数据。 断电后数据丢失。硬盘: ​ 存储资料和软件等数据的设备,有容量大,断电数据不丢失的特点。 流程 ​ 简单来说,硬盘用来存储程序和数据,当运行程序时,CPU首先接…

Java中网络编程的学习

Java 网络编程学习总结 本章目标了解计算机网络基础知识 了解 OSI 七层参考模型 熟悉 TCP/IP 协议 熟悉常见网络协议 掌握 socket 套接字编程计算机网络 什么是计算机网络 计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共…

高等数学 5.5 反常积分的审敛法 Γ函数

目录一、无穷限反常积分的审敛法二、无界函数的反常积分审敛法三、\(\Gamma\) 函数 一、无穷限反常积分的审敛法 定理1 设函数 \(f(x)\) 在区间 \([a, +\infty)\) 上连续,且 \(f(x) \geqslant 0\).若函数 \[F(x) = \int_a^x f(t) \mathrm{d}t \]在 \([a, +\infty)\) 上有上界,…

allergo导出位号图

1 选择ADB看一下 2 file export pdf

F5-TTS语音克隆汉化整合包1016

F5-TTS项目地址:https://github.com/SWivid/F5-TTS F5-TTS汉化整合包:https://pan.quark.cn/s/9754ae0cdbe4 F5-TTS在线demo: https://huggingface.co/spaces/mrfakename/E2-F5-TTSF5-TTS是由上海交通大学开源的一款基于流匹配的全非自回归文本到语音转换系统(Text-to-Speec…