FrontPage
New
Tools
Index
TempPage
Edit: [wifky] Rwifky! (開発中)
[wifky!|http://hpcgi2.nifty.com/hayamatta/wifky.pl] の Ruby による実装 : [取りあえず動かしてみる|http://childs.squares.net/wiki/index.rb] :: ページを取得してそれをそのまま出力する :: とりあえずテスト用に内部リンクだけはリンクするようにしてみた !!! TODO リスト * インラインプラグイン取り込み * アクションプラグイン取り込み * ==ページ読み込み== * ==コンフィグ実装== * Syntax engine 実装 * Syntax engine 以外の HTML 関連 * Attachment の表示とか * Attachment アップロード * ページ書き込み * デフォルトのインラインプラグイン実装 * デフォルトのアクションプラグイン実装 * 認証 !!! クラス群 :設定系クラス群 * RWifky::Config * RWifky::ConfigEntryBody 以下のクラスは ConfigEntry Body を Wrap するクラス。RWifky::Config#[] で取得するのは以下のどれかのクラスです。 * RWifky::ConfigPlainEntry ** RWifky::ConfigTextEntry ** RWifky::ConfigBoolEntry : 物理ファイル 1 つ対するクラス群 * RWifky::Entry ** RWifky::Page ** RWifky::Attachment ** RWifky::Plugin : メイン、他 * RWifky::Core * RWifky::Util !!! Config クラス wifky 形式の設定ファイルを読み込んで情報を保持します。 !! メソッド : initialize( [ filename ] ) :: filename から設定を読み込み Config インスタンスを作成します。 明示的にファイル名を指定することも出来ます。 : save( [ filename ] ) :: filename に現在保持している設定を全て書き込みます。 : self[key] :: 設定変数名 key の個別設定エントリインスタンスを取得します。 取得できるエントリのクラスは entries_template で設定されている値です。 設定がない場合は nil を返します。 : self[key] = text :: 設定変数名 key の内容を text にします。 設定が存在しない場合は新たに設定を作成します。 : self << entry : add( entry ) :: entry 内容をこのクラスに上書きまたは追加します。 : entries_template :: [] メソッドで取得するオブジェクトのクラスのハッシュ表を取得します。 以下の形式になっています。このハッシュオブジェクトはデフォルトでは ConfigPlainEntry を返却します。 8< { '設定変数名1' => (ConfigTextEntry | ConfigBoolEntry | ConfigPlainEntry ), '設定変数名2' => ... : } >8 : preferences ( 名前変更考慮中 ) :: preferences_template を元に以下のハッシュを作成して返却します。 8< { 'セクション名1' => [エントリオブジェクト1, エントリオブジェクト2, ... ] 'セクション名2' => [...] : } >8 : preferences_template :: preferences メソッドでインスタンスを作成する際に元にするハッシュオブジェクトを取得します。 以下の形式になっています。 8< { 'セクション名1' => ['設定変数名1', '設定変数名2', ... ] 'セクション名2' => [...] : } >8 !!! ConfigEntryBody Config 内では 1 設定項目をこのクラスのインスタンスで保持しています。 :name :desc :desc= :text :text= :size :size= :to_s !!! ConfigPlainEntry ConfigEntryBody を Wrap するクラス :initialize( body ) :body :name :desc :desc= :text :text= :value :value= :to_s !!! ConfigTextEntry < ConfigPlainEntry ConfigEntryBody を text 形式で Wrap するクラス :size :size= :type !!! ConfigBoolEntry < ConfigPlainEntry ConfigEntryBody を Bool 形式で Wrap するクラス :text= :value :value= :type
Attachment
New: