我认为阅读此页面的人知道 vimwiki 和 dropbox.com 是什么以及它们的用途,所以我可能会直接陷入我的困惑。
在 Dropbox 上设置 PRIVATE vimwiki 的常用方法是简单地让您的 vimwiki 目录位于 Dropbox 文件夹下(但不是 Dropbox/Public/,因为它是 PUBLIC)。Dropbox 允许直接使用 dropbox.com/*** url 查看 html:例如,可以index.html
通过 url 访问https://dl-web.dropbox.com/get/Wiki/html/index.html?w=bfead71a
,在文件名后添加指定的字符串?w=bfead71a
。
因此,如果 index.html 中引用了 A.html,而 A.html 又位于 index.html 所在的文件夹中,则必须使用类似 的 URL 来访问它https://dl-web.dropbox.com/get/Wiki/html/index.html?w=SPECIFIED_STRING
。但似乎不可能破解 vimwiki 以使转换后的 html 中的 href 以这种方式得到纠正。
有没有什么方法可以解决这个问题?
答案1
只需在 '.vim/autoload/vimwiki_html.vim' 中搜索“href”,然后在适当的地方添加指定的字符串。
例如改变这个:
let link = '<a href="'.vimwiki#safe_link(a:src).
\ '.html">'.a:caption.'</a>'
更改为:
let link = '<a href="'.vimwiki#safe_link(a:src).
\ '.html?w=SPECIFIED_STRING">'.a:caption.'</a>'
当然,为了使其不那么容易被黑客入侵并且能够发布到不同的目标,您需要使其具有条件和可配置性;-)
使其可配置的一种方法是引入一个新的全局变量,例如g:vimwiki_internal_link
。使其成为将插入 wikiname 的模式:
let g:vimwiki_internal_link=textbefore__textafter
默认情况下,该值为__.html
,您可以将其更改为__.html?w=SPECIFIED_STRING
。然后您必须将代码添加到 '.vim/autoload/vimwiki_html.vim' 以进行替换。