HAIKプラグイン#contentsと#contentsxの違い



前日に「HAIKバージョン7.1.3の変更点(差分機能の修正など)」を書いていてHAIKの目次プラグインである「#contents」と「#contentsx」の違いが今一つ、分からなかったので「HAIKバージョン7.1.3の変更点(差分機能の修正など)」のページに「#contents」と「#contentsx」を設置して2つの表示の違いを検証した。


「#contents」と「#contentsx」の画像を並べてみた

#contents

HAIKプラグイン(目次のおまじない)#contentsの設置例

#contentsx

HAIKプラグイン(目次のおまじない)#contentsxの設置例


「#contents」と「#contentsx」を個別に検証する

#contentsの設置例

HAIKプラグイン(目次のおまじない)#contentsの設置例



昔から使っている「#contents」を設置してみると、目次項目にはブログタイトル(h2)・見出し2(h3)・見出し3(h4)とQblogのコメント(h2)が表示される。

見出し3まで使うとタイトルを含めて3階層になり、少しゴチャゴチャしている感じがする。


#contentsxの設置例

HAIKプラグイン(目次のおまじない)#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」に影響があるとは思いもよらず、今日は久々に「あは体験」ができた。


関連ページ


コメント


認証コード8339

コメントは管理者の承認後に表示されます。