Bloggerのカスタマイズ Ⅳ 私のための覚え書き

published_with_changes 更新日: event_note 公開日:

labelBloggerカスタマイズ

コピペでカスタマイズ。まったくもって、自分だけのための備忘録

10.関連記事をサムネイルなしのリスト表示にしたいがNG

表題のようにしたいのだけれど、やりかたがわかりませんので、”【QooQ】関連記事ウィジェットのカスタマイズ (2021/03/23 関連記事消滅に関する情報を追記しました)”で紹介されている2列横表示タイプに変更します。

サムネイル付きの2列表示は問題なく変更が適用できました。

[ps] ふじやんさんが作ってくれた<m(__)m>ので、当初の希望どうりサムネイルなしのリスト表示になりました。

11.クイック編集アイコンで直接編集する

かつてはできてたらしいのですが、Bloggerの仕様変更でできなくなった機能を復活させる変更になります。今後のBloggerの仕様変更で使えなくなることもありうるらしいです。

【QooQ】Bloggerの仕様変更に影響されずに記事編集アイコンを使い続ける方法”の記事どおりにやると、鉛筆アイコンが現れました。

私はStylus の導入や使用方法のところで迷ったので、あらためて記録しておきます。

【手順】

1.HTMLを編集

引用ブログのQooQ でのカスタマイズ手順 (2021/11/12: コードと手順を変更しました)」の項目に沿って、HTMLを2か所書き換えます。まず、「テーマ」「カスタマイズ横の▽」「HTMLを編集」で、<b:if cond='data:post.editUrl'>を探します。上下2か所あります。

上の数行のコードは、</b:if> までの数行を

<b:include data='post' name='postQuickEdit'/>

の1行のコードに書き換えます。


下の数行のコードは、ふじやんさんが手を加えられた「手順①: コードの変更」<!-- https://bloggercode-blogconnexion.blogspot.com/2021/10/faq.html -->以下8行のコードに書き換えます。
この変更によって、公開記事の冒頭に鉛筆アイコンが現れます。

【使い勝手がちょっとね】

しばらく使っていましたが、このままでは同じタブで閲覧画面が編集画面に置き換わるので、変更箇所の確認がしにくく、編集画面は新しいタグで開くようにしました。方法は、”【HTML】基本のリンク&別タブでリンクを開くコードと注意点”などで説明されており、

  target="_blank" rel="noopener noreferrer" を<a expr:href=....の最後に加えて、

<a expr:href='data:blog.bloggerUrl path (data:path + data:blog.blogId + "/" + data:post.id)' expr:title='data:top.editPostMsg' rel='noopener noreferrer' target='_blank'>

とするだけでした。

2.Stylus の導入と使用方法

引用されている”Chrome と Firefox の拡張 "Stylus" で Blogger の複数ブログの管理を便利に。”に沿って進めます。これを適用することで、管理者だけに鉛筆アイコンが見えるようになります。


  1. まず、chromeの拡張機能のStylusをインストールします。
  2. bologgerの管理画面(のURL)をStylusに登録します。(たぶん、管理画面のアドレスで登録することで、それ以下のアドレスの記事にStylusが適用されるのだと思います。)

 その手順は、

①  bologgerの管理画面をアクティブにした状態で、アドレスバー右にある拡張機能アイコン(小槌?)をクリックすると、このような画面になります。

 拡張機能選択のポップアップから、Stylusをクリックします。


② www.blogger.comのポップアップがでたら、”このURL”をクリックします。


③ 「スタイルを追加」が表示されるので、所定のCSSをコピペしたら、左隅の保存を押します。これで、管理者だけに鉛筆アイコンが表示されます。

コピペするCSSは、”【QooQ】Bloggerの仕様変更に影響されずに記事編集アイ
コンを使い続ける方法”に載っているコードです。

.item-control {
display: initial !important;
}

私は最初は間違えて、Chrome と Firefox の拡張 "Stylus" で Blogger の複数ブログの管理を便利に。に載っているコードを書いて、管理画面を画像のように色付けしてしまいました。


12.サムネイル画像を好きな画像にする

トップページの一覧とか関連記事に表示されるサムネイル画像(アイキャッチとも言うらしい)を好みの画像にする方法が紹介されていました。

ブログに貼った画像では、色が薄くサムネイルをやめようと考えていたのですが、これを知ってその手軽さからもサムネイルがあった方が良いという考えに傾きました。

目から鱗!Bloggerのアイキャッチを任意の画像にする方法

これは本当にすごい!それに簡単です。脱帽です。

たとえば、ラベル毎にサムネイル画像を決めておいて、
<img src="好み画像のURL" style="display: none;" />
をHTML編集で1行目に追加すれば、ラベル分けした画像にできます。

"好み画像のURL"を空白にすれば、一番目に表示されている画像がサムネイル画像になりました。

課題はBloggerに貼り付けた画像のURLを得る方法ですが、”blogger 画像 url 調べ方”で検索しても的確な情報はヒットしませんでした。しかたなく、一端「作成ビュー」で画像を貼り付けておき、「HTMLビュー」でそれをコピーするようにします。
「作成ビュー」に貼り付けた画像を右クリックして、”画像アドレスをコピー”でもOKでした。この方法が一番簡単です。

13.表の横スクロール


スマホで見ると表のはみ出しが起きています。その対策を探していたら、”スマートフォン表示ではみ出したtableを横スクロールさせるためのCSS”に横スクロールをさせる方法が示されていたのでそっくり導入してみました。

【設定】
  • CSSの追加:「テーマ」「カスタマイズ」「詳細設定」「文字の色横の▽」「CSSを追加」と進めて、引用記事の”2、CSSを編集”にあるコードをペーストして、「保存」します。
【使い方】
  • 対象の記事で表を探す:表は<table ...>  表の内容  </table>の形式ですので、「HTMLビュー」でこれを検索します。
  • スクロールさせるコードで表を挟む
            divタグに”scroll”というclass名を付け、tableを「divタグ」で囲みます。

            <div class="scroll"> 

                <table ...> 表のコード </table>

            </div>

 

14.表のレイアウト


Googleのスプレッドシートで作った表を貼り付けていいますが、貼り付けた表のレイアウトが変わってしまいます。(私だけかもしれません。)

何が変わってしまうのか

  1. スプレッドシートではセル内に収まっていても、ブログ上では文字のはみ出しが発生する。
  2. セル内の改行(テキストを折り返す)を設定しても、改行しない。

対策は、”【Blogger】Googleスプレッドシートを記事に貼り付けて使う方法”の「微調整とテクニック」を参考にして試行錯誤してみました。

文字のはみ出し対策

表を定義しているコードは<table>から始まります。この冒頭部分は、

  table-layout: fixed; /* 枠のサイズを固定(スプレッドシートの設定を継承)*/
  width: 0px; /* 表全体の幅に関する記述(そのままだとスプレッドシートの設定を継承)*/

となっています。これを

  table-layout: auto; width: 0px; 

に変更したら、文字のはみ出しがなくなりました。

記事の表示範囲に近いような幅広い表の場合は、下記の方が良いかもしれません。

  table-layout: auto; width: 100%; /* 100%は記事ページの横幅いっぱいに表示 */


なお、
table-layout: auto;  は、表をデバイスの画面サイズに合ったサイズで表示させる(レスポンシブデザイン)コマンドのようです。さらに、これを適用した表では、各セルの幅をセル内のテキスト数に合わせて調整しているようです。

セル内で改行

改行させたいテキスト位置に<br />タグを挿入したら、そこで改行します。

/> の前にはひとつスペースを設けることが推奨されています。<br/>と空白なして書いたら、次に「HTMLビュー」にしたら、スペースが入っていました。

例:メタライズド<br />フィルムコンデンサ

【参考】HTMLのtable(表)タグの基本


わかりやすい図があったので、引用します。
1行目から、順に書いていくようです。
 <table border="1">
    <tr>
      <th>名前</th>
      <th>年齢</th>
    </tr>
    <tr>
      <td>田中</td>
      <td>27</td>
    </tr>
    <tr>
      <td>佐藤</td>
      <td>42</td>
    </tr>
  </table>
表に枠と罫線をつける場合は、border属性を指定します。<table border="1以上の整数">で数字が大きいほど罫線幅が太くなるようです。

15.引用符カスタマイズ

CSSで作る!魅力的な引用デザインのサンプル30(blockquote)”に沿って導入してみたのですが、引用符左の縦線とバックグラウンド枠が表示されません。

導入したのは、「3. 少しカラフルなカード風に」という下のデザインなのですが...

解決策がわかりました。

【設定】

【QooQカスタマイズ】引用(blockquote)タグのデザイン変更”にそれが説明されています。<m(__)m>

