2009-10-23

簡単なWeb作り向けRakefile作った

ビックリするくらい素朴な作業向けです。要は

  • HTML の文法チェックを tidy
  • リンク切れチェックを linkchecker
  • アップ作業を lftp
  • バージョン管理を svnhggit でやっているとして commit してないファイルはどれ?
  • サイトマップは YAML で書いて XOXO で吐き出して Wiki に貼っちゃえば共有も楽じゃね?

というツールです。基本的には生HTMLの static なサイト向け。

本当は Windows でも自動化できるようにという意図があって tidy や linkchecker を採用してるんだけど、linkchecker の Windows バイナリは GUI になってて全自動にできないし、ftp は ncftp を採用するつもりだったけど ncftp だと exclude の指定ができないので諦めて lftp という構成になってます。しかもあとで気づいたけど Open3 は Windows で使えないし。

とりあえず自分は便利で楽になりました。満足してます。

疑問

hg stat -A の結果が変。

unknown なはずのファイルの表示が環境によって違う。

versionpackage表示
1.2.1FinkI
1.3.1epelI
1.1.2ports?
1.2.1MacPorts?

こうして見ると ports 系が正しいように見えるんだけど、バージョンもバラバラなので何が正しいのかよく分からない。

ignored って ignore 指定したファイルだけなんじゃないの? ignore 指定もしてないし add もしていないファイルは unknown なんじゃないのかなぁ。

define_method 初めて使った

バージョン管理されているかどうかの判別用のメソッドがほぼ完全に同じなので、define_method で生成した方がいいやと思ったんだけど、class や module の中でないと使えないみたいなので module SCM を定義して include SCM することで Global な空間にメソッドを持ってきた。

これでいいのか、これしか方法がないのかよく分からない。もっといい方法ありそうな気もするけど。

不満

sitemaps.xml も吐ければとりあえず思いつく範囲では結構使えるツールになるかと思ってライブラリを探したけど、gem で入れられる範囲ではあんまりいいのがないような。

About

例によって個人のなんちゃらです