HAIKプラグイン#contentsと#contentsxの違い
前日に「HAIKバージョン7.1.3の変更点(差分機能の修正など)」を書いていてHAIKの目次プラグインである「#contents」と「#contentsx」の違いが今一つ、分からなかったので「HAIKバージョン7.1.3の変更点(差分機能の修正など)」のページに「#contents」と「#contentsx」を設置して2つの表示の違いを検証した。
「#contents」と「#contentsx」の画像を並べてみた
#contents
#contentsx
「#contents」と「#contentsx」を個別に検証する
#contentsの設置例
昔から使っている「#contents」を設置してみると、目次項目にはブログタイトル(h2)・見出し2(h3)・見出し3(h4)とQblogのコメント(h2)が表示される。
見出し3まで使うとタイトルを含めて3階層になり、少しゴチャゴチャしている感じがする。
#contentsxの設置例
続いて「#contentsx」の設置後を見てみると「#contents」を設置した時にあった、上部の「タイトル」と下部の「コメント」が非表示となり、見た目もスッキリした。
#contentsxを設置しても#contentsと変化のない場合もあった
実は「HAIKバージョン7.1.3の変更点(差分機能の修正など)」のページで「#contents」と「#contentsx」の違いを検証する前に、他の運営サイトでも「#contents」と「#contentsx」を設置して2つの違いを検証してみたが、双方とも同じ表示になってしまうという現象も確認できた。
原因は不明だが、どうやら「#contentsx」は、まだ不安定な状態だ。最近、僕はあまりページ内に目次を設置する機会がないので分からなかったが、HAIK forumのスレッドを閲覧しているとHAIKのバージョンとPHPのバージョンが7xになる前は「#contentsx」は問題なく動いていたようなので、今後のHAIKアップデートに期待をしようと思う。
追記:プラグイン用キャッシュの初期化したが・・・
2018年11月12日
HAIKのアップデートバージョン7.1.4が配布されて「#contentsx」の表示が上手くいかない場合の対処をしてくれた模様。
本当に改善されたか、どうかを当サイト内コンテンツの「QHMのブログ機能」で検証をしてみたが「#contents」と「#contentsx」の設置後の目次表示は双方とも「見出し1(*)」・「見出し2(**)」・「見出し3(***)」の3階層で表示されて変化はなかった。
無論、「設定」-「高速化設定、キャッシュ、テンプレートの初期化」-「プラグイン用キャッシュの初期化」を実行してからのテスト結果だ。
古いページだと「#contentsx」は機能しないのか?それとも僕の理解不足なのかな・・・
ムムッ?
追記:「#contentsx」の使い方がわかった
2019年05月10日
2018年には気がついていたが、このページに追記していなかったで備忘録として付け加えておく。
#contentsxは、見出し1(h2)の下に設置することで動くプラグインであることが分かった。
サイトページに見出しを書く場合は通常「見出し1(*)」を書くが、「見出し1(*)」の上部に「#contentsx」を設置しても 「#contents」と同じ表示になるので意味がない。
つまり、サイトページで「#contentsx」を使う場合は、見出し1(h2)の下部に設置をすれば良い。
ブログページの構造は、タイトルを書くと自動的に「見出し1(h2)」となっているので、本文に「#contentsx」を設置すれば、「#contentsx」が動く。
しかし、サイトページの場合は、本文に「見出し1(h2)」があっても「見出し1(h2)」の上部に文字を入力する事ができる為に、目次プラグインである「#contentsx」を「見出し1(h2)」の上部に設置していたのが原因で何度やっても「#contentsxを設置しても#contentsと同じ表示じゃないか・・・」と思っていたのだ。
そんなこんなで、やっと「#contentsx」の使い方が分かってスッキリした。
追記:「#cols」が原因で「#contentsx」が機能しなかった
2019年05月16日
今日また、気がついた事があったので追記をしておく。
サイトページ内の文章を「#cols」で囲んでしまうと「#contentsx」は機能しない。但し「#contents」は機能する。
どういう環境で、この現象を発見したかというと、
- ブログページではなくサイトページ。
- レイアウトは、メニューなしの「#layout(nomenu)」を設置。
- 文章全体を「#cols(10+1)」で囲んでいた。
というようなページ環境だった。
今日、気まぐれで「#cols」を解除してみたら「#contentsx」が機能した。
「#cols」で文章全体を囲んでいた理由は、レイアウトを「メニューなし」にすると文章が左から右に長くなってしまうので「#cols(10+1)」を使い、レイアウトを調整していた。
ページレイアウトを優先するか、目次を優先するか少し迷ったが、目次を優先することにした。
とても便利な「#cols」も「#contentsx」に影響があるとは思いもよらず、今日は久々に「あは体験」ができた。
関連ページ
Tag: websitemakeからの移動記事