EragonJ – A humble navigator

About EragonJ | About this blog

[Notes] How to embed Disqus into Blogger

leave a comment

Image Credit

因為受人之托,所以這幾天就利用空閒的時間在研究 Blogger 的 Layout Data Tags,而這次主要的問題就是要如何把 Disqus 嵌入在 Blogger theme 裡面,不過因為整個過程發生了一些問題,因此特別做一個記錄。

*我 Blogger 上的主題是:Carmen

一開始當然是先去 Disqus 設定好 Blogger 的相關資訊,然後根據官方的教學,我可以利用它們設計好的一個按鈕來掛載 Disqus(圖如下)

這邊的設計我覺得非常有趣,因為 Blogger 允計開發者以小組件(Widget)的方式快速分享、掛載,而 Disqus 掛載的東西就是一段會直接插入範本(Template)的標記(雖然標記又分 Layouts Widget TagsLayouts Data Tags 兩種,不過彼此都會互相使用到,前者主要是可以和 Widget 做互動、邏輯判斷、以及操縱迴圈,而後者則是可以取得各式各樣你可能會用到的「資料」,例如 Comments / Posts … 等)。

OK,接下來就是一連串的惡夢。

當我安裝好 Disqus Widget 後,我發現 Disqus Comment System 並沒有啟用,還是原本的樣子,所以我就開始很困惑,而透過 Chrome 的 Developer Tool 也沒有發現任何從 Disqus 載入的資源,整個就是相當無奈呀 …

而在經過不斷的碰壁之後,發現 Disqus 有寫一份 Help 可供參考,而文件的內容是一串假設,Disqus 會以這些假設為前提來載入 Comment System,如果有假設不符的話,那就可能是造成它無法正確載入的原因。

看著看著,我發現最後一點和我的情況好像有點衝突,它是這樣寫的:

There is a div with id comments. This is the div that the gadget will use include the Disqus comment embed. Blogger uses this div for its own native comment display. The gadget clears Blogger’s native comments and replaces it with Disqus’s comments …

中文版大意:

有一個 div 的 id 為 ‘comments’,而當 Disqus 掛載 widget 的時候,這個 div 會被用來載入 Disqus 的留言系統。而原本 Blogger 的留言系統也是採用這個 div ,所以當你掛載 Disqus widget 之後,我們會清掉 Blogger 原生的留言系統並取代成 Disqus 的留言系統。

Jesus,就在我爬過了整個 Carmen.xml 之後,我發現問題就真的發生在這個 div 身上,因為 Carmen 在它的 xml 裡面寫了這麼一段 code :

問題就是出在這個 Template 做了一個很奇怪的設計,它的 #comments DOM 出現的時機竟然是在該篇文章的 Comment 不為零的時候!!所以如果這一篇文章沒有人留言,就不會有 #comments 的出現,又因為沒有 #comments,所以 Disqus 無法載入它們的 Comment System!

What the fuck ???

所以只好直接 Hack Carmen.xml,去 「Blogger >> 設定 >> 文章和留言 >> 留言 >> 留言位置 >> 隱藏」把原生的 Comment System 關掉,然後再另外插入一段 div:


<div class='comments' id='comments'>

如此一來,它可以延續 .class 的樣式,而且又能夠讓 disqus 載入 Comment System,接下來就是要調整如何秀出 Comment Count 。

很簡單,就短短的一行:


<a class='comment-link' expr:href='data:post.url + &quot;#disqus_thread&quot;'/>

但是這一行我搞了好久。

一開始當然也是先參考 Disqus 官方的 Example,之後可以發現 Disqus 會去爬行 Anchor tags,然後找出以「#disqus_thread」結尾的 Anchor 做替換,換成你在 Disqus 設定的 Comment Counts(可以在 Disqus 設定欲呈現的樣式及文字)。

這樣很 OK,離成功不遠了,但,麻煩的是在 Layouts Data Tags …