QooQには本来、引用符のコードが備わっていて、それと導入したサルワカさんのCSSが競合しているようでした。

まず、サルワカさんのCSSはそのままにして、QooQのCSSで400行目あたりにある引用符コード(#single-content blockquote{ 以下、] までの13行)をコメントアウトしてみましたが、おかしな動作になりました。

そこで、QooQのコードをサルワカさんコードに置き換えるという考え方でやってみたところ、正常に動作させることができました。
具体的には、何か所かある”blockquote”を”#single-content blockquote”に変更して、そっくりQooQのコードと入れ換えるというやり方です。
私が置き換えたコードは下記になります。

/* 引用符カスタマイズの為コメントアウト
#single-content blockquote{
	margin: 1.8rem;
	padding-left: 1.8rem;
	position: relative;
}
#single-content blockquote:before{
	content:'\201D';
	font-size: 400%;
	position: absolute;
	top: -1.8rem;
	left: -1.8rem;
	line-height: 1;
}*/
/* 引用符カスタマイズ */
#single-content blockquote{

    position: relative;
    padding: 5px 10px 5px 32px;
    box-sizing: border-box;
    font-style: italic;
    background: #f3f3f3;
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.15);
}
#single-content blockquote:before{

    display: inline-block;
    position: absolute;
    top: 10px;
    left: -15px;
    width: 40px;
    height: 30px;
    text-align: center;
    content: "\f10d";
    font-family: "Font Awesome 5 Free";
    color: #FFF;
    font-size: 18px;
    line-height: 30px;
    background: #92d4ff;
    box-shadow: 0 2px 2px rgba(26, 26, 26, 0.14);
    font-weight: 900;
}

#single-content blockquote:after{
    position: absolute;
    content: '';
    top: 40px;
    left: -15px;
    border: none;
    border-bottom: solid 8px transparent;
    border-right: solid 15px #6eb3e0;
}

#single-content blockquote p {
    position: relative;
    padding: 0;
    margin: 10px 0;
    z-index: 3;
    line-height: 1.7;
}

#single-content blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;

}

引用符の書き方


<blockquote>
<p>引用する文章</p>
<cite>引用元:<a href=”引用元のURL”>引用元のページタイトル</a></cite>
</blockquote>


16.要素の表示・非表示

すぐ上の「コードを表示」のボタンアイコンのことです。

サルワカさんの引用符の記事では、ボタンアイコンをクリックすると非表示だったCSSが表示されます。とてもかっこいい!だけでなく、長い記事を短くまとめることができます。これも導入したいと思いました。

方法は、サルワカさんの記事の”HTMLとCSSだけ!要素の表示・非表示を切り替える方法”で解説されています。他に、サルワカさんのものを改良したとみーさんの”コピペで出来る、クリックで要素の表示非表示を切り替えるHTML&CSS【WordPress対応版】”があります。

どちらも、WordPressがテンプレートのようで、私が使っているBloggerとは異なりますが、内容を拝見させていただく限りでは普通のHTMLやCSSだと思うので、そっくり使わせていただくことにしました。

お二人の記事内容を理解できている訳ではないのですが、とみーさんの改良版の方が見え隠れさせる要素をより平易に扱えるような気がしたので、こちらを活用させていただくことにしました。

【設定】

