So richten Sie ein PRIVATES Vimwiki auf Dropbox.com ein

So richten Sie ein PRIVATES Vimwiki auf Dropbox.com ein

Ich gehe davon aus, dass die Leser dieser Seite wissen, was vimwiki und dropbox.com sind und wozu sie dienen, daher kann ich direkt auf meine Verwirrung eingehen.

Die übliche Methode zum Einrichten eines PRIVATEN Vimwiki auf Dropbox besteht darin, Ihre Vimwiki-Verzeichnisse einfach im Dropbox-Ordner zu belassen (aber nicht Dropbox/Public/, da dies ÖFFENTLICH wäre). Dropbox ermöglicht das direkte Anzeigen von HTML mit der URL dropbox.com/***: Beispielsweise index.htmlkann auf eine per URL zugegriffen werden https://dl-web.dropbox.com/get/Wiki/html/index.html?w=bfead71a, wobei nach dem Dateinamen eine angegebene Zeichenfolge hinzugefügt wird ?w=bfead71a.

Wenn sich in index.html also ein Verweis auf A.html befindet, das sich im selben Ordner wie index.html befindet, muss es über eine URL wie aufgerufen werden https://dl-web.dropbox.com/get/Wiki/html/index.html?w=SPECIFIED_STRING. Es scheint jedoch unmöglich zu sein, Vimwiki zu hacken, um die hrefs in konvertierten HTMLs auf diese Weise zu korrigieren.

Gibt es einen Ansatz, mit dem dieses Problem gelöst werden kann?

Antwort1

Suchen Sie einfach in „.vim/autoload/vimwiki_html.vim“ nach „href“ und fügen Sie die angegebene Zeichenfolge an der entsprechenden Stelle hinzu.

Ändern Sie beispielsweise Folgendes:

  let link = '<a href="'.vimwiki#safe_link(a:src).
        \ '.html">'.a:caption.'</a>'

dazu:

  let link = '<a href="'.vimwiki#safe_link(a:src).
        \ '.html?w=SPECIFIED_STRING">'.a:caption.'</a>'

Um es weniger hackig zu machen und die Veröffentlichung auf verschiedenen Zielen zu ermöglichen, möchten Sie es natürlich bedingt und konfigurierbar machen ;-)

Ein Ansatz, um es konfigurierbar zu machen, wäre die Einführung einer neuen globalen Variable, z. B. g:vimwiki_internal_link. Machen Sie daraus ein Muster, in das der Wikiname eingefügt wird:

let g:vimwiki_internal_link=textbefore__textafter

Standardmäßig wäre der Wert __.html, und Sie könnten ihn in ändern __.html?w=SPECIFIED_STRING. Dann müssten Sie Code zu „.vim/autoload/vimwiki_html.vim“ hinzufügen, um die Ersetzung vorzunehmen.

verwandte Informationen