リクエスト広場

accordion で作成した見出しを contents(またはcontentsx) で検知してほしい / 1

3 コメント
views
4 フォロー
1
01v 2023/05/14 (日) 09:18:22 修正

accordionをあたかも通常見出しのようにcontentsに出力させる

代替案1
accordionの中にcontentsに表示させたい見出し行を書く。
ただしcloseだとcontentsのLinkから飛べないので次のようにする。

  • 見出しのアンカーを自分で指定するか、ランダムで与えられたIDを確認
  • accordionの手前に同名のアンカーを設置
    #contents
    *1 [#a1]
    &aname(a2);
    #accordion(2,*,close){{
    *2 [#a2]
    内容
    }}
    *3 [#a3]
    

この方法の問題点として
accordionを開いたとき、accordion帯と見出し帯が二重に表示される。
accordionの書き出し位置が前の見出しの途中にあり、終了位置は次の見出し内にあることが、何か問題あるかもしれない。

代替案2
contentsを使わずに手書きで目次を書く。

-[[1>#a1]]
-[[2>#a2]]
-[[3>#a3]]

*1 [#a1]
&aname(a2);
#accordion(2,*,close){{
内容
}}
*3 [#a3]

ただしaccordionは1の配下にいる。
accordionは
1と同格扱いにしたいのでバランスが悪い。
includexのsectionでも*2を指定できない。

通報 ...
  • 2
    01v 2023/05/14 (日) 09:56:15 >> 1

    機能追加
    非表示機能を作る。

    ソースを解釈しhtml変換した上で、ブラウザー上非表示にする機能。
    対象は見出しに限定しない。何か他でも使えるかもしれない。
    null{{}}は内容を解釈しないので、今回の件では使えない。
    accordion、contents、contentsx、contents2_1の方をいじるより効率的。

    例えばnodisplayというマルチライン機能として以下のようになればよい。
    この書き方ならaccordionが見出し2の配下に置けるので、素直に掛ける。
    ただ非表示だとアンカーに飛べないかもしれないので、contentsリンクに対応するanameは自分で書く必要があるかも。

    #contents
    *1 [#a1]
    #nodisplay{{
    *2 [#a2]
    }}
    //&aname(a2);
    #accordion(2,*,close){{
    内容
    }}
    *3 [#a3]
    
    3

    ご検討ありがとうございます。
    機能追加がされない場合には代替案で対応したく思います。
    #機能追加に関して、いちユーザでアクションできることはなくて、様子見しかできない理解でよかったですかね?

要望は具体的な提案や理由を書いて下さい。
×