Come posso convertire i documenti Markdown in HTML in massa?


25

Sto scrivendo della documentazione in Markdown e creando un file separato per ogni sezione del documento. Mi piacerebbe essere in grado di convertire tutti i file in HTML in una volta sola, ma non riesco a trovare nessun altro che abbia provato la stessa cosa. Sono su un Mac, quindi penso che un semplice script bash dovrebbe essere in grado di gestirlo, ma non ho mai fatto nulla in bash e non ho avuto fortuna. Sembra che dovrebbe essere semplice scrivere qualcosa in modo da poter eseguire:

markdown-batch ./*.markdown 

Qualche idea?

17

Questo è come si dovrebbe fare in Bash.

for i in ./*.markdown; do perl markdown.pl --html4tags $i > $i.html; done; 

Naturalmente, è necessario il Markdown script.

+7

Questa soluzione è buona ma 'index.md' diventerà' index.md.html'. Se preferisci che diventi 'index.html', usa questo:' for i in ./*.md; do perl Markdown.pl --html4tags $ i> output/$ {i%. *}. html; done; ' 13 apr. 122012-04-13 16:10:35


1

Io uso questo in un file .bat:

@echo off 
for %i in (*.txt) python markdown.py "%i" 
+6

Sei off-topic: questa domanda è codificata 'bash'. 16 nov. 132013-11-16 14:23:24


36

Utilizzare pandoc - è uno strumento da riga di comando che consente di convertire da un formato all'altro. Questo strumento supporta Markdown to HTML e ritorno.

E.g. per generare codice HTML da Markdown, esegue:

pandoc -f markdown index.md > index.html 
+3

+1 per pandoc ... poiché lo scrive in sezioni, usa pandoc per concatenare le sezioni necessarie in un file html, se necessario. 19 set. 092009-09-19 00:31:05

  0

'per i in /some/directory/*.md; fai pandoc -f markdown -t html -s "$ i"> "$ i" .html; done; 'Per convertire tutti i file all'interno di una cartella. 27 mag. 172017-05-27 23:04:22


-1

// utilizzando Bash in Mac

for i in *.md; do asciidoc $i; done; 
  0

Questo non risponde alla domanda - la domanda si pone su Markdown, non su AsciiDoc (anche se i due sono simili). Inoltre, devi citare '$ i', altrimenti non funzionerà con file con caratteri speciali nel nome. 28 feb. 172017-02-28 10:24:32