暫定的ですがどうぞ。<!-- <b:if cond='data:top.showReactions'> --><div id='mrp-wrapper'><p id='mrp-title'>関連記事</p><b:include data='post' name='mrp'/></div><!-- </b:if> --><b:if cond='data:top.showReactions'>と対応する</b:if>をとりあえずコメントアウト。<data:top.reactionsLabel/>を「関連記事」などの文字列に置き換え。
関連記事の表示件数を改善
<b:includable id='mrp' var='post'><div id='mrp-content'/><script type='text/javascript'>mrpPosturl="<data:post.canonicalUrl/>";</script><b:loop values='data:post.labels' var='label'><b:if cond='data:label.isLast == "true"'><script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=mrp_input&max-results=11"' type='text/javascript'/></b:if></b:loop><script type='text/javascript'>// コメントアウト// var mrpPosturl="<data:post.canonicalUrl/>";var mrpMax=10;mrp_output();</script></b:includable>
赤文字は追加部分です。これは10件表示させたければ、それプラス1の11に設定しておく仕様になっています。8件表示させるには9に設定しておきます。そしてmrpmaxには10や8といった表示させたい件数にします。
プラス1の件数に設定する箇所は、現在の記事が含まれたら違う記事を表示させるためだそうです。
次に mrp-v1.04を検索します。
//<![CDATA[
//mrp-v1.04
var relatedAry=new Array;var mrpPosturl = "";function mrp_input(e){for(var t=0;t<e.feed.entry.length;t++){var r=new Object,n=e.feed.entry[t];r.title=n.title.$t;try{r.thumbnail=n.media$thumbnail.url}catch(e){r.thumbnail="noneImage"}for(var l=0;l<n.link.length;l++)if("alternate"==n.link[l].rel){r.link=n.link[l].href;break}if(mrpPosturl==r.link){continue;}for(var i=0,m=0;m<relatedAry.length;m++)if(r.link==relatedAry[m].link){i=1;break}i||relatedAry.push(r)}}function mrp_output(e){for(var t,r,n,l,a,i=mrpMax<relatedAry.length?mrpMax:relatedAry.length,d=document.getElementById("mrp-content"),m=[],s=0;m.push(s++)<relatedAry.length;);if(m=m.sort(function(){return Math.random()-.5}),relatedAry.length<=1)(a=document.createElement("p")).textContent="関連する記事はありません。",d.appendChild(a);else for(var p=0;p<i;p++)t=relatedAry[m[p]],mrpPosturl!=t.link&&((r=document.createElement("div")).setAttribute("class","mrp-post"),"noneImage"!=t.thumbnail&&((n=document.createElement("img")).setAttribute("src",t.thumbnail),n.setAttribute("class","mrp-post-img"),r.appendChild(n)),(a=document.createElement("p")).setAttribute("class","mrp-post-title"),a.textContent=t.title,r.appendChild(a),(l=document.createElement("a")).setAttribute("href",t.link),l.setAttribute("class","mrp-post-link"),r.appendChild(l),d.appendChild(r))}//]]>
注意点
すべてのカテゴリ(ラベル)を表示
関連記事の装飾
/* 関連記事 */#mrp-wrapper {margin-top: 2em;}#mrp-title {font-weight: bold;text-align: center;margin-bottom: 1em;}#mrp-content {display: flex;flex-wrap: wrap;justify-content: space-between;}#mrp-post-title {padding: .5em;}.mrp-post:hover {box-shadow: 5px 5px 5px 3px #aaa;}.mrp-post {position: relative;flex-basis: 49%;height: 90px;overflow: hidden;margin: 0 0 10px;background: #fff;box-shadow: 3px 3px 5px -2px #aaa;border-radius: 3px;transition: .2s;}.mrp-post-img {float: left;width: 40%;height: 90px;padding-right: .5em;object-fit: cover;}@media ( max-width : 600px ) {.mrp-post {flex-basis: 100%;margin: 10px 0;height: 90px;}}.mrp-post-title {font-size: 90%;}.mrp-post-link {position: absolute;top: 0;left: 0;width: 100%;height: 100%;@media (max-width: 279px){.mrp-post-title { clear: left; }}
好みで変えるといいと思います。私はボックスの影やホバー時の動作などは、宗教的なサイトで文章が多いのにミスマッチと感じ消しておきました。.mrp-post-imgも幅を100pxにして、トップページ一覧の画像の幅と同じくらいにしておきました。好みで書き換えられるといいです。
自分がしたカスタマイズは、display:flex; をmrp postを指定して、文字が左の画像に回り込むのを防いでました。height90pxは削除してタイトルが長くてもきちんと表示されるようにしました。
画像がぼやけを解消
//<![CDATA[//mrp-v1.04var relatedAry=new Array;function mrp_input(e){for(var t=0;t<e.feed.entry.length;t++){var r=new Object,n=e.feed.entry[t];r.title=n.title.$t;try{r.thumbnail=n.media$thumbnail.url.replace(/\/s[0-9]+(-c)?/, "/s300").replace(/\=s[0-9]+(-c)?/, "=s300")}catch(e){r.thumbnail="nonImage"}for(var l=0;l<n.link.length;l++)if("alternate"==n.link[l].rel){r.link=n.link[l].href;break}for(var i=0,m=0;m<relatedAry.length;m++)if(r.link==relatedAry[m].link){i=1;break}i||relatedAry.push(r)}}function mrp_output(e){for(var t,r,n,l,a,i=mrpMax<relatedAry.length?mrpMax:relatedAry.length,d=document.getElementById("mrp-content"),m=[],s=0;m.push(s++)<relatedAry.length;);if(m=m.sort(function(){return Math.random()-.5}),relatedAry.length<=1)(a=document.createElement("p")).textContent="関連する記事はありません。",d.appendChild(a);else for(var p=0;p<i;p++)t=relatedAry[m[p]],mrpPosturl!=t.link&&((r=document.createElement("div")).setAttribute("class","mrp-post"),"noneImage"!=t.thumbnail&&((n=document.createElement("img")).setAttribute("src",t.thumbnail),n.setAttribute("class","mrp-post-img"),r.appendChild(n)),(a=document.createElement("p")).setAttribute("class","mrp-post-title"),a.textContent=t.title,r.appendChild(a),(l=document.createElement("a")).setAttribute("href",t.link),l.setAttribute("class","mrp-post-link"),r.appendChild(l),d.appendChild(r))}//]]>


0 件のコメント:
コメントを投稿