JavaScriptコードをブックマークレット用にフォーマットするRubyスクリプト
ちょっと長めのブックマークレットを書くとき、普通にエディタで書くんだけど、その後ブラウザで使える'javascript:'形式に変換するのがめんどくさいな、って思ってた。どうやら同じようなこと考えてた人がいるみたいだ。
再編集可能なbookmarklet
秀丸マクロでいい感じに解決してる。しかも「エラーコンソールでエラーとなった行が何行目なのかが分かる」、これはいい。
せっかくなのでRubyで書き直してみた。
JavaScriptコードをブックマークレット用にフォーマットする
#!/usr/bin/env ruby ARGF.each_line(rs = nil) do |buf| printf "javascript:%s\n", buf.gsub(/\s+$/, ""). gsub("%", "%25"). gsub("\n", "%0A").gsub("\t", "%09") end
ブックマークレットを改行、インデント付きのJavaScriptコードに戻す
#!/usr/bin/env ruby ARGF.each_line(rs = nil) do |buf| puts buf.sub(/^javascript:/, ""). gsub("%0A", "\n").gsub("%09", "\t"). gsub("%20", " ").gsub("%25", "%") end
どっちも「引数で指定したファイルまたは標準入力」を読み込んで、変換結果を標準出力に出力するよ。