因為我們知道 Disqus 是利用當下的 URL 當做 Identifier 來判斷要載入相對應的留言串,但是我們要怎麼把當下 Post 的 URL 當做 href 的值塞進 Anchor Tag ?

這邊就要參考 Blogger 的 Layouts Widget TagsLayouts Data Tags 說明。

正如先前我寫的那一段 Code,我們可以利用「expr:href」的方式在 href 中塞值,別小看這個「expr:__HTML_ATTRIBUTE__」,因為官方沒有任何文件有解釋這個語法,我一開始就是因為不知道如何把 Post URL 與 #disqus_thread 這兩個字串串接起來而 Error 很久。

而這個「expr:」全名應該是 Expression,你可以在裡面寫入相關的表達式,以剛剛的 Code 為例,我就可以在經由 expr: 表達的 Attribute 中操縱 Layouts Data Tags,透過 data:post.url 取得該 Post 的 URL,然後再利用「+」串接 #disqus_thread 這個字串以得到最終結果。

不過這邊有一個要注意的,就是如果你要在 expr: 中表示字串的話,要用 &quot; 把它包住(因為已經被 expr: 的「’」 包住一層了,裡面就要跳脫「’」),不然的話會造成 parser 混淆,產生一堆 Error 呀!

以上就是這次為了 Disqus 所玩的 Hacking,如果要說心得的話,就是 Blogger 真的很屌,一個 Template xml 就可以搞定整個主題的樣式,然後搭配 Layouts Widget Tags 及 Layouts Data Tags 就能完成你所有想要做到的事情,雖然所有的東西都要塞到一個 xml 裡面會讓人看的有點難過(真的很髒),不過它也把原本在 WordPress 很不容易做到的事情簡化了許多,讓我覺得 Blogger 真的很用心在做這個事業。

加油!期待 Blogger 有更多令人驚艷的東西 :]

Written by EragonJ

January 5th, 2012 at 8:23 pm

[Book Review] 1坪的奇蹟 – Miracles

leave a comment

Image Credit: 1,2,3,4

在誠品閒逛的那一個下午,我被封面上老奶奶真誠的微笑吸引而拿起了這本書,等到我再次把它放回去的時候,已經是兩個小時後的事情了。

還記得書上的簡介是這樣子寫的:

為什麼只有一坪,卻年收入三億日幣營業額?
為什麼只賣兩種產品,卻四十年客人每天大排長龍?
其實方法只有一個!一生只做好一個專業!

什麼樣的夢幻產品,放在赤道上也不會變質?
什麼樣的店家,讓客人自動自發自組粉絲團,還自訂排隊規則?
什麼樣的味道,讓人念念不忘,至死之前都想再嚐一口?

從來沒有145公分的女性在煉製的鍋子場,她是第一位,也是唯一的一位。
年輕時候立志成為一個攝影師,跑新聞拍照,根本不想繼承家業。
但命運在她身上做了決定性的改變,經歷戰後、泡沫經濟,她接下一坪的夢想。

每天只熬煮三鍋紅豆,只堅持出品150條夢幻羊羹;
她發現紅豆泥要變成一張紙厚度,達到紫色光芒的最高境界,就像攝影暗房最後出現的顯影,為了等待令人驚奇神聖的一刻,她研究再研究,反覆練習又練習,流汗流淚像在跑百米賽。

她更發現要把產品完成,得到客人的心,不是只專注在製作流程上,她還要出去吹吹風,散散步,騎腳踏車,她要感受大自然,她要張開全身五感,才能創造獨一無二的夢幻逸品。

父親對她說,對待客戶和產品都不能低俗,更不能背叛顧客的口味。
祖母對她說,現在慢一點也沒關係,只要記得前進就好。一輩子做好一件事,什麼事都可以!

1坪的奇蹟,不是因為創造了傲人營業額,不是因為每天有人大排長龍。
1坪的奇蹟,是她記得祖母的話,決不半途而廢,讓自己有遺憾。
1坪的奇蹟,她提煉無限感謝的心,成就充滿影響力的一生。

