思い付き段階の機能

実装はページ/要素、それをシステムに導入する仕組みはプラグイン

思い付き段階の各種機能。そのうちフレームワークにふさわしくないもの。

機能の実装はページ/要素、それをシステムに導入する仕組みはプラグイン。呼び出すときはNotationText上に記法を書く。

記法

→X/Page/Element[?]

記法

→ X/Element[?]

機能とは Edit

機能/favicon.ico Edit


呼び方「機能」→「PageElement」に。

favicon.icoもアップロードされたファイル。

特定のファイルを更新する機能でファイルをアップロード。

機能/fotolife Edit


機能追加の仕組みと追加されるもの。

記法機能

汎用の機能呼び出し記法か、機能ごとに定義した記法で記述すると機能するようになる。

はてなのfotolife記法を使えるように。

画像を貼るときの記法でfotolife記法を書けるようにした方がいい。

内部では記法機能呼び出し記法に置き換えられる。

機能呼び出しをするクラスは機能記法だけを扱えればいい。

インライン/ブロック/ページ Edit


3種類の

使われ方と出力の違い。使われ方はUIの範疇なので、機能では出力だけ気にすればいい。

Google AdSenseを組み込む Edit

インライン
普通の。どこからどこまでかを指示して書く。1文字単位。
ブロック
1段落(空行と空行の間)を一度に処理。段落のどこかに書けばいい。
ページ
1ページを一度に処理。ページ属性として書く。
利用者ごとに書いた言葉、編集したページ名を記録。

これらを集めたページ利用者ポータルページとして、そこにAdSenseを貼る。

使われ方の違いは「どう書くか」だけの違い。

1行ごとに指示を書くか、1ページにまとめて指示するか。

そのほか、示中のページとその周辺ページリンクでつながっていたり、親にあたるページ)のキーワードを反映させたり。

内部では渡されるデータの長さと呼び出される回数が違うだけ。

複数行をまとめて扱う必要のある場合、などはページブロックじゃないと。

Google計算呼び出し Edit


埋め込みページを使って。

Google計算機能の答えだけ残して、埋め込み

(式も残すオプションがあってもいい)

特別に行なうことはパラメーターをGoogleを渡すことと、答え以外のフィルタリング。

方法 Edit

{Google計算:一足す一} → '一 +一 = 二' または '二'

名前付きパラメーター Edit


無名引数を使うならリファレンスやコード補完があるときだけ。

汎用記法では名前付きパラメーターにする。

機能にUsage Edit


機能に書かれているテキストをヘルプに出す。

マウスポイント時のバルーンやtipsにも出せるようなシンプルな体裁で。

というか、組み込み済みの記法で。

Googleグラフ呼び出し Edit


Usage()→組み込み済記法汎用記法

計算機と同じようにグラフ呼び出しも。

時刻だけ書いたら同じページに書かれている日付を加味 Edit

機能/included Edit


検索時の同一性評価で、足りない情報を同じページから取得。

時刻だけの現には同じページにある日付を。同じページに日付だけの現がないなら日付時刻から日付を流用。

includeの逆リンク調査。

relatedのように、include機能で呼んでいるページを列挙。

足りないフィールドは同じ(近い)ページから取得。

Wikiなので情報は非定。補える場合は少ないし重複がある。

→足りない情報を補うための機能ではなく、近い情報を加味する基本的な機能で。

依存されているページから依存しているページ示する機能はサイトをまとめる上で便利。

機能はそこにパラメーター履歴を残して置けばいい。

機能/InterInclude Edit

インスタンス Edit


というか、設定を複数用意可能に。

同じ機能でも設定ごとに異なる記法を当てて、使い分けできるように。

埋め込み

よそのWikiのページであっても埋め込み

全てURIで

機能側で設定ページをパラメーター化すればいい。

記法の記述で、Notation設定を抱き合わせにすれば実現可能。

フレームワークでやる必要はない。

複数行パラメーターの書き方 Edit


複数行を機能に渡すには、置き換えと埋め込みページが良さそう。

3態 Edit


WikiText→オブジェクト→HTML

…を機能ごとに行う。出力はそのままレスポンスに含める。

20091101202939.png

記法設定に依存しない基本的な記法)をHTMLに変換するためのライブラリを用意。

