目次 Edit

 
 

関連 Edit

 
 

検索:章

 

ページ/章 Edit

ページの中にあるページのこと。実装上はページと同義。見え方が違う。
別名:下位ページサブページ、章

思い付き Edit

編集時、章全てを1つのテキストに Edit

編集後には全ての章を作り直す必要がある。他プロセスとの競合はページごとのキューで解決。
PukiWiki Plus!のように1つのページにすると、拡張性/一貫性に問題が。

章(下位ページ)との結合・分割(下位再作成)  Edit

必要なときとそうでないとき(下位を含まないほうがいいとき)がある。
検索など、上位と下位を両方扱ってはいけない場面。

ページを参照するときは下位と結合する/しないを(APIUIで)選べるように。

凍結などで下位を含むかは利用者が決める Edit

含む/含まないの2通り用意。
UIでの選択。

ルートページ更新履歴
下位を含むとwiki全体の更新履歴になる。
(1ページ更新するたびに増える)

負荷を制限するなら Edit

負荷を制限するなら、深い(遠い)ページほど薄く表示。
文字の大きさを変えてもいい。
…で、見えないものは処理しない。代わりに「もっと詳しく…」というリンクを表示。

  • 色は粗い階調で
    6階調とか。
  • 薄くしない深さ
    通常の1ページとして扱いたい深さ。
    デフォルトは色階調の1/2とか。
  • 処理する深さ
    デフォルトは色階調の範囲。

…をページ/属性に。
章などの単位で設定できるようにするため。

リンクとは違う Edit

ページ/リンクよりも強い結合になる。
編集時には下位にある章をすべて統合する。
下位にある章すべての編集権限を持っていないと編集できない。→編集できるページを避けるように編集対象を選ぶ必要がある。

作成プラグイン Edit

このプラグインを使って書いた部分は、別のページになる。
プラグインは「もっと読む」というリンクに展開。
編集時には1つのページに戻す必要があるし、上書きされたら章を再作成する必要もある。

章のサブディレクトリ名、ファイル名は自動的に決定するか、利用者が指定したものに。
Wiki外からリンク可能にするために。

2種類 Edit

  • 章としての章
  • 別のページとしての章

章としての章は新ページに。
プラグインでは編集時に統合編集後に再生成。

章をページ化する意味 Edit

章をページ化するとタグ付けの効果が高まる。
章ごとにタグを付けられる。

 

タグが多くなる。
タグを集約する方法を。

どう集めるか?
-タグは単語か単文
→ひらがなを付けて。
字(文字単位)と読みで類似度算出。
-似ているものをグループ
で、グループをつなげる。
グループでまた類似度算出。
(今度はタグ単位)
-→類似度算出の汎用コードを。

 

-似ている以外に大分類も。
タグページなのでディレクトリあり。
同じ分類ならディレクトリでまとめられる。

 

スペルミスや誤字を防ぎ、ページ名を統一するのに役立つ。
章も自動リンクの対象になるため、リンクが増える。リンクになっているかどうかでスペルミスを発見できる。

継承 Edit

章はそれを含むページ(上位ページ)の属性を引き継ぐ。
属性で分類、設定ページ下位ページ管理用になるというように。

章を隠せるように Edit

章を隠す(見る権限を限定する)ことで、設定の一部を見られなくできるように。
ページ/属性

プラグイン Edit

ページを集約するのではなく、プラグイン呼び出し(リンク)でつなげる。
クラス間にページページのつながりはない。

単純化のため。

アンカーには見出しをそのまま使う Edit

編集時に変わりにくいように。


集約に Edit

コンポジションでは検索で使う全ページ一覧を展開できない。→集約に。

実装 Edit

章になるページ下位ページ)の作り方 Edit

常に下位ページ作成埋め込みリンク化をする。いつでも自動で。
見出し記法を書くとその見出し以降が下位ページになる。

下位ページ化しても分かりにくくならないように、編集時の下位ページ展開と、閲覧時の下位ページ展開をして、下位ページ化をユーザーに見せない。

ページ化する記法は手間を省くためのオプション的要素にする。書いた通りの内容が残らないので。
標準的な方法はページ作成コマンドで別途ページを作ること。DanglingLinkでも&page;のような記法と組み合わせて[[&page;/章タイトル]]のように。

下位ページを作れば自動的に表示される#lsのような下位展開プラグインも。
これをページフッターにでも入れておけば、下位ページ展開をしない設定埋め込み記法削除してしまっても下位ページを見失うことを防げる。このプラグインでは重複展開しないように。

下位ページを作る見出し記法は、見出し記法に下位を示す記号を付けたものにする。
下位とは1階層下。それ以上深い階層まで一度に作る必要は無い。使いにくくしない。

下位を示す記号とページ名を書くとそのページ作成。既存なら追加。

見出しが既存の見出しと重複したときは追加 Edit

ページと章、ページ名見出しが同一になる。
重複が許されなくなる。
見出しを書いた時点で既存の見出しと重複した場合、統合。単純に追加。

リンクなしでも残す Edit

埋め込みリンクを消すと章はリンクされないページになる。
これはそのまま残す。
特殊記法で作っている=ユーザーの了承を得て下位ページ化しているので、残していい。自動的に消すとかえって使いにくくなる。

下位ページの消し方 Edit

