[ 新規 | 編集 | 差分 ] [ 検索 | 一覧 | 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だと↑こう書かないと飛べない…(;_;)
アイディア募集

関連するカスタマイズ

編集

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, &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, '#' . &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, '#' . &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, '#' . &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>);
        }

02470