質問箱/2221

カテゴリ
サマリcontents の拡張 別バージョン
バージョン1.4
投稿者tomix
状態完了
投稿日2004-06-19 (SAT) 03:36:27

質問

度々質問ばかりですみません。がんばってソース読んでるんですけど、デザイナーの僕にはちょっとお手上げ....

contentsと同様の機能のものを、MenuBarに記述し、その時のページの内容を表示するようなハックは可能でしょうか

グローバルナビゲーションとは別に各ページ内リンクのローカルナビゲーションが別コラムに生成されると読みやすいなと思うことがあります。

さらにメニューバーをフロートさせてスクロールに追随させると完璧ですが(これは別の話ですが)

回答

  • kak 2004-07-03 (SAT) 23:49:30

    ls2 プラグインを改造したほうが早いかも? title オプションで指定したページの見出し一覧が出るので。

  • ARAI? 2004-07-04 (SUN) 07:52:46

    ちょっと姑息 ⌣ かもしれませんが、こんなのはどうでしょう?

    --- pukiwiki.skin.ja.php.orig    Sun Apr  4 00:56:08 2004
    +++ pukiwiki.skin.ja.php    Sun Jul  4 07:48:14 2004
    @@ -115,7 +115,7 @@
      <tr>
       <td class="menubar">
        <div id="menubar">
    -    <?php echo do_plugin_convert('menu') ?>
    +    <?php echo menu_contents().do_plugin_convert('menu') ?>
        </div>
       </td>
       <td valign="top">
    @@ -209,3 +209,27 @@
    
     </body>
     </html>
    +<?php
    +function menu_contents()
    +{
    +    global $body;
    +
    +    if ( !( $cnt = preg_match_all(
    +                '/<h([234]) id="content_([\d_]+)">(.*)<\/h([234])>/',
    +                $body, $cntts))) {
    +
    +        return '';
    +    }
    +
    +    $kill[0] = '/<a class="anchor_super" id=".*<\/a>/'; // ;-)
    +    $kill[1] = '/<[\/\!]*?[^<>]*?>/si';
    +
    +    for ( $i=0; $i<$cnt; $i++ ) {
    +        $str = preg_replace($kill,'',$cntts[3][$i]);
    +        $lcl = $cntts[1][$i] - 1;
    +        $ret .= "<ul class=\"list{$lcl}\"><li><a  href=\"#content_{$cntts[2][$i]}\">{$str}</a></li></ul>\n";
    +    }
    +
    +    return "<h5>Contents</h5>\n".$ret;
    +}
    +?>
  • 自作プラグイン/contents2_1.inc.php -- 2005-02-26 (土) 20:56:46


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

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

OSDN