遇到的问题
记单词笔记的时候,想要配合一些插件达到输入特定形式的语句,然后快键键将该语句替换为该特定形式对应的模版。
预期的效果
想要的效果就比如,我输入[abandon][抛弃][Detailed Card Template],然后再键入自定义的快捷键,就会自动识别“abandon”和“抛弃”,并调用Detailed Card Template对应的某个Template然后将识别到的内容自动补充到该模版,比如这个Detailed Card Template对应的是Detailed Card.md:
****
[!def]-
****
[!example]- Supp
[syn]
*
操作步骤:
- 输入[abandon][抛弃][Detailed Card Template]
- 键入自定义快键键
- 将输入自动替换为:
abandon
抛弃
[!def]-
****
[!example]- Supp
[syn]
*
已尝试的解决方案
目前只会通过手动调用模版解决该问题,效率不是很高。
lspzc
3
我没有看明白你上边要替换成什么,应该在代码块中输入语法,从大概意思来看,你想要一个动态变化的模板,templater可以实现在调用模板的时候弹出模态框询问你某一个变量的值,然后将你输入的值动态的插入到模板中
如果你可以告诉我你想要什么样的模板,我可以帮你
想要的模板形式
```
今天是 YYYY 年 MM 月 dd 日 ,我是一个模板
```
上边的 YYYY-MM-dd 就是动态的
lspzc
5
兄弟,麻烦将最后替换好的语句,包含在两个 ```
之间,像下边这样
```
Word Card对应的模版
```
好的,就是识别我输入的单词和意思,调用指定的模版,将输入的句型替换为以下内容:
### _**accompany**_
**伴奏**
>[!def]-
>[] #****
>>* **
>>
>
>>[!example]- Supp
>>[syn] #
>>*
lspzc
7
这是目前的效果,你看看还有什么改动的地方吗,最后改完我再粘代码

挺不错的,但我想知道这是不是输入什么就替换成什么,比如我想在输入词组突出某些部分,例如高亮。比如输入[==take account of== social factors][==考虑==社会因素],是否会达到高亮的效果?
lspzc
9
是的输入什么替换什么,或者还可以弹出一个选择框询问你,是否需要高亮,如果选择是,就会高亮
我想要在输入的过程中局部预处理,能等效替换就可以了,选择框就未免有些麻烦了,但无论如何,很感谢你提供的帮助。
lspzc
13
无妨,摸鱼罢了,还有需求吗,有的话说一下,没有的话我把这段模板代码发给你
你在提供配置步骤之后,能否推荐一些关于该操作的教程?我其实想要实现一些更加多样化的功能,但这不能每次都麻烦别人
lspzc
16
嗯嗯,这个要有代码基础,你可以先从简单的需求练起,我先给你发一下这一次的实现过程与代码,你可以加一下我,我发你视频,gif可能不好录制,wx:lsp_zc
lspzc
17
这次的模板代码,也就是 tp 语法
<%*
const EN = await tp.system.prompt("请输入英语单词");
if (!EN) {
new Notice("🛑 操作已取消");
return;
}
const CN = await tp.system.prompt("请输入中文翻译");
if (!CN) {
new Notice("🛑 操作已取消");
return;
}
-%>
### _**<% EN %>**_
**<% CN %>**
>[!def]-
>[] #****
>>* **
>>
>
>>[!example]- Supp
>>[syn] #
>>*
>
>
<% tp.file.cursor() %>