引用元にあるCSSをコピー&ペーストで「CSS追加」します。ボタンに色付けをしたかったので、
  /*ボタン装飾*/.hidden_box label {
の最後に
  background-color:#f0f8ff;
を追加しました。

ボタンが画面の中央になるようなコードなのですが、私の力ではCSSコードをどうやっても左端から動かすことができませんでした。
あるとき「作成ビュー」のメニューに「中央揃え」があることを思い出しました。それを適用すると、上記のようにボタンが中央に配置されました。つまり、HTMLで

  <div style="text-align: center;">

を<div class="hidden_box">の前に書けば中央配置にできる訳です。

【使い方】

HTMLに次のコードを貼り付けて、2か所ある”labelX”のXを整数に変えます。また、”ラベル”を適切な表現に変えます。
「ここに中身」の所は、表示/非表示させたい画像やテキストなどを書きます。google code prettifyのソースコードも問題なく表示/非表示できました。

出来たのは、すぐ上の項にある「コードを表示」のボタンアイコンです。

    <div class="hidden_box">
	<input type="checkbox" id="labelX"/> <!-- Xを任意の数字に変更 -->
	<label for="labelX">ラベル</label> <!-- Xを上記と同じ数字に変更 -->
	<div class="hidden_show">
		ここに中身
	</div>
    </div>


【何かおかしいんです】

先ほどこのブログ記事を開いて、「コード表示」をクリックしてもコードは表示されない現象がでました。この機能を設定中にも何度か同じことが起きておかしいなぁと思っていたのですが、その時は自分のミスや思い違いだと思ってました。が、やはり、何かの拍子に「コード表示」が効かなくなります。
そして、効かなくなったときにはHTMLのコードが一部勝手に消えてしまっています。それは、

  <label for="label1">ラベル</label>が
  <label >ラベル</label>に変わります。for="label1"が消えています

何かが原因で、for="label1"が消え、「コード表示」が効かなくなります。
HTMLにfor="label1"を書き戻せば、正常に戻ります。

原因不明です。「作成ビュー」で編集すると必ず消えています。「HTMLビュー」で編集しても消えません。

17.スクロールバー付きのボックス

この記事はカスタマイズ案件として一括でまとめておきたいので長々とした記事になっています。そのなかでも少しでも短いものにしたいと思ったときに、表題のスタイルが思い浮かびました。

囲みの中で、中身の要素が上下左右にスクロールできるというイメージです。自分で作ることは無理なので、google検索で探します。
【FC2ブログ】スクロールバーつきのボックスを追加する方法”を見つけることができました。しかも、とても簡単にできそうです。

上記の引用元に出ているやり方をそのままここに貼り付けて、それを「スクロールバーつきのボックス」に入れてみました。
1点変更があります。width:520px; を width:100%; に変えています。この変更でPCでもスマホでも画面幅のボックスになりました。

【使い方】

記事内でもプラグインのHTML編集でも、テンプレートに直接埋めこむことも可能です。

<div id="index_area">
<div class="index_area_box">
<div style="width:520px;height:250px;overflow:auto;border:1px solid #000000;padding:10px;text-align:left;">

ここにHTMLタグや、文章を挿入します。

</div></div>
</div>


それでは、使いかたを説明します。

1、FC2ブログの「プラグイン追加」→「フリーエリア」→「プラグインカテゴリを設定」

2、「HTMLの編集」で、上記のタグをそのままコピーします。
 「width」と「height」の数値は、ご自分のブログに合わせてお使いください。
 「border」の値を「0」にすると、枠が表示されなくなります。

3、上記タグ内の「ここにHTMLタグを挿入します」の部分に
  外部サービスで取得したタグを入れます。
  もしタグが長くなっても、自動的にスクロールバーが表示されます。


おそらく、どんなタグを入れても動作可能かと。

18.トップ・ボトムに飛ぶボタン

今の記事が長いので、ほかでよく見かける表題のボタンが欲しくなりました。"ページトップに戻るボタンの設置(ページ最下部へ飛ぶボタンを追加しました)"を見倣い導入します。

「Font Awesome」は以前に導入していますので、「スクリプトコードの設置」から始めます。

アイコンの種類を変更し、サイズ縮小とそれに伴う位置調整と色の変更を行ったコードを</body>の前に貼り付けました。

「Font Awesome」の色の変更については、検索するとHTMLとCSSをセットで行う解説記事が多くひかかります。さらに調べていくと、該当するコードへ直接指定できる方法が、”fontawesomeの色指定!CSSを使わない記事内でのアイコン色指定!手軽に使う色付きアイコン”で紹介されていましたので、それを使いました。

次のコードは今説明した内容をオリジナルから変更したものです。
      <!--上下にジャンプボタン-->
    <script src='//ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js'/>
    <script>
    //<![CDATA[
    $(function() {
        var pagetop = $('#pagetop');
        var pagebottom = $('#pagebottom');
        var toTop = 1000;//最上部ヘの到達時間(ミリ秒)
        var toBottom = 1000;//最下部ヘの到達時間
        $(window).scroll(function () {
            if ($(this).scrollTop() > 1000) {
                pagetop.fadeIn();
            } else {
                pagetop.fadeOut();
            }
            if ($(this).scrollTop() > 0 && $(this).scrollTop()<$(document).height()-1200) {
                pagebottom.fadeIn();
            } else {
                pagebottom.fadeOut();
            }
        });
        pagetop.click(function () {
            $('body, html').animate({ scrollTop: 0 }, toTop);
        });
        pagebottom.click(function () {
           $('body, html').animate({ scrollTop: $(document).height()}, toBottom);
        });
    });
    //]]>
    </script>
    <style>
    #pagetop,
    #pagebottom {
        display: none;
        position: fixed;
        right: 0;
        color: #6495ed;
        z-index: 99;
    }
    #pagetop {
        bottom: 60px; /* fontを2xにしたので&#12289;位置を80pxから下げた */
    }
    #pagebottom {
        bottom: 20px;  
    }
    #pagetop span,
    #pagebottom span {
        transition: .5s;
        opacity: .5;
    }
    #pagetop span:hover,
    #pagebottom span:hover {
        cursor: pointer;
        opacity: 1;
    }
    </style>
    <p id='pagetop'><span><i class='far fa-caret-square-up fa-2x' style='color: steelblue;'/></span></p>
    <p id='pagebottom'><span><i class='far fa-caret-square-down fa-2x' style='color: steelblue;'/></span></p>
	<!--上下にジャンプボタン END -->

19.行きたいところへリンクさせる

記事ページを作るときのリンク(そこへ飛ばすこと)のさせ方には2種類あると思います。
  • 任意のページ(の冒頭)へ飛ばす。
  • 任意のページの指定行へ飛ばす。

19.1 任意のページへリンク

メニューの「リンクを挿入または編集」でURLをリンク指定するだけなので簡単にできます。URLはブログのページを開くとブラウザのアドレス欄に出ています。

19.2 任意のページの指定行へリンク(アンカーを打ち込む)

ページリンクへのURLの最後にアンカー情報を追加すると、ページに移動した後にアンカー情報がある行へ飛びます。

例えば、https://rainbowgoblinss.blogspot.com/2021/12/blogger_17.html#a2
の最後にある#a2がアンカー情報(アンカーリンク)です。

これをブラウザのアドレス欄に書いても、ページに移動した後にアンカー情報がある行へ飛びます。アンカー情報さえわかれば、ページに直接URLを書けばそこへ飛ばせるわけですね。

所望の行や文字列にアンカーを打ち込む方法

ページのHTML編集で、id="a2"(a2は任意の文字列、最初はアルファベット)をコードに追加します。これには2とおりのスタイルがあります。


  1. 見出しに飛ばす:<h2 id="a2">飛んでくる</h2> "飛んでくる"というh2見出しへリンク
  2. 文字に飛ばす:<div id="a2">ジャンプ先</div> ”ジャンプ先”という文字へリンク
"飛んでくる"とか、”ジャンプ先”という文字列は長くしない方が良いみたいです。


あとは、メニューの「リンクを挿入または編集」でURLをリンク指定するときに、URLの最後に#a2をつけると、そこに飛ぶリンクが完成します。

事例として、本ページの見出し「16.要素の表示・非表示」の1行下にある”すぐ上の「コードを表示」のボタンアイコンのことです。”という文章へリンクさせてみます。


飛んでけ”を選択しておいて、メニューの「リンクを挿入または編集」のURL欄に次のURLを書くとリンクが完成です。

  https://rainbowgoblinss.blogspot.com/2021/12/blogger_17.html#a2


見出しをアンカーにする方法は、私の環境ではうまくいきませんでした。指定した見出しにidが付与できないようです。

19.3 見出しアンカーの代替案


自分で作った見出しのidは、見出し行を右クリックすると最下行に現れる「検証」で調べられました。

  <h2 style="text-align: left;" id="toc_headline_2">......

というコードが現れますので、これから拾います。

19.4 他の方のブログ記事でアンカーを探す


他の方のブログ記事でもアンカーリンクを探すことができれば、そこへ飛ばすことができます。

chromeの場合は、右クリックで「ページのソースを表示」でソースリストを出します。CTR+Fで、”id=”などアンカーを表すことばを検索し、所望のアンカーリンクを見つけます。

19.5 なんでも万能なリンク?


普通に使ってもOKなのかどうかはわかりませんが、chromeでは文字を選択しておいて右クリックすると、「選択箇所へのリンクをコピー」という項目があります。
これをchromeのURL欄にペーストすると、そこへ飛びます。

メニューの「リンクを挿入または編集」のURL欄へペーストしても、ちゃんとそこへ飛びました。

Powered by Blogger | Designed by QooQ

keyboard_double_arrow_down

keyboard_double_arrow_down