automatic 14.12.2 → 26.08

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +635 -83
  3. data/VERSION +1 -1
  4. data/automatic.gemspec +109 -248
  5. data/bin/automatic +20 -139
  6. data/config/feed2console.yml +10 -4
  7. data/config/feed2markdown.yml +41 -0
  8. data/doc/AI_TUTORIAL.md +518 -0
  9. data/doc/BASIC_DESIGN.md +516 -0
  10. data/doc/COPYING.LESSER +165 -0
  11. data/doc/DEPLOYMENT.md +824 -0
  12. data/doc/LICENSE.md +14 -0
  13. data/doc/PLUGINS.md +1875 -0
  14. data/doc/PLUGIN_DEVELOPMENT.md +86 -0
  15. data/doc/POLICY.md +857 -0
  16. data/doc/QUICKSTART.md +256 -0
  17. data/doc/RELEASING.md +381 -0
  18. data/doc/REQUIREMENTS.md +526 -0
  19. data/doc/VERSIONS +208 -0
  20. data/lib/automatic/cli.rb +248 -0
  21. data/lib/automatic/environment.rb +31 -5
  22. data/lib/automatic/feed_maker.rb +10 -9
  23. data/lib/automatic/feed_parser.rb +51 -35
  24. data/lib/automatic/http.rb +107 -0
  25. data/lib/automatic/log.rb +49 -18
  26. data/lib/automatic/opml.rb +3 -1
  27. data/lib/automatic/pipeline.rb +63 -32
  28. data/lib/automatic/recipe.rb +56 -17
  29. data/lib/automatic/version.rb +14 -1
  30. data/lib/automatic.rb +78 -20
  31. data/plugins/custom_feed/svn_log.rb +73 -32
  32. data/plugins/custom_feed/web.rb +348 -0
  33. data/plugins/filter/absolute_uri.rb +43 -27
  34. data/plugins/filter/accept.rb +38 -45
  35. data/plugins/filter/claude.rb +217 -0
  36. data/plugins/filter/clear.rb +12 -8
  37. data/plugins/filter/description_link.rb +49 -51
  38. data/plugins/filter/full_feed.rb +158 -52
  39. data/plugins/filter/gemini.rb +216 -0
  40. data/plugins/filter/github_feed.rb +38 -26
  41. data/plugins/filter/ignore.rb +33 -44
  42. data/plugins/filter/image.rb +36 -25
  43. data/plugins/filter/image_source.rb +58 -52
  44. data/plugins/filter/join.rb +107 -0
  45. data/plugins/filter/one.rb +19 -26
  46. data/plugins/filter/open_ai.rb +198 -0
  47. data/plugins/filter/rand.rb +16 -17
  48. data/plugins/filter/sakura_ai.rb +205 -0
  49. data/plugins/filter/sanitize.rb +29 -34
  50. data/plugins/filter/sort.rb +20 -27
  51. data/plugins/filter/tumblr_resize.rb +31 -23
  52. data/plugins/notify/ikachan.rb +86 -48
  53. data/plugins/provide/fluentd.rb +43 -24
  54. data/plugins/publish/amazon_s3.rb +73 -40
  55. data/plugins/publish/console.rb +19 -16
  56. data/plugins/publish/console_link.rb +20 -17
  57. data/plugins/publish/eject.rb +48 -26
  58. data/plugins/publish/fluentd.rb +50 -30
  59. data/plugins/publish/hatena_bookmark.rb +88 -71
  60. data/plugins/publish/instapaper.rb +69 -59
  61. data/plugins/publish/markdown.rb +278 -0
  62. data/plugins/publish/memcached.rb +35 -29
  63. data/plugins/store/database.rb +50 -48
  64. data/plugins/store/digest.rb +212 -0
  65. data/plugins/store/file.rb +99 -68
  66. data/plugins/store/full_text.rb +32 -25
  67. data/plugins/store/permalink.rb +18 -22
  68. data/plugins/subscription/feed.rb +34 -21
  69. data/plugins/subscription/link.rb +31 -32
  70. data/plugins/subscription/text.rb +32 -46
  71. data/plugins/subscription/tumblr.rb +55 -44
  72. data/plugins/subscription/xml.rb +40 -36
  73. metadata +108 -321
  74. data/Gemfile +0 -38
  75. data/Rakefile +0 -59
  76. data/doc/ChangeLog +0 -303
  77. data/doc/PLUGINS +0 -750
  78. data/doc/PLUGINS.ja +0 -753
  79. data/doc/README +0 -511
  80. data/doc/README.ja +0 -519
  81. data/plugins/filter/google_news.rb +0 -50
  82. data/plugins/publish/google_calendar.rb +0 -84
  83. data/plugins/publish/hipchat.rb +0 -46
  84. data/plugins/publish/pocket.rb +0 -45
  85. data/plugins/publish/twitter.rb +0 -58
  86. data/plugins/subscription/chan_toru.rb +0 -57
  87. data/plugins/subscription/g_guide.rb +0 -57
  88. data/plugins/subscription/pocket.rb +0 -51
  89. data/plugins/subscription/twitter.rb +0 -69
  90. data/plugins/subscription/twitter_search.rb +0 -50
  91. data/plugins/subscription/weather.rb +0 -33
  92. data/script/build +0 -84
  93. data/spec/fixtures/sampleFeeds.tsv +0 -1
  94. data/spec/fixtures/sampleFeeds2.tsv +0 -2
  95. data/spec/fixtures/sampleRecipe.yml +0 -24
  96. data/spec/lib/automatic/log_spec.rb +0 -32
  97. data/spec/lib/automatic/pipeline_spec.rb +0 -68
  98. data/spec/lib/automatic/recipe_spec.rb +0 -40
  99. data/spec/lib/automatic_spec.rb +0 -99
  100. data/spec/plugins/custom_feed/svn_log_spec.rb +0 -31
  101. data/spec/plugins/filter/absolute_uri_spec.rb +0 -61
  102. data/spec/plugins/filter/accept_spec.rb +0 -331
  103. data/spec/plugins/filter/clear_spec.rb +0 -49
  104. data/spec/plugins/filter/description_link_spec.rb +0 -138
  105. data/spec/plugins/filter/full_feed_spec.rb +0 -129
  106. data/spec/plugins/filter/github_feed_spec.rb +0 -55
  107. data/spec/plugins/filter/google_news_spec.rb +0 -69
  108. data/spec/plugins/filter/ignore_spec.rb +0 -328
  109. data/spec/plugins/filter/image_source_spec.rb +0 -89
  110. data/spec/plugins/filter/image_spec.rb +0 -65
  111. data/spec/plugins/filter/one_spec.rb +0 -71
  112. data/spec/plugins/filter/rand_spec.rb +0 -52
  113. data/spec/plugins/filter/sanitize_spec.rb +0 -153
  114. data/spec/plugins/filter/sort_spec.rb +0 -189
  115. data/spec/plugins/filter/tumblr_resize_spec.rb +0 -109
  116. data/spec/plugins/notify/ikachan_spec.rb +0 -58
  117. data/spec/plugins/provide/fluentd_spec.rb +0 -49
  118. data/spec/plugins/publish/amazon_s3_spec.rb +0 -40
  119. data/spec/plugins/publish/console_spec.rb +0 -30
  120. data/spec/plugins/publish/eject_spec.rb +0 -40
  121. data/spec/plugins/publish/fluentd_spec.rb +0 -40
  122. data/spec/plugins/publish/google_calendar_spec.rb +0 -83
  123. data/spec/plugins/publish/hatena_bookmark_spec.rb +0 -134
  124. data/spec/plugins/publish/hipchat_spec.rb +0 -69
  125. data/spec/plugins/publish/instapaper_spec.rb +0 -82
  126. data/spec/plugins/publish/memcached_spec.rb +0 -63
  127. data/spec/plugins/publish/pocket_spec.rb +0 -51
  128. data/spec/plugins/publish/twitter_spec.rb +0 -73
  129. data/spec/plugins/store/file_spec.rb +0 -58
  130. data/spec/plugins/store/full_text_spec.rb +0 -152
  131. data/spec/plugins/store/permalink_spec.rb +0 -206
  132. data/spec/plugins/subscription/chan_toru_spec.rb +0 -56
  133. data/spec/plugins/subscription/feed_spec.rb +0 -71
  134. data/spec/plugins/subscription/g_guide_spec.rb +0 -82
  135. data/spec/plugins/subscription/link_spec.rb +0 -72
  136. data/spec/plugins/subscription/pocket_spec.rb +0 -57
  137. data/spec/plugins/subscription/text_spec.rb +0 -84
  138. data/spec/plugins/subscription/tumblr_spec.rb +0 -74
  139. data/spec/plugins/subscription/twitter_search_spec.rb +0 -57
  140. data/spec/plugins/subscription/twitter_spec.rb +0 -73
  141. data/spec/plugins/subscription/weather_spec.rb +0 -44
  142. data/spec/plugins/subscription/xml_spec.rb +0 -84
  143. data/spec/spec_helper.rb +0 -106
  144. data/spec/user_dir/plugins/store/mock.rb +0 -16
  145. data/test/fixtures/sampleOPML.xml +0 -11
  146. data/test/integration/test_absoluteurl.yml +0 -25
  147. data/test/integration/test_activerecord.yml +0 -24
  148. data/test/integration/test_add_pocket.yml +0 -26
  149. data/test/integration/test_chan_toru.yml +0 -21
  150. data/test/integration/test_descriptionlink.yml +0 -21
  151. data/test/integration/test_fluentd.yml +0 -22
  152. data/test/integration/test_fulltext.yml +0 -30
  153. data/test/integration/test_google_news.yml +0 -21
  154. data/test/integration/test_googlealert.yml +0 -21
  155. data/test/integration/test_hatenabookmark.yml +0 -30
  156. data/test/integration/test_ignore.yml +0 -25
  157. data/test/integration/test_ignore2.yml +0 -22
  158. data/test/integration/test_image2local.yml +0 -33
  159. data/test/integration/test_instapaper.yml +0 -26
  160. data/test/integration/test_link2local.yml +0 -34
  161. data/test/integration/test_one.yml +0 -23
  162. data/test/integration/test_pocket.yml +0 -22
  163. data/test/integration/test_rand.yml +0 -21
  164. data/test/integration/test_sanitize.yml +0 -23
  165. data/test/integration/test_sort.yml +0 -36
  166. data/test/integration/test_svnlog.yml +0 -15
  167. data/test/integration/test_text2feed.yml +0 -36
  168. data/test/integration/test_tumblr2local.yml +0 -43
  169. data/test/integration/test_twitter_search.yml +0 -22
  170. data/test/integration/test_weather.yml +0 -19
  171. data/test/integration/test_xml2fluentd.yml +0 -21
  172. data/vendor/.gitkeep +0 -0
