涼鈴雑多工廠

涼鈴雑多

〜暇人工作員のブログ〜

【備忘録】トップページを記事一覧にする(はてなブログ)

参考にしたブログ
https://www.a-s-blog.com/entry/2017/04/04/200000

はてなブログ アーカイブをデフォの50件表示から件数変更 もっと読むボタン - Qiita

はてなブログのトップページは記事全文が表示されて非常に見難い。
トップページを開いたらアーカイブページに飛ばし、疑似的な記事一覧として利用する。

トップページを開いたらアーカイブページに飛ばす

「設定」-「詳細設定」-「headに要素を追加」

<!--トップページを開いたらアーカイブページに飛ばすスクリプト-->
<script type="text/javascript">
 if( location.href == 'https://himajin-kosaku.hatenablog.jp/'){
 location.href='https://himajin-kosaku.hatenablog.jp/archive';
}
</script>
<noscript>
<p><a href="https://himajin-kosaku.hatenablog.jp/archive">涼鈴雑多工廠</a></p>
</noscript>

赤くハイライトされている4つのうち、上から2番目はトップページのURL、3番目と4番目はアーカイブのURLにする。
ブログ名も必要。

アーカイブの記事表示件数を変更する

「デザイン」-「カスタマイズ」-「フッター」

<!--アーカイブの記事表示件数を変更するコード-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type="text/javascript">
$('#main-inner').ready(function(){
"use strict";
var view_sec_num = 10; <!-- ここに1回あたりの表示記事数を設定 -->
var sections = $('#main-inner > div.archive-entries > section');
var page_index = 0;
var $entries_archive = null;
var archive_num = 0;
var showMoreFlg = false; //以前の記事表示件数に達しているかどうか

$entries_archive = $('<div id="entries-archive-' + archive_num + '"></div>');
$entries_archive.insertBefore(sections[0]);
for(var i=0; i < view_sec_num; i++) {
$(sections[i]).appendTo($entries_archive);
page_index += 1;
}
archive_num += 1;
for(var i=view_sec_num; i < sections.length; i++) {

if(page_index==view_sec_num) {
showMoreFlg = true;
var $read_more_link = $('<p style="text-align:center;border:thin #B92A2C solid;margin: 0px 150px;"><a href="javascript:void(0)" style="line-height:2;font-size:80%">これ以前の記事を表示する</a></p>');
$read_more_link.on('click',{archive_num: archive_num},function(e){
$(e.target).hide();
$(this).remove();
$('#entries-archive-' + e.data.archive_num).fadeIn("slow");
});
var $before_archive = $('#entries-archive-' + (archive_num-1));
$before_archive.append($read_more_link);

$entries_archive = $('<div id="entries-archive-' + archive_num + '"></div>');
$entries_archive.hide();
$entries_archive.insertAfter($before_archive);
page_index = 0;
archive_num += 1;
}
$(sections[i]).appendTo($entries_archive);
page_index += 1;
}

//以前の記事表示件数に達していたら
if(showMoreFlg == true){
    $entries_archive.hide();
}

});
</script>

ただコピペしてるだけ。程度が低い記事だ…