0

netcatを介していくつかのマークダウン投稿をコンパイルしたいと思います。ここにありMakefileます。

# Makefile

all: $(POSTS)

$(POST_DEST_DIR)/%.html: $(POST_SRC_DIR)/%.md | $(POST_DEST_DIR)
  @nc localhost 3000 < $< > $@
  @echo 'compiled $@'

.DELETE_ON_ERROR: $(POSTS)

TCP サーバーがエラーで終了するとnc、Node.jsncラッパーがエラーで終了する間、エラーなしで終了します。以下は Node.js ラッパー スクリプトです。

// nc.js

var client = require('net').connect(3000);
process.stdin.pipe(client);
client.pipe(process.stdout);
client.on('error', function (err) {
  console.error(err.message);
  process.exit(1);
});

その後

# Makefile with nc.js

$(POST_DEST_DIR)/%.html: $(POST_SRC_DIR)/%.md | $(POST_DEST_DIR)
  @node nc.js < $< > $@
  @echo 'compiled $@'

TCP サーバーも NodeJS で記述されています。プロセスをすぐncに停止するために、TCP サーバーがクラッシュしたときにエラーで終了したい。make

ここにテスト用の TCP サーバーがあります。

// tcp server for error test

require('net').createServer(function(socket) {
  process.exit(1);
}).listen(3000);

ncマニュアルページを読みました。でも、やりたいことは無理だなと思いました。何か不足していますか?

4

1 に答える 1