トップ «前の日(07-15) 最新 次の日(07-17)» 追記

おいぬま日報(不定期)

カテゴリ | 技術情報まとめWiki | 検索エンジンから来た人向け | RSS

2003年
7月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31



2004-07-16

@ [life] 今日から4連休!

今日は何故か会社が休み*1なので、4連休です。しかし、目覚しの時間をずらしてなかったのでいつもと同じ時間に起きてしまいました。。。

*1 どこかの振り替えだったか

@ [fx] 今日のFX

アメリカの経済指標が良かったので、ドル買いの波に乗るつもりでUSD/JPYを109.74で2枚*1BUYしました。と思った1時間後にはカウンターでドル売りが。。。でも今巻戻し中のようなので、しばらく様子を見ることにします。ちなみにこれはデモではありません。

*1 2万ドル

@ [fx] 今日のFX(2)

うーん、22:54現在で108.80ぐらいまで下がってますね。。。約2万円分損してます。中期型に作戦を切り替えますか。


2007-07-16

@ [fswiki] FSWikiでページのURLをstaticにする(2)

create_urlメソッドを以下のように書き換えるだけでこと足りました。素晴らしい!

と書きましたが、「ページのリンクを生成する」メソッドとしてまとめられているのであれば、Wiki.pmを修正するのではなくプラグインで動的にメソッドを上書きしていけるのでは?と思って1 hour hackしました。

### plugin/staticurl/Install.pm
package plugin::staticurl::Install;
 
use strict;
use Util;
 
sub install {
    my $wiki = shift;
    my $class = ref $wiki;
 
    {
        no strict 'refs';
        *{"$class\::create_url"} = sub {
            my $self   = shift;
            my $params = shift;
            my $url    = $self->config('script_name');
            my $query  = '';
            foreach my $key (keys(%$params)){
                if($key eq 'page') {
                    $url = $params->{$key} . ".html";
                    next;
                }
                if($query ne ''){
                    $query .= '&';
                }
                $query .= Util::url_encode($key)."=".Util::url_encode($params->{$key});
            }
            if($query ne ''){
                $url .= '?'.$query;
            }
            return $url;
        };
 
        *{"Wiki::HTMLParser::wiki_anchor"} = sub {
            my $self = shift;
            my $page = shift;
            my $name = shift;
 
            if(!defined($name) || $name eq ""){
                $name = $page;
            }
 
            my $page_url = Util::url_encode($page) . ".html";
            my $escaped_name = Util::escapeHTML($name);
            if($self->{wiki}->page_exists($page)){
                return qq{<a href="$page_url" class="wikipage">$escaped_name</a>};
            } else {
                return qq{<span class="nopage">$escaped_name</span><a href="$page_url">?</a>};
            }
        };
    }
}
 
1;

Wiki::HTMLParser::wiki_anchor も上書きしているのは、なぜか[[ページ]]の形式で貼ったリンクがstaticにならなかったためです。staticurl という名前でプラグイン化したので使いたい人がいらっしゃればこちらからどうぞ。

FSWiki本家にはあとでプラグイン投稿します。しました。

2007/07/17追記: まとめると...

1. staticurlプラグインを解凍して pluginディレクトリに放りこんでおく

2. FSWikiでログインして、プラグイン設定画面よりstaticurlプラグインを有効にする。この時点でリンクは wiki.cgi?page=FrontPage というURLから FrontPage.html という形式に変わります。

3. mod_rewriteで以下のように設定しapacheを再起動。

RewriteRule ^/$ /wiki.cgi [L,NE,P,QSA]
RewriteRule ^/(.+)\.html$ /wiki.cgi?page=$1 [L,NE,P,QSA]

※たぶんFSWiki 3.6.x でしか動きません。


Bookmark: あんてな | ぶっくまーく | 覚え書き | Project Amateras | ExcelPettyCashBook | FreeStyle Wiki

2002|10|11|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|11|12|
2008|01|02|03|04|05|06|07|08|10|11|12|
人気ブログランキング - おいぬま日報(不定期)