[ 新規 ] [ 検索 | 一覧 | FrontPage ] [ 履歴 (RSS) | 差分履歴 (RSS) ] [ ログイン ]
【PR】Amazon | SL-C3000 | SL-C1000(3/18発売!) | SL-C860 | SL-6000W | SL-6000L | SL-6000N

WalWiki/カスタマイズ/セクションへのリンク

差分表示


編集前の状態に戻します。
任意のセクションへのリンクを可能にする。

* [link to part]

 [[アイディア募集#アーカイバ]]
 [[アイディア募集-アーカイバ アイディア募集#アーカイバ]]

上記の様に記述するとセクションへのリンクを作成出来ます。
↓こんな感じ
[[アイディア募集#アーカイバ]]
[[アイディア募集-アーカイバ アイディア募集#アーカイバ]]

 [[アイディア募集#i8]]

2003-06-12 (Thu) 02:28:25 りなざうのNetFrontだと↑こう書かないと飛べない…(;_;)
[[アイディア募集#i8]]

** 関連するカスタマイズ

- [[WalWiki/カスタマイズ/編集後に編集していたセクションに飛ぶ]]

** make_anchor()追加

 # yakty add [link to part] start
 sub make_anchor {
     my ($anchor) = @_;
     $anchor =~ s/([^a-zA-Z0-9\-_:\.])/unpack('H2', $1)/eg;
     $anchor = 'a' . $anchor if($anchor =~ /^[^a-zA-Z]/o);
     return $anchor;
 }
 # yakty add [link to part] end
** text_to_html()内の変更

         # Walrus add [header level] start
         } elsif (/^(\*{1,$header_level})(.*)/) {
             push(@toc, sprintf(qq(%s<a href="#i%d">%s</a>\n), '-' x length($1), $tocnum, &escape(&remove_modification($2))));                    # Walrus mod [remove modification]
             #push(@result, splice(@saved), sprintf('<h%d><a name="i%d"> </a>%s</h%d>', length($1) + 1, $tocnum, &inline($2), length($1) + 1));                                # yakty del [link to part]
             push(@result, splice(@saved), sprintf('<h%d><a name="i%d"> </a><a name="%s"> </a>%s</h%d>', length($1) + 1, $tocnum, &encode($2), &inline($2), length($1) + 1));  # yakty add [link to part]
             push(@result, splice(@saved), sprintf('<h%d><a name="i%d"> </a><a name="%s"> </a>%s</h%d>', length($1) + 1, $tocnum, &make_anchor($2), &inline($2), length($1) + 1));  # yakty add [link to part]
             push(@result, sprintf(qq(<div class="partinfo">$resource{'parteditlinkformat'}</div>), $tocnum + 2)) if ($option{'partinfo'});       # Walrus add [part edit]
             $tocnum++;
         # Walrus add [header level] end

** make_link()内の変更

 sub make_link {
     my $chunk = shift;
     return $chunk if ($chunk =~ s/''''''//g);               # Walrus add [alias link]
     # Walrus add [alias link] start
     $chunk           = &unescape($chunk);
     # yakty add [link to part] start
     my $part;
     #if(&is_bracket_name($chunk)){                                                      # fixed 2003-07-08 (Tue) 17:39:26
     if($chunk !~ /^$embedded_name$/ && &is_bracket_name($chunk)){                       # fixed 2003-07-08 (Tue) 17:39:26
         $chunk = &unarmor_name($chunk);
         ($chunk, $part) = ($1, '#' . &encode($2)) if($chunk =~ /^(.+?)#(.+)$/);
         ($chunk, $part) = ($1, '#' . &make_anchor($2)) if($chunk =~ /^(.+?)#(.+)$/);
         #$chunk = &armor_name($chunk) if($chunk ne $InterWikiName);                     # fixed 2003-07-08 (Tue) 17:39:26
     } elsif($chunk =~ /^$wiki_name/){
         ($chunk, $part) = ($1, '#' . &encode($2)) if($chunk =~ /^(.+?)#(.+)$/);
         ($chunk, $part) = ($1, '#' . &make_anchor($2)) if($chunk =~ /^(.+?)#(.+)$/);
     }
     # yakty add [link to part] end
     my $name         = $chunk;
     my $escapedchunk = &escape($chunk);
     my $escapedname  = &escape($name);
     my $cookedchunk  = &encode($chunk);
     if ($form{mypage} ne $InterWikiName and $chunk !~ /^$embedded_name$/) {
         ($name, $chunk) = ($1, $2) if ($chunk =~ /^\[\[(\S+) (\S+)\]\]$/);
         ($name, $chunk) = (&unarmor_name($name), &unarmor_name($chunk));
         ($chunk, $part) = ($1, '#' . &encode($2)) if ($chunk =~ /^(.+?)#(.+)$/);    # yakty add [link to part]
         ($chunk, $part) = ($1, '#' . &make_anchor($2)) if ($chunk =~ /^(.+?)#(.+)$/);    # yakty add [link to part]
         if ($name =~ /^$interwiki_name$/ and $interwiki{$1}) {

     # Walrus add [alias link] start
     if ($chunk =~ /^(http|https|ftp|mailto):/) {
         return qq(<a href="$escapedchunk$part">$escapedname</a>);     # yakty add [link to part]
         #return qq(<a href="$escapedchunk">$escapedname</a>);         # yakty del [link to part]
     # Walrus add [alias link] end

         if ($database{$chunk}) {
         # Walrus add [alias link] start
             my $subject = &escape(&get_subjectline($chunk, delimiter => ''));
             return qq(<a title="$subject" href="$url_cgi?$cookedchunk$part">$escapedchunk</a>);       # yakty add [link to part]
             #return qq(<a title="$subject" href="$url_cgi?$cookedchunk">$escapedchunk</a>);           # yakty del [link to part]
         } elsif ($page_command{$chunk}) {
             return qq(<a title="$escapedchunk" href="$url_cgi?$cookedchunk$part">$escapedchunk</a>);  # yakty add [link to part]
             #return qq(<a title="$escapedchunk" href="$url_cgi?$cookedchunk">$escapedchunk</a>);      # yakty del [link to part]
         } else {
             return qq($escapedchunk<a title="$resource{editthispage}" href="$url_cgi?mycmd=edit&amp;mypage=$cookedchunk">$editchar</a>);
         }


02467