我假設正在閱讀此頁面的人知道 vimwiki 和 dropbox.com 是什麼以及它們的用途,所以我可能會直接陷入困惑。
在 Dropbox 上設定私有 vimwiki 的常見方法是簡單地將您的 vimwiki 目錄放在 Dropbox 資料夾下(但不是 Dropbox/Public/,因為它是 PUBLIC)。 Dropbox 允許透過 dropbox.com/*** url 直接查看 html:例如 aindex.html
可以透過 url 訪問https://dl-web.dropbox.com/get/Wiki/html/index.html?w=bfead71a
,在檔案名稱後面添加指定的字串,?w=bfead71a
.
因此,如果在index.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
。使其成為將插入維基名稱的模式:
let g:vimwiki_internal_link=textbefore__textafter
預設情況下該值為__.html
,您可以將其變更為__.html?w=SPECIFIED_STRING
。然後你必須將程式碼加入 '.vim/autoload/vimwiki_html.vim' 來進行替換。