• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:&tag(ページ,編集,UI,プラグイン,タグ,思い付き,実装,モデリング);

*目次 [#x1ee76b6]
#contents
#br
#lsx(new=true);
#br

*関連 [#o07a431b]
#related
#br
#lsx(tag=UI,new=true,except=^ページ/編集/UI(/.*)?$)
#br
[[検索:UI]]
#br
----


*ページ/編集/UI [#fad4b164]
RIGHT:[[:t/UI]]


**思い付き [#b481655b]
-ページ名はシングルクリックで選択できるように。

***ファイルアップロードで投稿 [#sde4a3af]
-圧縮して複数ページを一括して
-単一ファイルを投稿すると単一ファイルが1ページになる

-内部形式そのままで投稿できるように
-データの移行とか復旧で使える

***自動判別 [#qec911f5]
ファイルをアップロードして、プレーンテキストならWikiTextに変換、ページ/作成。
1行目をページ名に。(必要なら文字列置換して)

→テキストエディターで書き込み後、まとめてアップロードできる。
他のWikiEngineからのデータインポートにも。

※アップロード場所は一定。


***入力形式 [#j0cd9236]
インポートできる形式。
テキスト形式の入力でXML、JSON、YAML、CSVなどを表やインデント付きで表示。

お好みのエディターを使って編集できるように。
XML可にすればアウトラインエディターも有効に使える。
出力形式を選べるように。出力形式付きで編集ページを指すリンクを用意。

RIGHT:[[:t/プラグイン]]


***実は新規作成ページなど無い [#gda342bf]
新規作成ページ=空の編集ページ
編集ページには複数のページを====などで区切って入力できるように。
内部では====でファイル分割、一時ファイルにしておいて順次投稿処理を行う。

こうすれば複数ファイルに分かれている別システムのデータを取り込みやすくなる。
わざわざなんとかWiki向けインポート機能なんてものを作らなくて良い。

必要なのはWikiTextの置き換えのみ。
体裁にこだわらないのならそれも不要。


***編集欄は入力欄を一行テキストボックスに変更可能に [#wd0e0290]
Enterで送信できるのが良い。
この場合、改行を別の文字で代用。送信されると改行になる。

挙動は[[Google:checkpad.jp]]のように。


***プラグイン専用欄 [#n12d2dc2]
ページの属性を決めるようなプラグインは専用欄に書きたい。
で、ソートして表示。

テキストエリアに。
1行に1つ。


***プレビューは入力欄と違うページに [#we7ee581]
新しいウィンドウで
編集後のページでなければプレビューにならない。


***プレビュー不要 [#ad56218e]
-戻しやすく戻したときに跡が残らない「更新」を導入する。
→これで編集とプレビューをまとめる。
→他ページから参照される部分もプレビューできる。
-Nullページ導入して、これで実現。
保存されないページ。
保存用ページは生成されるが保存されない。
プラグインのトリガーのため。
--UIから使うためのもの。プラグインでなら元から可能だから。

RIGHT:[[:t/プラグイン]]


***消すボタン封じ [#b72c4280]
ESCキーで消えないように。


***リロード時のページ破棄封じ [#ga7b3727]
ページの有効期限を付けて。


***フォーム [#s56e3c97]
ページを作るボタンにはテキストボックスを。

ページを作るボタンを押したとき、クエリーにページ名が付いていると
-新規作成用テンプレートを自動選択
-既存ページがあれば表示

…といった機能を利用できるから。

RIGHT:[[:t/テンプレート]]


***間違えにくい [#ia13b88b]
ページの編集のUIで、
Alt+SやAlt+Pよりも
Alt+f 1回、Alt+f 2回
のほうが間違えにくい。


***ヘルプ内検索ボックス [#d1356327]
編集中にヘルプを読みたいことがある。

-ヘルプには類義語を含めて、検索しやすいようにしておく。
(コンテンツだけの話)

RIGHT:[[:t/ヘルプ]] [[:t/検索]]
***とりあえず投稿 [#q48aec39]
一部でも投稿できるように。
Wikiは推敲できるのが特徴なのだから。

ページ名が無い、内容が無い、プラグインに必要な引数が無い、設定が無い、クエリーが無いなど。

後で編集できるように。
※同じUIで。
***新規作成時に既存ページ名を参照したい [#sda6636c]
既存ディレクトリの下にページを作るために。


-既存ディレクトリの下にページを作るために。
-ページ名を統一するために。
***ファイル取り込み [#xfa56264]
定位置に置いてあるファイルを自動的に取り込む。
+ファイルを作る
+FTPクライアントなどでどこかにアップロード
他サーバーでも可?
※ファイル一覧が得られないと不可能。
+取り込み
+マークアップをページに書き込むことで貼り付け

取り込む際、ファイル名がページ名になる。
(だから/が使えない)

拡張子次第で取り込んだときのレスポンスが変わる。
レスポンスとはファイル一覧
image1.gif &ref(image1.gif);
image2.png &ref(image2.png);
など、すぐに貼れるように。

この一覧のひな形はページになっていて、編集可能。


***画像を貼りやすく [#xaaa4133]
画像やその他ファイルを貼るとき、既存のファイル名を調べたりしなくていいように。
-名前(利用者が扱う名前)が重複したら自動的に変更。
RIGHT:[[:t/ページ/内部名]]
-時刻を名前にする。
プラグイン呼び出しには近い時刻を付ければいい。

…のどちらかで。

「1つ前の」という指定で埋め込める。
編集時に展開されるように。

-ファイルの種別はMIMEか拡張子から自動判別。

RIGHT:[[:t/添付]]


*早く入力するために [#c8e1e863]


**続けて新規作成 [#q9057bcb]
新規作成ページはページ一覧を備える。
で、送信後にまた空の新規作成ページを返すように。
続けて新規作成ができるようになる。

新規作成ページを別フレームにするのもいい。


**フォーム2つに [#f204ae2c]
フォームを2つ用意、Tabキーでフォーカスを移して、1文字でも入力した時点で前のフォームを送信。
というのもいい。
1文字入力を待つのは間違い防止のため。
全てのページを打ち終わったら「送信」ボタン。最後のフォームを送信してページ遷移。


**テキストボックス化 [#bc7c1d47]
最近編集したページ一覧を。
選択するとテキストボックス化。編集後、送信ボタンで送信。ページ名に戻る。