RSS→MIXI転記ツール開発中(4) テンプレート機能実装
外部ブログの新着日記をRSSで取得してmixi内の日記に転記するツールを作っています。
この辺( http://d.hatena.ne.jp/fslasht/20071104 )の経緯で開発を始めました。
※僕は、はてなダイアリーに書いた日記をmixiに自動転送するために使っています。
今回は半年振りのバージョンアップでいろいろと変わっています。
要望の多かったテンプレート機能(転記時の形式を指定する機能)も実装しました。
またプレミアムユーザー向けに対応タグを増やしました。
エラー処理とかはまだほとんどやってないので、その辺は注意。
● 主な機能
・任意のタイミングおよび一定間隔で外部ブログの新着エントリー(新着日記)をmixi内の日記に転記する。
・外部ブログの新着日記の取得はRSSを使って行う(RSS1,2対応)。
・外部ブログのHTMLをmixi日記で対応するタグに変換
・<a href="">〜</a> タグ ※テキストの後に括弧つきでURLを併記
・<img src=""> タグ ※画像のURLを記載 または mixi内のフォトアルバムに転記後日記に貼り付け
・youtubeへのリンクをmixi日記内のyoutube書式で貼り付け
・改行などの微妙なタグの変換(特にはてなダイアリーにあわせてチューニング)
※mixiプレミアム用のタグに対応しました( a , font , blockquote )
● 対象OS
Microsoft Windwos XP SP2で試験 (2000やVistaでも動くはず)
要 .Net Framework 2.0
● ダウンロード
最新版は以下のURLからダウンロードできます。
http://www.dokokano.net/~fslasht/warehouse/programs/testRSStoMixi_latest.zip
インストール方法や使用方法は、ダウンロードしたファイル中の「使用方法.txt」をご覧ください。
● HISTORY
*2007.11.04 ver.0.01 初公開
*2007.11.07 ver.0.02 ブログの画像もMIXI日記に貼り込めるように改良
*2007.11.09 ver.0.02b 画像転記できないTAGがあるのを修正。先頭の空行を除去。「〜」の文字化け修正。
*2007.11.09 ver.0.02c アップロード先のアルバムが3ページ以上になると日記に画像が転記できなくなるのを修正
*2007.11.10 ver.0.02d
'‖'と'−'が文字化けするのを修正
文中に</p>があった場合はそこで改行するようにした(Yahooブログ対策)
<a href >〜</a>の間に、<img>がある場合は、リンク後改行するようにした
相対リンクは展開しないようにした(リンク自体は消す)
日付に時刻が含まれていない場合、リンクのアンカー文字を変わりにいれる(はてなの場合、「p1」「p2」など)
*2007.11.11 ver.0.03
設定をタブに分けた。
自動転記設定を追加(指定間隔で自動的に転記処理を行う)
起動中はタスクトレイにアイコンを表示するようにした。ここからメニュー操作可。
アイコン状態で起動時出来る設定を追加。
*2007.12.02 ver.0.04
自動転記時に最終転送日記が10時以前の場合、その日のその後の日記が転記されなくなるバグを修正(投稿日時の「時」を常に2桁にした)
日記転記、画像転送時のページ遷移時にウエイトを入れた(mixiの連続アクセスブロック回避)。
*2008.06.16 ver.0.05
自動転記モード時にRSS取得エラーが発生した場合、無視するようにした。
アルバムへの画像アップロードが出来なくなっていたバグを修正(POSTデータの最後のバウンダリ末尾の「--」が不足していた)
*2008.06.17 ver.0.06
テンプレート機能実装
設定画面を別ダイアログに移動
Mixi Premiumユーザー向け設定追加
「写真(大)を選択する」設定追加
設定を、setting.xmlに保存するようにした。
メインウィンドウにメニューを実装
写真アップロード履歴を残し、同一URLの写真の2重転送を防ぐよう改良
写真アップロード機能を追加(ツール)
※「テンプレート機能」について
日記を転記する際にタイトルや本文の形式を指定できます。
テンプレートで %〜% であらわされる部分が以下の内容に置き換わります。
%title% = タイトル
%date% = ブログ投稿日付
%body% = 本文
%link% = 転記元ブログURL
%line% = 本文行数
%size% = 本文文字数
設定例)
タイトル:
[転記] %title% (%line%行あります)本文:
%body%
- -
この日記は以下のブログから転記しました。
%title%
%link%
(日付:%date%)