Chinese (Simplified)Chinese (Traditional)EnglishJapaneseKorean

Peanuts Blog[かぎや盛岡べん別館]

コロナ禍は厳しい…その時々の気づきを書き綴ります。55歳過ぎての、定年前のシルバー起業。 このままでは楽しくないと… 横浜市の支援と信用保証、銀行融資を活用して、必要な国家資格などを取得。生業としてこれからの働き方改革を自分自身に適用しました。

[一備忘録]当はてなブログで設定している「フッターScript」と「デザインCSS」とFont awesomeとはてなブログ用アイコンフォント

テーマデザインを変更すると、全て消えしまいますので、特に「デザインCSS」は完全に消えてしまいます。したがって、備忘録として残しておきます。


まずは、ダッシュボードメインページから「設定」→「詳細設定」において、

<head>要素にメタデータを追加

ここで定義するのは、
1. Font awesome 6.2.0を指定し*1、デフォルトでコピーされたhtmlで、 <i class> タグが使えるようにする
つまり下記のデフォルトHTMLが使えるようにすることです。

<i class="fa-solid fa-gear"></i>

Font awesome 5.11.0 / 5.15.4を使用する場合は、下記のように<em class>fasに書き換える必要があります)

<em class="fas fa-gear"></em>

2. TOPへ戻るボタンを定義する
3. Amazon アソシエイト トラッキング IDをセットする
4. Google Translate スイッチボックスを先頭に表示させる
5. サイト内検索ボックスを先頭に表示させる

の5個です。

ちなみに、はてなブログアイコンフォントはデフォルトで使用可能ですね。何も準備はする必要はありません。*2

<!-- Font awesome v6.2.0 preparation  --> 
<link href="https://use.fontawesome.com/releases/v6.2.0/css/all.css" rel="stylesheet">

<!-- Page Top Buttom, preparation  -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<!-- End of Page Top Buttom, preparation  -->

<script type="text/javascript">
    amzn_assoc_ad_type = "link_enhancement_widget";
    amzn_assoc_tracking_id = "dhatenejp06e-22";
    amzn_assoc_linkid = "f53cce8ff464aca57eb5009e73fb3599";
    amzn_assoc_placement = "";
    amzn_assoc_marketplace = "amazon";
    amzn_assoc_region = "JP";
</script>
<script src="//ws-fe.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&Operation=GetScript&ID=OneJS&WS=1&MarketPlace=JP"></script>



<!-- GTranslate: https://gtranslate.io/ -->
<a href="#" onclick="doGTranslate('ja|zh-CN');return false;" title="Chinese (Simplified)" class="gflag nturl" style="background-position:-300px -0px;"><img src="//gtranslate.net/flags/blank.png" height="32" width="32" alt="Chinese (Simplified)" /></a><a href="#" onclick="doGTranslate('ja|zh-TW');return false;" title="Chinese (Traditional)" class="gflag nturl" style="background-position:-400px -0px;"><img src="//gtranslate.net/flags/blank.png" height="32" width="32" alt="Chinese (Traditional)" /></a><a href="#" onclick="doGTranslate('ja|en');return false;" title="English" class="gflag nturl" style="background-position:-0px -0px;"><img src="//gtranslate.net/flags/blank.png" height="32" width="32" alt="English" /></a><a href="#" onclick="doGTranslate('ja|ja');return false;" title="Japanese" class="gflag nturl" style="background-position:-700px -100px;"><img src="//gtranslate.net/flags/blank.png" height="32" width="32" alt="Japanese" /></a><a href="#" onclick="doGTranslate('ja|ko');return false;" title="Korean" class="gflag nturl" style="background-position:-0px -200px;"><img src="//gtranslate.net/flags/blank.png" height="32" width="32" alt="Korean" /></a>

