萌ディタ+SleipnirでCSSリロードをやってみた

Shibuya.jsでのmalaさんの発表をみて、萌ディタSleipnirをやってみようかと思った。同じことをやろうとしたのだけれど、面倒臭がりなので、萌ディタ内で済ませてしまった。本家のブログはまだ「あとで書く」の状態だけど、ブックマークレット使ってとかあったので、実際にはどうやっているのか楽しみ。とりあえず、それっぽい動きはできたので、以下手順。
まずは、萌ディタから。萌ディタのscriptディレクトリ内にある「srcfile.javascript.txt」を開いて

addClass(new class_srcfile());

の上部に以下を追記する。

f.onSave = function() {
var pnir   = new ActiveXObject("Sleipnir.API");
var tabid  = pnir.GetDocumentID(pnir.ActiveIndex);
var window = pnir.GetWindowObject(tabid);
var links = window.document.getElementsByTagName("link");
for (var i = 0; i < links.length; i++) {
var link = links[i];
if (link.href == App.Buffer.FileName) {
link.href = App.Buffer.FileName;
return;
}
}
var heads = window.document.getElementsByTagName("head");
var linkTag = window.document.createElement("link");
linkTag.setAttribute("href", App.Buffer.FileName);
linkTag.setAttribute("rel", "stylesheet");
linkTag.setAttribute("type", "text/css");
heads[0].appendChild(linkTag);
}

萌ディタ自体の設定としては『書式 -> むずかしい設定 -> スクリプト』で「srcfile.javascript.txt」と「css.javascript.txt」を追加して、『書式 -> スクリプトを有効』を選択する。
Sleipnirの設定は『ツール -> Sleipnirオプション -> 全般 -> スクリプトによるクライアントの操作を許可する』をチェックすれば良い。
あとは萌ディタで.cssなファイルをローカルに保存すればSlepipnirのアクティブタブにCSSが適用される。headタグがあることが前提とか結構雑な作りだけど、これだけでも結構心地良いツールだなと思う。でも、本家はもっと良い感じにやってるんだろうなぁ。

コメントする

メールアドレスが公開されることはありません。