単一のMarkdownファイルをHTMLに処理する:
pandoc -f markdown -t html inputfile.md
このようなPandocを使用して個々のMarkdownファイルを処理できますが、選択したMarkdownファイルのリストをコンパイルして、それらを単一のファイルに処理したいと考えています。
Markdownファイルがある場合:
inputfile1.md, inputfile2.md, inputfile3.md
それらをコンパイルして、Pandocを使用して単一の出力ファイルに処理するにはどうすればよいですか?
pandocは複数の入力ファイルを取ることができます。ただ使用する:
pandoc -s -o output.html input1.md input2.md input3.md
-s
はpandocに自己完結型ファイルを作成するように指示します(そのため、フラグメントを生成するだけでなく、<html></html>
タグなどが含まれます)。 -o output.html
は、output.html
が出力ファイルになることを指定します。出力ファイルが.html
で終わる場合、-t html
は不要です。STDOUTに出力する場合は、そのままにしてください。
少しテストしたところ、ファイル拡張子のない入力を使用する場合でも-f markdown
は必要ないようです。これは、パンドックが想定するデフォルトのマークアップであるか、パンドクが使用されているマークアップ言語を検出できるためです。
もちろん、以下を入力するためにグロブを使用できます:
pandoc -s -o output.html input*.md
あなたは多くの背景を提供しますが、機能レベルで実際に何が欲しいかを伝えるのは難しいので、ここでファイルがどのように構造化されているかについてはほとんど推測しています。今後は、背景を少なくし、質問に関連する情報を増やして、より効率的に支援できるようにしてください。
すべてをコンパイルしたい場合*.md
現在のディレクトリ内のファイルを独自のファイルに:
for file in *.md; do
pandoc -f markdown -t html "$file"
done
すべてをコンパイルしたい場合*.md
現在のディレクトリ内のファイルを独自のファイルに再帰的に:
find . -name '*.md' -exec pandoc -f markdown -t html {} \;
すべてをコンパイルしたい場合*.md
現在のディレクトリのファイルを1つのファイルに:
pandoc -f markdown -t html -o foo.html *.md
すべてをコンパイルしたい場合*.md
現在のディレクトリ内のファイルを1つのファイルに再帰的に(POSIXではなく):
pandoc -f markdown -t html <(find . -name '*.md' -exec cat {} +) -o foo.html
または(bash4 +):
shopt -s globstar
pandoc -f markdown -t html -o foo.html **/*.md