<style type="text/css">
<!--
a.gflag {vertical-align:middle;font-size:32px;padding:1px 0;background-repeat:no-repeat;background-image:url(//gtranslate.net/flags/32.png);}
a.gflag img {border:0;}
a.gflag:hover {background-image:url(//gtranslate.net/flags/32a.png);}
#goog-gt-tt {display:none !important;}
.goog-te-banner-frame {display:none !important;}
.goog-te-menu-value:hover {text-decoration:none !important;}
body {top:0 !important;}
#google_translate_element2 {display:none!important;}
-->
</style>

<br /><select onchange="doGTranslate(this);"><option value="">Select Language</option><option value="ja|zh-CN">Chinese (Simplified)</option><option value="ja|zh-TW">Chinese (Traditional)</option><option value="ja|en">English</option><option value="ja|ja">Japanese</option><option value="ja|ko">Korean</option></select><div id="google_translate_element2"></div>
<script type="text/javascript">
function googleTranslateElementInit2() {new google.translate.TranslateElement({pageLanguage: 'ja',autoDisplay: false}, 'google_translate_element2');}
</script><script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit2"></script>


<script type="text/javascript">
/* <![CDATA[ */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('6 7(a,b){n{4(2.9){3 c=2.9("o");c.p(b,f,f);a.q(c)}g{3 c=2.r();a.s(\'t\'+b,c)}}u(e){}}6 h(a){4(a.8)a=a.8;4(a==\'\')v;3 b=a.w(\'|\')[1];3 c;3 d=2.x(\'y\');z(3 i=0;i<d.5;i++)4(d[i].A==\'B-C-D\')c=d[i];4(2.j(\'k\')==E||2.j(\'k\').l.5==0||c.5==0||c.l.5==0){F(6(){h(a)},G)}g{c.8=b;7(c,\'m\');7(c,\'m\')}}',43,43,'||document|var|if|length|function|GTranslateFireEvent|value|createEvent||||||true|else|doGTranslate||getElementById|google_translate_element2|innerHTML|change|try|HTMLEvents|initEvent|dispatchEvent|createEventObject|fireEvent|on|catch|return|split|getElementsByTagName|select|for|className|goog|te|combo|null|setTimeout|500'.split('|'),0,{}))
/* ]]> */
</script>

<!-- End of GTranslate: https://gtranslate.io/ -->


<!-- サイト内検索ボックス -->
<div class="hatena-module search-box">

<div class="hatena-module-body">
<form class="search-form" name="search" role="search" action="https://snackred.hatenablog.com/search" method="get">
<input type="text" name="q" class="search-module-input" value="" placeholder="ブログ内検索" required>
<input type="submit" value="検索" class="search-module-button" />
</form>
</div>
</div>

<!-- end of サイト内検索ボックス -->

フッターSCRIPT

デザイン」→「 設定」→「 フッタ」において

<div id="page-top">
<a id="move-page-top"><i class="fa fa-chevron-circle-up fa-5x"></i></a>
</div>
<script>
$(window).scroll(function(){
var now = $(window).scrollTop();
if(now > 500){
$("#page-top").fadeIn("slow");
}else{
$("#page-top").fadeOut("slow");
}
});
$("#move-page-top").click(function(){
$("html,body").animate({scrollTop:0},"slow");
});
</script>


<script>
var codeBlocks = document.getElementsByClassName('code');
[].forEach.call(codeBlocks, function(e) {
  if (!/lang/.test(e.className)) {
      return;
  }
  var sourceCode = e.innerHTML.slice(-1) === '\n' ? e.innerHTML.slice(0, -1) : e.innerHTML;
  var lines = sourceCode.split(/\n/);
  var codeBlock = "";
  lines.forEach(function(line){
    line += line === '' ? '\n' : '';
    codeBlock += '<div class="code-line">' + line + '</div>'      
  })
  e.innerHTML = codeBlock;
});
</script>



<script type="text/javascript">
window.addEventListener("load", function onLoad() {
  window.removeEventListener("load", onLoad);
  var langLabels = {
    "c"           : "C",
    "css"         : "CSS",
    "html"        : "HTML",
    "java"        : "Java",
    "javascript"  : "JavaScript",
    "php"         : "PHP",

  };
  var codes = document.querySelectorAll("pre.code");
  var len = codes.length;
  for (var i = 0; i < len; i++) {
    var code = codes[i];
    var lang = code.dataset.lang;
    if (lang) {
      code.dataset.langLabel = langLabels[lang.toLowerCase()] || lang;
    }
  }
});
</script>

<script type="text/javascript">
window.addEventListener("load", function onLoad() {
  window.removeEventListener("load", onLoad);
  var codes = document.querySelectorAll("pre.code");
  var len = codes.length;
  for (var i = 0; i < len; i++) {
    (function () {
      var code = codes[i];
      // select all on double click
      code.addEventListener("dblclick", function () {
        var range = document.createRange();
        range.selectNodeContents(code);
        var selection = document.getSelection();
        selection.removeAllRanges();
        selection.addRange(range);
      });
    })();
  }
});
</script>

デザインCSS

デザイン」→「 設定」→「 デザインCSS」において

/* <system section="theme" selected="10257846132598626103"> */
@import "https://usercss.blog.st-hatena.com/-/theme/10257846132598626103.css?version=474ee5e658b673d9df296e238175f6d9fe276eaf";
/* </system> */

/*上に戻る*/
#page-top {
display:none;
position:fixed;
right:10px;
bottom:20px;
margin: 0;
padding: 0;
text-align:center;
}
#move-page-top{
color:rgba(246, 135, 116, 1);
text-decoration:none;
display:block;
cursor:pointer;
}
#move-page-top:hover{
color:rgba(0, 0, 0, 6);
}
@media only screen and (min-width: 400px){
#page-top{
right:50%;
margin-right: -450px;
}
}

/*写真を中央寄せにする*/
.page-entry .entry-content .hatena-fotolife {
  display: block;
  margin: 0px auto;    
}

/*ソースコードの左上に言語名を表示する */
pre.code {
  position: relative;
}

pre.code[data-lang-label]::before {
  content: attr(data-lang-label);
  font-family: 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Kaku Gothic Pro', 'Meiryo', 'MS PGothic', sans-serif;
  font-style: italic;
  position: absolute;
  font-size: 95%;
  top: 0;
  right: 0;
  background-color: black;
  border-radius: 0 0 0 4px;
  padding: 0 7px;
}

pre.code[data-lang-label]:hover::before {
  display: none;
}

/*code-lineクラスの数でカウント*/
.code-line {
  counter-increment: linenumber;
}

/*偶数行のみ背景色を適用*/
.code-line:nth-child(even){
  background-color: #eee;
}

/*行番号を擬似要素として表示*/
.code-line::before {
  content: counter(linenumber);
  display:inline-block;
  color: #ccc;
  text-align: right;
  width: 35px;
  padding: 0 15px 0 0;
}

/*縦スクロールバー*/
.entry-content pre.code{
  /* pre領域の最大高さ */
  max-height: 20em; 
  /* 領域をはみ出た場合の処理。autoで通常はスクロールバーが出現 */
  overflow: auto;
  /*横スクロールバー*/
  white-space: pre;
  overflow-x: scroll;
}

/*<code>tagの調整 */
.entry-content code {
  display: inline-block;
  padding: 0.2em 0.25em 0em 0.25em; /* 文字周りの余白(上右下左)*/
  color: #444; /* 文字色 */
  background-color: #e7edf3; /* 背景色 */
  border-radius: 3px; /* 角丸 */
  border: solid 1px #d6dde4; /* 枠線 */
}

*1:

*2: