Makefileターゲットは次の責任を負う必要があります。
$ perl Markdown.pl src/index.md
インポート(htmlにマークダウン)出力CONTENT
src / template.htmlファイルから生成されたコンテンツに似たこの文字列に行を置き換えます。 template.htmlには、この行の他の行はありません。
これを達成するためのエレガントな方法は何ですか?
ベストアンサー1
arcegeが言ったように、実際のソースファイルを変更しないでください。とにかく使いやすいですawk
。
target:
awk '{if($$0=="CONTENT"){system("perl Markdown.pl src/index.md")}else{print}}' src/template.html > build/template.html
この行をよりきれいに見せるために、このawkコードをスクリプトに入れることができます。 (これを行うに$$0
は変更してください$0
。そうしないと、makefileはそれを解釈するのでこれが必要です。)
target:
awk -f convert.awk src/template.html > build/template.html