…以上を両立。
編集を’’始めるときの’’オプション(下位展開の有無)で編集対象(テキストボックスの内容)が変わるので…

  • 下位展開されてるかどうか分かる
  • 消える範囲が分かる
    「見えているものだけが消える」ので分かりやすい。

普通に消す。下位ページ分を消すとそのページも消える。全消しすると下位ページが全て消える。
見えているものだけが消えるように。

下位展開(閲覧時/編集時) Edit

下位ページが展開されないと使いにくい。
作成時のページ内容が再現されないので。
編集時に下位ページが展開されるように。1つのテキストに下位ページ分も含むようにする。見出し編集するときはその見出しの下位も含む。

見出し横のEditボタンはその見出しだけ。下位ページ埋め込みリンクのまま。
どのページ見出しで始まるので下位展開しない編集ページ全体どこででもできる。

ページ先頭にはページタイトルが見出しとして(ページ/内容に書いてなくても)’’閲覧時に’’自動付与する。

自動で埋め込み記法を追加するようなことはしない。
下位展開しないページでは(例えばルートページでは)下位とは別のページとして見えるようにする。
それ以外のページ下位ページ全てを含めて1つのページに見えるように。

下位展開をCRUDそれぞれの場合で Edit

C:見出し下位ページになる。
R:閲覧時、「下位ページを見せない属性」が付いていないページなら下位と結合(下位展開)して表示。
U:下位展開されたページ編集すれば下位ページ更新
D:下位展開されたページを消せば、そのページも消える。

実装案 Edit

編集には下位ページを含めることができる。どうするかはユーザーからのリクエスト次第。編集コマンドに下位展開オプションがある。
下位ページが展開されているときは複数ファイルを書き換えることになる。
下位ページ見出し埋め込みリンク)だけのときは下位ページに影響なし。埋め込みが行なわれなくなるだけ。
見出しだけの下位ページがあったとしても、埋め込みリンク記法かどうかで区別できるはず。それに見出しごとではなく1ページ分をまとめて下位展開するので気付きにくくはない。

Edit

ルートページを消されたとき Edit

ルートページを消してしまったとき、あるいは書き換えられてしまったとき、下位ページが残っている間はルートページを戻すだけで全て元通り。
下位ページ(ルートの下位=全ページ)も消えてしまったら1ページあたり2〜3クリックでリバート

ルートページを消したいとき Edit

ルートページだけ消す。あとは放置するか、パージコマンドを実行。全ページ削除される。下位ページ編集する必要は無い。

パージ Edit

不要。

埋め込みされなくなっただけで、消したつもりのページが残ってしまうことがあるので、そういうページを消す仕組みがいる。
複数データを一括処理するとき、取り消しが困難になりやすいので、その対策も含めて。
時間経過かパージコマンド実行で削除する。’’通常の削除なのでそれでもまだ復帰できる’’。
時間は無限大にもできるように。→自動的には削除しないという設定になる。

リンク数ではなく、上位ページが無いページをパージ対象にする。
これはファイルシステムのフォルダーのメタファーに当てはめやすい。


下位ページ作成ユーザーに見せなくするので、パージを不要にする必要がある。
編集時に下位展開されれば、下位ページ埋め込みされなくなることはなくなる。問題は下位展開の深さに制限をかける設定の時。埋め込みだけ消すことができる。
それでも埋め込みされないページができてしまうなら、孤立しているページ一覧を作るプラグインも用意。

編集コマンドの下位展開オプション Edit

編集コマンドでは「下位を含むか」ではなく、「下位をいくつ含むか」を指定。
これは分かりやすくするため閲覧時も編集時も同じ値を設定しておく。非推奨設定ながら別の値にもできるように。

値の範囲は0以上の整数。0で下位を見せない(下位展開しない)。
無限大も設定可能に。それ以外はデフォルト値。デフォルト値は1〜2程度?ハードコーディング。デフォルト値のときだけページ/属性の「下位を展開しない」を反映する。

0のときでもアウトライン編集として利用価値がある。見出し順序入れ替えをしやすい。

下位ページをサポートする機能を Edit

ページ作成時とページ編集時でも下位ページの仕組みをサポートする機能を用意。

想定される使用方法 Edit

一番分かりやすいのは

展開深度のデフォルト値を設定するので、ルートページなどでは下位展開されない。ちょうどいい。

普通にページ作成していけば最大でも深度は4程度。
編集頻度は末端のほうが高いだろうから下位展開を気にすることは少ないはず。

見える範囲 Edit

ページ構造のなかで、表示は指定されたページの有力な見解[?]とその下位ページのみ表示。
下位方向の管理者設定にある「下位何階層を表示するか」。→これはやめて、常に最下層まで展開するように。使いやすさのため。作成時に打ち込んだテキストがすべて見えるように。

それより下位のページページ名だけ目次として表示。
これも管理者設定の「目次だけを何階層表示するか」で。内容表示しない深さを何階層分にするか。

ページ/属性下位展開をしないよう設定されているページを閲覧・編集するとき、下位ページのサポートはしない。
別のページのように見えていいので。例えばルートページとその下位ページ


目次の位置はそれぞれのページ内容の末尾、関連するページの側がいい。

章に「New」 Edit

差分表示でなくても更新された部分を見つけやすくするために、ページ名の後に「New」を表示。
目次にも、本文中にも)