一个插件, 使用html标签, 高亮或批量高亮
保存动图, 后缀改成.zip 解压后两个文件放到.obsidian\plugins\colorize-text
在设置里添加快捷键即可.

3 个赞
ahk v1脚本,用来外部添加颜色组, win+x 复制鼠标下的颜色 按两次, 第一次为文本色, 第二次为背景色, 第二次复制完成即添加完成, obsidian需重启查看添加的颜色. win+z重启obsidian
#NoEnv
#Warn
#SingleInstance Force
#Persistent
#UseHook
FileEncoding, UTF-8-RAW
mouseX := 0
mouseY := 0
color1 := ""
color2 := ""
#x:: ; 取色快捷键
MouseGetPos, mouseX, mouseY
PixelGetColor, color, %mouseX%, %mouseY%, RGB
StringRight color, color, 6
if (color1 = "") {
color1 := "#" . color
ToolTip, color1: %color1%
SetTimer, RemoveToolTip, 2000
} else {
color2 := "#" . color
ToolTip, color2: %color2%
SetTimer, RemoveToolTip, 2000
jsonFile := "D:\Documents\Obsidian Vault\.obsidian\plugins\colorize-text\data.json" ;修改为你的Obsidian库路径
FileRead, json, %jsonFile%
if (ErrorLevel) {
MsgBox, can not read: %jsonFile%
return
}
newColor := "{""textColor"":""" . color1 . """,""bgColor"":""" . color2 . """}"
color1 := ""
color2 := ""
; 找到 palette 数组结尾插入
paletteStart := InStr(json, """palette"":[") + 11
pos := InStr(json, "]", false, paletteStart)
if (pos) {
arrContent := SubStr(json, paletteStart, pos - paletteStart)
isEmpty := (Trim(arrContent) = "")
json := SubStr(json, 1, pos-1) . (isEmpty ? newColor : "," . newColor) . SubStr(json, pos)
} else {
MsgBox, palette array not found
return
}
FileCopy, %jsonFile%, %jsonFile%.bak, 1
file := FileOpen(jsonFile, "w", "UTF-8-RAW")
if !file {
MsgBox, can not write: %jsonFile%
return
}
file.Write(json)
file.Close()
if (ErrorLevel) {
MsgBox, can not write: %jsonFile%
FileCopy, %jsonFile%.bak, %jsonFile%, 1
} else {
ToolTip, added!
SetTimer, RemoveToolTip, 2000
}
}
Return
; Win+z 重启 Obsidian
#z::
{
Process, Close, Obsidian.exe
Sleep, 1000
; 修改下面路径为你电脑上 Obsidian 的实际安装路径
Run, "C:\Users\Administrator\AppData\Local\Obsidian\Obsidian.exe"
}
return
RemoveToolTip:
ToolTip
Return
1 个赞