差分表示
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行はこのように表示します。
任意のセクションへのリンクを可能にする。
* [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&mypage=$cookedchunk">$editchar</a>);
}
02854