其中最令我感到好奇的,就是「一生只做好一個專業」這句話,什麼是指一生只做好一個專業?難道是完完全全把精神和時間都投注在一個領域上面,心無旁鶩的為之付出並放棄其他潛在的興趣嗎?

而當我看完這本書後,先前的疑問也得到了驗証,對作者篤子來說,她想傳達的,就是日本人那種「務實且追求極致的精神」。

這本書有別於平常那些勵志的書籍或是一些創業者成功的故事,它既不強調那些華而不實的數字,也不會只提出一些大家都知道的勵志文句,取而代之的,是她自己的故事,那不斷追求極致之味的過程。

因為這本書有很多有趣的人生故事,我覺得要自己去閱讀才會有所體悟,所以在這,我想要特別點出三個書中影響我很大的看法:

1. 雇用特教生

作者有提到一個故事,就是曾經在某一天,有一位特教老師來到了店門口,詢問她有沒有可能可以提供一些機會給這些特教生,讓她們能夠自力自強靠著自己的能力生活、工作。而在一來一往的聊天之中,作者篤子深深的被這位老師的熱情所感動,所以就提供了一個工作機會給特教生ー安美。

也因為這件事情,作者發現其實特教生雖然有一些天生上的障礙,但是他們的工作表現並不會輸給一般人,他們只是需要更多的照顧,以及最重要的一個關鍵,那就是「讚美」。也因為她的執著,她堅持不向政府領取相關的特教補助(日本政府會為那些提供工作機會給特教生的工作環境有所減免及補助),反而還比照一般人的薪資來支薪給這些特教生。她總是認為,如果她領了那個補助,那她對特教生的看法就會因此有所改變,甚至可能有「我已經為他們做了很多了,最後怎樣就不關我的事情了」之類的想法。

也是因為她這樣子的堅持,讓我思考著,如果有一天我也成為了一家企業的領導人,我會不會這樣做?會不會有那樣的胸襟去提供這些機會給這些在社會上更需要幫助的人們?我不知道,但是這個疑問卻也因此在我的心中埋下了種子,也許有朝一日當我有那個能力為這個社會做出奉獻的時候,它會因此悄悄的萌芽吧。

2. 用心去感受生活

在整本書快要結束的時候,作者篤子提到了她從七十歲開始騎腳踏車上班(約幾十分鐘的腳踏車程),為什麼呢?因為她說當她在用心製作羊羹的時候,需要投注許多精神和體力,而唯有健康的身體及保持對這個大自然的感受,才有辦法做出那真正夢幻級的羊羹,那紅豆綻放出紫色光芒的瞬間。

其實不也是這樣嗎?當我們全心全力為自己深愛的領域付出的時候,是不是也忘了身邊週遭的改變?遺忘了那大自然的美好?所以如果真的可以,當程式的 Bug 解不出來,當工作遇到許多困境的時候,請你大膽的放下它們,走出那狹小的辦公室,打開自己沉悶已久的心胸,用心去感受那大自然的美好。也許就是這樣的一個轉念,一切問題就因此迎刃而解了吧。

3. 一生只做好一個專業

這個我自己有很深沉的體會,所以我想從自己的角度來闡述想法。因為自己很喜歡程式這種具有無限可能性的東西,所以總是會想要「做點什麼」,而也是就是因為這樣子的想法,所以很常就去「做了些什麼」。不過當我以一個局外人來審視整個過程,就會發現我只是「為了做而做」,相對的,也因為自己的能力不成氣候,所以做出了一堆不知所云的東西。

有的時候,我覺得我很容易模糊了焦點,重量不重質,也很容易因為外在的誘惑而迷思。相反的,作者篤子就為了好好把羊羹的事業做好,就毅然的把她最喜歡的興趣「攝影」塵封起來,專心做好一個專業。

不過也許是因為我對這個世界的種種事物還充滿著許多好奇,所以還試著在各式各樣的機會當中開發出自己潛在的興趣吧?我真心的期待那花開的一天。

最後,真心的推薦這本書,希望你也能從中得到許多,那些作者篤子試著以她的人生經歷所傳達給我們的理念。

Written by EragonJ

January 4th, 2012 at 2:33 pm

Posted in Book Review

Tagged with ,

[Plan] Plan for 2012

leave a comment

Image Credit

這幾天剛好放假,所以想要來設定一個年度目標,這樣子才有動力試著去完成,因此特別列了一個清單:

年度目標

  1. ~7/12 完成「當兵 50 本書」的計畫(*註1)
  2. 7/12 – 平安退伍
  3. 更新 Facebook Blocker 至 2.0
  4. 兼幾份工作操死磨練自己
  5. 獨立生活(台北 or 台南)
  6. 去一趟香港或是德洲
  7. 組織一個屬於自己的夢幻團隊(領域不限)
  8. Do something
  9. Change the world(我活著的最終目的)


*註1:

因為當兵的時候真的沒有時間可以動到腦袋,大多數的時候我們這些小兵都是在做一些勞力密集的工作,也是因為如此,讓我自己有了「當兵 50 本書」的想法,結果這個想法意外的得到許多人的支持,我在軍中甚至還組了一個小小的讀書會,平時休息的時候就會和幾個三五好友一起相約在餐廳看書。

以下是我的書單及閱讀狀況,會不定期更新:

恐懼炸彈:完 + 心得
富爸爸與窮爸爸(*):完
最貧窮的哈佛女孩:完 + 心得
勇往直前:我如何拯救星巴克:完 + 心得
商週的賈伯斯特刊:完
真情書:完
賈伯斯傳:
駭客迷宮:完 + 心得
牧羊少年的奇幻之旅(*):
我的天才夢(*):
桂花巷(*):
鄉民都來了:無組織的組織力量:
一口氣讀懂經濟指標:
教育應該不一樣:完
Peopleware–人月神話(*):
Youtube 你的熱情和直覺:完
1坪的奇蹟:完

雖然大部分的目標都很難以用文字說明我的想法,也有可能是因為它們大多是一個籠統的概念,但是只有記錄下來並執行它,才會因此使自己前進。

希望在 2012 年尾世界沒有爆炸之際,我可以完成大部分的目標,加油!

Written by EragonJ

January 3rd, 2012 at 1:55 am

Posted in Plan

Tagged with , ,

[Look Back] 2011 – A complicated Year to me

leave a comment

Image Credit

時間過的真的很快,一下子就來到了 2011 年尾,而 2012 年也即將到來,如果不做一點回顧的話,那這一年是不是就這樣過了呢?因此,我想記錄下這一年所經歷過的故事:

2010 ~ 2011/01 : We made 6lurk !

What is 6lurk ?

6lurk 原先是 EragonJ 和 GodChess 兩個人在成功大學資訊工程學系100級的專題,題目是要探討「建立在社交網站上的關係搜尋引擎」,因此我們以目前當紅的社交平台 — Plurk 為出發點,試著從海量的社交資料中尋找出人與人之間的關係,進一步打造出符合社交型態的搜尋引擎。而之後再加入 Jerk 的專題「微網誌情緒詞彙分析」讓人們在尋找關係的同時還能夠及時回饋一系列最符合心情走勢的音樂,擴大了 6lurk 的使用性。

這是我們和教授討論畢業專題時的第一個構想,而誰也沒想到,在經過為期兩到三個月的 brainstorming 之後,我們最後還是採用了這個最初的點子,然後實作。

 tree -d -L 3 -C -h 

四個人,同心協力完成了將近半年的專題(實作的部份),Plurk / Last.fm / Yahoo CAS / CKIP / WMMKS Lab … 如果沒有這些服服及相關技術人員的協助,那我們也不可能有機會能夠完成這個專題,完成這一個完完全全屬於我們自己的作品。而其中所使用到的技術及一些架構,都是取材自以前的專案、工作時所學習到的成果,如果沒有過去的累積,我也沒有能力可以完成這個作品吧?

