OSDN Git Service

- fixed generator bug(when change logfile, tags are not deleted).
authorKureha Hisame <kureha@gmail.com>
Fri, 13 Sep 2013 14:21:56 +0000 (23:21 +0900)
committerKureha Hisame <kureha@gmail.com>
Fri, 13 Sep 2013 14:21:56 +0000 (23:21 +0900)
- optimized id access method.

js/lunardial/feedblog.js
js/lunardial/feedblog_generator.js
js/lunardial/feedblog_search.js

index e0fb5c3..7930c80 100644 (file)
@@ -4,7 +4,7 @@
  * @copyright 2013 FeedBlog Project (http://sourceforge.jp/projects/feedblog/)\r
  * @author Kureha Hisame (http://lunardial.sakura.ne.jp/) & Yui Naruse (http://airemix.com/)\r
  * @since 2009/02/27\r
- * @version 4.1.0.0\r
+ * @version 4.1.0.1\r
  */\r
 \r
 // ブログ本体のHTMLファイルのURL\r
@@ -321,7 +321,8 @@ Semaphore.prototype.init = function() {
        this.id = Math.random();\r
        this.count = 0;\r
        this.buf = [];\r
-}\r
+};\r
+\r
 /**\r
  * ログファイル選択用のコンボボックスをid名:feedblog_logselecterに生成します\r
  * class - .feedblog_logform, .feedblog_logselecter\r
@@ -355,7 +356,7 @@ function logXMLLoader() {
  */\r
 function fullWriteMode(fileName) {\r
        // ロードエフェクトに切り替え\r
-       loadingEffect()\r
+       loadingEffect();\r
 \r
        var url = fileName;\r
 \r
@@ -592,6 +593,11 @@ function searchTagMode(tag) {
  * タグ検索用のjQueryコールバック関数\r
  */\r
 function fetchTagEntries(xmlData) {\r
+       // 既に記事の表示が行われている場合、何も実施しない\r
+       if (fetchEntriesSemaphore.buf.length > 0) {\r
+               return true;\r
+       }\r
+\r
        // タグを取得する\r
        var tag = getParamFromUrl("tag");\r
 \r
@@ -625,7 +631,7 @@ function fetchTagEntries(xmlData) {
                entries = entries.sort(function(a, b) {\r
                        a = a.id;\r
                        b = b.id;\r
-                       return a > b ? -1 : a < b ? 1 : 0\r
+                       return a > b ? -1 : a < b ? 1 : 0;\r
                });\r
 \r
                loadedEntries = entries;\r
@@ -661,7 +667,7 @@ function showEntriesRange(showLength, startIndex) {
        var menuInfoBuffer = [];\r
        menuInfoBuffer.push("<div class='feedblog_pager_shownumber'>");\r
        var viewStartIndex = 0;\r
-       entries.length == 0 ? viewStartIndex = 0 : viewStartIndex = startIndex + 1\r
+       entries.length == 0 ? viewStartIndex = 0 : viewStartIndex = startIndex + 1;\r
        menuInfoBuffer.push(viewStartIndex + "件~" + loopLimit + "件(全" + entries.length + "件)目の記事を表示中<br/>");\r
        menuInfoBuffer.push("</div>");\r
 \r
@@ -717,7 +723,7 @@ function showEntriesRange(showLength, startIndex) {
                stringBuffer.push(i);\r
                stringBuffer.push('"><div class="feedblog_drawitem" id="feedblog_drawitem');\r
                stringBuffer.push(i);\r
-               stringBuffer.push('"><\/div><\/div>')\r
+               stringBuffer.push('"><\/div><\/div>');\r
        }\r
 \r
        // メニューを結合してパネル(後方)に組み込みます\r
index acf5c88..95fc466 100644 (file)
@@ -4,7 +4,7 @@
  * @copyright 2009 FeedBlog Project (http://sourceforge.jp/projects/feedblog/)\r
  * @author Kureha Hisame (http://lunardial.sakura.ne.jp/) & Yui Naruse (http://airemix.com/)\r
  * @since 2009/06/03\r
- * @version 3.1.1.0\r
+ * @version 4.1.0.1\r
  */\r
 // Feex XMLの<content>要素で、<br>を使用しているか?\r
 var inputValidateMode = 1;\r
@@ -29,13 +29,13 @@ function applyChange() {
        feedInfo = applyFeedinfo();\r
        pageAddr = feedInfo.alternate;\r
 \r
-       if(document.getElementById("entry_title").value == "" || document.getElementById("entry_stdin").value == "") {\r
-               if(confirm("タイトルか記事が空白です!FeedBlogでの表示時にエラーが出ますがよろしいですか?") == false) {\r
+       if (document.getElementById("entry_title").value == "" || document.getElementById("entry_stdin").value == "") {\r
+               if (confirm("タイトルか記事が空白です!FeedBlogでの表示時にエラーが出ますがよろしいですか?") == false) {\r
                        return;\r
                }\r
        }\r
 \r
-       if(editIndex < 0) {\r
+       if (editIndex < 0) {\r
                var entry = new Object();\r
                var dateRfc3339 = getDate();\r
                entry.id = pageAddr + "?" + dateRfc3339;\r
@@ -74,7 +74,7 @@ function applyChange() {
  */\r
 function openMixiWindow() {\r
        // 日記が選択されていない場合は何もしない\r
-       if(editIndex < 0) {\r
+       if (editIndex < 0) {\r
                return;\r
        }\r
 \r
@@ -98,7 +98,7 @@ function mixiWrapper(contents) {
        var target_element;\r
 \r
        // ニコニコ動画のタグを置換\r
-       while( target_tag = contents.match(/<iframe[^>]*src=["']http:\/\/ext.nicovideo.jp\/thumb\/[A-Za-z]*\d*["'][^>]*>[^<]*<\/iframe>/i)) {\r
+       while ( target_tag = contents.match(/<iframe[^>]*src=["']http:\/\/ext.nicovideo.jp\/thumb\/[A-Za-z]*\d*["'][^>]*>[^<]*<\/iframe>/i)) {\r
                // src="..."の部分だけ抜き出す\r
                target_element = target_tag[0].match(/src=["'][^"']*["']/i);\r
                target_element = '&lt;externalvideo src=&quot;NC:' + target_element[0].replace(/src=["']http:\/\/ext.nicovideo.jp\/thumb\/|["']/ig, "") + ':D&quot;&gt;';\r
@@ -107,7 +107,7 @@ function mixiWrapper(contents) {
        }\r
 \r
        // Aタグを変換する\r
-       while(contents.match(/<a[^>]*>/)) {\r
+       while (contents.match(/<a[^>]*>/)) {\r
                // 置換対象のAタグを抽出する\r
                target_tag = contents.match(/<a[^>]*>/i);\r
                // href="..."の部分のみを抜き出す\r
@@ -121,7 +121,7 @@ function mixiWrapper(contents) {
        }\r
 \r
        // ブロック要素のタグが存在した場合、改行をその後に挿入します。\r
-       if(document.getElementById("isCoverBlockTag").checked) {\r
+       if (document.getElementById("isCoverBlockTag").checked) {\r
                contents = contents.replace(/<(div|h\d)[^>]*>/ig, "-----------------------------------------------------------------------------\n");\r
                contents = contents.replace(/(\n|)<\/(div|h\d)>/ig, "\n-----------------------------------------------------------------------------\n");\r
        } else {\r
@@ -151,16 +151,16 @@ function mixiWrapper(contents) {
  * @param {int} index entryListから削除される記事のインデックス\r
  */\r
 function removeEntry(index) {\r
-       if(editIndex == 0) {\r
+       if (editIndex == 0) {\r
                entryList.splice(editIndex, 1);\r
                refleshEntrylistBox();\r
                editIndex = -1;\r
 \r
-               document.getElementById("stdout").value = ""\r
+               document.getElementById("stdout").value = "";\r
                document.getElementById("entry_title").value = "";\r
                document.getElementById("entry_stdin").value = "";\r
        }\r
-       if(editIndex > 0) {\r
+       if (editIndex > 0) {\r
                var prevIndex = document.getElementById("logBox").selectedIndex - 1;\r
                entryList.splice(editIndex, 1);\r
                refleshEntrylistBox();\r
@@ -183,7 +183,7 @@ function allRemoveEntry() {
        editIndex = -1;\r
        refleshEntrylistBox();\r
 \r
-       document.getElementById("stdout").value = ""\r
+       document.getElementById("stdout").value = "";\r
        document.getElementById("entry_title").value = "";\r
        document.getElementById("entry_stdin").value = "";\r
 }\r
@@ -196,7 +196,7 @@ function initialize() {
        outputValidateMode = $("#feedblog_outputvalidatemode").val();\r
        logXmlUrl = $("#feedblog_loglistxmlurl").val();\r
 \r
-       if(outputValidateMode == "1") {\r
+       if (outputValidateMode == "1") {\r
                document.getElementById("feedblog_addcontentbr").checked = true;\r
        } else {\r
                document.getElementById("feedblog_addcontentbr").checked = false;\r
@@ -230,8 +230,8 @@ function logXMLLoader() {
                        // 読み込んだ要素をStoreに格納して表示\r
                        var boxBuffer = [];\r
                        boxBuffer.push("<form name='logform'><select name='logbox' onchange='xmlLoader(this.options[this.selectedIndex].value)'>");\r
-                       for(var i = 0; i < separateTag.length; i++) {\r
-                               if(i == 0) {\r
+                       for (var i = 0; i < separateTag.length; i++) {\r
+                               if (i == 0) {\r
                                        initUrl = separateTag[i].getElementsByTagName("path")[0].firstChild.nodeValue;\r
                                }\r
                                boxBuffer.push("<option value='" + separateTag[i].getElementsByTagName("path")[0].firstChild.nodeValue + "'/>" + separateTag[i].getElementsByTagName("display")[0].firstChild.nodeValue + " (" + separateTag[i].getElementsByTagName("path")[0].firstChild.nodeValue + ")" + "</option>");\r
@@ -275,7 +275,7 @@ function analyzeTargetXml(xmlData) {
        entryList = [];\r
 \r
        feedInfo = new FeedInfo(rootTag[0]);\r
-       for(var i = 0; i < entryTag.length; i++) {\r
+       for (var i = 0; i < entryTag.length; i++) {\r
                entryList.push(new Entry(entryTag[i]));\r
        }\r
 \r
@@ -285,6 +285,7 @@ function analyzeTargetXml(xmlData) {
        refleshEntrylistBox();\r
        document.getElementById("entry_title").value = "";\r
        document.getElementById("entry_stdin").value = "";\r
+       document.getElementById("entry_category").innerHTML = "";\r
        document.getElementById("stdout").value = "";\r
        editIndex = -1;\r
 \r
@@ -329,7 +330,7 @@ function applyFeedinfo() {
  * @param {int} index\r
  */\r
 function entryLoader(index) {\r
-       if(index < 0) {\r
+       if (index < 0) {\r
                document.getElementById("entry_title").value = "";\r
                document.getElementById("entry_stdin").value = "";\r
                addTagSelectBoxFromCategory([]);\r
@@ -352,7 +353,7 @@ function refleshEntrylistBox() {
        var stringBuffer = [];\r
        stringBuffer.push("<form name='logform'><select id='logBox' onchange='entryLoader(this.options[this.selectedIndex].value)'>");\r
        stringBuffer.push("<option value='-1'>新規作成</option>");\r
-       for(var i = 0; i < entryList.length; i++) {\r
+       for (var i = 0; i < entryList.length; i++) {\r
                stringBuffer.push("<option value='" + i + "'/>" + entryList[i].title + "</option>");\r
        }\r
        stringBuffer.push("</select></form>");\r
@@ -392,16 +393,16 @@ function Entry(obj) {
        var categoryList = [];\r
        var categories = $("category", obj);\r
        var tempCategory = {};\r
-       for(var i = 0; i < categories.length; i++) {\r
+       for (var i = 0; i < categories.length; i++) {\r
                tempCategory = {\r
                        "term" : categories.eq(i).attr("term"),\r
                        "label" : categories.eq(i).attr("label")\r
                };\r
                categoryList.push(tempCategory);\r
        }\r
-       this.category = categoryList\r
+       this.category = categoryList;\r
 \r
-       if(inputValidateMode == 1) {\r
+       if (inputValidateMode == 1) {\r
                this.content = this.content.replace(/[\r\n]|\r\n/g, "");\r
                this.content = this.content.replace(/<br[ \/]*>/ig, "\n");\r
                this.content = this.content.replace(/^[ \t]*/mg, "");\r
@@ -433,9 +434,9 @@ function toXml(finfo, elist) {
        stringBuffer.push('</author>');\r
        stringBuffer.push('');\r
 \r
-       for(var i = 0; i < elist.length; i++) {\r
+       for (var i = 0; i < elist.length; i++) {\r
                var temp_content;\r
-               if(document.getElementById("feedblog_addcontentbr").checked) {\r
+               if (document.getElementById("feedblog_addcontentbr").checked) {\r
                        temp_content = xmlAttrContentEscape(convertContent(elist[i].content));\r
                } else {\r
                        temp_content = xmlAttrContentEscape(elist[i].content);\r
@@ -450,7 +451,7 @@ function toXml(finfo, elist) {
                stringBuffer.push('<link href="' + elist[i].link + '" />');\r
                stringBuffer.push('<content type="html">' + temp_content + '</content>');\r
 \r
-               for(var j = 0; j < elist[i].category.length; j++) {\r
+               for (var j = 0; j < elist[i].category.length; j++) {\r
                        var tmpElist = elist[i].category[j];\r
                        stringBuffer.push('<category term="' + tmpElist["term"] + '" label="' + tmpElist["label"] + '"/>');\r
                }\r
@@ -469,7 +470,7 @@ function toXml(finfo, elist) {
  * @param {String} content\r
  */\r
 function convertContent(content) {\r
-       if(document.getElementById("feedblog_addcontentbr").checked) {\r
+       if (document.getElementById("feedblog_addcontentbr").checked) {\r
                content = content.replace(/[\n\r]|\r\n/g, "<br>\n");\r
        } else {\r
                content = content.replace(/<br>/ig, "\n");\r
@@ -522,15 +523,15 @@ function getDate() {
        var sSecond = dNow.getSeconds();\r
 \r
        // 10以下の時は頭に"0"を挿入\r
-       if(sMonth < 10)\r
+       if (sMonth < 10)\r
                sMonth = "0" + sMonth;\r
-       if(sDate < 10)\r
+       if (sDate < 10)\r
                sDate = "0" + sDate;\r
-       if(sHour < 10)\r
+       if (sHour < 10)\r
                sHour = "0" + sHour;\r
-       if(sMinute < 10)\r
+       if (sMinute < 10)\r
                sMinute = "0" + sMinute;\r
-       if(sSecond < 10)\r
+       if (sSecond < 10)\r
                sSecond = "0" + sSecond;\r
 \r
        return sYear + "-" + sMonth + "-" + sDate + "T" + sHour + ":" + sMinute + ":" + sSecond + "+09:00";\r
@@ -543,9 +544,9 @@ function getTags() {
        var tagList = [];\r
        var tagListHtml = $("*[name=tag]");\r
        var tagTemp = {};\r
-       for(var i = 0; i < tagListHtml.length; i++) {\r
+       for (var i = 0; i < tagListHtml.length; i++) {\r
                // 各tag要素を取得して配列に格納\r
-               if(tagListHtml.eq(i).val() != "") {\r
+               if (tagListHtml.eq(i).val() != "") {\r
                        tagTemp = {\r
                                "term" : tagListHtml.eq(i).val(),\r
                                "label" : tagListHtml.eq(i).find(":selected").text()\r
@@ -562,18 +563,20 @@ function getTags() {
  */\r
 function getDefaultTags() {\r
        // デフォルトのタグ一覧を取得\r
+       // $term1,$label1|$term2,$label2 ... で定義されている\r
        var plainTagText = $("#feedblog_tagdefine").val();\r
        var tagList = [];\r
        var tagTemp = {};\r
+       // 値が空のタグを初期値として先頭に追加\r
        tagList.push({\r
                "term" : "",\r
                "label" : "タグを選択してください"\r
        });\r
-       for(var i = 0; i < plainTagText.split('/').length; i++) {\r
+       for (var i = 0; i < plainTagText.split('|').length; i++) {\r
                // 各tag要素を取得して配列に格納\r
                tagTemp = {\r
-                       "term" : plainTagText.split('/')[i].split(',')[0],\r
-                       "label" : plainTagText.split('/')[i].split(',')[1]\r
+                       "term" : plainTagText.split('|')[i].split(',')[0],\r
+                       "label" : plainTagText.split('|')[i].split(',')[1]\r
                };\r
                tagList.push(tagTemp);\r
        }\r
@@ -589,7 +592,7 @@ function addTagSelectBox() {
        var addHtml = [];\r
 \r
        addHtml.push('<select name="tag">');\r
-       for(var i = 0; i < tagList.length; i++) {\r
+       for (var i = 0; i < tagList.length; i++) {\r
                addHtml.push('<option value="' + tagList[i]["term"] + '">' + tagList[i]["label"] + '</option>');\r
        }\r
        addHtml.push('</select>');\r
@@ -602,7 +605,7 @@ function addTagSelectBox() {
  */\r
 function addTagSelectBoxFromCategory(categoryList) {\r
        $("#entry_category").html("");\r
-       for(var j = 0; j < categoryList.length; j++) {\r
+       for (var j = 0; j < categoryList.length; j++) {\r
                // 選択対象を取得\r
                var selectedTagTerm = categoryList[j]["term"];\r
                var selectedTagLabel = categoryList[j]["label"];\r
@@ -611,8 +614,8 @@ function addTagSelectBoxFromCategory(categoryList) {
                var tagList = getDefaultTags();\r
                var addHtml = [];\r
                addHtml.push('<select name="tag">');\r
-               for(var i = 0; i < tagList.length; i++) {\r
-                       if(tagList[i]["term"] == selectedTagTerm && tagList[i]["label"] == selectedTagLabel) {\r
+               for (var i = 0; i < tagList.length; i++) {\r
+                       if (tagList[i]["term"] == selectedTagTerm && tagList[i]["label"] == selectedTagLabel) {\r
                                addHtml.push('<option value="' + tagList[i]["term"] + '" selected="selected">' + tagList[i]["label"] + '</option>');\r
                                selectedTagSetFlag = true;\r
                        } else {\r
@@ -620,7 +623,7 @@ function addTagSelectBoxFromCategory(categoryList) {
                        }\r
                }\r
 \r
-               if(!selectedTagSetFlag) {\r
+               if (!selectedTagSetFlag) {\r
                        addHtml.push('<option value="' + selectedTagTerm + '" selected="selected">' + selectedTagLabel + '</option>');\r
                }\r
 \r
index bec6bba..2e09ac0 100644 (file)
@@ -4,7 +4,7 @@
  * @copyright 2013 FeedBlog Project (http://sourceforge.jp/projects/feedblog/)\r
  * @author Kureha Hisame (http://lunardial.sakura.ne.jp/) & Yui Naruse (http://airemix.com/)\r
  * @since 2009/02/27\r
- * @version 4.1.0.0\r
+ * @version 4.1.0.1\r
  */\r
 \r
 // ブログ本体のHTMLファイルのURL\r
@@ -51,7 +51,7 @@ var fetchEntriesSemaphore = new Semaphore();
  */\r
 function generatePanel(entry, drawitem, renderto, closed) {\r
        // プラグインを実行\r
-       if( typeof ($("#" + renderto).feedblog_contents_plugin) == "function") {\r
+       if ( typeof ($("#" + renderto).feedblog_contents_plugin) == "function") {\r
                $("#" + renderto).feedblog_contents_plugin({\r
                        entry : entry,\r
                        mainPageUrl : mainPageUrl,\r
@@ -135,7 +135,7 @@ function initialize() {
        searchPageUrl = $("#feedblog_searchpageurl").val();\r
        logXmlUrl = $("#feedblog_loglistxmlurl").val();\r
        showLength = parseInt($("#feedblog_showlength").val());\r
-       if(isNaN(showLength)) {\r
+       if (isNaN(showLength)) {\r
                showLength = 1;\r
        }\r
        validateMode = $("#feedblog_validatemode").val();\r
@@ -168,16 +168,16 @@ function closePanel(id) {
  */\r
 function Entry(obj) {\r
        this.title = $("title:first", obj).text();\r
-       if(this.title == "")\r
+       if (this.title == "")\r
                requiredElementError(obj, "title");\r
        this.title = validateText(this.title);\r
        this.content = $("content:first", obj).text();\r
        this.content = validateText(this.content);\r
        this.id = $("id:first", obj).text();\r
-       if(this.id == "")\r
+       if (this.id == "")\r
                requiredElementError(obj, "id");\r
        this.date = $("updated:first", obj).text();\r
-       if(this.date == "")\r
+       if (this.date == "")\r
                requiredElementError(obj, "updated");\r
        this.date = validateData(this.date);\r
        this.category = $("category", obj);\r
@@ -206,15 +206,16 @@ function SystemEntry(obj) {
  */\r
 Entry.prototype.hasKeywords = function(keywords, regexpType) {\r
        // 正規表現が一致するかという判定"のみ"を行います\r
-       for(var i = 0; i < keywords.length; i++) {\r
+       for (var i = 0; i < keywords.length; i++) {\r
                // 正規表現チェック用のオブジェクトを用意します(OR条件は一時的に条件を置換)\r
                var reg = new RegExp('(?:' + keywords[i] + ')(?![^<>]*>)', regexpType);\r
                // 一致しなかったらその時点で脱出\r
-               if(!reg.test(this.content) && !reg.test(this.title))\r
+               if (!reg.test(this.content) && !reg.test(this.title))\r
                        return false;\r
        }\r
        return true;\r
-}\r
+};\r
+\r
 /**\r
  * 呼び出すとDIV:id名:feedblog_writearea上のHTMLを削除し、ロードエフェクトを表示します\r
  */\r
@@ -292,7 +293,7 @@ function validateData(data) {
  */\r
 function validateText(contents) {\r
        // <br/>タグを挿入する\r
-       if(validateMode == 0) {\r
+       if (validateMode == 0) {\r
                contents = contents.replace(/[\n\r]|\r\n/g, "<br />");\r
        }\r
 \r
@@ -352,13 +353,14 @@ function Semaphore() {
  * セマフォ初期化用の関数です\r
  */\r
 Semaphore.prototype.init = function() {\r
-       while(this.xhrs.length > 0) {\r
+       while (this.xhrs.length > 0) {\r
                this.xhrs.shift().abort();\r
        }\r
        this.id = Math.random();\r
        this.count = 0;\r
        this.buf = [];\r
-}\r
+};\r
+\r
 /**\r
  * ログファイル選択用のコンボボックスをid名:feedblog_logselecterに生成します\r
  */\r
@@ -370,12 +372,12 @@ function logXMLLoader() {
                error : showError,\r
                success : function(xmlData) {\r
                        var separateTag = xmlData.getElementsByTagName("file");\r
-                       logData = new Array(separateTag.length)\r
+                       logData = new Array(separateTag.length);\r
 \r
                        // 読み込んだ要素をStoreに格納して表示\r
                        var boxBuffer = [];\r
                        boxBuffer.push("<select class='feedblog_logselecter' id='feedblog_logbox'>");\r
-                       for(var i = 0; i < separateTag.length; i++) {\r
+                       for (var i = 0; i < separateTag.length; i++) {\r
                                boxBuffer.push("<option value='" + separateTag[i].getElementsByTagName("path")[0].firstChild.nodeValue + "'>" + separateTag[i].getElementsByTagName("display")[0].firstChild.nodeValue + "</option>");\r
                                logData[i] = separateTag[i].getElementsByTagName("path")[0].firstChild.nodeValue;\r
                        }\r
@@ -392,7 +394,7 @@ function logXMLLoader() {
  */\r
 function getSearchWords() {\r
        var searchWord = document.getElementById("feedblog_searchword").value;\r
-       if(searchWord == "")\r
+       if (searchWord == "")\r
                return null;\r
        var searchWords = [];\r
 \r
@@ -428,10 +430,10 @@ function complexEmphasize(searchWord, plainText, regexpType) {
        // 現在マッチしている部分文字列の、現在の末尾\r
        var m;\r
        // 正規表現マッチの結果配列\r
-       while( m = pattern.exec(plainText)) {\r
-               if(m.index > currentLastIndex) {\r
+       while ( m = pattern.exec(plainText)) {\r
+               if (m.index > currentLastIndex) {\r
                        // 新しい部分文字列へのマッチが始まったので、そこまでの文字列をバッファに書き出す\r
-                       if(currentIndex < currentLastIndex)\r
+                       if (currentIndex < currentLastIndex)\r
                                result.push(emphasizeWord(plainText.substring(currentIndex, currentLastIndex)));\r
                        result.push(plainText.substring(currentLastIndex, m.index));\r
                        // 開始位置の更新\r
@@ -443,7 +445,7 @@ function complexEmphasize(searchWord, plainText, regexpType) {
                pattern.lastIndex = m.index + 1;\r
        }\r
        // 残った文字列を書き出す\r
-       if(currentIndex < currentLastIndex)\r
+       if (currentIndex < currentLastIndex)\r
                result.push(emphasizeWord(plainText.substring(currentIndex, currentLastIndex)));\r
        result.push(plainText.substring(currentLastIndex));\r
 \r
@@ -461,7 +463,7 @@ function showEntriesRange(showLength, startIndex) {
        var entries = loadedEntries;\r
 \r
        // 表示インデックスが範囲外の場合はエラーパネルを表示して終了\r
-       if(startIndex < 0 || entries.length <= startIndex) {\r
+       if (startIndex < 0 || entries.length <= startIndex) {\r
                showError();\r
                return;\r
        }\r
@@ -472,17 +474,17 @@ function showEntriesRange(showLength, startIndex) {
        var loopLimit = (showLength + startIndex > entries.length) ? entries.length : showLength + startIndex;\r
        var indexShowEntries = loopLimit + 1;\r
 \r
-       for(var i = startIndex; i < loopLimit; i++) {\r
+       for (var i = startIndex; i < loopLimit; i++) {\r
                stringBuffer.push('<div class="feedblog_drawpanel" id="feedblog_drawpanel');\r
                stringBuffer.push(i);\r
                stringBuffer.push('"><div class="feedblog_drawitem" id="feedblog_drawitem');\r
                stringBuffer.push(i);\r
-               stringBuffer.push('"><\/div><\/div>')\r
+               stringBuffer.push('"><\/div><\/div>');\r
        }\r
        $("#feedblog_writearea").html(stringBuffer.join(''));\r
 \r
        stringBuffer.length = 0;\r
-       for( i = startIndex; i < loopLimit; i++) {\r
+       for ( i = startIndex; i < loopLimit; i++) {\r
                var entry = entries[i];\r
                generatePanel(entry, "feedblog_drawitem" + i, "feedblog_drawpanel" + i, false);\r
        }\r
@@ -496,7 +498,7 @@ function showEntriesRange(showLength, startIndex) {
        menuBuffer.push("<li class='feedblog_pager_blank'></li>");\r
 \r
        // 左パネルの表示制御\r
-       if(startIndex - showLength >= 0) {\r
+       if (startIndex - showLength >= 0) {\r
                menuBuffer.push("\<li class='feedblog_pager_goback'><span class='feedblog_pager_goback' onclick='showEntriesRange(" + showLength + ", " + (startIndex - showLength) + "); return false;'>\< 前の" + showLength + "件を表示</span\></li>");\r
        } else {\r
                menuBuffer.push("\<li class='feedblog_pager_goback'>\< 前の" + showLength + "件を表示</a\></li>");\r
@@ -505,8 +507,8 @@ function showEntriesRange(showLength, startIndex) {
        // 中央のパネルの表示制御\r
        menuBuffer.push("<li class='feedblog_pager_center'>[ ");\r
        var menuNumbers = Math.ceil(entries.length / showLength);\r
-       for( i = 0; i < menuNumbers; i++) {\r
-               if(startIndex / showLength == i) {\r
+       for ( i = 0; i < menuNumbers; i++) {\r
+               if (startIndex / showLength == i) {\r
                        menuBuffer.push(i + " ");\r
                } else {\r
                        menuBuffer.push("<span class='feedblog_pager_center' onclick='showEntriesRange(" + showLength + ", " + (i * showLength) + "); return false;'>");\r
@@ -517,7 +519,7 @@ function showEntriesRange(showLength, startIndex) {
        menuBuffer.push("]</li>");\r
 \r
        // 右パネルの表示制御\r
-       if(entries.length > startIndex + showLength) {\r
+       if (entries.length > startIndex + showLength) {\r
                menuBuffer.push("\<li class='feedblog_pager_gonext'><span class='feedblog_pager_gonext' onclick='showEntriesRange(" + showLength + ", " + (startIndex + showLength) + "); return false;'>次の" + showLength + "件を表示 \></span\></li>");\r
        } else {\r
                menuBuffer.push("\<li class='feedblog_pager_gonext'>次の" + showLength + "件を表示 \></li>");\r
@@ -544,11 +546,11 @@ function fetchEntries(xmlData) {
        var entries = xmlData.getElementsByTagName("entry");\r
 \r
        // entry要素の回数だけ実行します\r
-       for(var j = 0; j < entries.length; j++) {\r
+       for (var j = 0; j < entries.length; j++) {\r
                var entry = new Entry(entries[j]);\r
 \r
                // 正規表現が一致した場合は、強調表現処理を行います\r
-               if(entry.hasKeywords(currentSearchWords, regexpType)) {\r
+               if (entry.hasKeywords(currentSearchWords, regexpType)) {\r
                        // 強調表現を実行します\r
                        entry.title = complexEmphasize(currentSearchWords.join("|"), entry.title, regexpType);\r
                        entry.content = complexEmphasize(currentSearchWords.join("|"), entry.content, regexpType);\r
@@ -561,11 +563,11 @@ function fetchEntries(xmlData) {
        fetchEntriesSemaphore.count--;\r
 \r
        // 全てのログを読み終わったら表示\r
-       if(fetchEntriesSemaphore.count == 0) {\r
+       if (fetchEntriesSemaphore.count == 0) {\r
                var entries = fetchEntriesSemaphore.buf;\r
 \r
                // 一軒も検索にヒットしなかった場合は専用のパネルを表示して終了\r
-               if(entries.length == 0) {\r
+               if (entries.length == 0) {\r
                        notFoundError();\r
                        return;\r
                }\r
@@ -574,7 +576,7 @@ function fetchEntries(xmlData) {
                entries = entries.sort(function(a, b) {\r
                        a = a.id;\r
                        b = b.id;\r
-                       return a > b ? -1 : a < b ? 1 : 0\r
+                       return a > b ? -1 : a < b ? 1 : 0;\r
                });\r
 \r
                loadedEntries = entries;\r
@@ -593,7 +595,7 @@ function searchDiary() {
 \r
        // 探索したい単語を取得します\r
        currentSearchWords = getSearchWords();\r
-       if(!currentSearchWords) {\r
+       if (!currentSearchWords) {\r
                alert("検索対象の単語が入力されていません");\r
                // 検索結果の欄をリセットします\r
                $("#feedblog_resultwritearea").html("<div class='feedblog_result_status'></div>");\r
@@ -611,7 +613,7 @@ function searchDiary() {
        // 記事が全検索モードか否かをチェックします\r
        var isAsyncOn = null;\r
        var urls = null;\r
-       if(allCheckedFlag == true) {\r
+       if (allCheckedFlag == true) {\r
                // 全文検索時、通信のモードが非同期か否か\r
                isAsyncOn = document.getElementById("feedblog_isAsyncOn").checked;\r
                // 全記事検索なので全てのログのURL\r
@@ -622,7 +624,7 @@ function searchDiary() {
        }\r
        fetchEntriesSemaphore.urls = urls;\r
        fetchEntriesSemaphore.count = urls.length;\r
-       for( i = 0; i < urls.length; i++) {\r
+       for ( i = 0; i < urls.length; i++) {\r
                var xhr = new jQuery.ajax({\r
                        url : urls[i],\r
                        method : "GET",\r