星期日, 九月 16, 2007

親愛的,我把標籤雲變文章選台器了

label-01.jpg

標籤雲(label cloud),一直都是個非常有趣的部落格產物,到底是誰先把它叫做標籤雲,到底這樣的顯示方式有什麼地方吸引愛好爬格子的部落客們,到底這是不是個重看不重用的廢物元素,到底...%^*&

好,現在大家都知道 LVCHEN 問題很多,但這不是今天我們討論的重點(問題還是 LVCHEN???),重點是...各位觀眾,我把標籤雲變成文章選台器

請看側邊欄的展示:

label-02.jpg

咦,標籤雲呢?試試按下選擇標籤按鈕吧!

label-03.jpg

然後隨便選一個標籤按下去,看看會發生什麼好玩的事?

哈哈,從此之後,還有誰敢說標籤雲只是擺著好看一點用也沒有?!

而且,有了這個最新文章結合標籤雲的外掛,從此 NEO 的使用者再也不能偷笑啦

安裝方式非常簡單,只要把下面那一行放在任何地方

<script type="text/javascript" src="http://lvchen-recentcomments.googlecode.com/files/adv_label_v1.1_pack.js"></script>

請注意:不一定要標籤雲,只要是未修改過網頁元素標籤列表或是標籤雲都應該可以成功運作,如果你曾對你的標籤做過特別的修改,可能會失敗(請回報給我,我再下一版試試讓它相容),不過你可以另外新增一個標籤網頁元素,然後參考參數設定,指定好新增的標籤的元素 ID,例如:
tagListSetting.labelName = 'Label2';

因為用到 jQuery,所以沒有玩過阿土伯的 blogger 外掛,或是 LVCHEN 的最新回應的朋友,請一定要裝。只要多加一行在前面,就像下面那樣

<script type="text/javascript" src=http://lvchen-recentcomments.googlecode.com/files/jquery-1.1.4.pack.js></script>
<script type="text/javascript" src="http://lvchen-recentcomments.googlecode.com/files/adv_label_v1.1_pack.js"></script>

關於 jQuery 有一點一定要提一下,雖然個外掛本身是 jQuery 1.2 相容的,但因為 Recent Comment 1.6 版jQuery 1.2 有點過敏,所以若是兩個外掛同時使用,請先不要升級到 1.2 版,等下一版的加強型 Recent Comment 完成後再升級吧,造成大家的不方便真的很抱歉啊。

然後原始碼也開放給大家自己玩:外掛原始碼

這外掛的原始碼很短,對於想要破解 LVCHEN 最新回應外掛的朋友,應該是很好的練習。

這次的安裝實在是太簡單了(只有一行耶),誰敢跟我要無腦安裝的...把我的聖誕禮物準備好,我再考慮考慮

 

至於參數設定啊...基本是不用滴,僅給有需要的人與進階使用者參考:

tagListSetting.postShow: 每頁顯示文章數,預設為 5 篇
tagListSetting.labelName: 標籤 Widget 的名稱,預設是 Label1
tagListSetting.defaultPost: 預設載入的標籤,預設為最新文章(空字元)
tagListSetting.loadingImage: 載入時的文字與圖片,可以使用 HTML 語法
tagListSetting.headerButton: 是否顯示標籤按鈕 (true/false)
tagListSetting.tagsShow: 是否預設展開標籤雲 (true/false)
tagListSetting.lineHeight: 設定標籤雲字間的高度,免得字大的時候疊在一起,預設為 24

例如想要把每頁顯示的文章設成 10 篇,預設顯示「美國留學生活」標籤,然後直接展開標籤雲,就在外掛後面加上

<script>
    tagListSetting.postShow = 10;
    tagListSetting.defaultPost = '「美國留學生活」';
    tagListSetting.tagsShow= true;
</script>

至於可設定的樣式嘛...當然也有啦:

#headerBlock:按鈕區塊樣式

.buttonStyle:選擇用的按鈕樣式

#postsList:文章標題顯示區塊

#footerInfo:換頁按鈕與訊息區塊

下面是外掛架構圖,供 CSS 進階設定者參考。

