トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

wiki設置メモ

fswiki関係のメモ。

新規設置編

ふと思いついてFreeStyle Wikiを設置。微妙に手間取ったところのメモ。

 本体を入手

FreeStyle Wikiのサイトから最新版をダウンロード。

今回使ったのは『wiki3_6_3dev3.zip』。

 サーバーにアップロード

docs/readme.htmlを読みながら作業をする。
backup、attach、pdf、logのディレクトリを作成。
サーバーにアップロードして動作を確認。

.htaccessも設置しておく。

<FilesMatch "\.(pm|dat|wiki|log)$">
    deny from all
</FilesMatch>

 いろいろ修正

最初にログインするときの情報は以下の通り。

user:   admin
pwd:    admin

環境設定でいろいろ修正しておく。

ページの作成・編集でエラーが出たのでソースを修正。

『FrontPage』って名前のページには飽きてるのでトップページを変更。
setup.datを修正する。先にページを作っておくべき?

 その他

tDiaryのサイトからよさげなテーマを探す。

今回は『clover』を採用。
そのままだと気になるところをいくつか修正。

  • 小さい方の四つ葉の画像に空白を入れる
  • フッターの上にラインが入るようにcssのsectionを修正
  • Menuのcssを微修正
  • tmpl/footer.tmplを修正。これ、毎年手作業か?(´∀`;)
  • タイトル+URLの形でリンクを張れるプラグインを作成

バージョンアップ編

ふと思いついてFreeStyle Wikiをバージョンアップ。今回も微妙に手間取ることに。

 本体を入手

FreeStyle Wikiのサイトから最新版をダウンロード。

今回使ったのは『wiki3_6_3.zip』。

 上書きにいらないファイルを削除

アーカイブを展開したフォルダから、不要なファイルを削除。

  • configディレクトリ全部
  • dataディレクトリのFrontPage.wiki
  • setup.datファイル
  • その他、上書きしたら困るファイル

自分の場合、tmpl/footer.tmplをいじってたので、これも上書きしないように削除。

 サーバーにアップロード

残ったファイルをまとめてアップロード。不安が残る人は、念のため、その前にバックアップをとっておきましょう。っていうか、バックアップ推奨。

 複数の空行が複数の<br>に変換されるのを修正

3.6.3から複数の空行が複数の<br>タグに変換されるようになった影響で、いろいろと見栄えが悪くなってしまうのに対応。本当なら、ここだけ上書きするプラグインを作るべき何だろうけど・・・ 面倒なのでソースを直接修正。

修正するファイルは『lib/Wiki/HTMLParser.pm』。

○修正前

sub l_paragraph {
    my $self = shift;
    
    $self->end_list;
    $self->end_verbatim;
    $self->end_table;
    $self->end_quote;
    
    if($self->{para}==1){
        $self->{html} .= "</p>\n";
        $self->{para} = 0;
    } elsif($self->{wiki}->config('br_mode')==1){
        $self->{html} .= "<br>\n";
    }
}

 
○修正後

sub l_paragraph {
    my $self = shift;
    
    $self->end_list;
    $self->end_verbatim;
    $self->end_table;
    $self->end_quote;

#   3.6.3dv3までの動作に戻す
    if($self->{para}==1){
        $self->{html} .= "</p>\n";
        $self->{para} = 0;
    }
}

 日時の文字列を修正

秒まで表示されるのが気に入らないので修正。

修正するファイルは『lib/Util.pm』。

○修正前

sub format_date {
    my $t = shift;
    my ($sec, $min, $hour, $mday, $mon, $year) = localtime($t);

    return sprintf("%04d年%02d月%02d日 %02d時%02d分%02d秒",
                   $year+1900,$mon+1,$mday,$hour,$min,$sec);
}

 
○修正後

sub format_date {
    my $t = shift;
    my ($sec, $min, $hour, $mday, $mon, $year) = localtime($t);

    return sprintf("%04d年%02d月%02d日",
                   $year+1900,$mon+1,$mday);
}

(2008/01/18 作成)
(2009/10/26 更新)