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

あとでなおす Edit

似ているページ Edit

ページ名を入力した時点で「以前に作成したこのページと重複していませんか?」と。

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

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

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

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

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

テンプレート指定済み Edit

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

ワークフローで使う。

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

初期ページ Edit

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

方法 Edit

下位ページサポート Edit

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

ページ名内容順序不問 Edit

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

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

パーマリンク Edit

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

手順 Edit

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

テンプレート Edit

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

作成/ Edit

tag:作成 Edit