<div id="label1">
    <div id="headerBlock">  <!-- 按鈕區塊 -->
        <span class ="buttonStyle"></span><span class ="buttonStyle"></span><!-- 選擇標籤用的按鈕 -->
    </div> 
    被隱藏的標籤雲
    <div id="postsList"> <!-- 文章標題顯示區塊 -->
        <ul> <li></li><li></li></ul> <!-- 文章列表 -->
    </div>
    <div id="footerInfo"> <!-- 換頁按鈕與訊息區塊 -->
        頁面訊息 <a></a><a></a> <!-- 換頁按鈕 -->
    </div>
</div>

 

還有...真的真的很討厭標籤雲的朋友,其實 LVCHEN 也做了個不需要用到標籤的外掛,但是設定上複雜了些(至少需要兩行!),所以等 LVCHEN 的無腦安裝寫好再說吧!

好了,就這樣吧,大家有使用上的問題或是意見,請直接留言。

本外掛使用 Open Source 開放原始碼授權,歡迎下載未壓縮版本自行研究修改,如果修改後要發佈,請留言通知,或在發表的版本中引用這篇文章。

希望大家用的愉快。

30 則留言:

KeuviN 提到...

終於推出了∼(眼睛閃爍)

不過真的要換範本了...

阿倫校長 提到...

酷也...

再也 不能偷笑了

KeuviN 提到...

光明正大的笑嘛...哈哈哈= =

能請Lvchen來看一下我選台器的怪問題嗎??...標籤沒辦法正常選擇,看一下狀態列的連結就知道有多怪了....

LVCHEN 提到...

其實我早就看到了,那問題好像是標籤雲造成的,不是我的選台器,所以問題應該是阿土伯而不是 LVCHEN...哈哈(真的是這樣嗎^^)

真相是......IE 的錯?!

因為模板的 CSS 裡少了些 FF 不需要,但是沒有的話, IE 會錯亂的東西(果然 IE 有點秀斗,要吃藥)。只要到 sidebar (或是 sidebar-wrapper) 這個 ID 樣式裡加入兩行:

word-wrap: break-word;
overflow: hidden;

就大功告成囉

LVCHEN 提到...

喔,還有啊,因為你是用到阿土伯的標籤雲,記得把我的外掛放到標籤雲外掛後面,這樣標籤才會連結才會正確(問題在FF...奇怪不是 IE 喔)。
這是個我沒有想到的 bug, 下一版會修正囉。

Nekki 提到...

大大,請問我用的是無腦安裝的標籤雲
也可以用這外掛嗎

LVCHEN 提到...

親愛的 nekki,沒問題,只要加進去就行了。

Nekki 提到...

大大你好,我的標籤雲有用ajax修改過
所以不能用...殘念,跟你回報一下

是這個的外掛
http://chenkaie.blogspot.com/2007/03/ajax-ajax-labels-cloud-reloaded.html

但是我真的很喜歡這個版本,所以我新增了label,照你說的在無腦安裝的標籤雲外掛後面新增

< script type="text/javascript" src="http://lvchen-recentcomments.googlecode.com/files/adv_label_v1_pack.js" > < /script >
< script >
tagListSetting.labelName = 'Label2';
tagListSetting.postShow = 10;
tagListSetting.defaultPost = '「標籤」';
tagListSetting.tagsShow: true;
< /script >

但還是label2還是沒效果,反而是第一個有用,請問我哪裡做錯了嗎,感謝^^

Nekki 提到...

上面打錯
應該是效果跑到第一個標籤雲
但是還是沒有用

只出現最新回應和選擇標籤雲字樣

LVCHEN 提到...

Nekki,
恩...我覺得既然用了AJAX標籤雲,我的這個應該就比較沒有意義。
我看過你的code 應該沒有錯,可以請你先裝上去,然後我再去幫你debug 好嗎

LVCHEN 提到...

阿,我看到了
你打成 tagListSetting.tagsShow: true;
應該是
tagListSetting.tagsShow=true;

Nekki 提到...

大大你好,你的效率真快,還特地跑到我的部落格留言,真令我吃驚,你是"好人"(咦!)

我又重新放上去了,那幾個語法跟"無腦安裝"放在一起
現在語法變成這樣

