トップに戻る  / 一覧 最終更新 単語検索

[ パソコン用表示 | スマホ用表示 ]


*リンク先URLを別窓で開く [#wa4e9c0c]
 参拾萬.xyz でのみ実施。(参拾萬.ch と 参拾萬.com ではやっていません。)
→ /lib/make_link.php を編集
- http://www.ns-lab.org/wiki/?PukiWiki%2F%E6%94%B9%E8%89%AF%2F%E5%88%A5%E7%AA%93%E3%83%AA%E3%83%B3%E3%82%AF
- 上記URLが読めなくなったときのためのコピペ → [[参拾萬.xyz/PukiWikiの備忘録>http://300000.xyz/pukiwiki/?cmd=edit&page=PukiWiki%A4%CE%C8%F7%CB%BA%CF%BF]] &color(#ff0000){(要password)};
-こちらを参照
→ [[nowsky/PukiWiki/改良/別窓リンク>http://www.ns-lab.org/wiki/?PukiWiki%2F%E6%94%B9%E8%89%AF%2F%E5%88%A5%E7%AA%93%E3%83%AA%E3%83%B3%E3%82%AF]]

*俺の更なる改良 [#b12876e7]
- 俺は,&color(#ff0000){『''URLの先頭に"+"を付けると同窓,付けないと別窓''』};と設定した。(上のリンク先とは逆の設定!)
- URLの先頭に"+"を付けずにリンクした箇所には,[[←このアイコン>http://300000.jp/image/external_link.png]]が付くようにした。

**編集ファイル [#q685bcf6]

+まず,''[PukiWiki]/image/''フォルダ に''external_link.png'' 画像ファイル([[←コレ>http://300000.jp/image/external_link.png]])を入れておく。
+''[PukiWiki]/lib/make_link.php''ファイルを,以下のように編集する。

*** [class Link_url extends Link()] - [function get_pattern()] [#f5cc51cb]
-書き換え前
 function get_pattern()
 {
    $s1 = $this->start + 1;
    return <<<EOD
 (\[\[             # (1) open bracket
  ((?:(?!\]\]).)+) # (2) alias
  (?:>|:)
 )?
 (                 # (3) url
  (?:(?:https?|ftp|news):\/\/|mailto:)[\w\/\@\$()!?&%#:;.,~'=*+-]+
 )
  (?($s1)\]\])      # close bracket
  EOD;
     }
-書き換え後
 function get_pattern()
 {
     $s1 = $this->start + 1;
     return <<<EOD
 (\[\[             # (1) open bracket
  ((?:(?!\]\]).)+) # (2) alias
  (?:>|:)
 )?
 (                 # (3) url
  (?:(?:\+?https?|\+?ftp|\+?news):\/\/|mailto:)[\w\/\@\$()!?&%#:;.,~'=*+-]+
 )
 (?($s1)\]\])      # close bracket
 EOD;
     }

*** [class Link_url extends Link()] - [function toString()] [#u5eeefa8]
-書き換え前
 function toString()
 {
     if (FALSE) {
         $rel = '';
     } else {
         $rel = ' rel="nofollow"';
     }
     return '<a href="' . $this->name . '"' . $rel . '>' . $this->alias . '</a>';
 }
-書き換え後(~2017.02.10.)
 function toString()
 {
     if (FALSE) {
         $rel = '';
     } else {
         $rel = ' rel="nofollow"';
     }
     if (ereg("^(\+)(.*)", $this->name, $regs)) {
         return '<a href="' . $regs[2] . '" ' . $rel . '>' . $this->alias . '</a>'; # +が付いていてもURLと認識するおまじない
     }else{
         return '<a href="' . $this->name . '" target="_blank" ' . $rel . '>' . $this->alias . '<img src="./image/external_link.png"></a>'; # そうでなければ勝手にURLと認識
     }
 }

-書き換え後(2017.02.11.~)※300000.netのみ
cssで "gaibu" クラスを設定し,外部リンクの色などを変更。
(2017.02.11.現在は [[300000.net>+http://300000.net]] のみ。)
 function toString()
 {
     if (FALSE) {
         $rel = '';
     } else {
         $rel = ' rel="nofollow"';
     }
     if (ereg("^(\+)(.*)", $this->name, $regs)) {
         return '<a href="' . $regs[2] . '" ' . $rel . '>' . $this->alias . '</a>'; # +が付いていてもURLと認識するおまじない
     }else{
         return '<a href="' . $this->name . '"class="gaibu" target="_blank" ' . $rel . '>' . $this->alias . '<img src="./image/external_link.png"></a>'; # そうでなければ勝手にURLと認識 
     }
 }

**リンク方法 [#h9f046a7]
-アイコン付きの,別窓で開くリンク(通常の外部リンク)の書き方の例
 http://300000.jp/
-- このように書いた場合のリンク → http://300000.jp/

-アイコンを付けず,同窓で開くリンクの書き方の例
 +http://300000.jp/
-- このように書いた場合のリンク → +http://300000.jp/

-アイコンを付けずに同窓で開くが、+を表示させないリンクの書き方の例
 [[http://300000.jp/>+http://300000.jp/]]
-- このように書いた場合のリンク → [[http://300000.jp/>+http://300000.jp/]]