Linuxではてダラをちょっと便利に使うシェルスクリプト

はてダラ http://www.hyuki.com/techinfo/hatena_diary_writer.html
はてダラhttp://d.hatena.ne.jp/kusigahama/20040824
Linuxでも使いたいのよ。

概要

Linuxでもはてダラを便利に使いたい。

  • 自動で今日のファイルをローカルに作ってくれる。
  • 日記の日付変更の時刻を指定できる。
  • はてなダイアリーとグループ日記の切替えができる。

準備

hw.pl が動作することが条件です。
ファイルを次のように配置します。

~/hw
~/hw/hw.pl         はてダラ本体スクリプト
~/hw/hw.sh         今回のスクリプト
~/hw/rsyudou.conf  日記用のconfファイル
~/hw/rubyist.conf  rubyistグループ用のconfファイル

name.conf の name部分はご自由に。中身は下のような感じで。

g:rubyist           #グループ日記にでない場合、この行は不要。
id:Name
password:Password
cookie:./cookie.txt

hw.sh の先頭部分を編集する。

使い方

  • hw.sh

エディタが立ち上がり編集を終了すると自動でアップされます。

引数を指定すると指定された日記ファイルでエディタが立ち上がります。

日付を入れると指定した日付で日記を編集します。

hw.sh

#!/bin/sh

# hw.sh で実行した場合は、デフォルトのconfで日記編集。
# hw.sh rubyist と引数を付けた場合は、引数に対応するname.confで日記編集。
# 編集を終了すると、hw.plでアップされます。

# デフォルトのconf名
DEFOLT=rsyudou
# 利用するエディタ
EDITOR=vi
# hwディレクトリのパス
cd ~/hw


hw() {
HOUR=`date +"%H"`

# 今の時間が指定時間よりも小さいければ前日分と判断
if [ -z $2 ]
then
  if  [ $HOUR -le 6 ]
  then
    FILE=`date  --date '6 hour ago' +"%Y-%m-%d"`.txt
  else
    FILE=`date +"%Y-%m-%d"`.txt
  fi
else
  FILE=$2.txt
fi

# $FILE がなければ作る
if [ -e $1/$FILE ]
then
  :
else
  mkdir -p $1
  touch $1/$FILE
fi

# エディタで編集する
$EDITOR $1/$FILE

# ファイルをアップする
perl ./hw.pl -c -n $1.conf -f $1/$FILE
}

# 実行
if [ -z $1 ]
then
  hw $DEFOLT
else
  hw $1 $2
fi

その他

  • ローカルのファイルとはてな側の記述が違っていたら警告だしたい。
  • その際は、自動ではてな側のをロードするとか。

履歴

  • 2006-11-26
    • 日付指定を追加
    • 第1引数で日付指定はできない。
  • 2006-11-25
    • 公開