ページ作成は、ページ生成と編集の組み合わせ。
でもページはすべて存在するものとするなら作成編集


あとでなおす Edit

似ているページ Edit

ページ名を入力した時点で「以前に作成したこのページと重複していませんか?」と。
…尋ねるのではなく、ページ名入力中にバックグラウンドで探して消極的に表示。…というのは小検索なので、小検索欄で入力した言葉のページを作れるようにすべき。

記事の重複を防ぐ。
個人のメモ書きにも有効。
ページ名の他、「アウトライン」「概要」で探しても良い。

既存のページ作成しようとしたら編集ページ Edit

新規作成ページ名入力の次は編集ページ名入力時にページが存在していても編集に。
既存ページを入力する使い方もあり、間違いではないので挙動は揃える。

内部名があるのでページ名の重複が可能。ページ作成を常にページ作成にしないと重複するページを作れなくなってしまう。

→重複するページは作れなくする。既存ページを作ろうとしても通常のページ作成になるが、送信時に追加になる。
送信ボタンが追加という表示になってもいい。
これは見出し記法で任意のページ作成、既存なら追加になる仕様と揃えるため。

:i/存在しないページは無い
:i/仮想ページという考え方

テンプレート指定済み Edit

URLクエリーでページ内容テンプレートを指定。
ページ/作成できるように。

→:ワークフローで使う。

このときもページが既存なら編集ページに。テンプレートは無視される。
編集ではなく追加だったらテンプレート有効。

初期ページ Edit

何もテンプレートを指定しないときの、テキストボックスの初期状態。
これもページ内容テンプレートとしてWikiの設定に含める。
:i/既定値ページ

下位ページサポート Edit

ページを作るとき(方法に依らず全ての場合で)上位ページも作るように。
ページ/内容ページ編集時のデフォルトページ内容。(ページ作成時、最初からテキストボックスに入っている内容

→これは下位ページを上位ページに埋め込んで下位展開を実現する場合に。方式が変わって下位ページの閲覧に上位ページは要らなくなったので、もういい

ページ名内容順序不問 Edit

ページ名入力(決定)とページ内容入力(決定)は順序不問。
どちらも無ければ内容入力。
両方あれば入力完了。
一方が無ければそれを入力。

優先順位は内容ページ名の順。
1行目にページ名の既定値を入れておいてもいい。

パーマリンク Edit

ページ名が入力されたらURLクエリーに含めてリダイレクト。クエリーを送り返してもらう。
新規作成ページではなく、ページ編集ページで新しいページを書いてもらうことになる。
ブラウザーで戻って、書き直しや修正がしやすいようにするため。

手順 Edit

  1. 当てはめるテンプレートを判断、決定
    ページ名内容RegExpに当てはめてみる。
    テンプレートが決まる。
    RegExpマッチング。
  2. フィルタリング
    テンプレートに結びついている()付き穴空きテキストを使い、フィルタリング。
    フィルタリングは変換
    置き換え1。
  3. 埋め込み
    テンプレートに結び付けられている$1など付き穴空きテキストに2で得た()部分を当てはめる。
    ※2の()部分全てにはそれぞれ名前がついている。
    置き換え2。
  4. 展開
    機能など展開。
    これはテンプレートが適用されなかったときと同じ。
    ページ生成。

テンプレート Edit

新規作成時、テンプレートがあった場合、それが初に。
最初の投稿で第2
履歴テンプレートも残すようにするため。

作成/ Edit

  • ページ/作成でやること[?]