という楽譜作成ソフトを使っていlilypond
ます。独自のテキストライクな記譜マークアップ言語をさまざまな形式にコンパイルできますが、その中にはpng
ファイルがあります。
付属の別のコマンドは、タグを含むドキュメントをコンパイルし、その場所に次のようなコード スニペットを配置するlilypond
のは、コンパニオン
です。lilypond-book
<lilypond>
<p>
<a href="10/lily-9f8f7b5d.ly">
<img align="middle" border="0" src="10/lily-9f8f7b5d.png"
alt="[image of music]">
</a>
</p>
だから私の願いは、 の大ファンとして、VIM
フィルタリング機能を使用してこの種のジョブを自動化することです。たとえば、次のようなドキュメントにいる場合:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>html-with-notation</title>
</head>
<body>
This is some text, before including lilypond notation file
And here is the melody:
<lilypondfile>andantino.ly</lilypondfile>/* <-- TAG THAT WILL BE RECOGNIZED BY LILYPOND-BOOK */
Enjoy!
</body>
</html>
<lilypond>
..そのタグを、コマンドから生成された出力に置き換えたいと思いlilypond-book
ます。しかし、それはそれほど単純でlilypond-book
はありません。なぜなら、 は ではなくstdout
というファイルに書き込むからstdin.html
です。(入力がそこから来ていることを認識して、自動的にそのように名前を付けます)
したがって、これを実行している間:
:.!lilypond-book -f html - 2>/dev/null
// ( with errors redirected to `/dev/null` to prevent polluting my buffer with messages being output.)
すべての出力がファイルに送られているため、当然のことですが、何も返されません。
の部分からすべての処理が完了した後、vim バッファー内の現在の行にそのstdin.html
ファイルを読み戻すにはどうすればよいでしょうか? lilypond-book
もちろん、手動で行う必要はありません:r stdin.html
。
また、おまけとして、ファイルで作業している場合に、その stdin.html をバッファに読み込む前に、それを処理して最初pandoc
に変換することは可能でしょうか?markdown
markdown