2014-06-13T22:28:13の更新内容

works/tools/HatenaBlogTools/index.wiki.txt

current previous
4,22 4,20
 
[[はてなブログAtomPub API:http://developer.hatena.ne.jp/ja/documents/blog/apis/atom]]を使って[[はてなブログ:http://hatenablog.com/]]の記事をエクスポートしたり投稿・編集を行うためのコマンドラインツール集です。
[[はてなブログAtomPub API:http://developer.hatena.ne.jp/ja/documents/blog/apis/atom]]を使って[[はてなブログ:http://hatenablog.com/]]の記事をエクスポートしたり投稿・編集を行うためのコマンドラインツール集です。
 

        

        
 
*ダウンロード
*ダウンロード
~
MIT X11ライセンスでのリリースとなります。 Windows+.NET Framework環境およびUbuntu Linux+Mono環境で動作することを確認しています。 未検証ですが[[Mono:http://www.go-mono.com/mono-downloads/download.html]]がインストールされていればMac環境でも動作すると思われます。
MIT X11ライセンスでのリリースとなります。 Windows+.NET Framework環境およびUbuntu+Mono環境で動作することを確認しています。
 

        

        
 
**最新版
**最新版
 
-パッケージ
-パッケージ
~
--${smdncms:distfilelink,HatenaBlogTools-1.04.zip,HatenaBlogTools version 1.04}
--${smdncms:distfilelink,HatenaBlogTools-1.03.zip,HatenaBlogTools version 1.03}
 
-ソースコード
-ソースコード
~
--${smdncms:distfilelink,HatenaBlogTools-1.04.tar.bz2,HatenaBlogTools version 1.04}
--${smdncms:distfilelink,HatenaBlogTools-1.03.tar.bz2,HatenaBlogTools version 1.03}
 

        

        
 
**過去のバージョン
**過去のバージョン
 
-パッケージ
-パッケージ
+
--${smdncms:distfilelink,HatenaBlogTools-1.03.zip,HatenaBlogTools version 1.03}
 
--${smdncms:distfilelink,HatenaBlogTools-1.02.zip,HatenaBlogTools version 1.02}
--${smdncms:distfilelink,HatenaBlogTools-1.02.zip,HatenaBlogTools version 1.02}
 
--${smdncms:distfilelink,HatenaBlogTools-1.01.zip,HatenaBlogTools version 1.01}
--${smdncms:distfilelink,HatenaBlogTools-1.01.zip,HatenaBlogTools version 1.01}
 
--${smdncms:distfilelink,HatenaBlogTools-1.00.zip,HatenaBlogTools version 1.00}
--${smdncms:distfilelink,HatenaBlogTools-1.00.zip,HatenaBlogTools version 1.00}
 
-ソースコード
-ソースコード
+
--${smdncms:distfilelink,HatenaBlogTools-1.03.tar.bz2,HatenaBlogTools version 1.03}
 
--${smdncms:distfilelink,HatenaBlogTools-1.02.tar.bz2,HatenaBlogTools version 1.02}
--${smdncms:distfilelink,HatenaBlogTools-1.02.tar.bz2,HatenaBlogTools version 1.02}
 
--${smdncms:distfilelink,HatenaBlogTools-1.01.tar.bz2,HatenaBlogTools version 1.01}
--${smdncms:distfilelink,HatenaBlogTools-1.01.tar.bz2,HatenaBlogTools version 1.01}
 
--${smdncms:distfilelink,HatenaBlogTools-1.00.tar.bz2,HatenaBlogTools version 1.00}
--${smdncms:distfilelink,HatenaBlogTools-1.00.tar.bz2,HatenaBlogTools version 1.00}
115,12 113,12
 

        

        
 

        

        
 
**ModifyCategory.exe [#ModifyCategory.exe]
**ModifyCategory.exe [#ModifyCategory.exe]
~
ブログ記事のカテゴリを一括変更するツールです。 カテゴリの削除・新規設定・統合に使うことができます。
ブログ記事のカテゴリを一括変更するツールです。 カテゴリの削除に使うこともできます。
 

        

        
~
2013-12-04、はてなブログに[[カテゴリ編集機能:http://blog.hatena.ne.jp/my/categories]]が追加されました。 ([[年の瀬にはブログも大掃除! カテゴリーを編集できるようにしたほか、記事を管理しやすくしました - はてなブログ開発ブログ:http://staff.hatenablog.com/entry/2013/12/04/163540]]) このツールでも引き続きカテゴリ編集を行うことはできます。 しかし、このツールでは記事のデータを取得・再投稿することでカテゴリの変更を行うため、記事数が多い場合は変更に時間がかかります。 そのため、カテゴリの名前を変更もしくは削除を行いたい場合は、はてなブログのカテゴリ編集機能を使うことをおすすめします。
2013-12-04、はてなブログに[[カテゴリ編集機能:http://blog.hatena.ne.jp/my/categories]]が追加されました。 ([[年の瀬にはブログも大掃除! カテゴリーを編集できるようにしたほか、記事を管理しやすくしました - はてなブログ開発ブログ:http://staff.hatenablog.com/entry/2013/12/04/163540]]) このツールでも引き続きカテゴリ編集を行うことはできますが、記事数が多い場合編集には時間がかかるため、はてなブログのカテゴリ編集機能を使うことをおすすめします。
 

        

        
 
#prompt(使用例){{
#prompt(使用例){{
~
ModifyCategory.exe -id hatena -blogid hatena.hatenablog.jp -apikey xxxxxx "旧カテゴリ:新カテゴリ"
ModifyCategory.exe -id hatena -blogid hatena.hatenablog.jp -apikey xxxxxx 旧カテゴリ:新カテゴリ
 
}}
}}
 

        

        
 
コマンドラインオプションは次のとおりです。
コマンドラインオプションは次のとおりです。
128,19 126,12
 
:``-id &var{はてなID};``|必須。 はてなのユーザーIDを指定してください。
:``-id &var{はてなID};``|必須。 はてなのユーザーIDを指定してください。
 
:``-blogid &var{ブログID};``|必須。 編集するはてなブログのドメインを指定してください。
:``-blogid &var{ブログID};``|必須。 編集するはてなブログのドメインを指定してください。
 
:``-apikey &var{APIキー};``|必須。 [[ブログの詳細設定:http://blog.hatena.ne.jp/my/config/detail]]に記載されているAtomPubのAPIキーを指定してください。
:``-apikey &var{APIキー};``|必須。 [[ブログの詳細設定:http://blog.hatena.ne.jp/my/config/detail]]に記載されているAtomPubのAPIキーを指定してください。
-
:``&var{旧カテゴリ};:&var{新カテゴリ};``|オプション、複数指定可。 全記事の&var{旧カテゴリ};を&var{新カテゴリ};に変更します。 例えば``foo:bar hoge:huga``と指定すればカテゴリ[foo]を[bar]に、カテゴリ[hoge]を[huga]に変更します。
-
&var{新カテゴリ};に何も指定しない場合、そのカテゴリは削除されます。 例えば``foo:``と指定すればカテゴリ[foo]は削除されます。
 
:``-n``|オプション。 実際に変更は行わず、変更されるカテゴリの一覧を表示して終了します。 変更される記事の確認など動作テストの際に使います。
:``-n``|オプション。 実際に変更は行わず、変更されるカテゴリの一覧を表示して終了します。 変更される記事の確認など動作テストの際に使います。
+
:``&var{&color(red){旧カテゴリ};};:&var{&color(blue){新カテゴリ};};``|オプション、複数指定可。 全記事の&var{&color(red){旧カテゴリ};};を&var{&color(blue){新カテゴリ};};に変更します。 このオプションは以下のように指定することができます。
+
::カテゴリのリネーム|``"&color(red){old};:&color(blue){new};"``と指定した場合、カテゴリ[&color(red){old};]を[&color(blue){new};]に変更します。 カテゴリのリネームを行う場合は、はてなブログの[[カテゴリ設定画面:http://blog.hatena.ne.jp/my/categories]]の「名前を変更」を利用することをおすすめします。
+
::カテゴリの削除|``"&color(red){old};:"``と指定することでカテゴリ[&color(red){old};]を削除します。 カテゴリの削除を行う場合は、はてなブログの[[カテゴリ設定画面:http://blog.hatena.ne.jp/my/categories]]の「削除」を利用することをおすすめします。
+
::カテゴリのリネーム (AND条件でのリネーム)|``"&color(red){old1};;&color(red){old2};:&color(blue){new1};;&color(blue){new2};"``と指定した場合、カテゴリ[&color(red){old1};]と[&color(red){old2};]の''両方が指定されている記事の場合のみ''それぞれをカテゴリ[&color(blue){new1};]と[&color(blue){new2};]に置き換えます。
+
::カテゴリの統合 (AND条件での変更)|``"&color(red){old1};;&color(red){old2};:&color(blue){new};"``と指定した場合、カテゴリ[&color(red){old1};]と[&color(red){old2};]の''両方が指定されている記事の場合のみ''それらを統合してカテゴリ[&color(blue){new};]に変更します。
+
::カテゴリの削除 (AND条件での削除)|``"&color(red){old1};;&color(red){old2};:"``と指定した場合、カテゴリ[&color(red){old1};]と[&color(red){old2};]の''両方が設定されている記事の場合のみ''それぞれを削除します。
+
::カテゴリの新規設定|``":&color(blue){new};"``と指定した場合、''カテゴリが設定されていない記事''にカテゴリ[&color(blue){new};]を新規設定します。 ``":&color(blue){new1};;&color(blue){new2};"``とすればカテゴリ[&color(blue){new1};]と[&color(blue){new2};]の二つを新規設定します。
+
::カテゴリの分割|``"&color(red){old};:&color(blue){new1};;&color(blue){new2};"``と指定した場合、カテゴリ[&color(red){old};]を削除してカテゴリ[&color(blue){new1};]と[&color(blue){new2};]を設定します。
+
::カテゴリ指定の構文|``"a;b;c:A;B"``と指定した場合、カテゴリ[a][b][c]のすべてが設定されている記事のみ、[a][b][c]を[A][B]に変更します。 ``"a;b;c:A;B" "d:D;E"``のように複数の組み合わせを指定することもできます。 ``;``(セミコロン)はカテゴリの区切り文字、``:``(コロン)は変更前後のカテゴリグループの区切り文字として解釈されます。 なお、現在のバージョンでは''``:``(コロン)、``;``(セミコロン)を含むカテゴリ名を指定した場合、正しく解釈することができません''。
 

        

        
 
#prompt(動作例){{
#prompt(動作例){{
~
$ mono ModifyCategory.exe -id hatena -blogid hatena.hatenablog.jp -apikey xxxxxx "テスト:test"
$ mono ModifyCategory.exe -id hatena -blogid hatena.hatenablog.jp -apikey xxxxxx テスト:test
 
以下のカテゴリを変更します
以下のカテゴリを変更します
 
[テスト] -> [test]
[テスト] -> [test]
 

        

        
159,28 150,6
 
変更を更新中: 2013-09-16T23:20:17+09:00 "test2" [test][新しいカテゴリ] ... 
変更を更新中: 2013-09-16T23:20:17+09:00 "test2" [test][新しいカテゴリ] ... 
 
変更を更新中: 2013-09-16T23:19:38+09:00 "test1" [test] ... 
変更を更新中: 2013-09-16T23:19:38+09:00 "test1" [test] ... 
 
変更が完了しました
変更が完了しました
+

          
+

          
+
$ mono ModifyCategory.exe -id hatena -blogid hatena.hatenablog.jp -apikey xxxxxx "test:" ":新しいカテゴリ"
+
以下のカテゴリを変更します
+
[test] -> (削除)
+
(新規設定) -> [新しいカテゴリ]
+

          
+
エントリを取得中 ...
+
以下のエントリのカテゴリが変更されます
+
2013/09/25 13:07:55 +09:00 "test7" [test] -> [新しいカテゴリ]
+
2013/09/25 13:06:56 +09:00 "test5" [テスト][test] -> [テスト]
+
2013/09/25 13:05:52 +09:00 "テスト4" [] -> [新しいカテゴリ]
+
2013/09/16 23:20:17 +09:00 "test2" [test][テスト] -> [テスト]
+
2013/09/16 23:19:38 +09:00 "test1" [] -> [新しいカテゴリ]
+
変更しますか  (y/N)? y
+

          
+
変更を更新中: 2013/09/25 13:07:55 +09:00 "test7" [新しいカテゴリ] ... 
+
変更を更新中: 2013/09/25 13:06:56 +09:00 "test5" [テスト] ... 
+
変更を更新中: 2013/09/25 13:05:52 +09:00 "テスト4" [新しいカテゴリ] ... 
+
変更を更新中: 2013/09/16 23:20:17 +09:00 "test2" [テスト] ... 
+
変更を更新中: 2013/09/16 23:19:38 +09:00 "test1" [新しいカテゴリ] ... 
+
変更が完了しました
 
}}
}}
 

        

        
 
変更を元に戻す機能はありません。 変更対象の記事が多い場合は、カテゴリを1つずつ確認しながら変更する、事前にサブブログを使って動作テストすることをおすすめします。
変更を元に戻す機能はありません。 変更対象の記事が多い場合は、カテゴリを1つずつ確認しながら変更する、事前にサブブログを使って動作テストすることをおすすめします。
190,11 159,6
 
不具合・要望等は[[掲示板>misc/forum/tools]]へどうぞ。
不具合・要望等は[[掲示板>misc/forum/tools]]へどうぞ。
 

        

        
 
*変更履歴 [#changes]
*変更履歴 [#changes]
+
**version 1.04 / 2014-06-13 [#changes_v1.04]
+
-ModifyCategory.exe
+
--変更するカテゴリをAND条件で指定できるようにした
+
--カテゴリの新規設定ができるようにした
+

          
 
**version 1.03 / 2014-02-02 [#changes_v1.03]
**version 1.03 / 2014-02-02 [#changes_v1.03]
 
-ReplaceEntryContent.exeを追加
-ReplaceEntryContent.exeを追加