= feedblog version.4 (http://sourceforge.jp/projects/feedblog/) feedblogはJavaScriptのみで記述されたブログツール・ソフトウェアです。ブログライクな機能を実現します。Pure-Javascriptで動作し、サーバサイド・ソフトウェア(例:Perl、PHP、Ruby)を必要としないことが特長です。 = feature JavaScriptのみで動作する、ブログツール・ソフトウェア本体です。サーバサイドの技術に頼ることなく、JavaScriptのみでブログライクな機能(過去ログの切り替え、ページャ機能、直URLでのアクセス、タグによる分類機能、記事検索機能)を実現します。 feedblogはデータソースにXML(Feed Atom形式)を使用しています。 本ソフトウェアのパッケージは次の通りです。 == 1.feedblog CoreScript feedblogのコアスクリプトです。記事の表示全般に関する機能を実現します。 == 2.feedblog SearchScript feedblogの記事検索用スクリプトです。単語によるAND/OR検索と結果表示(一致箇所をマーキング)を実現します。 == 3.feedblog GeneratorScript feedblogの記事更新用スクリプトです。XML(Feed Atom形式)を容易に編集する為のWebUIを提供します。編集後は結果をテキスト形式で出力します。 (※ 記事更新を行いたい場合は出力結果をUTF-8エンコードで保存し、SCP等でサーバにアップロードしてください) = Upgrade Guide feedblog version.4は過去のバージョンに対し、記事・ログリストファイル(XML)はそのまま移行できますが、一部アプリケーションの設定変更が必要です。 == 設定値の変更について JavaScript内部に固定で書き込んでいた設定値を、HTML上にhiddenパラメータとして定義する必要があります。 パラメータの対応は次の通りです。 === blugUrl version.4では「feedblog_mainpageurl」になりました。 例: === latestXml version.4では「feedblog_latestxml」になりました。 例: === logXmlUrl version.4では「feedblog_loglistxmlurl」になりました。 例: === extPanelWidth version.4では廃止されました。CSSへの定義となります。 === extComboWidth version.4では廃止されました。CSSへの定義となります。 === entrySpan version.4では廃止されました。CSSへの定義となります。 === showLength version.4では「feedblog_showlength」になりました。 例: === validateMode version.4では「feedblog_validatemode」になりました。 例: == 設定値の追加について 一部、設定値の追加があります。追加内容は以下の通りです。 === feedblog_searchpageurl feedblogの検索ページ(同梱内容ではsearch.htmlに相当するファイル)のURLを定義してください。設置していない場合は空白としてください。 例: == 描画エリアの変更について feedblogで使用している描画用のDIV用IDが変更になっています。 IDの対応は次の通りです。 === ブログツール・ソフトウェア本体(feedblog.js) ==== writeArea version.4では「feedblog_writearea」になりました。 例:
==== logSelecter version.4では「feedblog_logselecter」になりました。 例:
=== ブログツール・記事検索ソフトウェア(feedblog_search.js) === genForm version.4では「feedblog_searchform」になりました。 例:
=== resultArea version.4では「feedblog_resultwritearea」(検索結果件数のみ表示)と「feedblog_writearea」(検索結果の記事を表示)の二つになりました。 例:
  
  
= Instructions feedblogをダウンロードし、解凍したアーカイブの「js」「css」及び「xml」ディレクトリをHTTPサーバ上にアップロードしてください。その後、jQueryライブラリ及び、crypto-jsライブラリ、feedblogライブラリ(コアライブラリ→プラグイン)の順で読み込みます。以下にタグ内の記載例を示します。 feedblogの初期設定(設定・描画エリア設置)を実施します。 HTMLファイルを用意してください。この際、charsetはUTF-8エンコードを推奨します。このHTML上に初期設定を実施します。 設定値について、feedblogはHTML上に記載されたhiddenパラメータとして埋め込まれた物を使用します。以下に設定値の記載例を示します。 描画エリアについて、feedblogはHTML上に記載されたdiv要素に描画します。以下に描画エリアの記載例を示します。
上記設定後、HTMLに対してアクセスを実施すれば、./xml/diary.xml上の情報が画面に表示されます。 = Software Settings == index.html - feedblog.js(ブログツール・ソフトウェア本体) == search.html - feedblog_search.js(ブログツール・記事検索ソフトウェア) === feedblog_mainpageurl feedblogブログツールを表示するHTMLファイルを指定します。本値はアンカーリンクの作成などに使用されます。 設定例:./index.html === feedblog_searchpageurl feedblogブログツールの検索ページを表示するHTMLファイルを指定します。 設定例:./search.html === feedblog_latestxml 記事の情報を格納した、最新のXMLファイルパスを指定します。このXMLはUTF-8キャラクタセットで作成されており、Atom Feed形式に従っている必要があります。本値は初期表示の為に使用されます。 設定例:./xml/diary.xml === feedblog_loglistxmlurl ブログの過去記事に関する情報を格納した、ログリスト用のXMLファイルパスを指定します。本値はログを選択する為に使用されます。 設定例:./xml/loglist.xml === feedblog_showlength 1ページに表示する記事の限界数を指定します。この指定値を超えた場合、ページャで区切られます。 設定例:3 === feedblog_validatemode 記事の本文(Atom Feed XMLの「content」要素)上に記載された改行を、改行として表示するかを示す値です。本値は「0」か「1」で設定されます。 0:content要素上の改行を改行として扱わない。(※ 改行のためには<br>のようにHTML改行タグをエスケープして記載されている必要がある) 1:content要素上の改行を改行として扱う。 設定例:1 == generator.html - feedblog_generator.js(ブログツール・更新用ソフトウェア) 本プログラムは記事の更新を容易にするためのツールです。Atom Feed XMLを直接エディタで編集する代わりに、簡単なWebUIでのXML出力機能、及び、プレビュー機能を備えます。 === feedblog_loglistxmlurl ブログの過去記事に関する情報を格納した、ログリスト用のXMLファイルパスを指定します。本値はログを選択する為に使用されます。 設定例:./xml/loglist.xml === feedblog_inputvalidatemode 記事の本文(Atom Feed XMLの「content」要素)上に記載された改行を、改行として表示するかを示す値です。本値はXMLを読み取る際に使用され、「0」か「1」で設定されます。 0:content要素上の改行を改行として扱わない。(※ 改行のためには<br>のようにHTML改行タグをエスケープして記載されている必要がある) 1:content要素上の改行を改行として扱う。 設定例:1 === feedblog_outputvalidatemode 記事の本文(Atom Feed XMLの「content」要素)上に記載された改行を、改行として表示するかを示す値です。本値はXMLを画面に出力する際に使用され、「0」か「1」で設定されます。 0:content要素上の改行を改行として扱わない。(※ 改行のためには<br>のようにHTML改行タグをエスケープして記載されている必要がある) 1:content要素上の改行を改行として扱う。 設定例:1 === feedblog_tagdefine 記事に付与できるタグを指定します。本値は「半角英数字のタグ本体(term)」と「識別用の文字列(label)」から構成されます。1つのタグは「term」「label」を1セットとして記載し、半角カンマで区切る物とします。複数のタグを記載する場合は「|」で区切って記載します。 設定例:music,音楽|game,ゲーム|program,プログラミング = XML(Atom Feed XML) Settings feedblogは記事のデータソースとしてAtom Feed XMLを使用します。本規格はRFC4287(参考:http://www.futomi.com/lecture/japanese/rfc4287.html)で定義されています。ここではfeedblogで使用する要素について解説します。 == entry要素 記事の1単位を示す要素です。本要素の中に記事のID、更新時間、本文などが格納されます。 == entry -> id要素(必須) 記事のIDを示す要素です。このIDは記事を唯一に識別するために、ユニークである必要があります。本値は記事の直アクセス(「このページを表示する」用リンク生成)に使用されます。 == entry -> published要素(必須) 記事の作成時間を示す要素です。本値は検索ページでの表示順ソートに使用されます。 == entry -> updated要素(必須) 記事の更新時間を示す要素です。本値は検索ページでの表示順ソートに使用されます。 == entry -> title要素 記事のタイトルを示す要素です。本値は記事のタイトルとして表示されます。必須ではありませんが、設定を推奨します。 == entry -> content要素(必須) 記事の本文を示す要素です。本値は記事の本文として使用されます。 == entry->category要素 記事のタグを示す要素です。本値は記事のタグとして使用され、同一タグに属する記事一覧の表示が可能です。 = Tips & Tricks == デザイン編集 feedblogのメニュー部分、及び、ページャ部分のレイアウトはCSSで制御されています。CSSを編集することでデザインの調整が可能です。「css/feedblog.css」ファイルを編集してください。 == プラグイン機能 「js/plugins/feedblog.contents.js」 コンテンツ描画時に実行されるプラグインです。デフォルトでは記事のタグの表が、及び、アンカーリンクの作成が記載されています。 本プラグインにはentryオブジェクトが参照渡しされ、各種情報にアクセス可能です。例えば本文は次のようにして取得できます。 alert(options.entry.content); = License / Download feedblogはBSDライセンスに準拠します。 feedblogソフトウェアの配布、修正などはsourceforge.jp(http://sourceforge.jp/projects/feedblog/)で行われています。 = Support feedblogソフトウェアの配布、修正などはsourceforge.jp(http://sourceforge.jp/projects/feedblog/)で行われています。バグレポートの登録や要望など、歓迎いたします。 設置に対する疑問点や仕様については、作者のTwitterへ質問もお寄せください。(https://twitter.com/#!/atodelie)