ユーコンブレンド 100g

by typester / at 2006-03-17T21:06:00 / life · starbucks / Comment

JavaScript や CSS の query に自動で最終更新時間をつける Catalyst Plugin

川o・-・)<2nd life - JavaScript や CSS の query に自動で最終更新時間をつける Rails Plugin

インスパイア。

package Catalyst::Plugin::URI::MtimeQuery;

sub uri_for {
    my $c   = shift;
    my $res = $c->NEXT::uri_for(@_);

    if ( $res =~ /\.(css|js|swf)$/ ) {
        my $base = $c->req->base;
        my ($path) = $res =~ m!^$base/(.*)!;

        my $file = $c->path_to( 'root', split '/', $path );
        if ( $file->stat && -f _ && -r _ ) {
            $res .= '?' . $file->stat->mtime;
        }
    }

    $res;
}

1;

Catalyst では CSS や Javascript の読み込みは [% c.uri_for('/js/prototype.js') %] などのように記述することが多いのですが、上記プラグインをロードしておくと、css|js|swf の場合は自動で更新時間が付くようになります。試してないけど。

上のは設定きめうちなんだけどその理由は config の設定キー名思いつかなかったからという。。

あと、swf は普通にクエリを渡して使うことが多いのでこのままだとあまり使えない。

by typester / at 2006-03-17T15:41:00 / perl · catalyst / Comment

qr/\.(css|js|swf)$/ みたいなのを YAML で書くにはどうしたらいいのだろうとおもって、とりあえず YAML モジュールを使って

use YAML;

my $data = {
    regex => qr/\.(css|js|swf)$/,
};

print Dump( $data );

こんなのをしてみる。

結果。

---
regex: !perl/regexp:
  REGEXP: \.(css|js|swf)$

こんな風に書くのか。これを LoadFile しても

$VAR1 = {
          'regex' => qr/(?-xism:(?:\.(css|js|swf)$))/
        };

となるのでちゃんと使えるようだ。

でも YAML::Syck だと Load Dump ともにうまく動かない。

by typester / at 2006-03-17T14:53:00 / perl · yaml / Comment

出社。

by typester / at 2006-03-17T12:34:00 / life / Comment

Gyao用

// ==UserScript== // @name Gyao link fixer // @namespace http://unknownplace.org/ // @description fix gyao movie links

// @include      http://www.gyao.jp/*

// ==/UserScript==

(function() {
    var anchors = document.getElementsByTagName('a');

    for (var i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];
        if (anchor.href.match(/javascript:directScreen/)) {
            var content = anchor.href.match(/cnt\d+/);
            var rate    = anchor.href.match(/bit\d+/);
            var user    = document.cookie.match(/Cookie_UserId=(\w+)/)[1];

            anchor.href
                = 'http://www.gyao.jp/sityou/asx.php?contentsId=' + content +
                '&userNo=' + user + '&rateId=' + rate;
        }
    }
})();
by typester / at 2006-03-17T04:24:00 / gyao · greasemonkey / Comment

退社。

by typester / at 2006-03-17T03:39:00 / life / Comment