memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

はてなブログエントリーにカテゴリを追加する方法は。。。(ベター案)

昨日、以下を書きました。やりたいことはタイトルの通りです。

memorandums.hatenablog.com

ただ、この方法をやってみたのですが、なかなか面倒です。もちろん、どんな方法でも面倒には違いがないのですが。

やはりはてなブログのUIを使ってカテゴリ編集した方がいいように思います。

ただ、過去記事をざーっと開く方法がない、そこが問題でした。この問題点をもう少し詳しく書きます。

過去記事を開くには、はてなブログの記事管理ページを開きます。以下のような画面になります。

ここで記事を開くためタイトルを⌘+クリックして新しいタブでどんどん開いていければ過去記事を一気に開くことができます。

ただ。。。このページは10件程度した読み込まれないためスクロールダウンしていき、次のページボタンを押さないとロードされません。面倒です。

さらに、このページは最新記事から表示されるため、上記画面の絞り込み検索ボタンを押して検索条件を入れる必要があります。いずれにせよ、まとめて記事を開くためのUIが乏しい。。。というのが実態です(昔のUIはもっと古めかしいものだったのでまとめて開くのが意外と楽だったと思います)。

で、これをもう少し楽にしようというのが今回のエントリーのテーマになります。

まず、昨日の記事と同じくblogsyncをいれて記事をすべてローカルにpullします。そこからスタートします。再現されたい方は昨日のエントリーを見てください。

次にターミナルで、ローカルに保存したディレクトリのトップに移動します。

例えば、僕は/Users/hogehoge/hatenablogをblogsyncのローカルディレクトリに指定したとします。僕のはてなブログはmemorandums.hatenablog.comですので、その名のディレクトリがあります。その中にはentryというディレクトリがあります。その中に移動したとしてください。例として、以下にターミナルを開いてからそこに移動するまでのコマンドを書いておきます。ブログ名は異なると思いますので置き換えて下さい。

cd ~/hatenablog/memorandums.hatenablog.com/entry

で、ここで以下のコマンドを入力してください。

2013年以前はディレクトリ構造が異なります。あ、これはmacでやっています。Linuxコマンドを使用しますのでWindowsな方はWSLなどでやってください。

ls 2007*/* | xargs cat | grep "^URL" | awk -F' ' '{print "open \""$2"\""}' > a

上記の「ls 2007/」が状況によって変わります。これは2007年?月?日に書いた記事のmdファイルをすべて指定したい場合ということです。年が異なるなら変えればよいです。

このコマンドの出力はaというファイルになります。ここには以下のような結果が入っているはずです。これをvscodeなどで開いてください。

open "https://memorandums.hatenablog.com/entry/20070702/p1"
open "https://memorandums.hatenablog.com/entry/20070703/p1"
open "https://memorandums.hatenablog.com/entry/20070704/p1"
open "https://memorandums.hatenablog.com/entry/20070705/p1"
open "https://memorandums.hatenablog.com/entry/20070706/p1"
open "https://memorandums.hatenablog.com/entry/20070707/p1"
open "https://memorandums.hatenablog.com/entry/20070708/p1"

これをターミナルに貼り付けます。すると指定したエントリーをブラウザで開いてくれます。マシンの性能にもよりますが一度に指定するのは30件(行)くらいにしておくことをオススメします

Windowsの場合はopenではなくstartコマンドにすると動作すると思います。

ちなみに、2013年以降はディレクトリ構造が異なるので上記のコマンドではうまくいかないはずです。以下でやってください

ls -ld 2013/*/*/* | awk -F " " '{print $9}'  | xargs cat | grep "^URL" | awk -F' ' '{print "open \""$2"\""}' > b

2013年の記事全部にアクセスするためのURLをbというファイルに吐き出しています。

とりあえず少しは楽ができるかな。。。というところです。

まぁ、わざわざ過去記事のカテゴリを弄りたいという人はいないでしょうけど。。。とりあえずご紹介でした。

あ、はてなブログのUIで情報更新したら、blogsyncでローカルのファイルを更新しておいた方がいいですね。コマンドは以下になります。ブログ名は読み替えてくださいね。

blogsync pull memorandums.hatenablog.com