< script src="http://blogger-ext2.googlecode.com/files/plugin_labelcloud-0.2.pack.js" type="text/javascript" >< /script >
上面是無腦的標籤雲
下面才是大大的語法
< script src="http://lvchen-recentcomments.googlecode.com/files/adv_label_v1.1_pack.js" type="text/javascript" > < /script >
< script >
tagListSetting.labelName = 'Label2';
tagListSetting.postShow = 5;
< /script >

最新文章出來了,但是標籤雲沒有效果
請大大解惑,感謝您的熱心
在這裡回應就好了,不需勞駕大大動身
我來這看就行了^^

Nekki 提到...

忘了說
應該這2個版本我都很喜歡,所以我都會保留,我很貪心的...XD

還有個bug,就是點標籤會找不到任何文章,是不是我的標籤有問題??

再次感謝解答m(_ _)m

LVCHEN 提到...

也要把"無腦標籤雲"的參數改一改喔
BloggerExtOptions.labelcloud_widget_id = 'Label2'; 才對

其它的,我已經修好了,是我自己耍笨...你的標籤現在應該正常囉。

Nekki 提到...

感謝大大,真的好強,效率又好快
我還是第一次遇到這麼熱心的大大

改好了,終於正常了
可是我一時手賤把ajax標籤雲,頻率排列改成字母排列,結果舊的出不來了...XD
就算改回來還是一樣,真的冏了

真的謝謝你了,感激不盡

還有大大你文章中
agListSetting.tagsShow: true;
這段還沒改回來喔
怕後來的人不知道又遇到一樣的問題

夜深了,該睡了,晚安^^

Nekki 提到...

大大你說的
jQuery(document).ready(function(){ labelcloud_widget_id = 'Label2';BloggerExt.labelcloud();});

是指放在
< script >
tagListSetting.postShow = 10;
tagListSetting.defaultPost = '「美國留學生活」';
tagListSetting.tagsShow= true;
< /script >

這裡面嗎?
還是一樣只有一個變成雲而已
是我太貪心了了嗎...XD

LVCHEN 提到...

因為很少人用這個外掛,所以很多狀況不能確定是不是 work,經過你的試用,馬上就找到問題呢,說起來我還要謝謝你。
兩個標籤雲嗎...其實很簡單,只要加入
jQuery(document).ready(function(){ BloggerExtOptions.labelcloud_widget_id = 'Label2';BloggerExt.labelcloud();});
在任何 script 標籤中就可以了(之前打錯,少了 BloggerExtOptions,不好意思)

貪心的人才會進步啊,呵呵

Nekki 提到...

再次感謝大大,成功了
呵呵^^

我覺得你的外掛很方便
可以不用離開首頁看留言
因為我的部落格很慢,我一直在找這種可以在首頁即時顯示的功能
盡量避免重新載入部落格,ajax可以快速顯示文章內容,也是我一直捨棄不掉的原因
總之,這太方便了,應該要推廣更多人來用才對^^

qq0526 提到...

我只是介紹了您的『最新回應』,沒想到您居然特地到我Blog留言,告訴我有這麼一個好東西,太感謝了~^^

不過我覺得使用上並不是那麼直覺,特別是標籤太多的話,會把整個文章列表擠到很下面。orz

大概是我資質努頓,一開始我還對著標籤雲拼命點,以為整個頁面會更新,像是之前bloger預設那樣,後來把頁面往下拉才發現文章列表新了。XD

我在想,下一版能不能提供『下拉式列表』的標籤選擇方式呢?我還滿期待的~~

對了『最新文章』這個超連結的作用是甚麼啊?點來點去好像都沒反應耶。

qq0526 提到...

啊,我知道『最新文章』是做什麼用的了,是我笨,對不起。

LVCHEN 提到...

nekki 說的不錯(點頭),讓全世界都來用 LVCHEN 的外掛吧,謝謝你的稱讚囉。

qq0526 ...您真厲害,我也是這樣想的耶...其實...您要的功能已經做進下一版囉...下一版很快就出來...很快...

qq0526 提到...

真的啊,那我們應該算是英雄所見略同囉~哈哈。

