下位展開下位ページをどう見せるかを決める機能。例えば、Notionのようにページをカンバンにしたり、タスクリストの1項目にしたり。

必要な情報は利用者が持つ Edit

下位側(展開される側)は何も対応しない。下位展開を拒否できるくらい。その拒否も要らないかも知れない。
下位側が順序を持つという設計は却下。

:i/下位展開時の順序は利用者がスペースごとに持つ

下位展開で、どの下位ページをどう並べて見せるかは上位ページの情報。順不同パスにより上位ページは複数あるので、見せ方と順序の組も複数ある。同じページでも一度のレスポンスで見せ方の定義の数ぶん複数回レンダリングすることになる。ひとつを選ぶことにはならない。

デフォルトで下位展開する Edit

この見せ方の定義が「下位展開するか」のフラグになる?これがひとつの画面内で下位ページの重複を防ぐ仕組みになる。
定義が必要なのは面倒。だからといってデフォルト値を用意すると、「定義しない」という選択肢を選べなくなってしまう。
見せ方の定義はデフォルト値付き。ページを作るだけで、デフォルトの見せ方と順序はできる。
同じビュー内に同じページが複数回現れることがあるけど、それは現れていい。ページ読み物になっていなければならないので。ただし、なにか印をつけて、全部読もうとする人が同じテキストを読まないように配慮する。

印は例えば…

  • 「いくつめか」を示す数字
  • 書かれた時のページ名(フルパス)
  • 「○○というページと同じです」という注意書き
  • 背景色や枠で囲って、コラム風に見せるのはよくないスタイルに影響してしまう。

同じページが何度も現れる Edit

存在する親ページの順列の数だけ表示が重複するので、ページの構成によっては、下位展開のせいでテキスト量が膨大になる。

a、b、c、a/b/c という4つのページがあって、基準ページがルートで、ルート以下すべてを下位展開する設定なら、a/b/cは3回表示されることになる。

  • a
    • a/b/c
  • b
    • b/a/c (a/b/cと同じ)
  • c
    • c/a/b (a/b/cと同じ)

下位展開を考慮せず検索して、その後に下位展開の構造に当てはめると回避できる。実装次第。

下位展開は連鎖する Edit

下位展開された下位ページでも、下位展開レイアウトが有効になる。下位の下位はひとつ上(つまり下位)のレイアウトになる。下位展開の中で表示される限り、下位展開レイアウトによる表示になる。
:i/下位展開は1つ下まで

上位ページは複数あるので、下位側ページ下位展開基準ページによって異なるレイアウトで見せられることになる。