きっちーの日記

へっぽこエンジニアの日々の記録

【IT エンジニア日記】 はてなブログをgit管理したら最高だった

初めに

学生エンジニアとして、若いうちから色々とアウトプットが大事だと思ったので、はてなブログで日記を書こうと思った。しかし、いちいちログインして記事を書くってめんどくさい...

Git 管理したい!!

zennみたいに、git管理できないか調査したところ、x-motemen/blogsyncでhatena-blogの同期をしてくれるツールを出してくれていたので、これを使って管理することにしました!

導入方法

基本的にはリポジトリのREADMEを読んで頂くと事足りるのですが、私の場合はmakefileにしてコマンド管理したかったので、本日も乙の記事を参考にさせていただきました!!

  • 注意点 私の場合はmacOS ユーザなので、brewなどを用いて環境構築しています。

1. Install command

Mac OSなのでhomebrewを使って環境構築しました。

brew install Songmu/tap/blogsync

2. hatena blog のconfigを容易

blogsync.default.yamlをblogsync.yamlに変更してAPI keyなどを書き足す

motemen.hatenablog.com:
  username: <USER NAME>
  password: <API KEY>
default:
  local_root: <LOCAL PATH>

3. Makefileを作る

私の場合は以下のようにMakefileでまとめています

DOMAIN = kichy-drums.hatenablog.com
DIALY_FILE_PATH = template/dialy_sample.yaml

pull:
    blogsync pull $(DOMAIN)

post_dialy:
    blogsync post --draft $(DOMAIN) < $(DIALY_FILE_PATH)

push:
    git diff origin/master --name-only   \
    | grep "$(DOMAIN)"                   \
    | xargs -t -n1 blogsync push

4. template作成

以下のdialy_sample.yamlを作成します。渡しの場合はtemplateディレクトリを作成してその中に作りました。

---
Title: タイトル 
Category:
- カテゴリ
---

テンプレート

5. 同期 & 記事作成 & 投稿

Makefileでコマンド操作できるようにしたので、以下のコマンドから記事を作成して投稿できます。

# 同期
make pull

# 記事作成
make post_daialy 

# 投稿
make push

感想

zennと同じように管理できるのはめちゃくちゃありがたい... GitHub Actionsで自動でpushできるようにしておきます。