**[[質問箱5/48]] [#jec7ee79]
#author("2018-03-11T21:39:13+09:00;2011-04-05T09:06:42+09:00","","")
**[[質問箱/5048]] [#jec7ee79]
|RIGHT:70|LEFT:410|c
|~カテゴリ|デザイン・CSS・スキン|
|~サマリ|中見出しの先頭に「●」の記号を常に付加したい|
|~バージョン|1.4.7|
|~投稿者|[[ジャコ]]|
|~状態|完了|
|~投稿日|&new{2011-04-02 (土) 22:57:55};|
***質問 [#i206211e]
はじめまして、Pukiwikiを自宅や会社にて使用させて頂いています。~
サマリについてなのですが、質問箱・公式ページ内で「見出し」で単語検索したり~
検索サイトにて「Pukiwiki 見出し 記号 付加」などで検索をしてもわからなかった為、~
質問をさせて頂きます。~
&br;
中見出しの先頭にのみ常に「●」の記号を付加したいと思っています。~
&br;
つまり編集画面にて~
 **あああ
と入力し、整形が~
 ●あああ
となってほしいのです。~
&br;
それも見出し全般(*、**、***)ではなく、中見出し(**)のみです。~
&br;
この場合、CSSの変更ではなく、htmlを吐き出している部分を変更しなければならない~
という所までは理解できるのですが、実際にどこをどういじればいいのかわかりません。。。~
&br;
もし、どなたかわかる方がいらっしゃいましたら~
アドバイスお願い致しますm(_ _)m~


***回答 [#lb95ed2e]
- [[質問箱3/279]]や[[質問箱4/184]]で話が出てる、lib/convert_html.phpを書き換えればできるとは思います。リンク先は見出しのレベル数を増やしたいという話題ですが、だいたいどのあたりが見出し部分のhtml化を担当しているかがわかるかと。 --  &new{2011-04-03 (日) 00:50:36};
- [[質問箱/3279]]や[[質問箱/4184]]で話が出てる、lib/convert_html.phpを書き換えればできるとは思います。リンク先は見出しのレベル数を増やしたいという話題ですが、だいたいどのあたりが見出し部分のhtml化を担当しているかがわかるかと。 --  &new{2011-04-03 (日) 00:50:36};
-- 実際にどこを書き換えるかで、contentsプラグインで表示できる目次のみ、見出し部分のみ、両方ともの3パターン、記号の付加方法が変わってきそうですが --  &new{2011-04-03 (日) 00:55:01};
- コメントありがとうございます。とりあえずコメントを参考にlib/convert_html.phpを以下のようにしてみたのですが。。。 -- [[ジャコ]] &new{2011-04-03 (日) 02:22:51};
 // * Heading1
 // ** Heading2
 // *** Heading3
 class Heading extends Element
 {
         var $level;
         var $id;
         var $msg_top;
 
         function Heading(& $root, $text)
         {
                 parent::Element(); 
 
                 $this->level = min(3, strspn($text, '*'));
                 list($text, $this->msg_top, $this->id) = $root->getAnchor($text, $this->level);
 
 +               if( $this->level == 2 )
 +               {
 +                       $text = '●'.$text;
 +               }
 
                 $this->insert(Factory_Inline($text));
                 $this->level++; // h2,h3,h4
         }
ただこれだと整形後、表示は支障はないのですがhtmlのソースを確認してみると、「●」の直後に半角スペースが2つ入っているのですが、大丈夫なのでしょうか。。。
- Factory_Inline関数に送ってからの処理でtrim関数が使われているので、普段ならカットされるていると思います。今回は頭に文字を付加してから送っているので、「●」の直後にある$textの先頭部分には働かなかったのだと思います。気になるのであれば、追加部分を
 $text = '●'.trim($text);
とすれば消えると思います。 --  &new{2011-04-03 (日) 18:10:47};
-- なるほど、そういう仕組みだったのですね。現在は自宅ではないので確認できないのですが、trim関数で空白を取り除く事がわかったので「完了」とさせて頂きます。問題があれば追記でもしようと思います。コメントをしてくださった皆様、ありがとうございました。 -- [[ジャコ]] &new{2011-04-05 (火) 09:04:58};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.040 sec.

OSDN