2007-02-25

如何在新的Blogger上建立可擴充的文章摘要?

不要笑我笨,因為沒有什麼時間寫blog,所以我一直是blog白癡。

這次過年的空檔,找了個簡單一點的blog空間作為網路筆記使用。想說解決一下首頁上過長的文章顯示(改成摘要,Google的Blogger稱之為Expandable post summaries),結果遇到Blogger改版,有一些網頁的語法變了,但是中文說明裡的文章還沒有修正,連英語說明的文章都還有錯誤。google了一下找到解決方法,為了怕忘記,記錄在下面:(以下的標籤符號都改成全型了)

Blogger所指示的方法分作以下三個步驟:
附有條件的 CSS、每篇文章的 [繼續閱讀...] 連結、以及對使用此功能的文章進行修改

第一步附有條件的 CSS(Conditional CSS)就會遇上問號。因為「新的設計(layouts)」和「傳統版面配置(classic template)」的語法不同,所以基本上找不到 <style> </style>標籤,</style>實際上是在</b:skin>的地方帶入。但是 IF ... ELSE ... ENDIF的語法在style標籤裡是無效的,所最好的位置是緊接在</b:skin>之後,例如:

]]></b:skin>

<b:if cond='data:blog.pageType == "item"'>
<style>span.fullpost {display:inline;}</style>
<b:else/><style>span.fullpost {display:none;}</style>
</b:if>


</head>



第二步每篇文章的 [繼續閱讀...] 連結("Read more" links)。同樣的,你也可能找不到說明中所說的<data:post.body/>。這是因為「展開小裝置範本(Expand widget templates)」沒有勾選的關係,展開以後就會看到,<data:post.body/>是每個範本必定有的東西。把程式碼插在如以下位置:

<p><data:post.body/></p>

<b:if cond='data:blog.pageType != "item"'><br />
<a expr:href='data:post.url'>繼續閱讀...</a>
</b:if>

<div style='clear: both;'/><!-- clear for photos floats -->
</div>


第三步對使用此功能的文章進行修改(Post modifications)。這一步沒什麼問題,照著做就是。在寫每篇文章的時候,在「修改Html」模式把摘要以外的段落用<span class="fullpost"></span>標籤夾起來就可以了。如果不想每次都自己這兩行字,就把以下的程式碼加到〔設定〕〔格式〕的「文章範本」

摘要部份在這裡輸入
<span class="fullpost">
其他部份在這裡輸入
</span>


參考資料來源:

http://blogger-tricks.blogspot.com/2007/01/expandible-post-summary-for-new-blogger.html
http://www.bloggerforum.com/modules/newbb/viewtopic.php?topic_id=17347&forum=2&post_id=72769   

    

沒有留言: