
このページを読んでいる人は vimwiki と dropbox.com が何であるか、またそれらが何のためにあるのかを知っていると思いますので、私の混乱について直接お話ししたいと思います。
Dropbox でプライベート vimwiki を設定する一般的な方法は、vimwiki ディレクトリを Dropbox フォルダの下に置くことです (ただし、Dropbox/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 内に、index.html と同じフォルダーにある A.html への参照がある場合、 のような URL を使用してアクセスする必要がありますhttps://dl-web.dropbox.com/get/Wiki/html/index.html?w=SPECIFIED_STRING
。ただし、変換された HTML 内の href をこの方法で修正するために vimwiki をハックすることは不可能と思われます。
この問題を解決できるアプローチはありますか?
答え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>'
もちろん、ハッキングを減らしてさまざまなターゲットに公開できるようにするには、条件付きで構成可能にする必要があります ;-)
これを設定可能にする 1 つの方法は、新しいグローバル変数 (例 ) を導入することですg:vimwiki_internal_link
。これを、ウィキ名が挿入されるパターンにします。
let g:vimwiki_internal_link=textbefore__textafter
デフォルトでは値は です__.html
が、 に変更できます__.html?w=SPECIFIED_STRING
。その場合、置換を行うには '.vim/autoload/vimwiki_html.vim' にコードを追加する必要があります。