選択したMarkdownドキュメントをコンパイルする方法

選択したMarkdownドキュメントをコンパイルする方法

単一の Markdown ファイルを HTML として処理します。

pandoc -f markdown -t html inputfile.md

このようにPandocを使用して単一のMarkdownファイルを処理できますが、選択したMarkdownファイルのリストをコンパイルして単一のファイルとして処理したいと思います。

Markdownファイルがある場合:

inputfile1.md, inputfile2.md, inputfile3.md

Pandocを使用して、単一の出力ファイルにコンパイルして処理できますか?

答え1

pandocは複数の入力ファイルを使用できます。ちょうど使用:

pandoc -s -o output.html input1.md input2.md input3.md

-s<html></html>pandocに別のファイルを作成するように指示します(単にスニペットを作成するのではなく、タグなどを含めることになります)。-o output.htmlこれがoutput.html出力ファイルになることを指定します。.htmlで終わる出力ファイルは必要あり-t htmlません。 STDOUTに出力する場合は、明確に保管してください。

いくつかのテストを行った後は-f markdown、ファイル拡張子のない入力を使用する必要さえないようです。これは、pandocが期待するデフォルトのマークアップであるか、pandocが使用しているマークアップ言語を検出できるためです。

もちろん、グローブを使用してタイピングを減らすことができます。

pandoc -s -o output.html input*.md

答え2

私は多くの背景知識を提供しましたが、機能レベルで実際に何が欲しいのかを言うのは難しいので、ここでファイルがどのように構成されているかをほとんど推測しています。将来的には、より効果的に役立つように背景情報を減らし、問題に関する情報をより多く提供してください。

*.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 

*.mdPOSIXではなく再帰的に現在のディレクトリ内のすべてのファイルを単一のファイルにコンパイルするには、次の手順を実行します。

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

関連情報