これで他の記法と変換結果を統一。
PageAlias
別名。内容が1つ、ページ名が複数。ハードリンクのようなもの。内容はPageでもInterPage(エクスポート形式のPage)でもいい。
内容がInterPageの場合でも、PageAliasを編集したときにInterPageに反映させたい。

時間がかかるので遅延処理。

機能/New! Edit


HTMLのメモ化機能ごとに。

ページ/名前に付く”New!”はリンク。そのページの更新差分ビューへ。

New!をクリックするとどこがNewなのか見られる。

オブジェクトの保存はバージョニングのこと。

ページ属性次第で保存するかしないかが決まる。

保存しないのは特殊なページ

ページがコンポジション Edit


ページ機能のコンポジション。永続化と復帰を単純化。

"New!"より”up”がいい。

リンクは1つのオブジェクトにしたほうが都合が良い。

…が、機能が低下するので却下。

永続化と復帰が複雑になる。

機能の展開タイミング Edit


ページ特有の解析処理(利用者登録など)の前か後かは機能の実装次第で決まるように。

ページ特有の処理の前に展開すれば展開後のテキストも解析されることになる。

最近の変更量に応じた強調にする。少ないと"new?", 多いと"NEEEEEEEEEEEEEEEEEEEEEEEEEWWWWWWWWWWWWWWWWWWWWWWWW!!!!!!#!!!##&&###&#########!!!!!!!!!"

を量に応じた長さで。カラーバーとかn文字変更とか要らない。

includeのように他のページを取り込む機能を使えば、任意のページ利用者登録ページに取り込んで一括登録できる。その代わり取り込まれるページ管理者権限でしか編集できないようにしなければならない。など利点と欠点がある。

機能/Pager Edit


機能の出力はそれ以上処理しないので、自動リンク埋め込みの展開などは機能側で行なう。

記法機能呼び出し)のパラメーター部分に記法があっても処理するのは機能。それ以外はページが処理。

これでページ/編集/HTML書き込み[?]埋め込みと展開を邪魔しないようにできる。

機能の出力はWikiTextではなくHTML。そのままレスポンスの一部になる。

AutoPagerを機能として提供。

そのページだけをページング。(継承されるならそのページも)

機能の処理のうち共通部分に埋め込みの展開を置いてもいい。

メタシンボル埋め込みで動的なパラメーター指定ができるが、これを全機能の仕様にしたいので。

AutoPagerizeも。AutoPagerize向けSITEINFOを書いて。公式wedataでなく対象サイトに書く方法があればそちら優先。

機能/POD Edit


PODのような、WEB(SimpleWEB)のようなプログラム記法

を、閲覧時に整形、示。

それと、キーワード強調などのプリティ・プリンティング。

と、それからコードを取り出す(それ以外をコメント化)ツールを。

記法をあてるなら段落の先頭で。段落ごと。

機能/QRコード Edit


HTMLだけで描画されるQRコード。

テーブルで。

画像を扱うライブラリがなくてもいいように。

カラーコードも。

これで任意の文字列をQRコード化できる記法を。

見出しページ名をQRコード化したい。

パーマリンクさえあればいい?あとはブラウザー拡張で。

X内で生成するならページフッターに。パーマリンクに添える。

機能/RSSバー Edit


機能

ページごと(章ごと)に編集された時刻を刻む。

機能/TODO Edit


チェックボックスと日付になる。

チェックボックスは状態が変わるときに送信、状態を永続化

日付を現在日時に変更。(間違ってチェックを入れたら履歴を遡ることになる)

その場で編集するためのボタンも付けたい。

シングルクリックで1行選択になるようにも。

機能/URI Edit


URIとしての文字列を記法

これを使うとURLエスケープされた文字列が閲覧時にURLデコードされたり。

サイト内URLは置き換え。

ページ名でもリンクするので、サイト内を指す(URLエスケープされた)URLはページ名に置き換え。元々URLにはページ名が含まれているので置きかえても差はない。デコードするくらい。

機能/yetlist Edit


まだ無いページのリスト。

呼び方
  • WantedPageList
  • WantedPages
  • yetlist

条件付きWantedListが欲しい。特定の階層だけなど。Wiki構築のため。

これに限らずページ名を制限したいときがあるはず。

