Bases属性库不支持查询笔记正文,想把一些信息直接写在属性区
发现超链接在属性区是不渲染的
我特别想放在属性区的链接是库外文件的链接,形如 [平面图](<file:///C:\Users\Administrator\Desktop\平面图.pdf>)
试了一下这样写可以在笔记页面、bases表格视图里打开:
file:///C:/Users

注意不能用反斜杠\,类似zotero://open-pdf/library/items/xxxxx这类URI
但在卡片视图中显示正常,点击却无法跳转,似乎是因为渲染成了external-link而非metadata-link
并且因为无法加<>,导致文件名也无法加空格 ![]()
如果是刚需的话,分享一个我很早以前在notion的解决方案:复制到剪贴板后,用ahk脚本识别剪贴板,打开本地文件,类似这样:
; Alt+C - 一键直达文件/链接/搜索/网址(自动识别剪贴板内容)
<!c::
if (ErrorLevel) {
return
}
; 打开链接
if (RegExMatch(clipboard, "i)^(https?://|ftp://|edge://|zotero://|obsidian://|file:///)[^\s/$.?#].[^\s]*$")) {
Run, %clipboard%
}
; 打开文件
else if (RegExMatch(clipboard, "^(S:|T:|U:|V:|W:)\\") || FileExist(clipboard)) {
Run, %clipboard%
; Shellrun(clipboard) ; 非管理员方式打开
}
; 搜索
else {
; Run, https://www.bing.com/search?q=%clipboard%
Run, https://www.google.com/search?q=%clipboard%
}
return
谢谢
是刚需,但感觉用剪切板再跳转不如记在正文内,添加属性标记已经有文件了,点进笔记再点开库外文件
新版本这个被修复了,属性里正常用[文件](<file:///路径>)就可以:
谢谢提醒!方便多了
目前直接写在属性值里,笔记内和Bases都渲染成功
请教大佬有办法解决吗?感觉是Bases的公式应用:
我又有新需求,同样的文件夹中存储了不同的项目,如下
[库外文件](<file:///C:\Users\Administrator\Desktop\项目1.pdf>)
[库外文件](<file:///C:\Users\Administrator\Desktop\项目1.pdf>)
Obsidian笔记我命名也是项目1、项目2
Bases用公式组合:
“[库外文件](<file:///C:\Users\Administrator\Desktop\” + file.name + “.pdf>)”
能得到对应的链接,但是不渲染
如果也能渲染,那笔记可以删掉好几个属性了,笔记进行改名也不用再去逐一改属性值内容
可以用link函数类似这样写:
link("file:///C:/Users/用户名/Downloads/"+file.name, "📂"+file.name)
注意路径全都用斜杠,不添加<>
效果如图:
![]()
感谢大佬!那还能更近一步吗?属性值是列表,分别指向对应文件夹里的文件1、文件2
要提取列表第n项,就属性名加一个[n-1]就好了:
link("file:///C:/Users/用户名/Downloads/"+ 属性[0])
才发现我Windows10系统 这一步就不行 ![]()

加中括号,直接公式不支持

链接只是渲染了,不能跳转
手动输入链接为属性值,Obsidian更新后可以渲染+跳转
我这里一切正常,你得按照我上面发的格式,不能用反斜杠,也不能用尖括号
用这个map函数可以遍历列表属性:
属性名.map(link("file:///C:/Users/用户名/Downloads/"+ value, "📄"+value))
不过如果太多的话不是很好用,现在的bases表格似乎无法很方便地调整行高,放不下太多链接
效果如图:
谢谢~文件添加一个列表属性,实现了
这样添加一个属性值,公式比我之前预想的应用更广,也更方便过一段时间后看不懂公式了进行维护
库外文件.map(link("file:///C:/Users/Administrator/Desktop/"+file.name+"/"+value, value))
库外文件:
- 1.png
- 2.png
- 3.png
想显示内容也自定义,找ai修改成功,应该是最终版了 ↓
不添加属性,直接修改公式指向多个文件,显示内容也自定义
["","/桌面文件.pdf",file.name + "/平面图.png", file.name + "/平面图.png"].map(
link(
"file:///C:/Users/Administrator/Desktop" + value,
if(index == 0, "直接打开桌面📁", "桌面的文件","平面图", "立面图")
)
)