data/doc/PLUGINS.ja DELETED
@@ -1,753 +0,0 @@
1
- ================
2
- プラグインの説明
3
- ================
4
-
5
- SubscriptionFeed
6
- ----------------
7
- [パス]
8
- /plugins/subscription/feed.rb
9
-
10
- [概要]
11
- フィードを購読する
12
-
13
- [レシピ記法]
14
- - module: SubscriptionFeed
15
- config:
16
- feeds:
17
- - フィード名
18
- - フィード名 ...
19
- retry: エラー時のリトライ回数 (回数, 省略時 0)
20
- interval: エラー時のリトライ間隔 (秒数, 省略可)
21
-
22
-
23
- SubscriptionLink
24
- ----------------
25
- [パス]
26
- /plugins/subscription/link.rb
27
-
28
- [概要]
29
- URL を購読しそのリンクを抽出する
30
-
31
- [レシピ記法]
32
- - module: SubscriptionLink
33
- config:
34
- urls:
35
- - URL
36
- - URL ...
37
- interval: スクレイピングの間隔 (秒数, 省略可)
38
- retry: エラー時のリトライ回数 (回数, 省略時 0)
39
-
40
-
41
- SubscriptionXml
42
- ---------------
43
- [パス]
44
- /plugins/subscription/xml.rb
45
-
46
- [概要]
47
- XML で提供された API を GET メソッドで購読する
48
- このプラグインはエンコードされた XML を RSS フィードの
49
- content_encoded に保存する
50
-
51
- [レシピ記法]
52
- - module: SubscriptionXml
53
- config:
54
- urls:
55
- - URL
56
- - URL ... (XML ベース API)
57
- interval: スクレイピングの間隔 (秒数, 省略可)
58
- retry: エラー時のリトライ回数 (回数, 省略時 0)
59
-
60
-
61
- SubscriptionTumblr
62
- ------------------
63
- [パス]
64
- /plugins/subscription/tumblr.rb
65
-
66
- [概要]
67
- Tumblr を購読し、リンクを抽出する
68
- pages が指定された場合、過去のページも遡って購読する
69
-
70
- [レシピ記法]
71
- - module: SubscriptionTumblr
72
- config:
73
- urls:
74
- - URL
75
- - URL ...
76
- pages: PAGES
77
- interval: スクレイピングの間隔 (秒数, 省略可)
78
- retry: エラー時のリトライ回数 (回数, 省略時 0)
79
-
80
-
81
- SubscriptionTwitter
82
- -------------------
83
- [パス]
84
- /plugins/subscription/link.rb
85
-
86
- [概要]
87
- Twitter を購読し、発言とそのリンクを抽出する
88
-
89
- [レシピ記法]
90
- - module: SubscriptionTwitter
91
- config:
92
- urls:
93
- - URL
94
- - URL ...
95
- interval: スクレイピングの間隔 (秒数, 省略可)
96
- retry: エラー時のリトライ回数 (回数, 省略時 0)
97
-
98
-
99
- SubscriptionTwitterSearch
100
- -------------------------
101
- [Path]
102
- /plugins/subscription/twitter_search.rb
103
-
104
- [Abstract]
105
- Twitterの検索結果を取得
106
-
107
- [Syntax]
108
- - module: SubscriptionTwitterSearch
109
- config:
110
- search: 検索ワード
111
- opt: 検索時に使用するオプション
112
- consumer_key: 'your_consumer_key'
113
- consumer_secret: 'your_consumer_secret'
114
- oauth_token: 'your_oauth_token'
115
- oauth_token_secret: 'your_oauth_token_secret'
116
- interval: スクレイピングの間隔 (秒数, 省略可)
117
- retry: エラー時のリトライ回数 (回数, 省略時 0)
118
-
119
-
120
- SubscriptionWeather
121
- -------------------
122
- [パス]
123
- /plugins/subscription/weather.rb
124
-
125
- [概要]
126
- 与えられた郵便番号に基づいて天気情報を取得する
127
-
128
- [レシピ記法]
129
- - module: SubscriptionWeather
130
- config:
131
- zipcode: 郵便番号
132
- day: ('today' もしくは 'tomorrow')
133
- interval: スクレイピングの間隔 (秒数, 省略可)
134
- retry: エラー時のリトライ回数 (回数, 省略時 0)
135
-
136
-
137
- SubscriptionText
138
- ----------------
139
- [パス]
140
- /plugins/subscription/text.rb
141
-
142
- [概要]
143
- テキストベースの urls, titles, feeds から新規のフィードを作成する
144
- タブ区切りの TSV 形式のファイルからフィードの情報を読み込む
145
-
146
- [レシピ記法]
147
- - module: SubscriptionText
148
- config:
149
- titles:
150
- - TITLE ...
151
- urls:
152
- - URL
153
- - URL ...
154
- feeds:
155
- -
156
- title: TITLE
157
- url: URL ...
158
- files:
159
- - 'somefile1.tsv'
160
- - 'somefile2.tsv' ...
161
-
162
-
163
- SubscriptionPocket
164
- 検索キーワードからCHAN-TORUページの取得(Gk)
165
- ------------------
166
- [パス]
167
- /plugins/subscription/pocket.rb
168
-
169
- [概要]
170
- Pocket APIをたたいてfeedの作成
171
-
172
- [レシピ記法]
173
- - module: SubscriptionPocket
174
- config:
175
- consumer_key: 'your_consumer_key'
176
- access_token: 'your_access_token'
177
- optional: # see http://getpocket.com/developer/docs/v3/retrieve
178
- favorite: 1
179
- count: 2
180
- interval: スクレイピングの間隔 (秒数, 省略可)
181
- retry: エラー時のリトライ回数 (回数, 省略時 0)
182
-
183
-
184
- SubscriptionGGuide
185
- ------------------
186
- [パス]
187
- /plugins/subscription/g_guide.rb
188
-
189
- [概要]
190
- 検索キーワードからGガイド(テレビ番組の情報)rssの取得
191
-
192
- [レシピ記法]
193
- - module: SubscriptionGGuide
194
- config:
195
- keyword: 'アニメ,将棋' # 検索ワード(','区切りで複数検索)
196
- station: '地上波' # 衛星放送の区域(現在は地上波のみ対応)
197
- interval: スクレイピングの間隔 (秒数, 省略可)
198
- retry: エラー時のリトライ回数 (回数, 省略時 0)
199
-
200
-
201
- SubscriptionChanToru
202
- --------------------
203
- [パス]
204
- /plugins/subscription/chan_toru.rb
205
-
206
- [概要]
207
- 検索キーワードからCHAN-TORU(テレビ番組の情報)rssの取得
208
- (SubscriptionGGuideプラグイン依存)
209
-
210
- [レシピ記法]
211
- - module: SubscriptionChanToru
212
- config:
213
- keyword: 'アニメ,将棋' # 検索ワード(','区切りで複数検索)
214
- station: '地上波' # 衛星放送の区域(現在は地上波のみ対応)
215
- interval: スクレイピングの間隔 (秒数, 省略可)
216
- retry: エラー時のリトライ回数 (回数, 省略時 0)
217
-
218
-
219
- FilterClear
220
- -----------
221
- [パス]
222
- /plugins/filter/clear.rb
223
-
224
- [概要]
225
- パイプラインをカラにする
226
-
227
- [レシピ記法]
228
- - module: FilterClear
229
-
230
-
231
- FilterSort
232
- ----------
233
- [パス]
234
- /plugins/filter/sort.rb
235
-
236
- [概要]
237
- 日付の昇順にソートする
238
- もし config で sort に desc が指定されると
239
- 昇順ではなく降順にソートする
240
-
241
- [レシピ記法]
242
- - module: FilterSort
243
- config:
244
- sort: asc or desc
245
-
246
-
247
- FilterIgnore
248
- ------------
249
- [パス]
250
- /plugins/filter/ignore.rb
251
-
252
- [概要]
253
- NG ワードを除外する
254
-
255
- [レシピ記法]
256
- - module: FilterIgnore
257
- config:
258
- link:
259
- - 無視キーワード
260
- - 無視キーワード ...
261
- description:
262
- - 無視キーワード
263
- - 無視キーワード ...
264
-
265
-
266
- FilterAccept
267
- ------------
268
- [パス]
269
- /plugins/filter/accept.rb
270
-
271
- [概要]
272
- OK ワードのみにする
273
-
274
- [レシピ記法]
275
- - module: FilterAccept
276
- config:
277
- link:
278
- - キーワード
279
- - キーワード ...
280
- description:
281
- - キーワード
282
- - キーワード ...
283
-
284
-
285
- FilterImage
286
- -----------
287
- [パス]
288
- /plugins/filter/image.rb
289
-
290
- [概要]
291
- パーマリンクから画像のみを抽出する
292
- 画像ではないパーマリンクは nil にする
293
-
294
- [レシピ記法]
295
- - module: FilterImage
296
-
297
-
298
- FilterImageSource
299
- -----------------
300
- [パス]
301
- /plugins/filter/image_source.rb
302
-
303
- [概要]
304
- パーマリンクを本文中の画像のソースリンクに書き換える
305
- 画像のソースリンクが無い場合は nil にする
306
-
307
- [レシピ記法]
308
- - module: FilterImageSource
309
-
310
-
311
- FilterOne
312
- ---------
313
- [パス]
314
- /plugins/filter/one.rb
315
-
316
- [概要]
317
- アイテムをフィードから 1 件だけ取り出す
318
-
319
- [レシピ記法]
320
- - module: FilterOne
321
- config:
322
- pick: last (省略時は先頭から)
323
-
324
-
325
- FilterRand
326
- ----------
327
- [パス]
328
- /plugins/filter/rand.rb
329
-
330
- [概要]
331
- フィードの順番をランダムにする
332
-
333
- [レシピ記法]
334
- - module: FilterRand
335
-
336
-
337
- FilterSanitize
338
- --------------
339
- [パス]
340
- /plugins/filter/sanitize.rb
341
-
342
- [概要]
343
- HTML タグを除去する
344
- 参照 https://github.com/rgrove/sanitize
345
-
346
- [レシピ記法]
347
- - module: FilterSanitize
348
- config:
349
- mode: basic or relaxed or restricted
350
- (デフォルト restricted)
351
-
352
-
353
- FilterFullFeed
354
- --------------
355
- [パス]
356
- /plugins/filter/full_feed.rb
357
-
358
- [概要]
359
- フィードの全文を取得する
360
-
361
- [レシピ記法]
362
- - module: FilterFeed
363
- config:
364
- siteinfo: siteinfo ファイル名
365
-
366
-
367
- FilterAbsoluteURI
368
- -----------------
369
- [パス]
370
- /plugins/filter/absolute_uri.rb
371
-
372
- [概要]
373
- リンクの相対パスを絶対パスに書き換える
374
-
375
- [レシピ記法]
376
- - module: FilterAbsoluteURI
377
- config:
378
- url: http://targethost.com/
379
-
380
-
381
- FilterTumblrResize
382
- ------------------
383
- [パス]
384
- /plugins/filter/tumblr_resize.rb
385
-
386
- [概要]
387
- パーマリンクを Tumblr の最大サイズ
388
- (High Res) に書き換える
389
-
390
- [前提]
391
- パーマリンクが画像リンクに書き換え済であること
392
-
393
- [レシピ記法]
394
- - module: FilterTumblrResize
395
-
396
-
397
- FilterDescriptionLink
398
- ---------------------
399
- [パス]
400
- /plugins/filter/description_link.rb
401
-
402
- [概要]
403
- 日付の昇順にソートする
404
- もし config で sort に desc が指定されると
405
- 昇順ではなく降順にソートする
406
-
407
- [レシピ記法]
408
- - module: FilterDescriptionLink
409
- config:
410
- clear_description: 1 # Set empty to description.
411
- get_title: 1 # Get title after re-write link.
412
-
413
-
414
- FilterGoogleNews
415
- ----------------
416
- [パス]
417
- /plugins/filter/google_news.rb
418
-
419
- [概要]
420
- Google News のリンクを
421
- リダイレクト先のものに書き換える
422
-
423
- [レシピ記法]
424
- - module: FilterGoogleNews
425
-
426
-
427
- StorePermalink
428
- --------------
429
- [パス]
430
- /plugins/store/permalink.rb
431
-
432
- [概要]
433
- パーマリンクを保存する
434
- 重複したパーマリンクは破棄する
435
-
436
- [レシピ記法]
437
- - module: StorePermalink
438
- config:
439
- db: パーマリンクを保存する SQLite3 DB 名
440
-
441
-
442
- StoreFullText
443
- -------------
444
- [パス]
445
- /plugins/store/full_text.rb
446
-
447
- [概要]
448
- フィード全文を DB に保存する
449
-
450
- 保存した DB は以下のビューワでも閲覧できる
451
- https://github.com/id774/blog_viewer
452
-
453
- [レシピ記法]
454
- - module: StoreFullText
455
- config:
456
- db: SQLite3 DB 名
457
-
458
-
459
- StoreFile
460
- ---------
461
- [パス]
462
- /plugins/store/file.rb
463
-
464
- [概要]
465
- リンク先のコンテンツをローカルファイルシステムに保存する
466
- s3n:// で始まる場合は Amazon S3 からファイルを取得する
467
- リンクを保存したファイルのパス (file スキーム) に書き換えてフィードを返す
468
-
469
- [レシピ記法]
470
- - module: StoreFile
471
- config:
472
- path: 保存先のフォルダ
473
- retry: エラー時のリトライ回数 (回数, 省略時 0)
474
- interval: 保存する間隔 (秒)
475
- access_key: アクセスキー (S3 使用時のみ)
476
- secret_key: シークレットアクセスキー (S3 使用時のみ)
477
- bucket_name: S3 のバケット名 (S3 使用時のみ)
478
-
479
-
480
- PublishConsole
481
- --------------
482
- [パス]
483
- /plugins/publish/console.rb
484
-
485
- [概要]
486
- パイプラインをコンソールに出力する
487
-
488
- [レシピ記法]
489
- - module: PublishConsole
490
-
491
-
492
- PublishAmazonS3
493
- ---------------
494
- [パス]
495
- /plugins/publish/amazon_s3.rb
496
-
497
- [概要]
498
- Amazon S3 にファイルをアップロードする
499
-
500
- [説明]
501
- フィードのリンクにあるファイルを Amazon S3 にアップする
502
- リンクが file URI スキームであることが前提である
503
-
504
- [レシピ記法]
505
- - module: PublishAmazonS3
506
- config:
507
- access_key: アクセスキー
508
- secret_key: シークレットアクセスキー
509
- bucket_name: S3 のバケット名
510
- target_path: バケット上でのファイルのパス
511
-
512
-
513
- PublishFluentd
514
- --------------
515
- [パス]
516
- /plugins/publish/fluentd.rb
517
-
518
- [概要]
519
- fluentd にフィードを出力する
520
-
521
- [説明]
522
- このプラグインは fluentd にフィードを出力する
523
- 受け手側では以下のように fluentd を設定し起動しておく
524
-
525
- <source>
526
- type forward
527
- port 9999
528
- </source>
529
-
530
- [レシピ記法]
531
- - module: PublishFluentd
532
- config:
533
- host: ホスト名
534
- port: ポート番号
535
- tag: タグ (例 automatic.feed)
536
-
537
-
538
- ProvideFluentd
539
- --------------
540
- [パス]
541
- /plugins/provide/fluentd.rb
542
-
543
- [概要]
544
- fluentd に content_encoded の内容を出力する
545
-
546
- [説明]
547
- このプラグインは Publish::Fluentd とは異なる
548
-
549
- Publish::Fluentd -> フィード全体を fluentd に出力
550
- Provide::Fluentd -> content_encoded の内容を fluentd に出力
551
-
552
- [レシピ記法]
553
- - module: ProvideFluentd
554
- config:
555
- host: ホスト名
556
- port: ポート番号
557
- tag: タグ (例 automatic.feed)
558
-
559
-
560
- PublishMemcached
561
- ----------------
562
- [パス]
563
- /plugins/publish/memcached.rb
564
-
565
- [概要]
566
- フィードをハッシュに変換して memcached に出力する
567
-
568
- [レシピ記法]
569
- - module: PublishMemcached
570
- config:
571
- host: ホスト名
572
- port: ポート番号
573
- key: 出力するキーの名称
574
-
575
-
576
- PublishHatenaBookmark
577
- ---------------------
578
- [パス]
579
- /plugins/publish/hatenabookmark.rb
580
-
581
- [概要]
582
- はてなブックマークをする
583
-
584
- [説明]
585
- はてなブックマーク API への投稿用 XML を生成し
586
- 送信する
587
-
588
- [レシピ記法]
589
- - module: PublishHatenaBookmark
590
- config:
591
- username: はてな ID
592
- passowrd: パスワード
593
- interval: はてブする間隔 (秒)
594
-
595
-
596
- PublishTwitter
597
- --------------
598
- [パス]
599
- /plugins/publish/twitter.rb
600
-
601
- [概要]
602
- Twitter に投稿する
603
-
604
- [レシピ記法]
605
- - module: PublishTwitter
606
- config:
607
- consumer_key: your_consumer_key
608
- consumer_secret: your_consumer_secret
609
- oauth_token: your_oauth_token
610
- oauth_token_secret: your_oauth_token_secret
611
- tweet_tmp: tweet する文章 {title} の記法で feed の値から置換
612
- interval: 複数の予定の投稿間隔, エラー時のリトライ間隔 (秒)
613
- retry: エラー時のリトライ回数 (回数, 省略時 0)
614
-
615
-
616
- PublishPocket
617
- -------------
618
- [パス]
619
- /plugins/publish/pocket.rb
620
-
621
- [概要]
622
- Pocket に登録する
623
-
624
- [説明]
625
- Pocket API へ送信する(gem pocket-rubyを使用)
626
-
627
- [レシピ記法]
628
- - module: PublishPocket
629
- config:
630
- consumer_key: CONSUMER_KEY
631
- access_token: ACCESS_TOKEN
632
- interval: 複数の予定の投稿間隔, エラー時のリトライ間隔 (秒)
633
- retry: エラー時のリトライ回数 (回数, 省略時 0)
634
-
635
-
636
- PublishInstapaper
637
- -----------------
638
- [パス]
639
- /plugins/publish/instapaper.rb
640
-
641
- [概要]
642
- Instapaper に登録する
643
-
644
- [説明]
645
- Instapaper API へ送信する
646
-
647
- [レシピ記法]
648
- - module: PublishInstapaper
649
- config:
650
- email: Instapaper メールアドレス
651
- password: パスワード
652
- interval: 複数の予定の投稿間隔, エラー時のリトライ間隔 (秒)
653
- retry: エラー時のリトライ回数 (回数, 省略時 0)
654
-
655
-
656
- PublishGoogleCalendar
657
- ---------------------
658
- [パス]
659
- /plugins/publish/google_calendar.rb
660
-
661
- [概要]
662
- Google Calendar に予定を登録する
663
-
664
- [説明]
665
- item.title を Google カレンダーに登録する
666
-
667
- [レシピ記法]
668
- - module: PublishGoogleCalendar
669
- config:
670
- username: Google メールアドレス
671
- password: パスワード
672
- interval: 複数の予定の投稿間隔 (秒)
673
-
674
-
675
- PublishEject
676
- ------------
677
- [パス]
678
- /plugins/publish/eject.rb
679
-
680
- [概要]
681
- Feedのリンク個数分だけeject
682
-
683
- [レシピ記法]
684
- - module: PublishEject
685
- config:
686
- interval: 複数の予定の投稿間隔 (秒)
687
-
688
-
689
- PublishHipchat
690
- --------------
691
- [パス]
692
- /plugins/publish/hipchat.rb
693
-
694
- [概要]
695
- HipChat の room にメッセージを送信する
696
-
697
- [説明]
698
- HipChat API (https://www.hipchat.com/docs/api) を利用して
699
- item.description を任意の room にメッセージを送信する
700
-
701
- [レシピ記法]
702
- - module: PublishHipchat
703
- config:
704
- api_token: HipChat の API token (省略不可)
705
- room_id: ルームID、もしくはルーム名 (省略不可)
706
- username: 送信元のユーザ名 (省略不可)
707
- color: 背景の色 (省略時 'yellow')
708
- notify: メッセージをルームの人々に notice するかどうか (0 => false, 1 => true, 省略時 0)
709
- retry: エラー時のリトライ回数 (回数, 省略時 0)
710
- interval: エラー時のリトライ間隔 (秒数, 省略可)
711
-
712
-
713
- NotifyIkachan
714
- -------------
715
- [パス]
716
- /plugins/notify/ikachan.rb
717
-
718
- [概要]
719
- ikachan へメッセージを送信する
720
-
721
- [説明]
722
- ikachan へ HTTP 経由で POST する
723
- ikachan とは: http://blog.yappo.jp/yappo/archives/000760.html
724
-
725
- [レシピ記法]
726
- - module: NotifyIkachan
727
- config:
728
- url: http://sample.com
729
- port: 4979 # ポート番号、デフォルトは 4979
730
- channels: foo,bar,#baz # '#' はあってもなくても自動的につけられる、複数は','で指定
731
- command: notice # privmsg や notice など
732
- interval: 5 # ポストする間隔 (秒)
733
-
734
-
735
- CustomFeedSVNLog
736
- ----------------
737
- [パス]
738
- /plugins/custom_feed/svn_log.rb
739
-
740
- [概要]
741
- SVN から新しいリビジョン情報を取得する
742
-
743
- [説明]
744
- target で指定された URL から SVN のコミット情報を
745
- fetch_items で指定された数だけ取得する
746
-
747
- [レシピ記法]
748
- - module: CustomFeedSVNLog
749
- config:
750
- target: http://redmine.rubyforge.org/svn
751
- fetch_items: 2 # 指定されない場合は 30
752
-
753
-