管理 | 差分 || 新規作成 || カテゴリ一覧 | ページ一覧 | 更新履歴 | 差分履歴 || アンテナ || PUT || more≫ ≫omit
shortcut: FrontPage || WikiLab | StoreRoom/最新 | 日々の泡 | むず痒いパソコン日記/最新 || HelpPage ||[edit]
category: GuestPage/

GuestPage/ぜ/IndexPage - ≡ IndexPage の subjectline でもリンク処理を行う

LastModified : Thu Jan 13 15:10:54 2005
[管理]

BeginnerGuidanceBeginnerGuidance IndexPage の subjectline でもリンク処理を行う

[TOP↑] [管理]

RecentChanges ではページの本文側(subjectline)のWikiNameなどを適切に表示できますが、 IndexPage ではそうではないようです。 例えば、↓のようにすると IndexPage でも WikiName を処理できるようになります。

sub do_index() の変更

[TOP↑] [管理]
sub do_index {
    my $thispage = "";
    &print_header($IndexPage);
#    print qq(<ul>);
    my @pages = ($sort_case_sense) ? (sort keys(%database)) : sort {lc($a) cmp lc($b)} keys(%database);
    foreach my $page (@pages) {                                                 
        if (&is_editable($page)) {
            $thispage .= "- @{[&armor_name($page)]} @{[&get_subjectline($page)]}?n";
            # print qq(<li>@{[&get_info($page, $info_IsFrozen)]}</li>);
            # print qq(<li>@{[0 + &is_frozen($page)]}</li>);
        }
    }
#    print qq(</ul>);
    &print_content($thispage);
    &print_footer($IndexPage);
}

編集可/不可の表示を切り替えるときは、さらに &is_frozen($page) で場合分けすればいいと思います。

BeginnerGuidanceBeginnerGuidance IndexPage で絞り込み検索を行う

[TOP↑] [管理]

一覧画面に、高林さんのリアルタイム検索機能を追加します。

sub do_index() 内の変更

[TOP↑] [管理]
 sub do_index {
     my $thispage = "";
     &print_header($IndexPage);
+    &print_grepform();

sub print_header() 内の変更

[TOP↑] [管理]

html のヘッダー部分に下のスクリプトを追加します。

<script type="text/javascript">
<!--
// courtesy of Takabayashi-san
// ref. http://namazu.org/~satoru/blog/archives/000008.html
var bd = 0;
function grep (pattern) {
    try {
        regex = new RegExp(pattern, "i");
        lis = document.getElementsByTagName('li');
        if( pattern.length > bd ){
            for (i = 0; i < lis.length; i++) {
                e = lis[i];
                if (e.innerHTML.match(regex)) {
 	    e.style.display = "list-item";
                } else {
                    e.style.display = "none";
                }
            }
        }else{
          for (i = 0; i < lis.length; i++) {
            e = lis[i];
            e.style.display = "list-item";
          }
        }
    } catch (e) {
        ;
    }
}
//-->
</script>

sub print_grepform() の追加

[TOP↑] [管理]
sub print_grepform {
   print <<"END";
<p></p>
<form name="grepform" onsubmit="return false;">
絞り込み検索 : <input onkeyup="grep(this.value)" type="text" name="pattern">
</form>
END
}
shortcut: FrontPage || WikiLab | StoreRoom/最新 | 日々の泡 | むず痒いパソコン日記/最新 || HelpPage || [edit]
select css: default | sakura | mono | greenheck | snow | NN4.x用(多分) || LinuZau!! | VikiWiki!? || others |

管理 | 差分 || 新規作成 || カテゴリ一覧 | ページ一覧 | 更新履歴 | 差分履歴 || PUT