2010-01-01から1年間の記事一覧

Ruby + scrot + cURL + フォト蔵API で Gyazo ごっこ(Linux用)

切実な必要性に駆られたわけではなく、思いついたのでなんとなく脊髄反射的に作って見ました。scrot、cURL、beep、xclip に依存しています(beep は必須ではありません)。エラー処理とかはほとんどやってないです。Windows 向けに修正したいという場合は sc…

beginning-of-defun でトップレベルの開き括弧まで移動させる

次のように関数定義内で行頭に開き括弧がある場合にその内側から beginning-of-defun で関数の先頭に移動しようとすると、 デフォルトの挙動では (let ...) の開き括弧の位置にカーソルが移動してしまいます。 行頭に開き括弧があったら、それを関数の開始位…

日本の国会議員の名前とウェブサイトのURLのリストを得るRubyスクリプト

やっつけです。タブ区切りで標準出力に吐きます。ソースとして政治家WEBリンク集 http://db.kosonippon.org/link/link.phpを使いました。ちなみに 衆議院 480 + 参議院 242 = 722 このスクリプトで得た件数 = 676 です。食い違いの理由については「ウェブサ…

save-excursionとカーソル周辺のブロック(関数など)の自動インデントを組み合わせてみた

Emacs Lisp を書いているときに自動インデントしたいときは C-M-a(beginning-of-defun)で関数の頭に移動して C-M-q(indent-pp-sexp)しているが、2ストロークなので面倒くさくなってきた 1つにまとめよう どうせだから save-excursion で囲んだらいいんじ…

Emacs: *Apropos* バッファの見出しにタイプ別で色を付ける

なんだか Emacs Lisp の練習問題みたいなネタですね。最後の行から上向きに 1行ずつ見ていき、 見出し行でなければ "Function", "Variable" などのタイプを item-type にセット 見出し行なら item-type をもとにフェイス設定 という動作をしています。他のト…

指定したパターンがHTMLソース中に存在することを検出するGreasemonkeyスクリプト

というかこないだのこれhCalendar の存在を検出するだけの Greasemonkey スクリプト(誤検出もあるよ) - 再発明日記を複数のパターンに対応させただけですが。指定したパターンを検出すると画面左上にこのように表示されます。クリックすると消えます。docu…

Windows XP で gpg.exe を使う(インストーラ不使用)

Universal Extractor http://legroom.net/software/uniextractを使うと gpg.exe などが抽出できるので、パスの通った所に置いて使う。抽出に使ったインストーラ: gnupg-w32cli-1.4.11.exe

Thunderbird で Outlook Express からインポートしたフォルダをサブフォルダも含めてローカルフォルダから別アカウントの下に移動させる

Thunderbird の GUI 画面でドラッグ&ドロップするとフォルダ構造(階層)だけコピーされて個々のメールが移動していなかったり、そもそも移動したいのにコピーされたり、コピーも移動もできなかったり、どうも挙動が謎で、結局どうすればいいか分からなかっ…

はてブコメントに日時を書くと hCalendar を生成する Greasemonkey スクリプト

個人的にはすごく便利なのですがこんなの自分以外誰も使わないだろうという気がしてきたので適当に書きます。 ダウンロード https://gist.github.com/sonota88/3187c5f60f67c3eafd31fbf0b457035f 用語 ブックマークページ: ある URL に対して複数のユーザの…

hCalendar の存在を検出するだけの Greasemonkey スクリプト(誤検出もあるよ)

hCalendar が使われているサイトのリストみたいなのがあるといいかも(参考にしたり、どのくらい普及しているかを知るために) ないなら作るか でも今のところ3サイトくらいしか知らない…… まずはどこで使われているか気付けるようにするか…… というのが経緯…

Emacs+org-modeで編集しているファイルをmobi形式にしてKindle内に保存する

1. 現在開いているファイルをHTMLにエクスポート 2. kindlegen で .mobi に変換 3. Kindle内のフォルダに移動 をスクリプト化しただけです。即席。UTF-8 だったら日本語入りでも大丈夫。 目次も勝手に生成されます。 Kindleの Home では org-mode の "#+TITL…

JavaScript で Emacs Lisp の run-with-idle-timer みたいなことをする