ページ名の指定でワイルドカードを使えるようにすべき?
  1. ページ名の指定で複数のページを一度に指定できるようになる
    1. ページ名によるリンク自動リンクなど)でリンク先が複数になる

機能/★ Edit


スター。★。コレクション用。付けるとそのページコレクション

ページを「カートに入れる」ようなもの。

コレクションは複数あってもいい。

の色を変えたり、ラベル付きのカートを用意したり。

機能/お絵かき Edit


手書きできるなら背景色は透過。

テキストと同じ背景になるようにする。

Googleドライブを併用すればアプリを用意しなくても済む。

UIのシームレス感はないけど。

機能/ここに追加 Edit


「ここに追加」リンク

章扱い。

追加すると新しい章を前か後に追加する。

編集するのは…

…の2つ。

新しいページはともかく、機能を呼び出しているページ編集をどう組み込むか。

機能を呼び出しているページ編集する。ここに章を書き足すのと同じ処理をすればいい。

機能/はてなWordLink Edit


はてなWordLinkから受信。送信するデータは無い。

自動リンクの対象をはてなに問い合わせる。得た言葉を新規ページ作成リンクやコピペしやすい形に。

ここから着想を得られるように。

使い方は

機能/はてなハイク Edit


Twitterから取り込みするなら、はてなハイクからも。

ただし、はてなハイククライアントがいろんな端末で使えるようになってないと利点なし。

はてなハイクAPI一覧 - Hatena Developer Center

機能/はてなブックマーク Edit


設置すると、そのページやサイトのブックマークエントリーを示。

コメント付きなので、コメントをシェアできる。ブックマーク利用者編集者への意見に。

機能/もっと読む… Edit


下位ページには「もっと読む…」を。

最初から示する範囲はどう決めるか?

→テキスト内に「---ここまで---」を。

複数あれば最も末尾方向にあるものを使用する?

(最初から示する範囲を広くするように)?

参照するほうのページ機能

機能/アイコン Edit


クリックするたびに変化するアイコン

どのアイコンかはページに記録。

□ → ★ → チェックボックス(空) → チェックボックス(済) → □

…など。

クリックするたびにページが更新されるので、それを避けるためにリストから選択するというのも。
□|▼

…のようなドロップダウンリスト付きのアイコンで。アイコン部分はトグル切り替え。ただし示によって変化の仕方が異なる。
  • □ → ★ → □
  • チェックボックス(空) → チェックボックス(済) → チェックボックス(空)

ドロップダウンから選択するとトグルで出てこないアイコンも選択可能。

機能/イメージマップ Edit


イメージマップの作成。示。

作成はアップロード済みイメージやURLを指定するところから。

イメージ上でドラッグか、2回クリック。矩形領域だけ作成可能。ただし重ね合わせも可能に。重ね順はリスト示でそこで順序とジャンプ先変更。

イメージ以外の情報はこの機能のパラメーターになる。それとイメージの場所も。

イメージの場所の代わりにdata:スキーマのURIも可能に。

ジャンプ先がクライアント側スクリプトのトリガーになっていて、イメージマップのクリック→ポインター位置にセクションの内容をバルーン示、なども。

機能/インデント Edit

  • ブロック要素としては枠を作る。
    枠無しも可能。
  • インライン要素としてならスペースを作る。
  • 改行は続けた分だけ行を空けるように。

:i/テキストで図を描くツール

機能/カウンター Edit


パラメーターにページセットやなにか列挙できるものを受けて要素数を示。

テキストなら文字数。

その他のでも何かしらを数える。

順序付きリストで一覧示することでも代用可能。

機能/文字数

機能/文字数 Edit


文字数を数える。

条件

これだけの実装で章の数や使用されている機能数なども分かる。

機能/カウンター
  • -----------------------------------------------

文字数示はよその文字数制限のあるサービスに移動させるときに有用。あまり使わない。

文字数に目標があるときの進捗示として利用したり。この場合は複数のページの合計を見たい。下位展開範囲の合計文字数をテキスト部分だけ/それ以外を含む値を示。

機能/カレンダー Edit

2007?/08?
123?4?

数字部分はリンク

1は「2007/08/01」というページへのリンク

「2007」というページには章として「2007/08」と「2007/08/01」と「2007/08/02」が含まれている。

さらに、「2007/08」には「2007/08/01」が含まれる。

曜日も検索リンクだと面白い。

ライフハックに使えそう。

機能/キーワード強調 Edit


ページ内検索時に見つけた言葉を強調してアンカー付け。アンカーは目次に含める。

目次には前後の言葉も併記。リンクも併記。

強調をOFFにするリンクページの冒頭に用意。ワードごとにON/OFF。

キーワードの目次も。位置が分かるように通常の目次の中に強調部分を挿入して。

機能/キーワード強調/引用時のマーカーとして Edit


引用したい箇所を強調してURI化。canonicalなURIには含めないこと。

ドキュメントに手を加えずに一部だけ強調できる。

テキスト選択から始めるようなUIも。選択してからキーボードで修正できるようにして。

機能/クラスタリング Edit


共通部分を一覧できるようにする機能
  1. ページセットを与えられる
  2. 同じ見出しを集める
  3. 左側に重複数の多い見出し
  4. 左の見出しを選ぶと、その見出しを持つページの、その見出し部分だけを一覧示。

ページに定を当てはめている場合に有効。

必ず「概要」を書くとか。

機能/クリップボード Edit


クリップボード、あるいはペーストボードのような一時領域。

ページ内容やページ名を集めるときにここに追記。

自分用のページに書いておけばいいが、それをやりやすく。

サイドバー的にページ端に常駐。取り出しを他のページでできるように。

章を選んでカットまたはコピー、ページ移動後ペーストしたい。

カットはコピー+削除でもいい。
  • 文字選択、ボタン押す→クリップ
  • 文字選択、ドロップ

などでクリップしたい。

貼るときはテキストエリアでクリップ選択、テキストエリアのキャレット位置に貼り付け、

またはドラッグアンドドロップ。

見た目をデスクトップのクリップボード拡張より豪華にしないと意味が無い。

WikitextではなくHTMLで見せるとか。

コピー元へのリンクがあるとか。

機能/ジオタグ送信 Edit

機能/ソート Edit


渡されたデータをソート。
  • 区切り文字(改行可能)
  • データ(テキスト)

…を渡す。

ソート済みのテキストを返す。

文字列置換機能と組み合わせて、,区切りを改行区切りのソート済みリストに。など。

ページ/要素でも。

ページセットや、ページ/要素の集合でも?

機能/タグクラウド Edit


タグクラウドの文字の大きさを濃淡示にしたグラフ。
2007
Jan.Feb.Mar.
タグ1   
タグ2   
  • タグの大きさは現在の大きさ
  • いつ大きくなったかが分かる。
  • 記録が必要
    タグ集計ログを残しておかないと。
  • タグ名は現在の大きさで示。
  • タグ示の大きさに反映するもの
    • 最近の更新状況(新しい更新ほど大きく?)
      → これは色で示したほうがいい。
    • 情報量
      タグの数だけではページの長さを反映できないので。データ量を数に加味する。またはデータ量合計だけで計算、数を無視する。

時間のスケールはオリンピックイヤーごと、年、1月始まりの半期、四半期、月、月内の週、日、0:00始まりの半日、時、1/4時間。

の中から2つを選択。小さいほうのスケールで集計、濃淡示。大きいスケール(上記例の"2007")は小さいスケールの説明でしかない。


入力:WikiText →
ページ記法の解釈、オブジェクト化。
機能自身の処理と自動リンク機能次第)

→ 出力:HTML

できれば大きさや面積で現したほうが分かりやすい。

→ グラフ?

機能は部品 Edit


機能は部品であるべき。

組み合わせる余地が要る。
  • tag.inc.phpのように固いものや大きなもの、応用の利かないものはまずい。
  • ツール化しないように。
    ツールページ+機能で。

    アプリケーションはWiki全体で。

    普通のタグクラウドならレイアウトに注意。

    幅が広いと行間が調整されて整然としてしまうので、1行を短く。複数列に入れればいい。

機能/ダウンロード Edit

投稿時展開するものは要らない Edit


投稿時展開するくらいなら編集時にボタンなどで展開後のテキストを挿入した方がいい。

MediaWikiの~~~~のようなもの。

そういったボタンを使えないクライアントにはただの文字列を提供。編集ページを開いた時点で展開しておく。それをコピペ。量が多くなるのであまり一度に用意できない。

ページの本文を記法付きテキストとしてダウンロード。

1行目はページのタイトル。(…なのはページと同じなので、結局ページをそのままダウンロードするのと同じ)

ファイル名はページのタイトル。ルートからのフルパスにあたる完全修飾名。

特にプログラムコードをダウンロード。ファイル名の変更と配置さえすればそのまま動かせるように。

その他の機能 Edit

機能/テキスト出力 Edit


XML、RSS以外にもテキストブラウザー用の出力を。

機能/テンプレート生成 Edit

Edit


機能というクラスは作らない。

記法(記法)と同じ扱い。X/PageElement[?]

複数のページからテンプレート生成。

複数のページを与えると共通部分を返す。

diffと違い、順序を無視する。とにかく共通部分を。

記法はネスト可能。

独自データをページに保存可能。ページに残すので履歴付き。

パラメータには…
  • 入力するページ(複数)
  • 何文字以上の共通部分を返すか

機能のアンインストール方法は?しやすく

しやすくする以上のことはできない。

…を。

PageElementをオブジェクトとして永続化する場合、Pageと一緒にということになる。

動的データはPageが持つWikiTextからすべて作成可能。

PageインスタンスはWikiTextから生成したPageElement構造体。

機能/ナビゲーションバー Edit


ナビバーには「ホーム」を置きたい。

「ホーム」はサイト内の好きなページ利用者設定で。ゲストの場合はサイト設定による。

利用者による編集と同じで、ページを更新するときは履歴を作るのが基本。

でも、PageElementの設定(PageElementのコードで定義)で履歴を作らないことが指示されていれば作らない。

展開は閲覧時 Edit


閲覧時展開

置き換えない。

HTMLに置き換えてもHTMLエスケープしてしまうので。

ずっと動的に展開。

スペース代表を反映させたい。

メタシンボルの類も同じ。他の機能と同様に。

Chain of Responsibility Edit


ユーザーが直接呼び出すタイプの機能はChain of Responsibility。

機能/ページ生成 Edit


クエリーは機能名とページ名を指定するのでなく、やって欲しいことを。

同じクエリーでも導入されている機能次第で別の処理が行われるかも知れないし、いくつの機能が反応するかも変わってくる。管理次第。

静的なページを自動生成するもの。

これはWikiが正しく構築されていれば正しく動くし、間違っていれば結果(ページ出力)にれるので分かりやすい。対応付けを厳格にすると設定が難しくなるし、後から付け足した設定で以前の設定が無効になることもあるので、それを回避するのが狙い。

頻出語を検出。静的ページにすることを提案。

フレームワークもChain of Responsibility。

ページ機能はコンポジションに Edit


範囲を限れるように。

ユーザーの個人ページからのみ検出など。

→ SNSに。

Notationオブジェクトは書くたびにインスタンス生成。

リファレンスだけを増やしたいときはPukiWikiでの「include機能」のような特別な方法で。

どの機能 Edit


機能使用時の記述は機能すキーワードと、機能指定のキーワードで。

1つのキーワードで複数の機能呼び出し可能。

処理できる機能1つが処理する。

機能/ログ Edit


パフォーマンス計測用ログ。通常のクエリーにこの機能呼び出しを付加して、その処理が終わるまでの時間を示。

これをWiki上で。

処理可能かどうかの判定は機能ごとに優先順位ありで、機能内に優先度を記述しておく。

機能/体裁 Edit


見せ方を変えるだけのもの。

HTMLテンプレートをWikitextにしたような。

クラス継承 Edit


組み込み済みクラスを継承して機能化。上位クラスと同じ扱いをされるように。下位クラスを知っているクラスからはそのクラスとして扱われるように。

パラメーターは複数あっていい。テンプレートが受け取れるだけ。

記法類は機能継承されていいように。

段落単位で体裁を変えられる。

使い方2種類 Edit

  • ページに記述→機能はHTML生成。
  • 機能のパラメーターとして記述→別機能からパラメーターを渡すよう要求される→純粋なデータを生成。
    ほかの機能の出力をこのパラメーターにしたり。

    コメント投稿の一件あたりの体裁を決めたり。

