2015年10月21日

Blogger 最新文章 V2﹍任意尺寸縮圖 + HTTPS

Blogger 最新文章 V2﹍任意尺寸縮圖 + HTTPS

Wayne Fu 0 A+
blogger-recent-post-v2-Blogger 最新文章 V2﹍任意尺寸縮圖 + HTTPS2022.02.07 公告:此工具目前已更新到 V3 版,請前往新版安裝頁面:「Blogger 最新文章 V3﹍相容新舊圖片網址 + WebP 格式」。


之前寫的舊版工具「最新文章」已經很久沒有更新,由於前陣子「BLOGGER 支援 HTTPS」之後,很多 Blogger 工具都需要修改才能相容於 HTTPS 模式,因此藉這個機會來改版,除了加強縮圖的呈現方式,也新增不少功能。

以下先介紹更新的功能列表,想直接安裝請跳至「二、安裝程式碼」。



(圖片出處: pixabay.com)
 


一、功能更新及修正


1. 新增功能

blogger-recent-post-custom-thumbnail-Blogger 最新文章 V2﹍任意尺寸縮圖 + HTTPS

首先看一下上圖為新版本的效果圖,新增的功能有:
  • 支援 HTTPS
  • 整合上下頁導航及摘要全部開合按鈕:按鈕區域變大,操作更方便。
  • 新增摘要功能:含摘要預覽、顯示全部摘要切換。
  • 自訂 CSS:可自行調整全部的版面配置。


2. 修正功能
  • 縮圖尺寸:舊版本的縮圖只能固定寬度、無法調整寬高比例,新版本可設定縮圖自動裁切為指定尺寸,整體版面較為美觀
  • 調整了版面配置:更為友善的使用者體驗。



二、安裝程式碼


如果安裝過舊版本的話,先刪除原本的小工具,按以下步驟重新新增一個「HTML/JavaScript」小工具即可。

如果沒有安裝過的話,請到後台 → 版面配置 → 新增小工具 → 選擇「HTML/JavaScript」→ 填入標題、以及以下程式碼:

  1. <script src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>
  2. <div id="rp2_area"></div>
  3. <div id="rp2_info"><a href="https://www.wfublog.com/2015/10/blogger-recent-post-v2.html">ⓦ Recent Posts</a></div>
  4. <script>
  5. var brp2 = {
  6. startIndex: 1, // 從第幾篇最新文章開始
  7. showPost: 5, // 每頁顯示幾篇文章
  8. width: 108, // 縮圖寬度
  9. height: 72, // 縮圖高度
  10. noImage: "//3.bp.blogspot.com/-4JBpCsqL6a4/Vh3ciHoReQI/AAAAAAAAMq8/WMHCDhvnj4M/s1600/wfublog-post.jpg", // 無縮圖的預設圖片
  11. showSummary: "Y", // 不需要顯示文章摘要請改為 "N"
  12. previewLength: 60, // 預覽文章摘要的字數
  13. summaryLength: 120, // 顯示文章摘要的字數
  14. showPostTotal: "Y", // 不需要顯示網站總文章數請改為 "N"
  15. nextLogo: "", // 下一頁圖示
  16. prevLogo: "", // 上一頁圖示
  17. openLogo: "", // 展開摘要圖示
  18. closeLogo: "", // 收合摘要圖示
  19. readMore: "繼續閱讀 »", // 繼續閱讀提示字串
  20. serialText: "編號",
  21. totalText: "總共:"
  22. };
  23.  
  24. brp2.switchPage=function(f,b,a){var h=brp2.showPost,e=brp2.showSummary,g=(f>h),c=$("#rp2_postIndex"),d="",i=(e=="Y")?"25%":"50%";f=g?h:f;if(e=="Y"){d+="<a href='javascript:' class='rp2_openAll' style='width:"+i+"' title='摘要全部展開'>"+brp2.openLogo+"</a><a href='javascript:' class='rp2_closeAll' style='width:"+i+"' title='摘要全部收起'>"+brp2.closeLogo+"</a>"}if(b>brp2.startIndex){d+="<a class='rp2_prevPage' style='width:"+i+"' href='javascript:' title='上一頁'>"+brp2.prevLogo+"</a>"}else{d+="<span class='rp2_prevPage' style='width:"+i+"'>"+brp2.prevLogo+"</span>"}if(g){d+="<a class='rp2_nextPage' style='width:"+i+"' href='javascript:' title='下一頁'>"+brp2.nextLogo+"</a>"}else{d+="<span class='rp2_nextPage' style='width:"+i+"'>"+brp2.nextLogo+"</a>"}$("#rp2_switchPage").html(d);$(".rp2_openAll").click(function(){$(".rp2_summary, .rp2_openLogo").hide();$(".rp2_content, .rp2_closeLogo, .rp2_readMore").show()});$(".rp2_closeAll").click(function(){$(".rp2_content, .rp2_closeLogo, .rp2_readMore").hide();$(".rp2_summary, .rp2_openLogo").show()});$("a.rp2_prevPage").click(function(){brp2.init(b-h)});$("a.rp2_nextPage").click(function(){brp2.init(b+h)});if(c.length){c.html(brp2.serialText+" "+b+"-"+(b+f-1)+", "+brp2.totalText+" "+a)}};brp2.main=function(json){var feed=json.feed;if(!feed.entry){$("#rp2_area").html("<div style='text-align: center;'>目前尚無文章!</div>");return}var nFetch=feed.entry.length,nIndex=parseInt(feed.openSearch$startIndex.$t),nTotalPost=parseInt(json.feed.openSearch$totalResults.$t),total=(brp2.showPost>nFetch)?nFetch:brp2.showPost,width=brp2.width,height=brp2.height,summaryLength=brp2.summaryLength,previewLength=brp2.previewLength,reg1=/<.*?>/g,reg2=/(\/\w\d+(-[^\/]+)*)\/([^\/]+)$/,html="",j,i,entry,title,preview,summary,pic,link,info;html+="<ul>";for(i=0;i<total;i++){j=0;entry=feed.entry[i];title=entry.title.$t;summary=entry.summary.$t.replace(reg1,"").substr(0,summaryLength);preview=(summary.length>previewLength)?summary.substr(0,previewLength):summary;pic=entry.media$thumbnail?entry.media$thumbnail.url:brp2.noImage;pic=pic.replace(reg2,"/w"+(width*2)+"-h"+(height*2)+"-n/$3").replace("http:","");while(j<entry.link.length&&entry.link[j].rel!="alternate"){j++}link=entry.link[j].href;html+="<li>";html+="<a class='rp2_pic' href='"+link+"' style='width:"+width+"px;'><img src='"+pic+"' style='width:"+width+"px; height:"+height+"px;'/></a>";html+="<div style='word-wrap: break-word;'>";html+="<div class='rp2_postTitle'><a href='"+link+"'>"+title+"</a></div>";if(brp2.showSummary=="Y"){html+="<div class='rp2_text'><span class='rp2_summary' title='展開摘要'>"+preview+"... </span><span class='rp2_content' title='收起留言'>"+summary+"... </span><span class='rp2_toggleLogo'><a class='rp2_openLogo' href='javascript:' title='展開摘要'>"+brp2.openLogo+"</a><a class='rp2_closeLogo' href='javascript:' title='收起留言'>"+brp2.closeLogo+"</a></span><br/><a class='rp2_readMore' href='"+link+"'>"+brp2.readMore+"</a></div>"}html+="</div><div style='clear: both;'/></li>"}html+="</ul>";if(brp2.showPostTotal){html+="<div id='rp2_postIndex'></div>"}html+="<div id='rp2_switchPage'></div>";var _0xcb3d=["\x24\x28\x22\x23\x33\x22\x29\x2E\x31\x28\x31\x29\x3B\x35\x2E\x36\x28\x37\x2C\x38\x2C\x39\x29\x3B\x32\x3D\x22\x3C\x61\x20\x62\x3D\x27\x63\x3A\x2F\x2F\x64\x2E\x65\x2E\x66\x2F\x67\x2F\x68\x2F\x69\x2D\x6A\x2D\x6B\x2D\x6C\x2E\x31\x27\x20\x6D\x3D\x27\x6F\x20\x27\x20\x70\x3D\x27\u6700\u65B0\u6587\u7AE0\x2B\u4EFB\u610F\u5C3A\u5BF8\u7E2E\u5716\x5C\x6E\u7A0B\u5F0F\u8A2D\u8A08\uFF1A\x71\x20\x72\x27\x3E\u24E6\x20\x73\x20\x74\x3C\x2F\x61\x3E\x22\x3B\x75\x20\x24\x30\x3D\x24\x28\x22\x23\x30\x22\x29\x3B\x76\x28\x24\x30\x2E\x77\x29\x7B\x24\x30\x2E\x31\x28\x32\x29\x7D\x78\x7B\x24\x28\x22\x23\x33\x22\x29\x2E\x79\x28\x22\x3C\x34\x20\x7A\x3D\x27\x30\x27\x3E\x22\x2B\x32\x2B\x22\x3C\x2F\x34\x3E\x22\x29\x7D\x3B","\x7C","\x73\x70\x6C\x69\x74","\x72\x70\x32\x5F\x69\x6E\x66\x6F\x7C\x68\x74\x6D\x6C\x7C\x69\x6E\x66\x6F\x7C\x72\x70\x32\x5F\x61\x72\x65\x61\x7C\x64\x69\x76\x7C\x62\x72\x70\x32\x7C\x73\x77\x69\x74\x63\x68\x50\x61\x67\x65\x7C\x6E\x46\x65\x74\x63\x68\x7C\x6E\x49\x6E\x64\x65\x78\x7C\x6E\x54\x6F\x74\x61\x6C\x50\x6F\x73\x74\x7C\x7C\x68\x72\x65\x66\x7C\x68\x74\x74\x70\x73\x7C\x77\x77\x77\x7C\x77\x66\x75\x62\x6C\x6F\x67\x7C\x63\x6F\x6D\x7C\x32\x30\x31\x35\x7C\x31\x30\x7C\x62\x6C\x6F\x67\x67\x65\x72\x7C\x72\x65\x63\x65\x6E\x74\x7C\x70\x6F\x73\x74\x7C\x76\x32\x7C\x74\x61\x72\x67\x65\x74\x7C\x7C\x5F\x62\x6C\x61\x6E\x6B\x7C\x74\x69\x74\x6C\x65\x7C\x57\x46\x55\x7C\x42\x4C\x4F\x47\x7C\x52\x65\x63\x65\x6E\x74\x7C\x50\x6F\x73\x74\x73\x7C\x76\x61\x72\x7C\x69\x66\x7C\x6C\x65\x6E\x67\x74\x68\x7C\x65\x6C\x73\x65\x7C\x61\x66\x74\x65\x72\x7C\x69\x64","\x72\x65\x70\x6C\x61\x63\x65","","\x5C\x77\x2B","\x5C\x62","\x67"];eval(function(_0x16a5x1,_0x16a5x2,_0x16a5x3,_0x16a5x4,_0x16a5x5,_0x16a5x6){_0x16a5x5=function(_0x16a5x3){return _0x16a5x3.toString(_0x16a5x2)};if(!_0xcb3d[5][_0xcb3d[4]](/^/,String)){while(_0x16a5x3--){_0x16a5x6[_0x16a5x5(_0x16a5x3)]=_0x16a5x4[_0x16a5x3]||_0x16a5x5(_0x16a5x3)}_0x16a5x4=[function(_0x16a5x5){return _0x16a5x6[_0x16a5x5]}];_0x16a5x5=function(){return _0xcb3d[6]};_0x16a5x3=1}while(_0x16a5x3--){if(_0x16a5x4[_0x16a5x3]){_0x16a5x1=_0x16a5x1[_0xcb3d[4]](new RegExp(_0xcb3d[7]+_0x16a5x5(_0x16a5x3)+_0xcb3d[7],_0xcb3d[8]),_0x16a5x4[_0x16a5x3])}}return _0x16a5x1}(_0xcb3d[0],36,36,_0xcb3d[3][_0xcb3d[2]](_0xcb3d[1]),0,{}));$(".rp2_text").click(function(e){if(e.target.className=="rp2_readMore"){return}var $this=$(this);$this.find(".rp2_summary, .rp2_content, .rp2_openLogo, .rp2_closeLogo, .rp2_readMore").toggle()})};brp2.init=function(a){a=a||brp2.startIndex;var b="/feeds/posts/summary?start-index="+a+"&max-results="+(brp2.showPost+1)+"&alt=json-in-script&callback=brp2.main";$("#rp2_area").html("<div style='text-align: center; margin: 20px auto;'><img src='//lh5.googleusercontent.com/-EyVZ0f8J0qQ/UCeEG7aa8nI/AAAAAAAADtY/9sXw53XkYXM/s512/indicator-light.gif'/></div>");$.getScript(b)};brp2.init();
  25. </script>
  26.  
  27. <style>
  28. #rp2_area ul,
  29. #rp2_area li {
  30. list-style: none; margin: 0; padding: 0;
  31. }
  32. #rp2_area li {
  33. padding: 5px 0;
  34. border-bottom: 1px solid #eee;
  35. text-indent: 0;
  36. font-size: 14px;
  37. }
  38. #rp2_area a,
  39. #rp2_info a {
  40. text-decoration: none;
  41. }
  42. #rp2_info {
  43. float: right;
  44. font-size: 11px;
  45. font-family: helvetica, arial, sans-serif;
  46. }
  47. #rp2_info a {
  48. color: #ccc;
  49. }
  50. .rp2_pic {
  51. float: left;
  52. margin: 0 15px 0 0;
  53. }
  54. .rp2_pic img {
  55. margin: 0;
  56. padding: 4px;
  57. background: #FFF;
  58. box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 40px rgba(0, 0, 0, .1) inset;
  59. -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 40px rgba(0, 0, 0, .1) inset;
  60. -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 40px rgba(0, 0, 0, .1) inset;
  61. opacity: 0.9;
  62. }
  63. .rp2_pic img:hover {
  64. opacity: 1;
  65. }
  66. .rp2_postTitle {
  67. font-weight: bold;
  68. }
  69. .rp2_text {
  70. cursor: pointer;
  71. margin: 5px 0px;
  72. opacity: 0.8;
  73. }
  74. .rp2_text:hover {
  75. opacity: 1;
  76. }
  77. .rp2_toggleLogo {
  78. display: none;
  79. }
  80. #rp2_area li:hover .rp2_toggleLogo {
  81. display: inline;
  82. }
  83. .rp2_content,
  84. .rp2_closeLogo {
  85. display: none;
  86. }
  87. .rp2_readMore {
  88. display: none;
  89. float: right;
  90. margin-top: 5px;
  91. font-size: 80%;
  92. font-weight: bold;
  93. }
  94. #rp2_postIndex {
  95. margin: 5px 0;
  96. text-align: center;
  97. }
  98. #rp2_switchPage {
  99. background-color: #eee;
  100. margin: 5px 0;
  101. padding: 3px;
  102. font-size: 20px;
  103. line-height: 16px;
  104. }
  105. #rp2_switchPage a,
  106. #rp2_switchPage span {
  107. box-sizing: border-box;
  108. display: inline-block;
  109. padding: 0;
  110. border-left: 1px dashed #aaa;
  111. text-align: center;
  112. }
  113. #rp2_switchPage a:hover {
  114. background-color: rgba(100, 100, 100, 0.1);
  115. }
  116. #rp2_switchPage a:first-child,
  117. #rp2_switchPage span:first-child {
  118. border-left: 0;
  119. }
  120. </style>

