管理 | 差分 || 新規作成 || カテゴリ一覧 | ページ一覧 | 更新履歴 | 差分履歴 || アンテナ || PUT || more≫ ≫omit
shortcut: FrontPage || WikiLab | StoreRoom/最新 | 日々の泡 | むず痒いパソコン日記/最新 || HelpPage ||[edit]
category: WikiLab/WorkReport

WikiLab/WorkReport/Flag - ページ内の任意の位置にリンクを張る試み。

LastModified :
[管理]

ページ内の任意の位置にリンクを張る試み。

namelink_ページ内の任意の位置にリンク[済]2003-01-10 (Fri) 19:56:16

[TOP↑] [管理]
[[こちら http://***/wiki.cgi?WikiLab%2FToDo#i0]]

これを

[[こちら WikiLab/ToDo#i0]]
[[cafeの日付機能を WalWiki*にも! WikiLab/ToDo#i0]]

この書式で書けるといいのに。

リンク先

[TOP↑] [管理]

sub inline { に以下の行を追加。

$line =~ s|\[\[#name:(\S+?)\]\]|<a name="$1">$1</a>|g;

ここまではよし。2003-01-07 (Tue) 02:15:45

リンク元

[TOP↑] [管理]

失敗作

[TOP↑] [管理]

sub make_link をあてずっぽうに悪戯。my $chunk = shift; の下に

 my $part = '\[\[(\S+?)#(\S+?)\]\]';

   } elsif ($chunk =~ /^$embedded_name$/) {
       return &embedded_to_html($chunk);

の下に、適当に

   } elsif ($chunk =~ /^$part$/) {
       return qq(<a href="$chunk">$2</a>);

と放り込んで、<a href="http://***/[[ ページ名#nameの値 ]]">nameの値</a> という 不思議な URL を作ってしまう。

ここで暴挙に出る。WalWiki の配布元に押しかけて「おしえてくれ」と発声。

いや…本当に教えてもらえるとは思ってなかったというか、出来心で書き込んでしまったというか。 でも、教えてもらって気をよくして、ページまで作ってしまったという現金さ。

出来上がったコード(そもそも書くべき場所も間違っていたらしい)。

正解。

[TOP↑] [管理]

sub make_link$chunk = &unarmor_name($chunk); の上に

my $part = $& if ($chunk =~ s/#[^#]+$//);

を追加。下の

return qq(<a href="$remoteurl">$escapedchunk</a>);
return qq(<a title="$subject" href="$url_cgi?$cookedchunk">$escapedchunk</a>);
return qq(<a title="$escapedchunk" href="$url_cgi?$cookedchunk">$escapedchunk</a>);

各3行の $cookedchunk$cookedchunk$part に。

return qq(<a href="$remoteurl$part">$escapedchunk</a>);
return qq(<a title="$subject" href="$url_cgi?$cookedchunk$part">$escapedchunk</a>);
return qq(<a title="$escapedchunk" href="$url_cgi?$cookedchunk$part">$escapedchunk</a>);

だそうな。

shortcut: FrontPage || WikiLab | StoreRoom/最新 | 日々の泡 | むず痒いパソコン日記/最新 || HelpPage || [edit]
select css: default | sakura | mono | greenheck | snow | NN4.x用(多分) || LinuZau!! | VikiWiki!? || others |

管理 | 差分 || 新規作成 || カテゴリ一覧 | ページ一覧 | 更新履歴 | 差分履歴 || PUT