ダルシーのにっき: BloggerでReadMoreを自動でつける

2011年8月25日木曜日

BloggerでReadMoreを自動でつける

Read More(もっと読む:続きを読む)を使って折りたたみ表示させるには、記事作成中にパレットの「追記の区切りを挿入」ボタンをクリックして区切りを挿入すれば良いわけですが・・・


面倒なのよね、正直。


しかも、ほかの記事とのバランス考えながら、丁度良い位置にピンポイントで区切りを挿入させるなんて・・・


ズボラな私にはストレス。


そんなわけでこれまでは、海の向こうの賢い方が作られたscriptをお借りして自動的に折りたたみ、ついでにサムネイルもつけていたわけですが、今日ブログを見てみたら、全文表示になってるじゃないの!!


理由は簡単、そのscriptを読み込めなくなったから。
なぜって?
それは・・・


海の向こうの賢者がそのコードを消しやがったから。


賢者よ、消すなら先に告知してくれてもよかろうに(ーー;)


借り物はこういうことがあるから気をつけないといけませんね。

新たな借り物を探そうとも思ったのですが、また消されても面倒なので、自動でReadMoreをつけるスクリプトを自分のhtml内に格納する事にしました。


Cat Flap
Cat Flap / stephenhanafin



まず、</head>の後ろ(2011/12/15訂正。正しくは)に下記コードを挿入。
scriptは<head>~</head>か<body>~</body>の中に書きましょう。

<script type='text/javascript'>var thumbnail_mode = "no-float" ;
summary_noimg = 430;
summary_img = 340;
img_thumb_height = 100;
img_thumb_width = 120;
</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>

そして、<data:post.body>を下記コードに置き換えます。


<b:if cond='data:blog.pageType == &quot;static_page&quot;'><br/>
<data:post.body/>
<b:else/>

<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 "<data:post.title/>"</a></span>

</b:if>
<b:if cond='data:blog.pageType == "item"'><data:post.body/></b:if>
</b:if>

不定期更新のブログだし、用もないのに自分のブログを見ることなんて殆どない私。
たまたま今日気がついたけど・・・いつからこうなっていたのかしら(^_^;)

これでもう、放置しても無問題♪

************



2 コメント♪:

茄子 さんのコメント...

readmoreのやりかた、非常に参考になりました。
ナイス記事、ありがとうございました!

2011年12月14日 16:06
Darcis さんのコメント...

茄子さん こんにちは♪

>ナイス記事、ありがとうございました!
とんでもないです。こちらこそ、記載ミスに気付かせて頂いて本当にありがとうございました!!

それにしても・・・何で私、前と後ろ間違えたんだろ(^_^;)

自分の脳みそが一番理解不能です(笑)

2011年12月15日 16:18