有办法让 Live Preview 模式下的嵌入链接保持显示吗?

问题描述

在 Live Preview 模式中,文件嵌入链接会自动隐藏,只在选中渲染出的文件时才会重新显示(比如点击一下图片)。

![[202501140914.png]]

有办法让嵌入链接保持显示吗?

这个问题有点像是 ozntel/oz-image-in-editor-obsidian 的镜像版,他是希望在 Source 模式下渲染文件,我是希望在 Live 模式下保持显示链接。

尝试 CSS 片段遇到的困难

第一次尝试制作 CSS 片段,看了一些站内的入门教程,但是遇到了困难,入门教程多为基础的修改字体。

我上网搜索找到了一个判断语句 .cm-line:not(.cm-active),但是它貌似不适用于我的问题,情况比我想象的要复杂。

我找到了嵌入链接元素块:

<div class="cm-active cm-line" dir="ltr">
<span class="cm-formatting-embed cm-formatting-link cm-formatting-link-start" spellcheck="false">![[</span>
<span class="cm-hmd-embed cm-hmd-internal-link">Pasted image 20250114090043.png</span>
<span class="cm-formatting-link cm-formatting-link-end" spellcheck="false">]]</span>
</div>

我尝试了这种方式 (参考了 %% comment %%),但是没有效果:

.cm-line:not(.cm-active) .cm-formatting-embed, .cm-formatting-link, .cm-formatting-link-start, .cm-hmd-embed, .cm-hmd-internal-link, .cm-formatting-link, .cm-formatting-link-end
    { display: inline-block; }

我发现,我依然需要点击图片,这些元素才会出现,而不是不显示。

20250114_113442-ezgif.com-video-to-gif-converter

我觉得只靠 CSS 解决不了。因为这个元素不被点击的时候是不存在的。

1 个赞

显示这个链接的目的是什么呢?如果是想显示图片名称,有其他的办法

不是想显示图片名称,而是因为 live preview 兼具浏览和编辑功能,个人感觉这个链接是可以不隐藏的。

算是个人偏好吧

这个帖子有一个 CSS 代码是可以的

is there anyway to make obsidian always show the link to these files? im completely alright with plugins or any unconventional methods!
https://www.reddit.com/r/ObsidianMD/comments/110yusz/reis_there_anyway_to_make_obsidian_always_show/

作者 arisugawaa

:not(:has(> .cm-formatting-embed)) + .image-embed::before,

.image-embed:first-child::before {

content: attr(src);

display: block;

}
1 个赞

这个并不具备编辑功能,不过只要能实现自己的需求就挺好。

如果能编辑就更好了。

这个需求,最近有人发帖提到了,其实上是 必须得吐槽一下现在 Markdown 编辑器的通病! - #6,来自 DavidJoy - 闲聊灌水 - 小众软件官方论坛

对于图片来说,就是我希望能随时编辑嵌入链接、并且看到图片的文件名。

1 个赞