So ändern Sie einige Details von Vimwiki2HTML im Vim-Plug-In Vimwiki
世界只因有你
世界只因有你 2017-05-16 16:42:17
0
1
743

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.
世界只因有你
世界只因有你

Antworte allen(1)
淡淡烟草味

现在有两种方法:

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... 的回答。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage