suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So ändern Sie einige Details von Vimwiki2HTML im Vim-Plug-In Vimwiki

vimwikis standardmäßiger Vimwiki2HTML-Befehl konvertiert %toc in das Verzeichnis des aktuellen Wiki-Eintrags, konvertiert jedoch die sekundäre Verzeichnis-ID in toc_1.1 (die ID enthält einen Punkt) und um Bootstrap-Scrollspy zur Implementierung der Scroll-Erkennung zu verwenden ( Referenz: So implementieren Sie die Scroll-Erkennung von Webseiten und die feste Navigationsleiste oben. Punkte können in der ID nicht verwendet werden.

Bitte fragen Sie:

  1. Wie kann ich dafür sorgen, dass die Verzeichnis-ID in der von vimwiki generierten HTML-Datei keinen Punkt enthält, z. B. toc_1_1 anstelle von toc_1.1 verwenden?
  2. Wie kann ich dafür sorgen, dass das <ul>-Tag im generierten Verzeichnis Attribute hat? Dies gilt auch für die Verwendung von Bootstrap-Scrollspy. class="nav"
Das Hilfehandbuch von vimwiki sagt:

vimwiki-option-custom_wiki2html-------------------------------------------------------- ------ ------------------------------------
Schlüssel-Standardwert~
custom_wiki2html ' '
Beschreibung~
Der vollständige Pfad zu einem vom Benutzer bereitgestellten Skript, das eine Wiki-Seite in HTML konvertiert.
Vimwiki ruft das bereitgestellte |vimwiki-option-custom_wiki2html|-Skript über die
Befehlszeile auf.

Die folgenden Argumente werden in dieser Reihenfolge an das Skript
|vimwiki-option-custom_wiki2| übergeben:

1 erzwingen: [0/1] überschreibe eine vorhandene Datei
3 . Erweiterung: die Dateierweiterung für dieses Wiki
4. Ausgabeverzeichnis: der vollständige Pfad des Ausgabeverzeichnisses, also „Pfad_HTML“
5 Für dieses Wiki

Ein Beispiel und weitere Anweisungen finden Sie im folgenden Skript:

$VIMHOME/autoload/vimwiki/customwiki2html.sh

Um den internen Wiki2html-Konverter zu verwenden, verwenden Sie eine leere Zeichenfolge (Standard).

Mein Level ist begrenzt und ich kann nicht direkt ein externes Skript schreiben. Ich würde gerne auf das Standardskript von vimwiki verweisen, weiß aber nicht, wo das Skript ist.
世界只因有你世界只因有你2743 Tage vor730

Antworte allen(1)Ich werde antworten

  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:44:17

    现在有两种方法:

    1. 用sed批量处理;用sed修改vimwiki生成的html,使其合乎规范,脚本如下:

    sed -i 'N;s/<p class="toc">\n<ul>/<p class="toc">\n<ul class="nav">/ ; s/toc_\([0-9]*\)\.\([0-9]*\)/toc_\1_\2/g' ~/Documents/wiki_html/cs_html/*.html ~/Documents/wiki_html/life_html/*.html ~/Documents/wiki_html/original_html/*.html ~/Documents/wiki_html/*.html

    注意:sed N命令把偶数行添加在奇数行的缓冲区,因此<p class="toc">需要放在奇数行。

    2. 修改autoload/vimwiki/html.vim文件,如下:

        if level > plevel
          call add(toc, '<ul class="nav">')
        elseif level < plevel
          let plevel = s:close_list(toc, plevel, level)
        endif
       

        for l in range(1, h_level-1)
          let h_number .= a:id[l].'_' 
        endfor

    感谢themacropodus@gmail.com 在 Can I modified the internal wiki2html... 的回答。

    Antwort
    0
  • StornierenAntwort