よく使う置換をダイアログから
2003-12-20
昨日いただいたプレゼント。よく使う置換を登録しておいて手軽に使おうという xyzzy 用のlisp です。xyzzyの使い方が分からぬやし 励ましあえ その3 より。とりあえず自分用に設定したもの。
;;; -*- Mode: Lisp; Package: User -*-
;;置換リスト
;;http://pc2.2ch.net/test/read.cgi/software/1063367821/ 771番さん
(defvar *my-replace-list* nil)
(defun my-replace-dialog (&optional (lst *my-replace-list*) noerror)
(interactive)
(multiple-value-bind (result data)
(dialog-box `(dialog 0 0 219 300
(:caption "置換")
(:font 10 "MS Pゴシック")
(:control
(:listbox list nil #x50a10111 7 7 150 282)
(:button IDOK "&OK" #x50010001 162 7 50 14)
(:button IDCANCEL "&Cancel" #x50010000 162 41 50 14)
))
`((list . ,lst)
(list . ,(car lst)))
`(:column (50)))
(when (and result data)
(let ((pattern (nth 2 (assoc 'list data)))
(replace (nth 3 (assoc 'list data)))
(regexp (nth 4 (assoc 'list data))))
(if regexp
(replace-regexp pattern replace noerror)
(replace-string pattern replace noerror))))))
(define-key *global-keymap* #\M-R 'my-replace-dialog);Alt+Shift+R
これを、myreplace.l と名づけて、Siteinit.l に以下のように追加。
(require "myreplace")
んで、.xyzzy に以下のような感じでよく使う置換の文字列を登録しました。
;;置換リスト
(setq *my-replace-list*
'(;("表示名" "置換元" "置換先" regexp(nil以外で正規表現を使う))
(" & -> & に置換" "&" "&")
(" < -> < に置換" "<" "<")
(" > -> > に置換" ">" ">")
("改行のみの行を削除" "^\n" "" t)
("インデント解除" "^[ \t]+" "" t)
))
771さん、どうもありがとうございました。
ついでだから書いておきますが、昔私が同じ事をするのに作ったVZマクロ(何)です。
= jrep.def =
* m
80 ^\ "jrep"
?. !01 (r<0)?.
&SF(pm,9) (r<0)?.
&Ss(r) &Sc(pr,r,pr..-1)
&e(pr)
RX[-, &s
#56 &?("%s",a) #m &?("%s",b) #m "ay"
&m("") &d RX],
00: a"\x \s+$$", b"",
01: a"\x ^$$", b"",
02: a"\x ^", b"> ",
03: a"\x ^\s|^\t", b"",
*p
01 "常用置換",20,4
"0 行末スペース削除 &00"
"1 空白行削除 &01"
"2 引用符挿入 &02"
"3 インデント解除 &03"
*
= End of jrep.def =
Sidebar Autohide
2003-12-20
Mozilla Firebird のブランチなナイトリーで、拡張のインストールのインターフェースが変わったとのことなので、さっそく試してみた。が、試すためには何か拡張をインストールしないといけないので、Mozilla Firebird: 拡張 で適当なものを物色してみる。結果試してみたのは、Optimoz Tweaks というものです。
何をするものかといえば、ブックマークでも履歴でも、RSS Reader Panel でもなんでもいいのですが、それらをサイドバーで開いても自動で隠してくれるという拡張です。というか、マウスカーソルを画面左端へ持っていくとサイドバーが現れます。普段は隠しておいて、必要な時にマウスカーソルを左端へ持っていくとサイドバーを表示してくれるわけです。どっかをクリックとかする必要はありません。ただマウスをそこら辺へ持っていくとサイドバーが現れます。
結構素早いです。メインコンテンツエリアは画面サイズが変わるわけですから、ページのレンダリングをやり直すのですが、これが結構早い。さすがはGeckoエンジンという感じです。
で、肝心の XPInstall UI の変更ですが、取り立ててどうということはない感じでした。:p)
RSS Reader Panel が動いた!
2003-12-19
最近のナイトリーでRSS Reader Panelが動作しないようになっていて困っていたのですが、flyson さんのサポート掲示板 の368番の謎さん(誰)に対処法方を教えていただいたので、ご紹介。
RRPをインストールしていれば、profile ディレクトリの chrome ディレクトリに、rssreader.jar というファイルがあるので、これを rssreader.zip などにリネームして解凍します。リネームしなくても解凍できるソフトであればリネームする必要はありません。解凍したファイルの content\rssreader\rssreader.js をエディタで開いて、"bookmarksTree.currentRes" という箇所(2箇所あり)を "bookmarksTree.currentResource" に置換して、元通り圧縮して元からあるものと入れ替えれば動きます。入れ替えるときは、Mozilla Firebird を終了しておく必要があります。
今日の私の環境、Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.6b) Gecko/20031219 Firebird/0.7+ (Nova: MNG,DOMi,Venkman) では、これで今までどおりに快適に RPP が動作してくれるようになりました。
謎さん、情報ありがとうございました。
この記事へのツッコミ
- 1: 謎 (2003-12-20T14:17:51+09:00)
- サポート掲示板に書き込んだ謎です。最新版では何故かポップアップしませんでした。chrome://global/content/widgets/popup.xml#popupが存在しないっぽいです。(それともこっちのミスかなぁ?)ここのRSS Reader Panel を改造してみたを参考にしてchrome://global/content/bindings/popup.xml#popupにしたら動くようになりました。
- 2: のり (2003-12-20T19:16:09+09:00)
- サポート掲示板では情報ありがとうございました。おかげさまでまたナイトリーでRRPが使えるようになって喜んでいます。最近のナイトリーはあれこれ仕様の変更が多いみたいで、拡張とかテーマの作者さんは対応するのに大変だと思いますが、こうやって皆さんの情報をもとに、自分好みのMozFBを作れるので、日々感謝する次第です。
- 3: 謎 (2003-12-20T20:27:29+09:00)
- 俺は、使えなくてあせりました。(よく使うので)
仕方なくエラーが起きた関数の呼び出し元をたどっていって宣言されてないものを探していったんですよ。for(i in ~){alert(i+":"+~[i])}というの使って。(いちいち圧縮がめんどかったです)
処でこういう変更について書いてある文章ってあるのですか?
- 4: のり (2003-12-20T22:04:38+09:00)
- おお、すごい!自力でエラー個所を探られたんですか! MozFBハッカーの鏡ですね。:-)
>処でこういう変更について書いてある文章ってあるのですか?
私は知りませんねぇ。私は mozillazine のフォーラムや、Burning Edge あたりの情報とかに気をつけているくらいです。あとは、もとひこさんがよくたれこんでくれるんで、非常にありがたいです。もとひこさんはどうやっていろいろ調べているんでしょうか? >もとひこさん
- 5: 謎 (2003-12-22T15:34:07+09:00)
- なんか文字化け酷いですね。
まあいいとして、Javascriptなので、たいていの人はエラー探せるとおもいます。JS Consoleでエラー個所出てたし。
- 6: のり (2003-12-22T15:59:36+09:00)
- そうでした。JS Console がありましたね。次回(?)は私も自力で探ってみよう。:p)
文字化けの件ですが、今のところまぁどうにか読めているのであまり気にしていないのですが、あまりひどいようなら何か考えないといけないですねぇ。
- 7: 謎 (2003-12-23T20:50:36+09:00)
- そういえば文字コードがEUC-JPでフォームを使うと(確か)文字化けるという現象がありましたね。
文字コードの変更で直ると思いますが。
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2003/12/diary_031219a.html
来月になる前に来月用のファイルを自動で作る仕組みを用意しないといけないので、用意してみた。(月が変わったけど、月初めをどうするか参照。)
以下のようなperlスクリプトをサーバのcronで回して、毎月1日の0時に起動させます。私以外の人には何の役にも立たないものです。すびばせん。:p)
#!/usr/bin/perl
@date = localtime(time);
$year=sprintf("%04d",$date[5]+1900);
$this_month=sprintf("%02d",$date[4]+1);
$prev_diary = sprintf("%02d%02d",$date[5]-100-($date[4] == 0),$date[4] + 12*($date[4] == 0));
$this_diary = sprintf("%02d%02d.html",$date[5]-100,$this_month);
open(FILE,"+>/home/hogehoge/$this_diary");
print FILE <<__HTML__;
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
(中略)
<link rel="begin" href="0205.html" />
<link rel="prev" href="$prev_diary.html" />
(中略)
<title>朝顔日記 $year年$this_month月</title>
</head>
<body>
(中略)
</body>
</html>
__HTML__
close(FILE);
Re:カオスマークアップ SEO 対決で負けてる
2003-12-16
ぬぅおー、アサノさんにしてやられてますねぇ。カオスマークアップの SEO 対決(何)ですが。
柊さん改め、ともさんは
敗因の一つはリソースの新鮮さかなぁと。
という分析をしておられますが、私が思うに、たぶんファイル数ではないかと。アサノさんとこはMTを使っているために、ひとつ記事を書いてもたくさんのファイルが作られるので、それが効いているのではないかと思うわけです。今のところ、Googleでヒットするアサノさんとこのファイルは上位から順に
- www.mushline.com/junky/archives/000098.shtml
- www.mushline.com/junky/archives/000100.shtml
- www.mushline.com/junky/archives/2003_12.shtml
- www.mushline.com/junky/archives/cat_everyday.shtml
- www.mushline.com/junky/
- www.mushline.com/junky/archives/000099.shtml
と、計6つあります。それに対して、ともさんとこは、
- diy.s27.xrea.com/blog/2003/11
- diy.s27.xrea.com/docs/
の2つで、本命の diy.s27.xrea.com/docs/chaos_markup が抜けてしまっているのが痛いですねぇ。煩雑なので、URIは記しませんが、私のところは2つ。ここらあたりが勝負を決する最大の要因なのではないかと思います。やはり、ファイル数が多いということは、そのことについての専門的なサイトであるとみなされるのではないでしょうか。
ともさんの本命ページが抜けてしまっているのは、単にロボットの取りこぼしかなんかだと思うのですが、もしかすると、検索エンジンスパムとみなされた可能性もあります。多分そんなことはないとは思いますが…。
検索エンジンスパムにもいろいろ種類があるようですが、検索エンジン スパム - Search Engine SPAM に詳しい情報があります。先日のセミナーでは、あまり気にする必要はないと習いましたが。
ということで、今月の日記にも一応登場させて、ページ数を増やしてみました。:p)