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

BugTrack-plugin/262

ページの作成や編集にはユーザ登録が必要です。

permalink化プラグイン

  • 投稿者: bellbind
  • カテゴリ: 新規
  • 優先度: 低
  • 状態: 提案
  • 日時: 2006年03月01日 17時54分35秒

 内容

はてなDiaryのように、各見出しとその配下のみでページのように表示します。

fswiki-permalink.zip(532) は以下の構成です:

  • 個別permalinkページの表示プラグイン
  • 個別permalinkページへのリンク埋め込みinlineプラグイン
  • 見出しの後ろにpermalinkページへのリンクを埋め込むためのpatch (3.5.10用)
  • WikiFarmでも利用可能

  サンプルサイト

  セットアップ方法

  • "permalink"プラグインをFSWikiの"plugin"ディレクトリにコピーし、管理画面で有効化させる
  • 通常ページの見出しの後ろにpermalinkページへのリンクを埋め込むために lib/Wiki/HTMLParser.pm にpatchを当てる
    • このリンクを出すには環境設定で「パート編集」を有効にする必要あり
$ cd wiki3_5_10
$ patch -p0 < HTMLParser.pm.3_5_10patch
  • もしくは手で180行目あたり、見出し個別編集リンク処理の直後に以下のコードを埋め込む
		if ($self->{wiki}->is_installed("permalink")) {
			my $page = $wiki->get_CGI()->param("page");
			unless(defined($self->{permalink}->{$page})){
				$self->{permalink}->{$page} = 0;
			} else {
				$self->{permalink}->{$page}++;
			}
			my $full = $page;
			my $path = $self->{wiki}->config('script_name');
			if (index($page,":") != -1){
				($path, $page) = split(/:/, $page);
				$path = $self->{wiki}->config('script_name')."/$path";
			}
			my $pagename = &Util::url_encode($page);
			my $artno = $self->{permalink}->{$full};
			my $permalink = " [<a class=\"partedit\" href=\"$path?action=PERMALINK&amp;page=$pagename&amp;artno=$artno\">Permalink</a>]";
			$part_edit .= $permalink;
		}

  inlineプラグイン利用方法

ページ内でpermalinkページへのリンクを張るにはinlineプラグインが使えます。

・・・{{plink ページ名,パラグラフ数}}・・・

パラグラフ数は0,1,2,3などの数字です。

  ライセンス

FSWikiと同じGPLです。plugin/core/EditPage.pmのコードのread_by_partメソッドをコピーして埋め込んでいます。

 コメント

  • よろしければサンプルを置いてもらえると助かります。 - 名無しさん (2006年03月01日 18時53分26秒)
  • レンタルサーバ申請したので、終わったらおきます - bellbind (2006年03月01日 19時58分34秒)
  • サンプルサイト見ました。長くてなって困ってるページにも もの凄く便利そうな予感。使わさせてもらいますね。 - kitta (2006年03月03日 09時06分44秒)
  • Permalinkって,URLが恒久的なページという意味だと思うのですが,このプラグインだと,ページ名を変えるとURLも変わってしまいますよね?このコードだと,実装しているのはパートリンク(?)のような気がします. - sakuma (2006年03月15日 01時34分54秒)
  • パートナンバーも編集によって変わりますね。includeプラグインに倣ってパラグラフ名で指定できると有用性が増すように思います。 - A_M (2006年03月29日 09時25分50秒)
  • お二方の意見を入れるのであればたしかにパートリンクです。しかし、こちらの意図はまず、URLは意味的には恒久なものとして扱うという前提で組み立てています。そのため、ページ名はURLに含まれる以上、リネームした場合はそのページは内容は同じでも意味的にはリネーム前とは別物として扱います。また、includeスタイルの見出し内容は、見出し内容を恒久化させるURLに含ませたくなかったからです。前からの順序がベストではないですが、内容よりはまだよいだろうという感じで選んでいます。これは考察の余地があり、木の行きがけ順などにしようと考えています。 - bellbind (2006年04月04日 13時00分07秒)
    • 記述スタイルはいろいろあるのでinclude形式など選べるようにするのはいいかも。問題は、ページ中の個別リンクでどのスタイルを取るようにするか、ですが。 - 名無しさん (2006年04月04日 21時25分34秒)
  • 「特定の見出し部分を取り出して表示できる」ので、利用価値は高いと思います。見出しの抽出方法が数字による変動で、記述する内容は固定となる点を何とかできれば、更に利用価値が高まると思います。 - A_M (2006年04月05日 00時23分24秒)
お名前: コメント:
fswiki-permalink.zip

最終更新時間:2006年04月05日 00時23分24秒