期待你的下一版囉~~

qq0526 提到...

新版我用了~這是心得報告~~^^

上一版沒注意到,剛剛發現這一版是把原本的『tag列表』替換掉,加上最新文章的功能。

以這個為出發點的話,其實還不錯啦,多了附加功能。

只是我覺得現在『tag很多』的blog很多,所以按了tag卻沒發現『下一頁』的最新文章列表變了的人應該也有,我就是。orz

而且看選擇分類後,如果要看文章列表,要往下拉,看了之後如果想看別的分類的列表又要往上拉,拉來拉去的其實不太方便,而且有時候看一看會忘記自己剛剛選的是哪個tag。XD

以上是試用心得。^^

另外,如果不是以『幫標籤雲增加功能』為出發點做的,而是以『幫最新文章增加功能』做出來的東西的話,應該比較多人想用。因為幾乎每個人都有放『最新文章列表』,可是放『tag列表』的人卻沒那麼多。

以『改進最新文章列表』為出發點的話,我倒是有幾個建議,『將上一頁和下一頁放上面』因為文章名稱長度不一樣,換頁時若是『下一頁』在下面,常常會跑掉,滑鼠又要重新對準。

另外,我自己是覺得做個『下拉式選單』的tag選單用來切換最新文章不錯。但是不要替換掉原本的『tag列表或是標籤雲』,而是另外做在『最新文章』當中的功能。

qq0526 提到...
此文章已被作者刪除。
qq0526 提到...

『文章選台器 v1.2 beta』參數一加果然不一樣!
下拉式選單跑出來了~~好用耶!!

目前暫時使用中,覺得不錯的話應該就是替代掉舊的『最新文章』和『文章分類』了。

對了,想請問,有辦法讓『最新回應1.6』當中的『跳至留言n 我跳』和『上一頁下一頁』交換位置嗎?

今天自己改了很久一直失敗。orz

LVCHEN 提到...

qq0526 這個問題真是太...厲害了,我要研究一下,說不定可能用jQuery + DHTML 的方式簡單做到。

UniQ 提到...

恩. 我把標籤雲改成彩色的...不知道是不是要告知一下,因為有改到幾行的CODE...不是只改顏色


(雖然沒有發佈,也懶的發佈,而且也不確定到底有沒有人做過...)

不過想說還是告知一下大大比較好.^__^

我的BLOG
http://uniq-uniq.blogspot.com

UniQ 提到...

感謝大大特地到我blog上回答我的問題,事實上我的應該也是標籤雲選台器(標籤雲可以隱藏,點擊標籤雲中的標籤,會於下方出現該標籤的文章標題...),只是有時選台器有時跑不出來(只會出現標籤雲),得要refresh一次才會出來。>O<

不過以上不是重點,重點是要來感謝大大辛苦回覆我的疑問,還有分享我的不是很高明的RGB轉成一個數值的MAPPING方法...

Mapping方式很簡單!

( 三維 <--> 一維 )
RGB(0,0,0)~(255,255,255)
FFFFFF->16777215
原本應該是6^5*15+16^4*15+16^3*15+16^2*15+16^1*15+16*15=16777215

但也可以這樣看!
FF,FF,FF
256^2*255+256*255+255=16777215

所以(0~255,0~255,0~255)對MAPPING到(0~16777215了

再來就是用這個值去配合權重值的計算..會得到新的數值

再來要從右邊轉回左邊也不是難事!
只要這樣做,假如有個值為W要轉成RGB(X,Y,Z)
算法如下:
X=((W/256)/256);
Y=((W/256)%256);
Z=(W%256);

就完成了!(希望有人有更高明的方法~>o<)


由以上結果,有一點心得就是"權重公式"很重要! 因為關係到你的色彩分佈狀況~

Troy 提到...

不好意思,用了你的選台器v2.0很久,最近才發現一個問題想要請教,為甚麼在這篇文章中的標籤沒有數字,而我的選台器卻有數字?我還滿想要乾淨一點沒有數字的版本,請問該修改哪裡好呢?

Troy 提到...

這...才剛說嘴就找到了,打擾囉~有空也歡迎到我的網誌來看看^^