※
フリーのBloggerテンプレート「QooQ」のカスタマイズについてまとめています。
参考程度に。
尚、カスタマイズはバックアップを取った上、自己責任で行うようにしてください。
完成イメージ
よく見かける一発目どーんのやつです。cssの準備
「list-item」をコピーして「list-item-top」を作成、追加する。「flex-basis」を100%にする。
.list-item-top { /* 1つ目の記事 */ flex-basis : 100%; margin-top : 8px; border-radius : 3px; background : $(other.back); } .list-item { /* 2つ目以降の記事 */ flex-basis : 49.5%; margin-top : 8px; border-radius : 3px; background : $(other.back); }
htmlの修正
最初の記事かどうかを判別する「<b:if cond='data:post.isFirstPost'>~<b:else/>~</b:if>」を追加。「<article class='list-item'>~</article>」の塊をコピーしてif後に挿入。
挿入した「<article class='list-item'>」を先程追加したクラス「list-item-top」に変更。
->「<article class='list-item-top'>」に。
元の「<article class='list-item'>~</article>」の塊はelse後に挿入。
元のコード
<b:includable id='post' var='post'> <article class='list-item'> <b:if cond='data:post.dateHeader'> <script type='text/javascript'>var jsdate = "<data:post.dateHeader/>"</script> </b:if> <b:if cond='data:post.thumbnailUrl'> <a expr:href='data:post.url'> <img class='list-item-img' expr:src='resizeImage(data:post.firstImageUrl, 480, "2:1")'/> </a> </b:if> <div class='list-item-inner'> <p class='list-item-date'><script type='text/javascript'>document.write(jsdate)</script></p> <h3 class='list-item-title'><a expr:href='data:post.url'><data:post.title/></a></h3> <p class='list-item-category'> <b:loop values='data:post.labels' var='label'> <span class='list-item-category-item'><a expr:href='data:label.url'><data:label.name/></a></span> </b:loop> </p> </div> </article> </b:includable>
修正後のコード
<!-- トップページの記事一覧 --> <b:includable id='post' var='post'> <!-- 最初の記事 --> <b:if cond='data:post.isFirstPost'> <article class='list-item-top'> <b:if cond='data:post.dateHeader'> <script type='text/javascript'>var jsdate = "<data:post.dateHeader/>"</script> </b:if> <b:if cond='data:post.thumbnailUrl'> <a expr:href='data:post.url'> <img class='list-item-img' expr:src='resizeImage(data:post.firstImageUrl, 480, "2:1")'/> </a> <b:else/> <!-- 画像がないときのデフォルト画像の用意 --> </b:if> <div class='list-item-inner'> <p class='list-item-date'><script type='text/javascript'>document.write(jsdate)</script></p> <h3 class='list-item-title'><a expr:href='data:post.url'><data:post.title/></a></h3> <!-- ラベル一覧 --> <p class='list-item-category'> <b:loop values='data:post.labels' var='label'> <span class='list-item-category-item'><a expr:href='data:label.url'><data:label.name/></a></span> </b:loop> </p> </div> </article> <b:else/> <!-- 二番目以降の記事 --> <article class='list-item'> <b:if cond='data:post.dateHeader'> <script type='text/javascript'>var jsdate = "<data:post.dateHeader/>"</script> </b:if> <b:if cond='data:post.thumbnailUrl'> <a expr:href='data:post.url'> <img class='list-item-img' expr:src='resizeImage(data:post.firstImageUrl, 480, "2:1")'/> </a> <b:else/> <!-- 画像がないときのデフォルト画像の用意 --> </b:if> <div class='list-item-inner'> <p class='list-item-date'><script type='text/javascript'>document.write(jsdate)</script></p> <h3 class='list-item-title'><a expr:href='data:post.url'><data:post.title/></a></h3> <!-- ラベル一覧 --> <p class='list-item-category'> <b:loop values='data:post.labels' var='label'> <span class='list-item-category-item'><a expr:href='data:label.url'><data:label.name/></a></span> </b:loop> </p> </div> </article> </b:if> </b:includable>