メモメモ。 var idleTimer = null; function callback() { // } function resetTimer() { if (idleTimer) { clearTimeout(idleTimer); } idleTimer = setTimeout(callback, 500); } inputText.addEventListener("keydown", resetTimer, false);

「タブでインデントしてyank」をコマンド化

手元でちょっとメモる時のオレオレ記法として、コマンドの出力やログ片、コード片はタブでインデントしている。これまでは yank 貼り付けた範囲を選択 string-rectangle(C-x r t)でタブを挿入 とやっていたが、いいかげん面倒に感じてきたので「タブでイン…

(solved) フレームを最小化(アイコン化)すると frame-title-format で指定したように表示されない

frame-title-format を設定するのと同じ要領で icon-title-format を使って設定する。参考: マニュアル: Frame Titles http://www.geocities.co.jp/SiliconValley-Bay/9285/ELISP-JA/elisp_440.html Frame Titles - GNU Emacs Lisp Reference Manual http://…

ATNDのイベント情報をGoogleカレンダーに持っていくためにdescriptionを短くするGreasemonkey

Firefox のアドオン Operator を使って ATND から Googleカレンダーにイベントを登録しようとすると "Request-URI Too Large" と言われて失敗するので。 (function(){ function selectByXPath(root, xpath){ if(root === null){ root = document; } var snap…

「漫画の新聞」の記事ページに日付と思われる文字列を挿入する

記事日付の記載がないのって新聞の記事としてどうなんでしょうか。 location.href.match("http://newsmanga\.com/.+?/(\\d{4})(\\d{2})(\\d{2})"); var date = document.createElement("p"); date.textContent = RegExp.$1 + "-" + RegExp.$2 + "-" + RegExp…

Feed::Custom でエラーが出た時に pp config する

もっと根元の方で対処すると良さそうだな、と思いつつ lib-plugins/yapra/plugin/feed/custom.rb の run の中味を begin/rescue/end で囲んで pp config させただけ。 class Custom < Yapra::Plugin::MechanizeBase def run(data) begin urls = if config['u…

YapraでPixivの「お気に入りユーザー新着イラスト」をフィード化

画像はサムネイルで良いのでこんな感じで。 date が不要なら EFT 使わなくてもいいんですが…… - module: Config::WebPost config: url: "http://www.pixiv.net/login.php" params: mode: login pixiv_id: FOO pass: BAR - module: Feed::Custom config: url:…

(solved) sense-region でフェイスがおかしくなる

sense-region でフェイスがおかしくなるので調べたんですが、もうすでに解決されてましたorz ↓ 参考: sense-region.el on Emacs23でface設定が壊れないようにする - Emacs/Lisp/Drill - Emacsグループ http://emacs.g.hatena.ne.jp/k1LoW/20090822/125091966…

lib/yapra/plugin/mechanize_base.rb の警告を表示させないようにする

7c7 < pipeline.context['mechanize_agent'] ||= WWW::Mechanize.new --- > pipeline.context['mechanize_agent'] ||= Mechanize.new "WWW::" を取っただけ。grep すると他にも見つかる。必要ならここらへんも直すと良いかも: ./legacy_plugins/Filter/Trans…

(solved) moccur でなぜか "no matches" となる → 一旦ファイルを保存しないとダメ

タイトルの通り。 - 20100930追記 引数 arg で non-nil を渡すとファイル名のないバッファでも使えるっぽい。

RubyでXPathGraphのようにURLとXPathから数値を取得

XPathGraphだと特定のURL(+XPath)の場合に取得に失敗する でもデータを取って見てみたい というわけで自作したら1行で済んだ require "open-uri" require "rubygems" require "nokogiri" def xpathgraph_modoki(url, xpath) Nokogiri::HTML(open(url)).xpa…

NHK週刊こどもニュース「ニュースまるわかり」のフィード作成用Yapraプラグイン

「ニュースまるわかり」は以前「今週の大ハテナ」だったコーナーです。 RSS::save などに渡して使ってください。 =begin config example: - module: KodomoNews::hatena config: recent: 10 # optional =end require "rubygems" require "yapra/plugin" requ…

ページ内の任意の文字列を置換する

やっつけです。画面左上に入力ボックスが出ます。ブックマークレットにすると良いかもです。 (function(){ function $id(){ var elem, id; switch(arguments.length){ case 1: elem = document ; id = arguments[0]; break; case 2: elem = arguments[0]; id…

dropbox start して同期が終わったら dropbox stop するRubyスクリプト

# dropbox-sync.rb module Dropbox def self.exec(cmd) puts cmd `#{cmd}` end def self.sync self.exec %Q!dropbox start! loop do result = exec( %Q!dropbox status! ) p result break if result == "Idle\n" sleep 5 end self.exec %Q!dropbox stop! end…

moccur で結果リストから選んだときに recenter する

color-moccur.el の 関数 moccur-view-file の次の箇所を修正。 ;; 修正前 (moccur-color-current-line) ;; 修正後 (moccur-color-current-line) (recenter)