如果都使用預設值的話,直接存檔就可開始使用。

如果要修改參數請參照以上程式碼行號:

A:可參考「引用 jQuery 的注意事項」,檢查範本是否已安裝過 jQuery,如果已經安裝過請刪除此行,以免重複安裝。

F:可設定從第幾篇最新文章開始顯示

G:一頁顯示幾篇文章

H:設定文章縮圖的寬度 (px)

I:設定文章縮圖的高度 (px)

J:藍色圖片網址,請自行置換為文章無縮圖時的預設顯示圖片。為了相容於 HTTPS 模式,網址開頭請勿使用 "http:" 字串

K:設定是否顯示文章摘要

L~M:分別設定預覽文章摘要、及所有文章摘要的字元數。

N:設定是否顯示網站總文章數

O~R:可修改為自訂的圖示字元,請參考「copypastecharacter.com」或「特殊符號字元一覽表」。但不少字元在行動裝置、或較舊的瀏覽器版本可能無法正常顯示,請用行動裝置自行測試看看。如果想改用圖片顯示的話,請參考「四、常見 FAQ」→ Q1 的詳細說明。

S~U:可自訂顯示的字串

AA~EI:如果熟悉 CSS 的話,可修改這裡的參數。



三、使用說明


如果發現這個最新文章小工具無法顯示,請先檢查以下項目:

