はじめに
linuxっぽいデバイスエラー
/dev/stdoutや/dev/nullとか指定出来ないパスエラーに悩まされつまづいていました
実行
レンダリング処理はソースファイルを読み、縦書きにレンダリングし、svgファイルとして出力します。
/dev/stdout 標準出力が割り当てられないなら、実際のファイルを割り当てる方法があれば出力出来るかも。
ソースファイルをrenderでgrep しました。
functon renderで実装されているので引数で渡す方法を探します。
ソースはimportではなく、requireで、node_modulesフォルダも無いので頑張れば読めるかもしれません。
わからないなりに格闘。自前で呼ぶ関数を実装を試みました。
が、しかし、コマンドラインに渡す口がありそうです。
usageとにらめっこし、よく読んでみると、
outputオプションで行けそうです
node ./build/wenyan.js —render helloworld.wy —output ./renders/helloworld.svg
エラーが消えました。
rendersフォルダの中を見ると、ファイルが出来ました。
何故かファイル名がhelloworld.svg.000.svgで中身は一文字もありません。
文字はありませんが、古文書風の用紙、見ていて美しさにテンションあがります。
ソースの指定を見直し、再実行
node ./build/wenyan.js —render ./examples/helloworld.wy —output ./renders/helloworld.svg
な、なんとsvgのファイルサイズ増えました。
ドキドキしながらブラウザで表示してみると、縦書きのソースコード入りで表示出来ました。
ビルドエラー出てたけど、上手く行ってたのでしょうか。
念のため、ビルド前のwenyan.jsで実行してみると、…
同じファイルが作成されました。
今までの試行錯誤を思い、自分のレベルの低さに悲しくなりましたが、ソース出力は嬉しくてサンプルソース、片っ端から生成しました。
おわりに
ファイル名が不思議な感じですが、生成された縦書きソースはうっとりです。
引き続き、仕組みを見ていきたいです。