能出个招吗,想创建一个字体(类似于粗体、斜体等),可以设置快捷键

在使用中,发现自带的并不够使用,想拓展一些,就像文本中使用加粗或者变成斜体那样,想再添加一种改变字体的方式。
在正常文本加上特定的符号,就可以改变他们的表现形式,列如,某某文本 ,%%某某文本%%,就比如想用 !!某某文本!!,让他变成其他颜色。

1 个赞

需要补充更详细的信息

就像文本中使用加粗或者变成斜体那样,想再添加一种改变字体的快捷方式

比如给字加个颜色?

对,正常文本加上特定的符号,就可以改变他们的表现形式,列如,某某文本,%%某某文本%%,就比如想用 !!某某文本!!,让他变成其他颜色

利用主体中css片段进行设定
或者Markdown扩展语法中进行延伸…

再添加一种的话,可以用行内代码,`符号包裹文字。这个是比较合适的,既符合md规范,又能实现你想要的。

这是粗体,这是斜体,这是行内代码

这是**粗体**,这是*斜体*,这是`行内代码`。

我自己比较喜欢行内代码,简洁美观对比度也高。

实现方法
我提供一种实现方法,跟着做一遍基本就能理解
在笔记中输入以下文字:

<span class="my_type">我的样式</span>
<span class="your_type">你的样式</span>

在你的css文件中添加以下代码:

.my_type{
	background-color: #ff0000;
}

.your_type{
	font-size: 50px;
}

实现效果如下
image
原理解释
obsidian软件相当于一个翻译器,将txt文本中特定的字符替换成对应的代码块(由js文件来实现),于是就生成了html源代码(ctrl+shift+i可打开调试模式查看html源代码)。生成的html如何显示则由css文件来指定。
实际上obsidian有两套翻译系统,一个是将txt文本翻译成预览页面,一个是翻译成编辑页面。因此一个完整的css文件同样有两套:针对预览页面与针对编辑页面(如果不算明亮与黑暗两种颜色风格的话)
上面那种方法就是直接在笔记txt文件中写入html代码段,obsidian不会对txt可能存在的可运行代码块进行检查。在笔记中我制定了两种类:my_type和your_type,并对这个类指定了css样式。这里的类名可以随意更改,只要不和ob中已有的类名相冲突。
存在的问题
< span class=“my_type”>和</span>太过冗长繁琐,这个问题我想到的解决方法是:

  • 每次笔记完之后,统一替换字符
  • 写一个js文件,每次按下ctrl+E切换到预览模式时候自动替换字符,在编辑模式下大量html代码可能会影响阅读体验。或者再写一个js文件,再次按下ctrl+E后将字符串替换回来,很遗憾,这个我也不知道怎么实现
  • 改动obsidian软件中codemirror.js文件,然而我并不知道如何修改ob的运行文件,也不懂怎样封装

——————
再更:我觉着这个功能可以自己开发插件实现完美解决,但我不会,稍后可能试着做一下。这里贴个链接
[自制ob插件教程](自制Obsidian插件教程 - 知乎)

2 个赞

这些我都在用,我现在在想的是,不起标题的情况下,让文字有主次之分(这就类似加粗,变斜体了),但不使用加粗、变成斜体,就想自己添加一种