新規作成 | 管理 | 差分 | 検索 | FrontPage | ページ一覧 | 更新履歴 | RSS

PlugIn/find-paragraph - 検索文字列にヒットするパラグラフ本文のリストを返す

管理

検索文字列にヒットするパラグラフ本文のリストを返す

$plugin->def("find-paragraph",
  "検索文字列にヒットするパラグラフ本文のリストを返す",
  sub {
    my $key = shift;
    my @hits = ();
    foreach my $page (keys %database) {
      next if $page eq $form{mypage};
      next if $page eq 'RecentChanges';
      my @parts = map { 
                    s/^(\*+)/'!' x length($1)/mge;
                    s/$embedded_name//go;
                    CGI::escapeHTML($_);
                  } read_by_part($page);
      for (my $i=0; $i < @parts; $i++) {
        if ($parts[$i] =~ $key) {
          my $link = "[[$page" . ($i == 0 ? "" : "#i@{[$i-1]}") . "]]";
          push @hits, "from $link\n\n" . $parts[$i];
        }
      }
    }
    return @hits;
  }
);


昨日の記事

##(join '\n\n' (find-paragraph (yesterday)))


これも include みたいに <div class="included-paragraph"> とかなんとかで括りたい気がするのですが…できるのでしょうか。- rica 2003-06-30 (Mon) 13:23:59

PlugIn/bundle ですね♪ - rica 2003-07-01 (Tue) 17:32:06


見出し文字列でページ先頭に目次を作ると、ちょっと意味不明な目次が出来上がってしまう気がするのですが。特に <h2> の下に 脈略なく <h3> がおさまってしまうような場合。

ページ先頭に目次を作らないほうがいいのかなぁ、と思いながら、「昨日書いた記事」とかのページを作ってページ内全てがインクルードで構成されているような場合は、全て同じレベルの 見出しが並んでいると見やすいような気もし…。- rica 2003-07-01 (Tue) 12:34:38

あ、ページ先頭に見出しを作らないで書いたものは当然目次が作られないわけで、どっちかというと目次を作らない方に統一したほうがいいのかな? - rica 2003-07-01 (Tue) 12:40:34

目次を作らないようにして、見出しの見た目もスタイルシートでいじるようにするのがいいかもしれませんね。--SHIMADA 2003-07-01 (Tue) 12:48:49

wiki.cgi 784-789
        # SHIMADA add [included header] start
        } elsif (/^(!{1,$header_level})(.*)/) {
-           push(@toc, sprintf(qq(%s<a href="#i%d">%s</a>\n), '-' x length($1),$tocnum, &remove_modification($2)));
-           push(@result, splice(@saved), sprintf('<h%d><a name="i%d"> </a>%s</h%d>', length($1) + 1, $tocnum, &inline($2), length($1) + 1));
-           $tocnum++;
+           push(@result, splice(@saved), sprintf('<h%d> %s</h%d>', length($1) + 1, &inline($2), length($1) + 1));
        # SHIMADA add [included header] end

――としてみてください。--SHIMADA (いらないコードを削りました)2003-07-01 (Tue) 13:09:28

う〜ん、惜しい(笑)。ちょっと自力でやってみたんですが、いわれてみれば $tocnum++; も要らなかったんですね。CSS はとりあえず、という感じで。- rica 2003-07-01 (Tue) 13:17:25

[FIX] Eliminate embedded name ( [[#hogehoge(3)]] )[済]

管理

2003-07-02 (Wed) 14:41:47 embedded wikiname に引数があることに気づいてませんでした。--SHIMADA

      my @parts = map {
                    s/^(\*+)/'!' x length($1)/mge;
-                   s/\[\[#[a-z]+\]\]//go;
+                   s/$embedded_name//go;
                    CGI::escapeHTML($_);