ページの作成は、ページ生成と編集の組み合わせ。
でもページはすべて存在するものとするなら作成=編集。
→ :i/存在しないページは無い
→ ページ/編集
目次 †
関連 †
- :/下位の管理者の作り方
- :/自動リンク化対象を広げる
- :Done/アーカイブと削除と下書きと作成と
- :Done/他言語版をどこに置くか
- :Done/文書作成中に見えるもの
- :Done/細切れドキュメントと同名ページの仕様が衝突
- :Done/見解を再考
- :RenameLog/2013
- :ToDo/スペースあたりの利用者はひとりなので
- :i/ファイルアップロード投稿
- :i/ページを作成したら承認されるよう通知
- :i/ページ作成時にテンプレート指定済み
- :i/外部リソース取り込み
- :i/技術メモ、Tips集
- :i/新規作成ページのテンプレート
- :i/既定値ページ
- :i/検索/流れ
- :i/空欄
- :i/自分のWikiで言及
- :t/作成
- インポート
- ページ
- ページ/編集
- ページ作成
- 書くときの一覧
検索:作成
- -
テンプレート †
ページ/作成はテンプレートを利用するもの。
テンプレートには属性領域も含まれる。つまり権限も含まれるということ。
ページ/作成 †
テンプレート適用時にそのテンプレートの閲覧権限が必要。ページ/作成を制限するなら、使えるテンプレートを無くせばいい。
もしページ/編集と作成を別のユースケースにするのなら、そこで権限判定してもいい。
思い付き †
似ているページ †
ページ名を入力した時点で「以前に作成したこのページと重複していませんか?」と。
記事の重複を防ぐ。
個人のメモ書きにも有効。
ページ名の他、「アウトライン」「概要」で探しても良い。
既存のページを作成しようとしたら編集ページに †
新規作成のページ名入力の次は編集。ページ名入力時にページが存在していても編集に。
既存ページを入力する使い方もあり、間違いではないので挙動は揃える。
→内部名があるのでページ名の重複が可能。ページ作成を常にページ作成にしないと重複するページを作れなくなってしまう。
→重複するページは作れなくする。既存ページを作ろうとしても通常のページ作成になるが、送信時に追加になる。
送信ボタンが追加という表示になってもいい。
これは見出し記法で任意のページを作成、既存なら追加になる仕様と揃えるため。
テンプレート指定済み †
URLクエリーでページ内容のテンプレートを指定。
ページ/作成できるように。
ワークフローで使う。
このときもページが既存なら編集ページに。テンプレートは無視される。
編集ではなく追加だったらテンプレート有効。
初期ページ †
何もテンプレートを指定しないときの、テキストボックスの初期状態。
これもページ内容のテンプレートとしてWikiの設定に含める。
→ページ/初期ページ[?]
実装 †
下位ページサポート †
ページを作るとき(方法に依らず全ての場合で)上位ページも作るように。
ページ/内容はページ編集時のデフォルトページ内容。(ページ作成時、最初からテキストボックスに入っている内容)
ページ名・内容は順序不問 †
ページ名入力(決定)とページ内容入力(決定)は順序不問。
どちらも無ければ内容入力。
両方あれば入力完了。
一方が無ければそれを入力。
優先順位は内容、ページ名の順。
1行目をページ名の既定値にしていい。
パーマリンク †
ページ名が入力されたらURLクエリーに含めてリダイレクト。クエリーを送り返してもらう。
新規作成ページではなく、ページ編集ページで新しいページを書いてもらうことになる。
ブラウザーで戻って、書き直しや修正がしやすいようにするため。
手順 †
- 当てはめるテンプレートを判断、決定
ページ名や内容をRegExpに当てはめてみる。
テンプレートが決まる。
RegExpマッチング。 - フィルタリング
テンプレートに結びついている()付き穴空きテキストを使い、フィルタリング。
フィルタリングは変換
置き換え1。 - 埋め込み
テンプレートに結び付けられている$1など付き穴空きテキストに2で得た()部分を当てはめる。
※2の()部分全てにはそれぞれ名前がついている。
置き換え2。 - 展開
プラグインなど展開。
これはテンプレートが適用されなかったときと同じ。
ページ生成。
初版はテンプレート †
新規作成時、テンプレートがあった場合、それが初版に。
最初の投稿で第2版。
履歴にテンプレートも残すようにするため。