Bloggerに目次を付ける。ブログが驚異的に読みやすくなった!!

2020年8月3日月曜日

生活の知恵

t f B! P L

Google提供のBloggerは無料、そして「広告表示なし」「カスタムドメイン可」「アドセンス可」など実に素晴らしいブログサービスで私は愛用しています。

しかし、Bloggerで用意されている標準ウィジェットに「目次を自動生成する機能」が無く物足りなさがあり「目次を自動生成する機能」のプラグインを導入することにしました。

作業を始める前に考えた事
  • オリジナルテーマのブログを作りプラグインをインストールする。そして、記事を移動させる。問題は文章の移動は簡単ですが写真が一緒に移動できません。という事でこれはだめですね。                                参考記事▶ブログ記事の一部移動を考えましたが・・・・・・
  • 私のブログは一度オリジナルテーマから外部テンプレートに変更しております。  1600記事ぐらい作成しているので慎重を期して作業を進めました。先ず現在放置中のブログで練習をしました。そして手順を忘れないように記事を作成しました。
#Blogger

手順

管理画面でテーマを選択 

Bloggerオリジナルテーマを選択し「適用」をクリック

管理画面でテーマを選択 > HTMLを編集  

ctrl+F(command+F)で検索窓が表示されます。
その検索窓から</head>を検索し、</head>の直前に上記ソースを挿入します。


下記の導入するHTMLソースを</head>の直前に挿入する
<script type='text/javascript'>
//<![CDATA[
if (typeof(jQuery) == 'undefined') {
document.write("<scr" + "ipt type=\"text/javascript\" src=\"//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js\"></scr" + "ipt>");
}
//]]>
</script>
<script type='text/javascript'>
//<![CDATA[
$(document).ready(function() {
console.log("call func");
$('a[name="more"]').after("<div id='toc' />");
var idcount = 1;
var h2cnt = 0;
var toc = '';
var currentlevel = 0;
$(".post-body h2,.post-body h3,.post-body h4", this).each(function() {
var chapid = "chapter-" + idcount;
$(this).before("<div class='chapter-no' id='" + chapid + "' />");
idcount++;
var level = 0;
var chapNo;
if (this.nodeName.toLowerCase() == "h2") {
level = 1;
h2cnt++;
h3cnt = "";
h4cnt = "";
chapNo = h2cnt + ".";
} else if (this.nodeName.toLowerCase() == "h3") {
level = 2;
h4cnt = "";
chapNo = h3cnt
} else if (this.nodeName.toLowerCase() == "h4") {
level = 3;
chapNo = h4cnt
}
if (currentlevel == level) {
toc += "</li><li>";
}
while (currentlevel < level) {
toc += '<ul class="chapter"><li>';
currentlevel++;
}
while (currentlevel > level) {
toc += "</li></ul><li>";
currentlevel--;
}
toc += '<a href="#' + chapid + '">' + chapNo + $(this).text() + "</a>";
$(this).html($(this).html());
});
while (currentlevel > 0) {
toc += "</li></ul>";
currentlevel--;
}
if ($(".post-body h2")[0]) {
$("#toc").html(toc);
} else {
$('#toc').attr('class', 'no-toc');
}
});
//]]>
</script>
<style><!--
/* 目次のデザイン */
#toc:before{
content:"目次";/*目次のタイトル*/
padding-left:1em;
font-weight:800;
}
#toc{
background-color:#f6f6f6; /*目次の背景色*/
padding:1em;
display:block;
margin:1em 0;
border:1px solid #ebe5e5;/*目次の枠線*/
}
#toc li{list-style:none; margin-bottom:0.2em;}
#toc ul{margin-bottom:0;}
#toc:before{display:block;text-align:center;}
.chapter-no{position: relative;top:-4.5em;
}
--></style>
挿入後HTML
以上で完了です。

目次タグの挿入

ブログ作成時、HTML画面で記事内の目次を表示させたい箇所に<div id="toc"></div>を挿入すると本文に目次が追加されます。
記事を書いた都度「目次設定をしなければいけない」、手間の様ですが之が逆に素晴らしいプラグインなんです。自由な場所に何カ所でも目次を表示させる事が出来ます。

注意点 

必ず見出しを冒頭に立てる。
小見出しや準見出しからブログ記事を作成すると表示されません。

管理画面でテーマを選択し自分仕様に変更する。

  1. 背景画像
  2. メインのカラーテーマ
  3. 幅の調整
  4. レイアウト
  5. ページのテキスト(フォント、テキストの色、テーマの色)

関連サイト




参考資料

https://daphne72.blogspot.com/2018/05/blogger.html


Bloggerで目次を見出しと連動させて自動作成する方法

参考にさせて頂いたサイト

こちらでご紹介しているソースは、目次の連番と本文の「1.見出し」及び準見出し等が番号と連動しております。

特に重要なカスタマイズ箇所

       

実際挿入するタグは下記になります。(上記ソース変更済み)

挿入の仕方

Bloggerの各ブログ管理画面>テンプレート>HTMLの編集に進んで下さい。
ctrl+Fで右上に検索窓から</head>を検索します。(コピーは Ctrl + c。貼り付けはCtrl + v。)
 </head>の直前に上記ソースを挿入します。

本文記事への導入

HTML編集でブログ作成時、記事内の目次を表示させたい箇所に下記を挿入するだけです。
 <div id="toc"></div>  ➡ 重要











ページビューの合計

Translate(翻譯)

台北の日貨専門店 瑞瑞

記事検索

自己紹介

自分の写真
趣味として、Wineや台湾の紹介ブログを書いたり、台湾では大阪の食文化を紹介しながら「話せる日本語」を教えています。 30代前半で起業、60で引退、現在は大阪、南国台湾を往復しながらフリーランスな生活をしています。

QooQ