ls→ページ名リストを生成。パラメーターとしてはページセットを生成。

いろいろな体裁

会話。

FAQや一問一答のインタビューに。

書かれた場所…コンテキスト文脈文脈次第でが変わる。意味は変わらない。使いにくくなるので。

使い方が2種類あっても実体は同じ Edit


どちらの使われ方でも記法を返す。それが何に埋め込まれるかはフレームワークが決める。

左右を選んで吹き出し示。

左右両方、左右どちらでもないというのも選択可能にして。

実装はインターフェイス。

イベントハンドラーのようなもの。

吹き出しの形を選べてもいい。

ユーザーからのリクエストで呼ばれるだけの機能でも、ページに書かれたときに自身を呼ぶリンクやボタンを生成するようにすれば使いやすくなる。

機能/個人用メモ Edit

リクエストからの直接呼び出しでもネスト可能に Edit


PukiWikiのコマンド機能のように、ページに書かずに使う場合でもネスト可能に。一時的なページを生成してもいい。

→ :i/下書き[?]

:t/クリップボード

またはデリゲート可能に。最後に呼ぶもの以外はデータコンテキスト

URLクエリーは一時的ページ Edit


URLクエリーもページ

同じように解析、展開。

使い方も実装も統一できる。

自分の投稿を他のページ示。

自分だけのコメント

閲覧している利用者利用者ページをサイドバーなどに埋め込めばいい。

機能/動的なページ名を使って。

気に入らない見解を書いておくとか。

ページ名横にアイコンリンク自分がよく使う機能へのリンクを置けるとか。閲覧時展開記法も有効で、閲覧中ページを操作するリンクになっているとか。

MVC Edit

M
いくつでも。(複数クラス、複数ファイル)
名前などすべて利用者の任意。
V
いくつでも。
Mと同じように任意。
C
機能のエントリーポイント。
機能のMとVを呼び出す。

名前に規則あり。フレームワークから呼び出しやすくするため。

C(前)とC(後)がある。

検索語をDanglingLink

検索語を明示的リンク化して、個人ページにリストアップ。存在しないならDanglingLinkページ作成へのリンクとなる。

検索語は公開されないものなので個人ページに。
フレームワーク1.C(前)2.M、Vなど
3.子のC(前)4.子のM、子のVなど
5.子のC(後)6.子のM、子のVなど
7.C(後)8.M、Vなど

深さ優先の呼び出し。

ページ作成/どこに書くか迷っている時の検索で活用。

追加先が見つからなかったとき、このリストがページ名候補になる。

機能/分析 Edit

機能を実行時に取得 Edit


機能UIからのシステム呼び出し時に取得したい。

管理者機能のURIを入力して。

Wikiを分析、再編するためのツールを。

システムが機能を取得、インストール。

MediaWiki特別ページ(SpecialPages)も参考に

:i/参考に/Semantic MediaWiki#o4b637f8

アンインストールは…

機能と同じ著作者のファイルだけ消す。

他の機能でも使うようなものは除く。

参照数をカウントしておけば(また、カウントし直しが随時できれば)より正確にアンインストールできる。

MediaWiki特別ページ(SpecialPages)のように。

いずれもフィルタリングよりソートのほうが望ましい。

上位を示すれば良い。下位も見ることはできるように。

URIで示された場所に置くもの Edit

  • ログラム他、インストールするもの
  • 必要なもの(他者が作ったもの)
  • インストールの仕方、形式的な書式
    ページに対してできることは章に対してもできるようにしたい。

    章を章として扱えれば容易?

URI集を特定のサイトで作り、RSS化。

各Wikiで定期的に取得。

管理者用の機能

検索での実装

検索機能で柔軟に実現できる。

ページにはデータ量などのデータが埋め込まれるようにしておく。

(これをリクエスト時に作られるページにしてもいい。データ量を返すコマンド式機能で得られるページ(「name:トップページ,size:10000」などと書かれている)を使って)

ソート部分を指定した検索ワード「size:([0-9]+)」を与え、数値部分をソート。

検索機能とクエリー1つで分析ページを1つ作れる。

機能/ Edit


コマンド式機能を指定するのはどうやって?

→ size:でsize機能呼び出し。…のように:を付けて指定。機能名:検索ワード

