質問箱/4412

カテゴリ
サマリ[ [ hoge>hage ] ]のリンクに別のタグを加えたい
バージョン1.4.7
投稿者オブラート
状態完了
投稿日2009-01-11 (日) 03:30:52

質問

[[pukiwiki>http://pukiwiki.sourceforge.jp/]]

現在の仕様だとこれで表示するとソースは

<a href="http://pukiwiki.sourceforge.jp/">pukiwiki</a>

となると思いますが、これ別のタグを追加したいです。 厳密に言うと新たに要素を追加したいと思っています。

[[[pukiwiki>http://pukiwiki.sourceforge.jp/]]]

といった感じで[]を3個にした場合にはソースが

<div class="***"><a href="http://pukiwiki.sourceforge.jp/">pukiwiki</a></div>

といった風に、クラスやタグを追加、これを応用してリンクに画像を設置したり、デザインを変更できたりといった感じにしたいのですが。
どこかをいじったりして追加できませんでしょうか?
質問のみですが、よろしくお願い致します。

回答

  • インライン要素でdivタグを出力することはPukiWikiの設計思想に反します*1が、どうしてもというのであればdefault.ini.phpの$line_rulesに以下の定義を追加してみてください。(うまくいかない場合は[]を別の文字に変えてみてください) -- 2009-01-11 (日) 11:23:18
    	'\[(?!%)((?:(?!\]).)*)\]'	=> '<div class="***">$1</div>',
  • [[[]]]では無理でしたが他の文字でできました。ありがとうございます。
    divも使わない方がいいとのことですので、spanにしておきました。
    <a href="http://pukiwiki.sourceforge.jp/">
    大方のことが可能になったのですが、こちらのhref要素にclassをつけたいのですが、同じ様にはできないでしょうか?default.ini.phpをみたら[ [] ]の要素がなかったので、別の箇所をいじるのではないかと思ったのですが、見つかりませんでした。-- オブラート? 2009-01-11 (日) 22:39:54
  • 動きませんでしたか(うちの環境で確認はしていたのですが)。。aタグに要素を追加したいとのことですが、リンク先を(ページ名ではなく)URLで書くのでよければ、$line_rulesでaタグを出力するように書いてやれば可能です(引数を二つ取る例はCOLORあたりを参考にしてください)。それ以上はカスタマイズの範疇では無理です。make_link.phpあたりに手を入れれば純粋に書式を拡張することは可能ですが、コア部分を変更するのは管理上望ましくないのでプラグインを自作するべきでしょう。 -- 2009-01-12 (月) 03:04:47
  • [[[]]]は何度か試してみたのですが動きませんでした。しかし代用はできたのでとりあえずこれはこれで大丈夫そうです。
    そこで言われた通りの様な事を試してみたのですが
     	'\~(?!%)((?:(?!\~).)*)\~'	=> '<a href="$1" class="***">$2</a>',
    の様な感じでやってみたんですが、どうにもうまくいきませんでした。
    ~http://***/~
    と記載してソースをみると
    <p><a href="<a href="http://***/" rel="nofollow">http://***/</a>" class="***"></a></p>
    となっていました。もしよろしかったら間違い等を指摘していただけると助かります。
    プラグイン自作については何をどうしたらいいのかもまったくわからないのでちょっと無理そうだと感じましたので、すみません。 -- オブラート? 2009-01-12 (月) 03:42:36
  • $1とか$2が引数が代入される部分です。上の定義では引数が一つしか取られていません。左辺もCOLORあたりを参考にしてみてください(COLORを別の文字列に置き換えるだけでいいはずです)。あとURLはスキーマ部分を付けるとリンクになってしまうのでhttp://は右辺に含めてしまうのがよいかと思います。 -- 2009-01-13 (火) 22:45:19
  • 助言本当に助かります、無事完璧に動作してくれました。
    色々な質問に長々と答えてくれて本当にありがとうございました! -- オブラート? 2009-01-15 (木) 02:16:55

*1 実際多くの場合XHML1.1でInvalidなソースを出力することになると思います。可能であればspanあたりを使いましょう。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-01-17 (土) 08:12:27
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.224 sec.

OSDN