✖
スルー力が全くない…… 煽られたら\(^o^)/ 状態
✖
写真だけ見たけりゃ flickr でも f.hatena.ne.jp でも /searchdiary?word=*[photo] でもなんでもあるよ。
CMS
なんか washer-in-the-rye.com を管理するにあたって簡単な CMS が欲しいので要件を整理しておく (theruck でつくる)
- 簡単に編集できて管理できること
- マルチリンガルであること
- ERB をテンプレートに
- HTML 直編集したい (あのページは実は microformats と RDF 埋め込みによる XSLT での RDF への変換をサポートしています)
思いついたこと
- git 使いたい
- git push すると本番に反映されるように
- 別に本番環境で確認できる必要なくね?
- ruby foobar.rb するとローカルウェブサーバが立ち上がって確認できればいい
✖
自分は十分に助けてもらっているので、ちゃんと自分の足で歩かなくてはならない。
ゆの まとめ用スクリプト
ブクマからキーワードページのテーブルにするやつ
require "rubygems"
require "mechanize"
require "active_support"
require "time"
@ua = WWW::Mechanize.new
puts "|*言語|*リンク|"
begin
results = []
uri = "http://b.hatena.ne.jp/cho45/atomfeed?tag=%E3%82%86%E3%81%AE%20in%20language"
loop do
begin
warn uri
@ua.get uri
doc = XmlSimple.xml_in(@ua.page.body)
raise "Bug?" unless doc["entry"]
results.concat doc["entry"]
next_link = doc["link"].find {|link| link["rel"] == "next" }
break unless next_link
uri = next_link["href"]
rescue RuntimeError
sleep 1
retry
end
end
results.map! {|entry|
entry.update("lang" => entry["subject"] - ["ゆの", "language", "ゆの in language", "ひだまりスケッチ"])
}
results = results.sort_by {|entry| [entry["lang"], entry["issued"]] }.map { |entry|
warn entry["subject"].inspect
"|%s|[%s:title]|" % [
entry["lang"],
entry["link"].find {|link| link["rel"] == "related" }["href"],
]
}
raise "Bug?" if results.uniq!
rescue RuntimeError
sleep 1
retry
end
puts resultsなんかちゃんとフィードがとれないことがあるのでチェックかけてリトライしてる。
✖
todo: last.fm のパスワード変更
ゆの
弾さんが煽ったせいか [[ゆの in language]] がやたら盛り上がっててうける。特に Java がドラマチックでめっちゃおもしろい。
git でサイト管理する
とりいそぎ CMS 作るまでにあいだ git push で更新できるようにした
$ cat .git/hooks/post-receive #!/bin/sh cd .. /virtual/lowreal/git/bin/git --git-dir=.git reset --hard
ってやると push したときに Working Copy が hard reset されて更新される。なんか PWD と --git-dir をうまいこと指定しないとダメだった…… (フックスクリプトの実行時の pwd は .git 以下)
常に reset がかかるのでリモートでファイル編集とかしちゃだめ。今まで rsync してたけど --delete が怖くてできなかったのでこれでスッキリ
