使用digital garden发布功能中文章内标题无法使用双链功能,会导致部署错误
但是整体的笔记库中采用了多处标题双链(因为有些内容想在大纲中展示),有什么不改变笔记形式让其在digital garden的网页上部署成功吗
- 适合发布的办法是可以改为:
[想链接的笔记](该指向的发布网址)
但是会造成obsidian客户端中链接相关的插件和活动都受影响
- 适合obsidian客户端使用的折中办法是改为:
[想链接的笔记](该笔记的绝对路径)
这样设置后在obsidian客户端的使用正常,发布网页也可以正常链接,但是关系图无法显示
没弄懂是指啥意思? 是页内小标题 headings, 还是笔记的文件名, 还是文档属性里的 title 等标题?
根据 Digital Garden - Features 这插件似乎在 [[wikilink]]
的写法上做了很多优化和兼容, 那么当一部分标题 (如果楼主是这个意思) 内含 [[wikilink]]
确实不好办
谢谢回复~
我的意思确实是在标题中含有[[wikilink]]无法使用这个插件,现在暂时只能用其他markdown的双链模式来替代了,但在网页上无法在关系图上链接两个笔记。
还是没理解, 是说笔记内容如下这样吗? 这种的确实不好办, 个人理解大部分发布工具都不会考虑这种写法
笔记正文段落1
### 对 [[某篇文章]] 的总结
笔记正文段落2
### 见 [[另一篇文章]] 的描述
笔记正文段落3
是这样的,是平时做笔记的习惯,一开始没想着发布就定下来哩
我这边是类似这效果, 网页感觉还可以啊, 关系图也能认
Vault 里笔记正文是
---
dg-publish: true
---
笔记正文段落1
### 对 [[某篇文章]] 的总结
笔记正文段落2
### 见 [[另一篇文章]] 的描述
笔记正文段落3
### 测试普通 headings
笔记正文段落4
对这个笔记, GitHub 里生成的 md 是
---
{"dg-publish":true,"permalink":"/dgfolder/测试笔记/","dgPassFrontmatter":true}
---
笔记正文段落1
### 对 [[dgfolder/某篇文章\|某篇文章]] 的总结
笔记正文段落2
### 见 [[dgfolder/另一篇文章\|另一篇文章]] 的描述
笔记正文段落3
### 测试普通 headings
笔记正文段落4
对这个笔记, Vercel 里生成的页面是
<p>笔记正文段落1</p>
<h3 id="dgfolder" tabindex="-1">对 <a class="internal-link" target="" data-note-icon="" href="/dgfolder/某篇文章/">某篇文章</a> 的总结</h3>
<p>笔记正文段落2</p>
<h3 id="dgfolder-1" tabindex="-1">见 <a class="internal-link" target="" data-note-icon="" href="/dgfolder/另一篇文章/">另一篇文章</a> 的描述</h3>
<p>笔记正文段落3</p>
<h3 id="headings" tabindex="-1">测试普通 headings</h3>
<p>笔记正文段落4</p>
如果情况复杂比如带相对路径层级的笔记关系, 或用了跟 html 页面兼容性不好的字符, 花样更多的 wikilink, 那生成出问题也有可能, 得具体分析
PS. 我的 DG 插件设置里没勾那个 “Slugify Note URL” 选项
!这样
谢谢回复
但是我试了一下,这样还是发布不出去,可能是因为我的笔记层级复杂有关吗? (“Slugify Note URL”也关闭了):
这个是我的笔记
### 民法上的[[权利]]
github界面:
## 民法上的[[学习笔记/知识点/权利|权利]]
vercel界面就会出现error提醒
[11ty] 2. Transform `htmlMinifier` encountered an error when transforming ./src/site/notes/学习笔记/民法总论/民总袋熊.md. (via EleventyTransformError)
[11ty] 3. Parse Error: <h3 id="民法上的<a class="internal-link" target="" data-note-icon="" href="/学习笔记/知识点/权利/">权利" tabindex="-1">民法上的<a class="internal-link" target="" data-note-icon="" href="/学习笔记/知识点/权利/">权利</a></h3>
这个是我用其他markdown形式的效果:
笔记:
### 民法上的[义务](/学习笔记/知识点/义务)与[责任](/学习笔记/知识点/责任)
github界面:
### 民法上的义务与责任
vercel生成的界面,会有转出箭头,点击也是在新页面打开:
vercel的残缺关系图谱(民总袋熊和义务、责任都不显示链接):
我构造出了跟你一样的错误,
[11ty] 3. Parse Error: <h3 id="位于子目录的 <a class="internal-link" target="" data-note-icon="" href="/库内的/子目录/子目录内文章/">子目录内文章 且整个路径无英文" tabindex="-1">位于子目录的 <a class="internal-link" target="" data-note-icon="" href="/库内的/子目录/子目录内文章/">子目录内文章</a> 且整个路径无英文</h3>
我现在觉得原因是
Github 上的 md 到 vercel 的 Eleventy build 这一步,
它一定要给各级别小标题 <h3>
生成 id, (在 “Slugify Note URL” 关闭时) 其生成机制是
- 如果这个小标题里有英文, 那只过滤出英文数字当作 id
- 如果本页多个 id 重名就尾缀流水号
- 如果没英文数字, 就取整个标题 (这时一般是中文字符) 并做 url encode
- 就坏在这一步了, 当小标题含
[[wikilink]]
时, 一长串带着各种格式字符的东西, 直接给当成合法的 id 字符串了, 被拼接到了<h3 id="xxxxx" tabindex="-1"> ...
里, 报错
- 就坏在这一步了, 当小标题含
考虑在路径里加入至少一个单词的英文试试?
具体点就是确保 Github 里的经过初步转换的 md, 其小标题:
- 要么含至少一处英文数字 (此时可带特殊符号)
- 要么是中文字符串 (此时不能含特殊符号)
举例, 如果让 github 里生成了下列格式, 可行
### 对 [[subfolder/某篇文章\|某篇文章]] 的总结
### 对 [[子目录的/某篇文章\|某篇文章]] 的总结 summary
但 github 里如果生成了下列格式, 不行
### 对 [[子目录的/某篇文章\|某篇文章]] 的总结
天!可以了!
在路径中文件夹加上了字符就发布成功了
感谢帮助