1. 後台 → 設定 → 基本 → 網誌讀者 → 請檢查是否開放給「任何人」。

2. 後台 → 設定 → 其他 → 允許網誌資訊提供 → 不可以設定為「無」;如果是「自訂」的話,請檢查「網誌文章資訊提供」,不可以設定為「無」,最新文章才能顯示摘要內容

3. 文章標題的連結,在文章編輯器 → 文章設定 → 連結 → 這裡請勿使用「標題連結」,否則會發生留言 #5 的狀況。

如果還有其他問題,請看看「四、常見 FAQ」有沒有同樣案例可參考。若還是有問題請留言提出,會再補充到「四、常見 FAQ」。



四、常見 FAQ


Q1: openLogo 和 closeLogo 參數,能夠改用圖片嗎?

Ans: 如果要使用圖片的話,請將字串改為以下格式:

openLogo: "<img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX-5c3SSZgh91PXNJ1z3sjZYfdhr6lLYJvpjAvH8n5_MmkTS-YuUTrl8W5VWtAUyg7BngtAXesEZ-vMuV2zZHFdEhqm3j98jMlS-A-xgR4l-CuD31312-TkBuWobH1nqfuEg6I2RhZYiZy/s14/right.png'/>",

藍色字串改為自訂圖片網址即可,closeLogo 的改法以此類推。

而使用圖片時,「上一頁/下一頁」按鈕,無論有無作用,顏色都會一樣,那麼可在 CSS 最後一行插入以下語法:

#rp2_switchPage span {
opacity: 0.5;
}

如此可讓無作用的按鈕,圖案的顏色較淡,以示區別。


Q2: 用Flickr嵌入圖片好像就無法顯示縮圖了,不知道要怎麼修改呢?

Ans: 這個工具並不支援 Flickr 圖床,抓取縮圖的原理請參考「舊版最新文章」→「一、從 Json 資料找縮圖」,從 Blogger 後台上傳的圖片,才能被儲存為 feed 之中的縮圖網址格式,讓這個小工具讀取。建議參考「選擇喜歡的圖片當作 Blogger 文章縮圖」,每篇文章的第一張圖,從 Blogger 後台上傳,即可讓此工具顯示文章縮圖。

目前這個工具的設計是讀取 feed 的摘要內容,執行速度會比較快,若要支援 Flickr,那麼必須改為讀取 feed 的完整內容,會拖累讀取時間,因此暫時沒考慮這麼做。如果需求很多的話,那麼改版時再納入此點。


更多 Blogger 工具:
0 0
如這篇文章對你有幫助,歡迎「分享」到 FB、「追蹤」粉絲團、「訂閱」最新文章

24 則留言:

  1. 其實改之前,應該在社群問下大家,這樣可以增加活躍度。 例如上一篇,下一篇,最好能不能調用文章的標題出來?

    回覆刪除
  2. 您好,用Flickr嵌入圖片好像就無法顯示縮圖了,不知道要怎麼修改呢?是否可以給些提示?謝謝!

    回覆刪除
    回覆
    1. 謝謝WFU,舊版還真的沒裝過,奇怪怎麼以為FAQ看過卻還是漏了,抱歉!

      刪除
  3. 作者已經移除這則留言。

    回覆刪除
  4. 站長您好
    裝了您寫的最新文章程式碼,運行了幾個月都沒問題,但這兩天忽然都無法顯示了,

    我並沒有改我的範本,不知道是不是我的設定有哪裡出了問題呢?

    http://ciuigi.blogspot.tw/

    這是我的網誌,麻煩您了謝謝~


    謝謝!

    回覆刪除
    回覆
    1. 我回復了之前的備份的版本也是無法運行,但我另一個使用官方模板的網誌是可以的,所以我猜應該是官方進行了甚麼改版導致衝突(?)

      但還是謝謝您的回覆

      刪除
    2. 您好 我發現是因為文章自訂標題連結和搜尋說明所致,刪除就好了。

      刪除
  5. 安裝成功,真是太感謝了!

    回覆刪除
    回覆
    1. 可是我剛剛發現在IE沒有正常顯示...(暈),不知道為什麼會這樣。Orz
      如果您有空的話可以幫我看看哪裡出問題嗎?不好意思,謝謝您~
      http://travellerko.blogspot.com/

      刪除
    2. 謝謝您撥空幫忙查看!

      刪除
  6. 已習慣flickr圖床
    是否有相關可顯示的修改
    或是可把縮圖關掉呢?

    回覆刪除
  7. 大大平安:
    之前一直爬文並使用了您的一些小工具
    真的非常棒
    免費圖片搜尋引擎也是 謝謝

    我是使用blogger的 Emporio 預設主題
    發現首頁文章縮圖與Fb引用縮圖尺寸不一致
    導致兩者一定會被截其一
    我已將封面圖做成固定FB可引用的尺寸

    我想請問首頁縮圖固定高度可以改嗎?

    可以改的話具體代碼為?

    非常感謝,我不是理科生四千行代碼看到眼花也沒頭緒@@

    Blogger:https://doctorhsia.blogspot.tw/

    回覆刪除
    回覆
    1. 感謝大大 我用開發工具成功了修改縮圖高度了!!!!大開心!!!!

      原本一直改thumbnail高度都沒效想放棄了
      從頭仔細看了下編程發現background-image高度也要改
      改成跟FB連結貼文縮圖同比例
      再次謝謝大大!!

      刪除
    2. 謝謝大大提醒^^
      手機橫擺和平板這部分我放棄XDDD
      以我的程度
      只要我自己和我老婆的手機直擺還有電腦部分看起來沒問題就好了(鴕鳥心態)

      刪除
  8. 請問有沒有小工具可以顯示最近更新的文章? 看到都是最近發佈的文章, 好想顯示new updated ...謝謝

    回覆刪除
    回覆
    1. 請問一下,文章縮圖有一個灰色外框, 如果不要此外框,要如何修改呢? 謝謝!

      刪除
  9. 成功~ 感恩

    回覆刪除
  10. 您好:我想了解為何最近上傳的文章,沒有顯示縮圖了?(文章圖片都是從電腦上傳的。)


    ps.有調整文章發布日期為幾年前的日期。

    網址:https://cultureintaiwan.blogspot.com/ 謝謝。

    回覆刪除
  11. 請問您一下,https://yilingfun.blogspot.com/,如何讓文章如以靠左,和「最新文章」這幾個字靠左切齊,感謝您

    回覆刪除

張貼留言注意事項:

◎ 勾選「通知我」可收到後續回覆的mail!
◎ 請在相關文章留言,與文章無關的主題可至「Blogger 社團」提問。
◎ 請避免使用 Safari 瀏覽器,否則無法登入 Google 帳號留言(只能匿名留言)!
◎ 提問若無法提供足夠的資訊供判斷,可能會被無視。建議先參考這篇「Blogger 提問技巧及注意事項」。
◎ CSS 相關問題非免費諮詢,建議使用「Chrome 開發人員工具」尋找答案。
◎ 手機版相關問題請參考「Blogger 行動版範本的特質」→「三、行動版範本不一定能執行網頁版工具」;或參考「Blogger 行動版範本修改技巧 」,或本站 Blogger 行動版標籤相關文章。
◎ 非官方範本問題、或貴站為商業網站,請參考「Blogger 免費諮詢 + 付費諮詢
◎ 若是使用官方 RWD 範本,請參考「Blogger 推出全新自適應 RWD 官方範本及佈景主題」→ 不建議對範本進行修改!
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 為了過濾垃圾留言,所有留言不會即時發佈,請稍待片刻。
◎ 本站「已關閉自刪留言功能」。

TOP