ページXML形式に変換するような機能があるなら、それを利用すれば良い。

この検索条件は予め記述しておくものになるので、書きにくくても良い。

tag:機能 Edit


ページ/要素での実装

URIパラメーターで呼び出せるページ/要素で(PukiWikiでURIに付けるcmdやpluginのようなもので)。ページ/要素なのでページ上に配置することも可能に。

機能ごとに専用のページ/要素を作ることになる。

専用のプログラムが必要なものばかりなのでそれでいい。

機能/前後のページ Edit


前後のページへのリンクになる。閲覧時展開

並び順はディレクトリ内でページ名順に並べたときのもの。

前後ページが無いときは淡色示で無効化。

日記などで使用できるように。

機能/即投稿 Edit


Wiki内のどこからでも投稿するための入力欄。

機能/地名 Edit


地名はGoogleに任せるのがいい。

InterWikiNameで。

「地図:」とか「場所:」とか。

自動リンクしたいなら、都、道、府、県、市、群、字、村などを目印に区切り文字間をまとめてリンク。Googleへのリンク

機能/大きくする Edit


文字サイズを相対値指定で変更。

見出しのように
+

の数で後に続くインライン要素の示が大きくなるように。

文字以外も。
++++TODO:…

でチェックボックス付きの特大文字、とか。

インライン要素の属性を変える機能

だからTODO:…から+の数を参照できるということに。

機能/定着する文字 Edit


書いてすぐなら淡く示。

newとは逆。新しいと淡く、古いと通常示。新しいからといっても強調にはならない。

推敲するような箇所に。事実ではなくアイデアを書くとき向け。

追記用。

定着しきったときに機能呼び出しを無くしたいが、ページの定義次第。

利用者以外がページ/内容を更新して良いのなら、自動的に機能呼び出し削除。

トリガーは更新時。一部でいい。ただし定期的に。定期的に更新するか、閲覧時に判定。

機能/引用補助 Edit


読むためのノートのために。

閲覧、または専用モードで

タップして選択、新規作成、編集モードへ移行すると選択していた文字が入力済み。

クリップボードで。

ラインマーカーが欲しい。

引用をするためなので、複数ページに複数マーカーを引いて(WikiTextでなく)テキストとしてコピペしやすい形に。

Kindleにある機能

ページを集めるショッピングカートのようなもの。

そこにページの一部を複数保存。保存場所はブラウザーか自分のユーザーページに。

カートから引用元(各ページ)にリンク

ユーザーページ永続化できるなら、閲覧者がWikiを分類することもできる。

実装方法は…
  • ページを小窓示してそこにコピペ
    ただ複数ページ示するだけ。それほど支援にならない。
  • 小窓をカートにする
    コピペすると段落生成。×ボタンがあってすぐ消せる。ドラッグ・ドロップで並び替え。カート内から引用元へリンク
  • 小窓と連携
    小窓があるときに本文を選択状態にするとマーカーになるとか。カートに自動追加されるとか。引用モードになる。

他にはよそのツール連携。そっちに任せるとか。

機能/承認ボタン Edit


モデレーション編集/承認ではなく、権限が欲しいというリクエスト。

管理者とのコミュニケーションツール

管理者メッセージを送るだけのほうが良さそう。通常の操作で申請に応える。この機能メッセージを的確に送るための支援機能ページの閲覧は管理者へ、ページの作成は作ってくれそうな利用者利用者全員に向けるもの。単一の機能ではなく、いろいろなコミュニケーション支援機能になる。

閲覧、または専用モードで

タップして選択、新規作成、編集モードへ移行すると選択していた文字が入力済み。

クリップボードで。

承認ボタン

管理者でなければできないことがあるときでも、申請なら誰でもできる。

申請は管理者向けページに集まる。管理者は「承認ボタン」で実行。申請が集まるページは公開しても構わない。
  • 申請はページ作成など。
    ページ作成が許可されているかどうかは確かめなくてはならない。
  • 実行に必要なデータが揃っていないときは承認ボタン非示。
    承認できない。

機能/時限ロック Edit


一定期間編集されないとロック

少数の利用者で運用する場合に。

その利用者全員にロック解除の権限が必要。

注目されなくなったページ(保守されなくなったページ)をロックするための機能

トリガーは時間と編集時。閲覧時に正しいロック状態を示するならそのときも。

ページが呼ばれたとき(閲覧、編集ほか)、最終更新から一定期間過ぎていればロック。(ページ/属性を更新)

ページ/属性の変更頻度が増える。

機能/歴史 Edit


サイトの年に出すようなイベントを登録。

作成時に参照したり、ページ/履歴でもの合間に示。

「サイト移転」とか。更新履歴上のコメントとして使えるように。

日時指定で当時のWikiを再現するときのマーカーにも。「サイト移転 時のウィキエンジンX」というサイト名にして。

タイムマシン

機能/疑似SSI Edit


ページ内のマークアップ位置に別プログラムの出力を埋め込む。

別プログラムを実行する条件を書ける。
  • 1日1回0:00を過ぎたら
  • 前回起動から5分過ぎていたら
    …など。

管理者の承認が欲しいので、条件・プログラムパスなどを含んだマークアップを管理者が作っておく。

ページに埋め込めるのはマークアップのみ。

ログラムパスや条件は管理者が決めたもののみ。

埋め込めるときに決められるようにも。

パスを任意にすればどんなプログラムも、条件を任意にすればいつでも何度でも、ということになる。

→ 別のシステムでログを生成しておいて、Xではそのログだけをインポートする仕組みにしたほうがいい。Xから起動はしない。

機能/自動フォーマット Edit


自動認識で良い感じにフォーマット。

ページ単位の機能ページ属性に入れればページ全体をフォーマット。

とか、リストとか。見出しとか画像埋め込みとか。

自動フォーマットしたページを他のページに埋め込んで使用。

自動フォーマットの機能とかも。

機能/自動更新 Edit


:i/自動処理はbotで

内容を自動整頓。

データを一定量だけ残してあとは削除したり、…他。

方法

を揃える必要がある。ページの内容はテキストなのでフォーマットを整えることに。

ページ全体を1行1レコードのデータ列として扱う。

データを更新するときは…
  1. ページを呼び出す。
    ページ全体がデータ列。機能の処理をするにはこのデータ列を参照しているページを呼ばないと。
  2. データを集めたり、フィルタリングしたり。

…このページ呼び出しを定期的に。

機能/要約 Edit


1画面内の文書を要約

要約度合いをスライダー操作。
  1. 全て
  2. 複数行段落の示を圧縮
  3. 複数行段落や複数行箇条書きを1行だけに
  4. 見出しだけ(つまり目次

…といったように短く示。

スライダーページスクロールと無関係に示。

要約中はどこかをダブルクリックすれば’’そこだけ’’要約解除。「そこだけ」なのは眺めるだけでなく要約から探して編集できるようにするため。

機能/計算・電卓 Edit


Googleのように。

Googleの結果を埋め込んでもいい。

改行などにとらわれないように。

自由な書式で。

単位付き計算も。不明な単位はNotationの書き損じと同じように対処。

単位変換
  • 昭和21年を西暦に
  • 昭和21年+12ヶ月を西暦で
  • 平成元年-0.75年を大正で

:i/Google計算機の結果に置き換え

機能/記法リスト Edit

機能/誰かが編集 Edit


「誰かが編集中」と通知

編集者が編集の衝突を予測できるように。

編集画面のどこかに埋め込んでおけばいい。

定期的に自動更新。

データは毎秒変わるので、カウンターと同じ領域に。

頻繁にリセットされるカウンター。

編集中なので、警告はしない。何人いるかを示するだけ。

閲覧中が何人かというのも載せていいかも。

編集中の最新版かどうかも載せていいかも。

誰かに先に編集されたことが分かる。これも警告ではなく示を変えるだけ。

機能/集合操作 Edit

  1. HTMLを渡す(複数)、操作も指示。
  2. リスト(<li>)などを要素として、1つのHTMLを1つの集合にする。
  3. 和や積を得て、リストとして出力。
    ※入力と出力のを同じに。

書式は…
&...({ページ}などHTMLに展開されるもの1,∩,HTML2,∪,HTML3);

とか
&...(HTML4,/,&...(HTML1,∩,HTML2););

とか

ページセットは?ページセットを扱うとしたら…?

機能/ Edit