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