讓blogger文章在首頁顯示等比例縮圖 - 部落格

Quintina avatar
By Quintina
at 2010-04-26T15:59

Table of Contents

網誌版:
http://barkleyc.blogspot.com/2010/04/blogger_26.html


其實我用的這個template本來就有內建這功能,在blogger的首頁中,它可以將每篇文
章的第一張圖片縮小放在裡頭,且內建擷取字數的自動閱讀。老實說我不太確定作者是從
何處取用這功能的,我就以這篇來做說明,另外在後半段分享我遇到的問題。


1. 進入「版面配置」,選取「修改HTML」,勾選「展開小裝置範本」

2. 找到 </head>,將以下貼到 </head> 之前

<script type='text/javascript'>var thumbnail_mode = "no-float" ;
summary_noimg = 430;
summary_img = 340;
img_thumb_height = 150;
img_thumb_width = 200;
</script>
<script type='text/javascript'>
//<![CDATA[
function removeHtmlTag(strx,chop){
if(strx.indexOf("<")!=-1)
{
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
strx = s.join("");
}
chop = (chop < strx.length-1) ? chop : strx.length-2;
while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++;
strx = strx.substring(0,chop-1);
return strx+'...';
}
function createSummaryAndThumb(pID){
var div = document.getElementById(pID);
var imgtag = "";
var img = div.getElementsByTagName("img");
var summ = summary_noimg;
if(img.length>=1) {
imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><img
src="'+img[0].src+'" width="'+img_thumb_width+'px"
height="'+img_thumb_height+'px"/></span>';
summ = summary_img;
}
var summary = imgtag + '<div>' + removeHtmlTag(div.innerHTML,summ) + '</div>';
div.innerHTML = summary;
}
//]]>
</script>


3. 找到 <data:post.body/> ,並且用以下取代:

<b:if cond='data:blog.pageType != "item"'>
<div expr:id='"summary" + data:post.id'><data:post.body/></div>
<script
type='text/javascript'>createSummaryAndThumb("summary<data:post.id/>");
</script> <span class='rmlink' style='float:right;padding-top:20px;'><a
expr:href='data:post.url'> read more </a></span>
</b:if>
<b:if cond='data:blog.pageType == "item"'><data:post.body/></b:if>


如果已經有自己的read more,請把:
<span class='rmlink' style='float:right;padding-top:20px;'><a
expr:href='data:post.url'> read more </a></span>
這段刪除

4. 存檔收工!

------------------------------------------------------


說明一下上面紅字可修改的部份:

summary_noimg = 430;

沒有圖片的文章所顯示在首頁的字元數。
例如430就代表,該篇文章若沒有圖片,則會在首頁顯示430字元的摘要。
當然如果你有用內建的繼續閱讀,則會以字數少的設定來顯示。


summary_img = 340;

有圖片的文章所顯示在首頁的字元數。 通常會比上面那個少。(因為還有圖片佔空間XD)


img_thumb_height = 150;

首頁顯示縮圖的高度。


img_thumb_width = 200;

首頁顯示縮圖的高度。




----------------------

BUT……!!!! 打開網誌後你可能會發現一個大問題!!

哇哩勒,怎麼縮圖都變形了!

後來發現這是因為,原本的內建的寫法是讓所有縮圖都轉換成一樣的大小,不管你是長是
扁,都把你壓的一摸摸一樣樣,不會照原比例縮小。於是我開始google有沒有辦法修改,
但找到的一堆老外的方法都沒用,中文的更是找不到相關文章。


想了好久,總算找到解決的方法:

width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"

這是我們加入的其中一段語法,後來想到,只要把其中一行去掉就能解決問題啦!

例如:

刪掉 width="'+img_thumb_width+'px" 這行,只留下height,它就會照你設定的高度縮
圖,所有的圖片都縮成一樣高!

反之,刪掉 height="'+img_thumb_height+'px" 這行,只留下width,它就會照你設定的
寬度縮圖,所有的圖片都縮成一樣寬!





個人是比較建議刪掉width 留下height,
讓圖片一樣高,避免有些圖片太高,造成版面難看…

當然如果你喜歡縮圖都長得一樣方方正正的,那就可以不用理會這篇文章的後半段啦


--
███
█ █ ████ ████ ████ ████

█ █ ████
██ █████ █████
Japan THE LAST LIVE ▉▊▋▌▍▎▏ http://barkleyc.blogspot.com/

--

All Comments

要怎麼樣讓網誌首頁文章不要顯示全文?

Heather avatar
By Heather
at 2010-04-26T05:52
如題 每次進到自己的網誌就覺得很煩 因為每篇都是顯示全文之後再接下一篇 有沒有辦法讓他只顯示標題或者是文章的前幾行就好呢? 另外還想問問看有沒有辦法弄個目錄之類的東西? 這樣要找文章比較快 以上問題麻煩知道的前輩為小弟解答一下,感謝 最後附上我Wordpress的網址 http://will ...

自訂網域一直都不成功

Xanthe avatar
By Xanthe
at 2010-04-26T04:04
※ 引述《yuankuei (please)》之銘言: : ※ 引述《jimmyfk (jimmyfk)》之銘言: : : 感覺像是 Google 那邊的問題, : : 是不是 ghs.google.com 起不了作用? : : 不知道是不是子網域的問題 : 根據 blogger 的說明 : http://w ...

一直無法顯示 Q_Q

James avatar
By James
at 2010-04-25T14:34
昨天晚上用完電腦之後把螢幕電源關掉之後就沒有繼續使用了 早上要看今天的噗的時候 重新整理了一次 然後就再也開不起來我的噗浪了 我平常是用火狐 有試過IE跟google Chrome 可是都沒辦法開啟 ... 只能看到文字的部分 河道上的全部無法顯示 請問有人知道這是什麼問題嗎 不能噗浪好空 ...

微網誌當道 推特單月收購兩公司

Barb Cronin avatar
By Barb Cronin
at 2010-04-24T12:20
微網誌當道 推特單月收購兩公司 http://www.cdnews.com.tw 2010-04-24 09:39:51 陳淑娟/整理   法新社舊金山23日電:推特(Twitter)今天宣布,該公司已收購一家名為Cloudhopper 的小型SMS簡訊科技公司。這是推特這個廣受歡迎的微網誌公司,本月併購 ...

專家看個資法修正案對網友的限制

Elvira avatar
By Elvira
at 2010-04-24T09:23
專家看個資法修正案對網友的限制 http://www.zdnet.com.tw/news/web/0,2000085679,20145204,00.htm ZDNet記者曠文溱/台北報導 2010/04/23 18:05:02 未來網友在Facebook上張貼照片,最好要事先取得照片裡面所有人的同意,這不是 ...