JetTheme 記事ページのカスタマイズ【Blogger】

トップページ関連のメモを終え、ようやく記事ページです。ここでは記事更新日の追加・サイドの追従型目次・ブログカードなどのカスタマイズについてになります。
カスタマイズには、JetTheme Ver.2.9(最終更新:2022/4/28)を使っています。変更箇所検索で記載してある行数は目安程度で。
更新日の追加
まずは公開日の書式設定(過去、JetThemeでの日付表示は日本では馴染みのない海外仕様でしたが、現在はyyyy/M/Dタイプの表示が可能となっています)および、更新日の追加について。手順はafter work lab/あトンさんが記事で解説されています。
「JetTheme」の日付の書式変更と更新日の追加方法(after work lab)
記事ページだけ更新日を表示
私はあまり表示をごちゃごちゃさせたくなかったので、各記事ページ以外には更新日を表示させない(トップ新着記事一覧・人気の投稿・関連記事は公開日のみ表示)ことにしました。この場合、コードの書き換えは1か所です。2020行ちょっと先のコードを検索。
<b:if cond='data:jwidget.allBylineItems.timestamp'>
<div class='me-3'>
<svg aria-hidden='true' class='me-1 jt-icon'><use xlink:href='#i-clock'/></svg>
<span class='date-format' expr:data-date='data:post.date.iso8601'>
<b:eval expr='data:jwidget.allBylineItems.timestamp.label ? data:post.date format data:jwidget.allBylineItems.timestamp.label:data:post.date'/>
</span>
</div>
</b:if> --- ★この下に更新日時コードをペースト
class='entry-meta…’のエリアで、上記が最初の投稿日時。デフォルトではこの前に投稿者・後ろにコメント数が、左寄せで表示されますが、私は投稿者を非表示(レイアウト>Post>より投稿者表示をOFF)にして、更新日時を追加し、全体を右寄せにしています。
更新日時コードの追加は、探した上記</b:if>の下にまるごとコピペ。
<b:if cond='data:post.date != data:post.lastUpdated'>
<div class='me-3' id='update'> <!--更新日を非表示にしたい時もある場合はidの追加-->
<svg aria-hidden='true' class='me-1 jt-icon bi-arrow-clockwise'>
<use xlink:href='#bi-arrow-clockwise'/>
</svg>
<span class='date-format' expr:data-date='data:post.lastUpdated.iso8601'>
<b:eval expr='data:jwidget.allBylineItems.timestamp.label ? data:post.lastUpdated format data:jwidget.allBylineItems.timestamp.label : data:post.lastUpdated'/>
</span>
</div>
</b:if>
ペースト後は、すぐ下にコメントの<b:if…>が続いていると思います。
右寄せは、以下の箇所を検索してclassに justify-content-end を追加するだけ。
<div class='entry-meta mb-3 text-secondary d-flex flex-wrap fw-light justify-content-end'>
更新日を非表示にしたい時もある
過去記事のちょっとした修正(誤字脱字など)の場合には更新日を表示させたくなかったので、コードをちょっと調整。idを追加設定しました。
上の更新日追加コードの上から2行目の<div class='me-3' id='update' 部分です。更新日をいつでも表示したい場合でも、このままコードを追加して問題ありません。
非表示にするためには、各記事を書き終わった後・誤字修正などの後に、HTMLモードにして最後に以下の1行を追加しています。これを入れれば非表示・入れなければ更新日が表示されます。
<style>#update{display:none;}</style>
シェアボタンの非表示
広告ブロック拡張機能を入れていると気づかない(私はChromeに広告ブロック拡張機能を入れているので、この部分が丸ごと消えます)かもしれませんが、このような機能を入れていない場合は、個別記事のタイトル下(class="entry-header …")にFacebookやX(旧Twitter)などのアイコンがずらっと並びます。
消し方は2パターン。
後で必要になるかも…という方は、レイアウト>ブログの投稿 より 共有ボタンを表示する のチェックボタンをOFFにすれば、HTMLをいじらなくても簡単にスパッと全部消えます。
使うこともないのだから元のHTMLから削除してしまいたいという場合は、JetShare を検索し、2か所のコード削除が必要です。
最初の JetShare を <b:includable id='JetShare' var='post'> から </b:includable> まで丸ごと削除。場所の目安は、この削除ブロックのすぐ下に <b:includable id='JetPostMeta' var='post'> があります。
<b:includable id='JetShare' var='post'>
<b:if cond='data:jwidget.allBylineItems.share'>
<div class='social-share mb-3'>
<div class='d-flex fs-5'>
<a class='me-2 mb-2 btn btn-sm jt-icon-center ・・・★中略</a>
-- ★以下7個ほどリンクが続きます
</div>
</div>
</b:if>
</b:includable>
次の JetShare を1行削除。場所の目安は、すぐ上に </header> があります。
<b:include data='post' name='JetShare'/>片方だけだとHTML保存の時にエラーがでなくても、個別記事のパンくずリスト以下の表示が消えてしまうのでご注意を。2か所セットで削除です。
目次・記事ページのみサイドに追従型目次の表示
目次はJT純正ではなく、QooQの時も使っていたスケ郎のお話/スケ郎さんが作られたものを、IB-Note/Fumaさんが改良されたプログラムを使っています。こちらはオプション設定で簡単にサイドに目次表示(もちろんサイド非表示設定も可能)をさせることができます。
[Blogger] 目次を簡単に自動生成(忙しい人向けのコピペ素材)(スケ郎さん)
自動生成目次のオプション機能を追加してみました(Fumaさん)
何も言うことはありません。コピペで簡単・オプション設定も用意されており非常にお勧めです。
ただし、全てのBloggerテンプレートでうまく設置できるわけではないようで、一部相性の悪い(もともとそのテンプレートで使っているJavaScirptやCSSなどと干渉してしまう)テンプレートもあるようです。
CSSの調整
目次のデザイン(背景色ほか)を変えたい場合には、テーマ>カスタマイズ>HTMLを編集 より <!-- [END] 目次作成プラグイン--> の数行上にあるブロック= <style type='text/css'> ~ </style> の間にCSS(オリジナルは軽量化のため空白や改行が削除されているので探しにくいです)があります。
追記:記事内にJetTheme純正の広告枠を設置している場合
JetThemeではいくつかの広告枠が設置済みです。もし記事内の広告枠をONにしている場合、タイトルに入力されている「#Advertisement」を削除する必要はありません。
これを削除してしまうと、見出しとして1カウントされてしまうので、目次に謎の空項目が1つ追加されてしまいますので注意しましょう。(私も気づくまで試行錯誤しました)
ブログカード
当ブログのブログカードは、過去にFC2-Blogでお世話になっていた The other way round/Akiraさんが作られたものをベースに、after work lab/あトンさんが一部改良されたブックマークレットを使っています。
ブログカード作成ブックマークレットをアップデートしました(Akiraさん)
理想のブログカードでページスピードを上げる方法(あトンさん)
当ブログオリジナルCSSのブログカードはこんな感じ。「あわせて読みたい」を後からカスタマイズしたいので、上下左右に余白をとってあります。
リンク先のページにOGP画像が設定されていない場合はサイトのスクリーンキャプチャ画像を取得し表示するようになっているので、新たにno-imageの設定などは不要です。
私のように記事に全てアイキャッチを入れていない人にはとてもうれしい。ただし、この画像は取得時のもので、リンク先のサムネイルは自動更新されません。
なお、ブログカードの「あわせて読みたい」のカスタマイズCSSは【その2】にて。
使用上の注意
p要素の中にブログカードを入れて(入れ子して)しまわないよう注意してくださいね。親要素がdivであれば良いんですが、pは構文エラーです。
The other way round Akiraさん
とされていますので、Bloggerを使っている場合は「段落」<p>ではなく「標準」 <div> にしてから、コードをコピペしましょう。
You may also like...を削除
記事の途中で、関連記事がテキストリンクで3つ(デフォルトで3つ・記事数変更可能)表示されます。
自分で関連記事を選んで、あとで読む…のブログカードなどの設置などをしている人には不要でしょう。また、記事・コメントの下で RELATED POST も表示されるので関連記事が重複していることになります。
こちらも削除パターンは2つ。
後で必要になるかも…という方は、レイアウト>#You may also like より 表示をOFFにすればOK。
不要なので元から消したい場合は、消したい場合は1か所。テーマ>カスタマイズ>HTMLを編集 より、右上の小さな四角が4つならんでいるアイコン(ウィジェットに移動)で HTML15 を選択し、以下コードを丸ごと削除します。
<b:widget id='HTML15' locked='false' title='#You may also like' type='HTML' visible='true'>
<b:widget-settings>
<b:widget-setting name='content'><




