前回:「CGIをローカルテストするための簡易ウェブサーバー xnhttpd をGoで書きました 」で実装した CGIテスト用ウェブサーバー xnhttpd に、静的コンテンツや markdown を発信する機能を実装しました。
markdown プレビューアとして、これまで mkup を使っていたのですが、自分好みのスタイルシートを使いたかったのと、もう少しウェブサーバーを作り込んでみたかったというのが開発動機です。
- 拡張子が .jpg , .gif , .html の時、xnhttpd のカレントディレクトリ以下にそのファイルがあれば、そのまま静的コンテンツとして発信するようにした
- 拡張子が .md の時は、同ファイルを yuin/goldmarkで markdown → HTML 化してから発信する
- markdown テキストの時の CSS は 本当は GitHub のやつを使いたかったが、ソースを見ても複雑すぎてよう分からんので(汗)、適当に wifky に使われているデフォルトのやつをベタでくっつけた。
TO DO
- ディレクトリを指定された時は index.html もしくは readme.md を出力するようにする
- CGI機能を使わず、markdown プレビューアとしてだけ使う時、今のところ
echo {} | xnhttpd
としないと標準入力からの EOF 待ちになってしまう。もう設定ファイル入力なりオプションなりを検討する
以上