遇到的问题
如下图所示,我需要在该段落的中间部分添加双链,如果直接在文字段落中输入[],只会直接显示[]符号本身,而不会创建双链。
目前我采取的办法是分别对双链的前后设置颜色,但操作实在复杂,且当涉及到大段文字中需要添加多个双链时,创建和更改都异常麻烦。
想请教大家,有没有什么方法可以在已经设置好颜色的文字段落中直接创建双链呢?
如下图所示,我需要在该段落的中间部分添加双链,如果直接在文字段落中输入[],只会直接显示[]符号本身,而不会创建双链。
目前我采取的办法是分别对双链的前后设置颜色,但操作实在复杂,且当涉及到大段文字中需要添加多个双链时,创建和更改都异常麻烦。
想请教大家,有没有什么方法可以在已经设置好颜色的文字段落中直接创建双链呢?
没太看明白, 我猜是说:
某段长文本使用了 html tag 去调格式例如 <span style=''>...长文本...</span>
, 然后发现内部有些词得做成 [[wikilink]]
, 结果这 html 标签里的 wikilink 就不能正常交互了
如果是说的这意思, 官方文档 是说了不支持 html tag 内嵌套 markdown 格式符或 wikilink 的
但偶尔确有这种需求, 目前办法想到了这些:
当需求是大量读较少写时:
<span style=''>... 长文本 [[keyword]] ...</span>
可以被解析出来反链<a href="Topics/Topic 1 title.md" class="internal-link">Topic 1 title</a>
代码抄自 Allow Internal Links inside html tags
https://forum.obsidian.md/t/allow-internal-links-inside-html-tags/18077/5
```dataviewjs
const note = dv.page(dv.parse("输入要链接的笔记名"))
const link = `<a href="${note.file.path}" class="internal-link">${note.file.name}</a>`
dv.el('p', '预览链接')
dv.el('p', link)
dv.el('p', '<br>可复制的代码')
dv.el('p', ` ${link}`) // 前有四空格
```
当需求是频繁编辑时:
似乎没啥特别好办法, 欢迎大家提点建议
如果外层 html 标签只是为调整颜色, 其实建议别用大量的 html tag 做这事, 理由可能包括: 这种 <span>
<font>
只有样式没有语义, 换主题后颜色不协调等
一般的办法, 还是将常见的 markdown 格式符 **xxx**
, ==xxx==
的样式改为所需的配色, 尽量避免拿 html tag 排版细节格式
大部分格式都出自 markdown 语法时, 内部写任意 wikilink 都是好用的