设置文字颜色
本文就从==便捷设置字体颜色==这个需求,谈下通过quickadd怎么实现。
首先准备好js片段,在库根目录下可以建一个文件夹名字为“脚本”,文件夹如图:
772×122 4.11 KB
新建一个js文件,setfontcolor.js 内容如下
module.exports = setfontcolor
let quickAddApi;
async function setfontcolor (params) {
await init(params)
const activeLeaf = app.workspace.activeLeaf
let regex = /(<([^>]+)>)/ig
var selection = 获取所选文本 (获取编辑模式 ());
if(selection == ""|| !selection){
return '';
if (selection.includes("<font") ) {
selection = selection.replace(regex, "");
selection = selection.replace(/(\r\n|\n)+/mg,"\n");
let list = ["🔴红色","🟡黄色","🟢绿色","🟠橙色","🟣紫色"] //RED YELLOW GREEN Orange PURPLE
let result = ["#CD5C5C","#FFFF00","#00CC00","#FF9933","#6A5ACD"] //可以自定义颜色参考颜色代码
let tag = await await quickAddApi.suggester(list, result)
if (tag == "" || !tag) {
return selection;
let res ='<font color="'+ tag +'">'+ selection +'</font>'
return res;
async function init (params) {
({quickAddApi} = params)
function 获取编辑模式() {
var view = this.app.workspace.activeLeaf.view;
if (view.getViewType() == 'markdown') {
var markdownView = view;
var cmEditor = markdownView.sourceMode.cmEditor;
return cmEditor;
return null;
function 获取所选文本(editor) {
if (!editor) return;
var editor = this.app.workspace.activeLeaf.view.sourceMode.cmEditor;
var selection = editor.getSelection();
return selection;
好了,到这一步基本大功告成了,记住需要重启下obsidian,js片段就生效了。
==选中要添加颜色的文字==,然后按住==ctrl+p== 输入 ==quick== 就可以找到这个命令了。
783×223 4.38 KB