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」になりました。
例:<input type="hidden" id="feedblog_mainpageurl" value="./index.html">

latestXml

version.4では「feedblog_latestxml」になりました。
例:<input type="hidden" id="feedblog_latestxml" value="./xml/diary.xml">

logXmlUrl

version.4では「feedblog_loglistxmlurl」になりました。
例:<input type="hidden" id="feedblog_loglistxmlurl" value="./xml/loglist.xml">

extPanelWidth

version.4では廃止されました。CSSへの定義となります。

extComboWidth

version.4では廃止されました。CSSへの定義となります。

entrySpan

version.4では廃止されました。CSSへの定義となります。

showLength

version.4では「feedblog_showlength」になりました。
例:<input type="hidden" id="feedblog_showlength" value="3">

validateMode

version.4では「feedblog_validatemode」になりました。
例:<input type="hidden" id="feedblog_validatemode" value="1">

設定値の追加について

一部、設定値の追加があります。追加内容は以下の通りです。

feedblog_searchpageurl

feedblogの検索ページ(同梱内容ではsearch.htmlに相当するファイル)のURLを定義してください。設置していない場合は空白としてください。


例:<input type="hidden" id="feedblog_searchpageurl" value="./search.html">

描画エリアの変更について

feedblogで使用している描画用のDIV用IDが変更になっています。
IDの対応は次の通りです。

ブログツール・ソフトウェア本体(feedblog.js)

writeArea

version.4では「feedblog_writearea」になりました。
例:<div id="feedblog_writearea"></div>

logSelecter

version.4では「feedblog_logselecter」になりました。
例:<div id="feedblog_logselecter"></div>

ブログツール・記事検索ソフトウェア(feedblog_search.js)

genForm

version.4では「feedblog_searchform」になりました。
例:<div id="feedblog_searchform">

resultArea

version.4では「feedblog_resultwritearea」(検索結果件数のみ表示)と「feedblog_writearea」(検索結果の記事を表示)の二つになりまし

た。
例:<div id='feedblog_resultwritearea'></div>
  <br>
  <div id="feedblog_writearea"></div>

Instructions

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上の情報が画面に表示されます。

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要素上の改行を改行として扱わない。(※ 改行のためには&lt;br&gt;のように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要素上の改行を改行として扱わない。(※ 改行のためには&lt;br&gt;のようにHTML改行タグをエスケープして記載されている必要が

ある)
1:content要素上の改行を改行として扱う。
設定例:1

feedblog_outputvalidatemode

記事の本文(Atom Feed XMLの「content」要素)上に記載された改行を、改行として表示するかを示す値です。本値はXMLを画面に出力する際に

使用され、「0」か「1」で設定されます。
0:content要素上の改行を改行として扱わない。(※ 改行のためには&lt;br&gt;のように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