エクラ汎用日記帳Ver2.0のメモ
 ■エクラ汎用日記帳Ver2.0の仕様と構築メモ。

 ■変数・関数。
 Fget() Ajax汎用取得関数。
 Fx.ent() Ajaxエントリ汎用関数。
 Fx.e(s) データ取得の汎用関数。
 Fx.user Fx.eコール時のユーザー。
 Fx.uri Fx.eコール時のアドレス。
 Fx.oUser 取得完了後で要素構築後のユーザ(直前のFx.user)。
 
 ■メニューの構成
 ・カテゴリ別新着 Fx.user="all"のみのエントリ。

 ・前後の記事 Fx.pageTpe="one"のみのエントリ。
 ・最新の記事 /home/Fx.user/diary/でのエントリ。
 ・最新のコメント 上と同じ。
 ・Archives 全てでエントリ。
 ・Category 上と同じ。

 ■メニューのタグ構成
 ・コンテナ(<$$div id="menu">~<$$/div>)に入る。

 ・最新の記事のタグ構成(最大で5件の表示)
  <$$div id="latest_articles" class="link">
   <$$div class="link_title">最新の記事<$$/div>
   <$$ul class="link_text">
    <$$li id="link_o0" class="C[0-9]+"><$$a href="pageType=one">タイトル<$$/a><$$/li>
    (以下、link_o[1-4]まで繰り返し)
   <$$/ul>
  <$$/div>

 ・最新のコメントのタグ構成(最大で20件表示、設定で変更可)
  <$$div id="latest_comments" class="link">
   <$$div class="link_title">最新のコメント<$$/div>
   <$$ul class="link_text">
    <$$li><$$a href="pageType=one#commentID"><$$span class="from">from<$$/span>
    <$$span class="poster">投稿者<$$/span>
    <$$span class="to">to<$$/span>
    <$$span class="title">タイトル<$$/span><$$/a><$$/li>
    (以下、繰り返し)
   <$$/ul>
  <$$/div>

 ・前後の記事のタグ構成(最大で5件の表示。中央が現在のページでシフトする)
<$$div id="neighbors" class="link">
未更新(旧仕様)のページの場合は<$$div class="link">となっていて、#neighborsを参照できませんので注意が必要です。
<$$div class="link_title">前後の記事<$$/div>
   <$$ul class="link_text">
    <$$li id="link_l2" class="C[0-9]+"><$$a href="pageType=one">2つ先の記事タイトル<$$/a><$$/li>
    <$$li id="link_l1" class="C[0-9]+"><$$a href="pageType=one">1つ先の記事タイトル<$$/a><$$/li>
    <$$li id="link_here" class="C[0-9]+"><$$a href="pageType=one">現在表示の記事タイトル<$$/a><$$/li>
    <$$li id="link_o1" class="C[0-9]+"><$$a href="pageType=one">1つ前の記事タイトル<$$/a><$$/li>
    <$$li id="link_o2" class="C[0-9]+"><$$a href="pageType=one">2つ前の記事タイトル<$$/a><$$/li>
     ※link_hereの位置によってそれぞれ1-4までシフトする。
   <$$/ul>
  <$$/div>

 ・Archivesのタグ構成
  <$$div class="link" id="archives">
   ※classとidの記述の順序が異なりますので正規表現では注意が必要です。
   ※旧仕様の場合は、class="link" が入らないので注意が必要です。
   <$$div class="link_title">Archives<$$/div>
   <$$ul class="link_text">
    <$$li>
     <$$a class="link_year" href="/home/userID/diary/[0-9]{4}/" title="[0-9]{4}年の記事一覧">[0-9]{4}<$$/a>
     <$$a class="link_month" href="/home/userID/diary/[0-9]{4}/[0-9]{2}/" title="[0-9]{4}年[0-9]{2}月の記事">[0-9]{2}<$$/a>
     ※記事があれば繰り返し。
    <$$/li>
    ※繰り返し。
    ※現在の仕様は<$$li>~<$$/li>の前後に2つ改行が入る。旧仕様は1つ。
   <$$/ul>
  <$$/div>

 ・Categoriesのタグ構成
  <$$div class="link" id="categories">
   ※classとidの記述の順序が異なりますので正規表現では注意が必要です。
   ※旧仕様の場合は、class="link" が入らないので注意が必要です。
   <$$div class="link_title">Category<$$/div>
   <$$ul class="link_text">
    <$$li class="C[0-9]+"><$$a class="category" href="カテゴリ別uri">カテゴリ名<$$/a><$$/li>
    ※旧仕様の場合は、class="C[0-9]+"が入らないので注意が必要です。
    ※繰り返し。
    ※現在の仕様は<$$li>~<$$/li>の前後に2つ改行が入る。旧仕様は1つ。
   <$$/ul>
  <$$/div>


 ■HTMLページとCGIページでは次の違いがある。
  1.連続した複数の空行はCGIページでは一行になる。この違いは大きいな。

 ■カレンシステムのソースコードの配色。
s = s.replace(/\[(beforeExec|body|cssText|exec|boot)\](.+?)(\[\/\1\])/g, function(e0,e1,e2,e3){
return "<$$div class='code'>[" + e1 + "]<$$/div><$$div class='codeDef code_" + e1 + "'>" + e2.replace(/\x20\x20/g, " ") + "<$$/div>"<$$div class='code'>" + e3 + "<$$/div>";});
div.code {font-weight:bold; color:brown;}
div.codeDef {
line-height:1.0em; font-family:'MS Gothic';
background:url(files/kabe12.gif);
}
div.code_beforeExec {color:darkgreen;}
div.code_cssText {color:tomato;}
div.code_body {color:#808080;}
div.code_exec {color:darkgreen;}

 ※ひとまず完了。

 ■月別の記事表示を逆に並び替える。(時間を追って上から読める)
if(Fx.uri.match(/\/home\/[a-z0-9\-]+\/diary\/\d{4}\/\d\d\/$/)){
if(main.match(/\x3chr \/>/)){
var s1 = main.split("<" + "hr />");
main = s1.shift();
s1.reverse();
main += s1.join("");
} else {
main += "どうやら一件も日記がないようです。";
}
}