第一次 Lead 開發專案、第一次因為大家對於相關領域的不了解所造成的衝突、第一次的撕破臉決裂、第一次以系上的名義邀請外賓 – Plurk, Inc 的核心開發團隊參展 … 好多好多的第一次,都是因為資訊系的專題「必修」而發生。中間也許有很多另人失望、挫折的時候,但是我總是認為,如果我撐的過去,那等到日後再回顧的時候,一定會覺得一切的努力都是值得的。而這個想法,也在現在這個當下得到了驗証。

6lurk Team6lurk team


Related Posts:

2010/07 ~ 2011/02 : F2e Intern

還記得在 2010 / 07 月的時候,我懷著滿腔的熱血想去找個科技公司實習,剛好當時 E2e 的公司有一個人的職缺,而 Ijs 也很熱心的把我介紹給他,就因為這麼天時(剛好有職缺)地利(家住台北縣)人和(他們兩個剛好認識),所以給了我這個機會,讓我擔任這個職位。

如果要我做一個貴人排行榜的話,Ijs一定是榜上前三名!在台灣的資訊類領域其實不大,而在這個圈子裡面,Ijs 則認識了很多人,所以相對的也比其他人多了許多管道能夠提供我們這些後輩許多實習的機會。

我總是覺得,如果學生沒有多和這個現實的社會接觸,那讀再多書也是枉然。而這半年的實習,讓我提早了解什麼叫做「資訊業」的公司,也深入的去了解這個生態。在實習的這段日子,我有幸接手 JavaScript 界某位前輩寫的程式。而說實在的,當時的我什麼都不懂,遑論是要維護並擴充一個上千行的 JavaScript 程式碼。

而在瘋狂的 Google 及查詢 Manual 之後,我開始去了解 jQuery Plugin 的機制,然後熟悉它的語法,最後才上軌道,和後端的 Programmer 協合開發。而這個世界總是一環牽著一環,在得到實務開發經驗的同時(有許多經驗都是我在開發 6lurk 時使用到的),我也認識了更多 Hackers,也為日後一些暫時無法透露的機會鋪了後路。

Related Posts:

2011/02 : Plurkable

在經過這些開發 Javascript 的事情之後,我在過年的時候就因為太無聊而參考了 Tweetable 來設計一個 Plurkable 的專案,一來是可以打發時間,二來是可以練習開發 jQuery Plugin。不過誰知道,這個小小的玩具也幫上了一些人,真的是令人相當欣慰呀!

Related Posts:

2011/03 : Facebook Blocker

還記得盧文祥老師在我們做專題的時候,一直告知我們一個道理,而這個道理也是讓我大學四年來受益最深的東西:

無論什麼事情,都要從使用者的需求(User Needs)出發。

而 Facebook Blocker,就是在這個時候誕生了。在當時的 Facebook ,因為大量粉絲團及垃圾訊息入侵(現在這個現象有比較改善了),所以使用者的頁面上總是充斥著一堆垃圾訊息,想當然爾,我當然無法忍受。

所以在研究一陣子 Google Chrome Extension 的文件之後,我就打算著手開發一個簡單又好用的外掛,它雖小但是卻相當 Powerful,能夠讓使用者自己去決定哪些訊息要被過濾掉,哪些要被保留下來。

而這個外掛,也真的幫上了許多人的忙,也得到了許多人的回應,其中還有國外的 Blogger 特別為這個外掛寫了文章說明,真的是讓我這個新手得到了很大的鼓勵。程式設計師之所以會無償為這個世界開發一些更具便利性的工具,一來是因為自己有這個需求,二來則是希望這個工具也能夠因此改善這個世界,讓人們的生活過的更好。所以,就算是一個簡單的回應或是鼓勵,都是一種支持我們繼續開發下去的動力。

而目前的 Blocker 也更新到 1.1.1 版了,修正了許多之前使用者們提到的問題,也希望你們能夠提供更多的意見,讓這個外掛變的更完整。

Related Posts:

2011/06 : 「痂」


縱有七情六慾,
從事服務業的人們仍需無時無刻地壓低姿態來服務顧客,
但是,在這個世界上,許多人都是以自我為出發點,
忽略了店員也是人的事實,甚至無視他們心境上的轉折。
如果,人與人之間都能互相退讓一步的話,
那一切,就會變得海闊天空了吧?

這是一個通識作業,真的只是一個「通識」作業而已,不過那是對別人來說。

對我來說,這是我在成大能夠留下回憶的最後機會。

這門課叫做「人際關係與溝通」,而拍一部和「人與人」互動的影片,則是這門課最後的期末作業。當老師指派這最後一次的作業時,總是有許多人在課堂上偷偷抱怨說「這只不過是一部通識課而已,搞這麼麻煩幹嘛?我只是想要拿個高分爽爽過就好啦!啊隨便找幾個影片用個影片隨便組合一下交差就好啦!」

沒錯,也真的有很多組這麼做,但是在我這一組,我願意自己扛下所有你們不想做的事情,但是只有一個要求,就是希望每一個組員都要選一個角色並參與這部片的拍攝。

在這邊我真的要再感謝一次我兩個很好的朋友的幫助:

如果沒有導演煊怪的幫忙,那這部戲一定是殘缺無比。最厲害的莫過於他能夠在有限的資源(兩個類單眼 + 一個腳架)中以技巧性的拍攝手法來彌補我們所不足的部分,這真的需要對分境及攝影有一定的熟悉度才能做到的。

而另一個就是良棋的火柴天堂,如果沒有他自彈自唱這首秦齊的代表作的話,那這部片一定也會因此失色許多,他獨特的嗓音在經過影片後製之後,為我們在劇情中帶入了高潮,讓觀眾能夠真的深入到主角的內心世界和我們一起體驗他的想法、思惟,甚至是能夠感受到他最真實的情緒。

我還記得拍攝完的週末,我們幾乎整天都關在房間裡面一直在調整影片,無論是運鏡、音效、字幕 … 等,我們都盡量做到最好。對煊怪來說,他大可以簡單幫我用用就好我也不會有什麼意見,但,他卻沒有這樣子做。整個影片反而因入他的投入而更臻完美,把一群沒什麼經驗的素人演員所拍出來的劣質影片經由巧手一揮而發揮出其 140% 的實力,這真的是相當厲害。

也是因為如此,我在離開成大之前,留下了一段特別的回憶,而這部影片,則是在還沒經過同學評選之前,就被老師預定為該門課的最後壓軸。謝謝你們。

Related Posts:

2011/08 ~ 2012/07 : Navy Life

我從來沒有想過,我會有一年沒辦法在家過年,而這件事實,將在一個月後的過年夜時發生。說實在的,我真的對當兵這個制度相當反感,不過我也不想多著墨在這個地方,因為就算抱怨再多,還是也得回到那個冷冰冰的地方。

所以為了不要讓自己在這 11 個月後變成白痴,也不希望就因此浪費掉這段時間,所以我提出了「當兵 50 本書」的計畫。到目前為止,我已經看完了 10 本書了,如果有在觀注我網誌的朋友們應該不難發現,最近的幾篇文章都是 Book Review ,而它的目的一來是要記錄我看過的書目、二來則是要留下一些筆記,如此一來才不會讓自己在看完這些書之後就什麼都忘了,那其實和沒看過書是差不多的,我想。

如果有人想要推薦一些不錯的書目的話,也很歡迎留言給我,我會把它新增到我的預定計畫內的!

Related Posts:

Last But Not The Least

最後,預祝大家新年快樂,一起為 2012 這新的一年好好的努力吧 ;)

Written by EragonJ

December 14th, 2011 at 5:50 pm

Posted in Look Back

Tagged with , , ,

[WTH] It’s all about Happiness

2 comments

Image Credit

It’s all about happiness, and it is also the main dream I want to fulfill.

Written by EragonJ

November 28th, 2011 at 10:13 pm

Posted in WTH

Tagged with , , ,