日書隨筆

樹狀語法

這篇,還有以後分在這個類別下面的文章通通都是備忘用。語法本身是來自於逛網路蒐集到的,會於文章後附上原出處(但如果原出處的網頁掛了那我也沒辦法,怕死連結也是會做倉庫的原因)。我也不是語法達人,所以如果有人問問題,我也只能視情況回應囉。


樹狀語法備忘:
1.在外掛欄位(プラグインの設定)的最下方開個新欄位。把下面的語法都貼進去。此欄位一定要位於最下方,因為比它下面的欄位就無法使用此語法。
<p class=”plugin-freearea” &align>
&freearea
</p>
在底下多加入這段語法
<script type=”text/javascript”>
function makeTreeElements (idName,objList) {
if (!objList.innerHTML) return;
var objLink = objList.getElementsByTagName(‘a’)[0];
var linkUrl = objLink.getAttribute(‘href’);
if (idName.indexOf(‘comment’) > -1 || idName.indexOf(‘tb’) > -1) {
var tmpText = objList.innerHTML.split(“∟”);
tmpText[0] = tmpText[0].slice(0,tmpText[0].search(/<BR/i));
this.base = Array(‘<a href=”‘,linkUrl,'”>’,tmpText[0],’</a>’).join(”);
this.elem = objLink.innerHTML;
} else if (idName.indexOf(‘entry’) > -1) {
var tmpText = objList.innerHTML;
tmpText.match(/\((\d\d\/\d\d)\)/);
this.base = Array(‘<strong>’,RegExp.$1,’</strong>’).join(”);
this.elem = Array(‘<a href=”‘,linkUrl,'”>’,objLink.innerHTML,’</a>’).join(”);
} else if (idName.indexOf(‘link’) > -1) {
var tmpText = objList.innerHTML;
if ( tmpText.match(/\[(.+)\](.+)/) ) {
this.base = Array(‘<strong>’,RegExp.$1,’</strong>’).join(”);
this.elem = Array(‘<a href=”‘,linkUrl,'” target=”_blank”>’,RegExp.$2,’</a>’).join(”);
}
<!– ▼ツリー化スクリプトのカテゴリ・アーカイブ対応(ここから) –>
} else if (idName.indexOf(‘category’) > -1) {
var tmpText = objList.innerHTML;
if ( tmpText.match(/\[(.+)\](.+)/) ) {
this.base = Array(”,RegExp.$1,”).join(”);
this.elem = Array(‘<a href=”‘,linkUrl,'”>’,RegExp.$2).join(”);
}
} else if (idName.indexOf(‘archive’) > -1) {
var tmpText = objList.innerHTML;
tmpText.match(/\((\d+)\)/);
var tmpCnt = Array(‘ (‘, RegExp.$1, ‘)’).join(”);
tmpText = objLink.innerHTML;
tmpText.match(/(.+) (\d+)/);
this.base = Array(‘[‘,RegExp.$2,’]’).join(”);
this.elem = Array(‘<a href=”‘,linkUrl,'”>’,RegExp.$1,’</a>’, tmpCnt).join(”);
<!– ▼ツリー化スクリプトのカテゴリ・アーカイブ対応(ここまで挿入 –>
}
return this;
}
function createTreeList(idName,option) { // version 2.2
var objFocus = this.document.getElementById(idName);
if (!objFocus) return;
if (!objFocus.innerHTML) return;
var objLists = objFocus.getElementsByTagName(‘li’);
var linkList = new Array();
var outText = new Array();
if (objLists.length > 0) {
for (i=0;i<objLists.length;i++) {
var chckFlag = true;
var elemText = new makeTreeElements(idName,objLists[i]);
if (!elemText.base || !elemText.elem) return;
for (j=0;j<linkList.length;j++) {
if ( linkList[j].base.indexOf(elemText.base) > -1 ) {
chckFlag = false;
linkList[j][linkList[j].length] = elemText.elem;
}
}
if (chckFlag) {
var tmpNum = linkList.length;
linkList[tmpNum] = new Array();
linkList[tmpNum][0] = elemText.elem;
linkList[tmpNum].base = elemText.base;
}
}
if (linkList.length > 0) {
outText[outText.length] = ‘<ul>\n’;
for (i=0;i<linkList.length;i++) {
outText[outText.length] = Array(‘<li>’,linkList[i].base,option.top).join(”);
if (linkList[i].length > 0 && option.sort) linkList[i].reverse();
for (j=0;j<linkList[i].length;j++) {
outText[outText.length] = (j == linkList[i].length – 1) ? option.end : option.list;
outText[outText.length] = Array(linkList[i][j],option.leef).join(”);
}
outText[outText.length] = Array(option.btm,’</li>’).join(”);
}
outText[outText.length] = ‘</ul>\n’;
objFocus.innerHTML = outText.join(”);
}
}
}
var gTreeOption = new Array;
gTreeOption[‘sort’] = false;
gTreeOption[‘list’] = ‘├ ‘;
gTreeOption[‘end’] = ‘└ ‘;
gTreeOption[‘leef’] = ‘<br />\n’;
gTreeOption[‘top’] = ‘<br />\n’;
gTreeOption[‘btm’] = ”;
createTreeList(‘newentrylist’,gTreeOption); // 最新エントリリストのツリー化
createTreeList(‘entrylist’,gTreeOption); // エントリリストのツリー化
createTreeList(‘commentlist’,gTreeOption); // 最新コメントリストのツリー化
createTreeList(‘tblist’,gTreeOption); // 最新トラックバックリストのツリー化
createTreeList(‘linklist’,gTreeOption); // リンクリストのツリー化
createTreeList(‘categorylist’,gTreeOption); // カテゴリリストのツリー化
</script>
這是所有樹狀顯示(分類、連結、回應、引用)的基礎語法。


2.分類樹狀:
2-1
到外掛欄位中的分類一欄(カテゴリー)
將原本的語法取代為下面的語法。
<div id=”categorylist”>
<ul>
<!–category–>
<li><a href=”<%category_link>”><%category_name>(<%category_count>)</a></li>
<!–/category–>
</ul>
</div>
2-2
到類別選項(カテゴリーの編集)中,將所有類別顯示改為二層。
ex:文學&小說→[紙房子]文學&小說。括號內的文字即為大分類。
2-3特別注意:
1.[]此括號必為半形。
2.類別的最上方會有個預設的未分類,那個也要一起改。
3.樹狀連結的大分類排行是依照設定中的排行。亦即,若在”カテゴリーの編集”中,類別的排行是:
[樹]榕樹
[花]牡丹
[樹]變葉木
[草]雜草
這樣排的話,那麼顯示出來的順序會是
[樹]
├ 榕樹
└ 變葉木
[花]
└ 牡丹
[草]
└ 雜草


3.樹狀回應
到外掛欄位中的回應一欄(最近のコメント)
將原本的語法取代為下面的語法。
<div id=”commentlist”>
<ul>
<!–rcomment–>
<li><%rcomment_etitle><br /><a href=”<%rcomment_link>#comment”><%rcomment_name>(<%rcomment_month>/<%rcomment_day>)</a></li>
<!–/rcomment–>
</ul>
</div>


4.樹狀連結
4-1
到外掛欄位中的回應一欄(リンク)
將原本的語法取代為下面的語法。
<div id=”linklist”>
<ul>
<!–link–>
<li><a href=”<%link_url>”><%link_name></a></li>
<!–/link–>
</ul>
</div>
<a href=”./?admin”>管理者專用</a>
4-2
連結名稱改為兩層。
ex:遲疑地伸出觸角→[NTUMystery]遲疑地伸出觸角
4-3
注意事項:
1.只要改名稱,網站連結部份不用改。
2.每改一個就要按儲存按鈕。
餘者注意事項與類別2-3項同。


5.樹狀引用
一樣進入外掛設定。將引用欄位(最近のトラックバック)的語法改為
<div class=”navi-contents” id=”tblist”>
<ul>
<!–rtrackback–>
<li><%rtrackback_etitle><br><a href=”<%rtrackback_link>#trackback”><%rtrackback_blog_name>(<%rtrackback_month>/<%rtrackback_day>)</a></li>
<!–/rtrackback–>
</ul>
</div>


資料來源:
白文MIMI與小鸚KIKI的生活記事_FC2分店:
使FC2 BLOG顯示成二層分類的語法 01/24 (Tue)
FC2中文教學-連結集及引用的群組化 01/26 (Thu)


在〈樹狀語法〉中有 16 則留言

  1. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    你好
    我想请问下如何使用trackback?
    我想引用可是不知道怎么做T T

  2. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    你好:)
    引用的話,首先複製文章下面所附的TRACKBACK網址
    以這篇文章來說,引用網址就是
    [http://lunaj.blog13.fc2.com/tb.php/761-73b42728]
    然後,到管理者頁面,點選「新しく記事を書く」
    在這個頁面的最下方,會有個欄位,標題是「トラックバック送信先」
    將你要引用的文章網址填入方框裡,再按「保存」,系統就會自動發送引用通知,這樣就可以了。
    如果說要引用超過一篇文章的話,那就一行一個網址即可,不用另外加語法。

  3. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    发送通知过去后是否要等对方回复同意之后才能在BO上显示呢?
    谢谢^^

  4. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    嗯,你的顯示指的是在自己的blgo上面還是在對方的blog上面顯示呢?
    引用通知只會顯示在被引用者的blog上,而且在你發送之後會自動顯示在被引用者的blog上(除非他把「顯示引用」的這個欄位拿掉),不用經過對方同意喔。

  5. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    我的意思是在自己的BO上显示
    我好像误会了
    我以为只要附上tb的url就可以不用复制对方的日记
    直接在自己的BO上显示对方的日记了-[]-
    原来只是通知对方啊
    没有不用复制直接引用的方法么><
    谢谢答疑了~chu~

  6. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    如果复制的话
    代码部分不能显示出代码而被系统默认成修改代码后的成果耶
    这个怎么解决的
    ORZ我就一白= =

  7. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    嗯,基本上引用功能就只是通知原文作者[我有引用你的文章喔]這樣而已:p
    目前為止,我還沒看到有不用複製就能直接將他人的文章內容引述在自己文章裡面的功能~
    至於你的第二個問題,我不是很懂耶。
    是指複製語法的時候,直接放到文章中無法顯示語法,而會出現該語法的效果嗎?如果是這個問題的話,只要將半形的「[色:FF0000]〈[/色]」與「[色:FF0000]〉[/色]」改成全形的「<」與「>」即可。

  8. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    明白了!解惑了!
    谢谢!

  9. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    請問連結那個部分 分兩層的意思我不太懂要怎麼設定欸>"<!!!!

  10. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    而且我把基本語法(很長那串)
    放到最下面類別,但是那個類別是我有放自己設定的東西
    結果語法全部顯示在畫面中了O_O!!!!
    不好意思因為剛開始用FC2
    像是分類跟回應那邊的樹狀都弄好了
    就是連結那邊弄不好>"< (連結跟分類在不同掛區)

  11. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    To サクラ糖:
    語法的部份,因為我要放在部落格上面顯示,所以把原本半形的<>都改成了全形的<>,請把它們改過來之後再試試看是否可行~
    連結的部份,分兩層的意思是說要替你的連結分門別類後才可以用。例如你有abcdef六個網址,把他們分成高中同學跟大學同學兩類如下:[高中同學]a;[高中同學]b;[高中同學]c;[大學同學]d;[大學同學]e;[大學同學]f,則顯示的成果就是
    [高中同學]
    l____a
    l____b
    l____c
    [大學同學]
    l____d
    l____e
    l____f
    這樣

  12. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    !!! 嗯嗯 成功了 😀
    謝謝妳的回應!!!!
    這邊有很多語法我也正想要嘗試!!
    辛苦你了!!

  13. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    路那你好~
    想請問你類別那一欄裡的那五項是怎麼弄的?
    謝謝=)

發佈回覆給「HH」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *