トップページの表示方法を改造した。
自動的に全記事が短縮されて、「もっと読む」「全部表示する」リンクするようにした。
3つのサンプルのスクリプトで試してみたが、どれも見出しの画像、サムネイル画像(アイキャッチ画像)をクリックしてもリンクに飛ばない物足りなさがあった。
そこで、画像クリックできるようにした。
画像があって、クリックしてもどこにも飛ばないのは不自然であったが、それを飛べるようにした。標準コードで画像リンク化されていないのは不思議であった。
その手順は次の通り。
Step 1 Blogger account にログインし、 Blogger ダッシュボードに行く
Step 2 テンプレート -> HTMLを編集に行く。
Step 3 Ctrl F で <data:post.body/> を検索見つける。
2~3個見つかるかもしれないが、2個めに移動。
Step 4 <data:post.body/> を削除して、次のコードと置き換える。
<!-- 2個めの <data:post.body/> があったところ Read more --> <b:if cond='data:blog.pageType == "static_page"'> <data:post.body/> <b:else/> <b:if cond='data:blog.pageType != "item"'> <div class='swtSummary' expr:id='"summary" data:post.id'><data:post.body/></div> <script type='text/javascript'>createSummaryAndThumb("summary<data:post.id/>","<data:post.url/>","<data:post.title/>");</script> <div class='jump-link'> <a expr:href='data:post.url "#more"' expr:title='data:post.title'><span class='readmore' style='float:right;'><data:post.jumpText/></span></a> </div> </b:if> <b:if cond='data:blog.pageType == "item"'> <data:post.body/> </b:if> </b:if>
Step 5 Ctrl F で </head> を検索し、見つける。
Step 6 </head> の直前に次のコードを貼り付ける。挿入する。
.
<!--Adding the Automatic Read more Button on Blogger -->
<script type='text/javascript'>
var thumbnail_mode = "float" ;
summary_img = 120;
summary_noimg = 200;
img_thumb_width = 320;
img_thumb_height = 213;
var summary_noimg = "https://makotoiwasaki.com/wp-content/uploads/2015/11/empty1.gif";
</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, pURL, pTITLE){
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:0;margin:0"><a href="' pURL '" title="' pTITLE '"><img src="' img[0].src '" width="' img_thumb_width 'px" height="' img_thumb_height 'px"/></a></span>';
summ = summary_img;
}
var summary = imgtag '<div>' removeHtmlTag(div.innerHTML,summ) '</div>';
div.innerHTML = summary;
}
//]]>
</script>
Step 7 テンプレートを保存する。
Step 8 スタイルを整えるには、次のようなCSSコードを、テンプレートに追加する。
Ctrl F で ]]></b:skin> を検索し、その直前に次のCSSコードを貼り付ける。
.swtSummary {
text-align: justify;
}
.swtSummary img {
position: relative; float:left; margin: 5px 10px 5px 0;
opacity:0.7;
filter:alpha(opacity=70);
-webkit-transition:all .4s ease-in-out;
-moz-transition:all .4s ease-in-out;
-o-transition:all .4s ease-in-out;
-ms-transition:all .4s ease-in-out;
transition:all .4s ease-in-out
}
.swtSummary img:hover {
opacity:1;
filter:alpha(opacity=100);
-webkit-transition:all .4s ease-in-out;
-moz-transition:all .4s ease-in-out;
-o-transition:all .4s ease-in-out;
-ms-transition:all .4s ease-in-out;
transition:all .4s ease-in-out
/* 続きを読む */
.jump-link
{
float:right;
margin:1% 1%;
}
.jump-link a
{
text-align:center;
display:inline-block;
color:#FFFFFF;
margin:5px 4px 5px 10px;
padding:9px 10px 9px 10px;
font:100% 'Oswald',Sans-Serif;
background-color:#ff8c00;
text-decoration:none;
text-transform:uppercase;
box-shadow:4px 4px 0px rgba(33,33,33,0.45);
}
.jump-link a:hover
{
background-color:#adff2f;
color:#FFFFFF;
}
Step 9 Ctrl F で <div class='jump-link'> を検索し、次の5行のコードを削除する。
<b:if cond='data:post.hasJumpLink'> <div class='jump-link'> <a expr:href='data:post.url "#more"' expr:title='data:post.title'><data:post.jumpText/></a> </div> </b:if>
以上で、テンプレートを保存する。
サンプルのトップページ。

Step 10 トップページに表示したくないコメント欄などを隠す方法は、次回に。
--- 後記。 以上の今回の方法はやめて、次の方法が良い。
* Snippetで自動区切り「もっと読む」表示が簡単 Blogger Auto Read-More with imge without Javascript

