blogsync 使って はてなブログの内容を github にアップ
blogsync 使って はてなブログの内容を github にアップ
12月に blogsync という はてなブログを markdown 形式でローカルに保存したり、 ローカルの markdown に加えた変更を はてなブログに反映させることができる ツールがあることを知りました。
これを使えば GitHub でブログの内容を管理することができるなとおもい、 試してみました。
やりたいこととしては
はてなブログ
--> blogsync で ローカルレポジトリへ同期
--> GitHub へ push
というような流れを考えています。
ブログを書くのは モバイルつかって書くことが最近多いので、はてなブログ側で書くことを想定。
まずは blogsync のインストール。
インストールした後は
~/.config/blogsync/config.yml
ファイルを作成し、はてなブログのユーザ名、パスワード、ローカルのパスを設定します。
takuya71.hatenablog.com: username: takuya71 password: xxxxxxxx default: local_root: /home/takuya/src/takuya71_hatenablog
設定後 まずは ローカルにPULL します。
> blogsync pull takuya71.hatenablog.com
あとは ローカルの内容を github へ push します。
git push github master
私は 以下のような シェルスクリプトを 用意しておいて cron で毎日定時にローカルに持ってきてその後 GitHubへPUSH するようにしています。
#!/bin/bash echo -e "\033[0;32mDeploying updates to GitHub...\033[0m" cd ~/src/takuya71_hatenablog blogsync pull takuya71.hatenablog.com # Add changes to git. git add -A # Commit changes. msg="Updated Hatenablog site `date`" if [ $# -eq 1 ] then msg="$1" fi git commit -m "$msg" # Push source and build repos. git push github master
cron の設定
ATH=/usr/local/rbenv/shims:/usr/local/rbenv/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/go/bin:/home/takuya/.local/bin:/home/takuya/bin:/home/takuya/.go/bin GOPATH=/home/takuya/.go/ 30 8 * * * /home/takuya/src/takuya71_hatenablog/deploy.sh > /tmp/cron_err.log 2>&1
注意
下書きも ローカルに同期されるので GitHub のパブリックな レポジトリにプッシュすると 下書きも公開されます。