automatic 12.4.0 → 12.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/Gemfile +1 -0
  2. data/README.md +8 -5
  3. data/Rakefile +1 -1
  4. data/VERSION +1 -1
  5. data/automatic.gemspec +32 -9
  6. data/bin/automatic +3 -3
  7. data/bin/automatic-config +34 -17
  8. data/config/feed2console.yml +1 -2
  9. data/config/html2console.yml +16 -0
  10. data/doc/ChangeLog +38 -3
  11. data/doc/PLUGINS +191 -14
  12. data/doc/PLUGINS.ja +187 -10
  13. data/doc/README +70 -42
  14. data/doc/README.ja +64 -58
  15. data/lib/automatic/opml.rb +2 -1
  16. data/lib/automatic/pipeline.rb +3 -3
  17. data/lib/automatic/recipe.rb +6 -1
  18. data/lib/automatic.rb +6 -6
  19. data/plugins/extract/link.rb +32 -0
  20. data/plugins/filter/ignore.rb +7 -16
  21. data/plugins/filter/image_link.rb +37 -0
  22. data/plugins/filter/{image.rb → image_source.rb} +6 -7
  23. data/plugins/filter/reverse.rb +3 -4
  24. data/plugins/filter/tumblr_resize.rb +3 -4
  25. data/plugins/notify/ikachan.rb +1 -2
  26. data/plugins/publish/console.rb +0 -1
  27. data/plugins/publish/dump.rb +24 -0
  28. data/plugins/publish/google_calendar.rb +0 -2
  29. data/plugins/publish/hatena_bookmark.rb +2 -3
  30. data/plugins/store/{store_database.rb → database.rb} +32 -7
  31. data/plugins/store/full_text.rb +5 -5
  32. data/plugins/store/link.rb +47 -0
  33. data/plugins/store/permalink.rb +7 -7
  34. data/plugins/store/target.rb +41 -0
  35. data/plugins/subscription/feed.rb +0 -1
  36. data/plugins/subscription/uri.rb +31 -0
  37. data/script/build +18 -4
  38. data/spec/fixtures/extractLink.html +14 -0
  39. data/spec/fixtures/filterImageLink.html +34 -0
  40. data/spec/fixtures/publishDump.html +14 -0
  41. data/{config/default.yml → spec/fixtures/sampleRecipe.yml} +8 -10
  42. data/spec/fixtures/storeLink.html +34 -0
  43. data/spec/fixtures/storeLink2.html +36 -0
  44. data/spec/fixtures/storeTarget.html +11 -0
  45. data/spec/fixtures/storeTarget2.html +11 -0
  46. data/spec/lib/automatic/pipeline_spec.rb +27 -14
  47. data/spec/lib/automatic/recipe_spec.rb +35 -0
  48. data/spec/lib/automatic_spec.rb +21 -14
  49. data/spec/plugins/extract/link_spec.rb +38 -0
  50. data/spec/plugins/filter/ignore_spec.rb +59 -3
  51. data/spec/plugins/filter/image_link_spec.rb +51 -0
  52. data/spec/plugins/filter/{image_spec.rb → image_source_spec.rb} +29 -9
  53. data/spec/plugins/filter/reverse_spec.rb +0 -1
  54. data/spec/plugins/filter/tumblr_resize_spec.rb +7 -0
  55. data/spec/plugins/publish/console_spec.rb +9 -2
  56. data/spec/plugins/publish/dump_spec.rb +32 -0
  57. data/spec/plugins/publish/google_calendar_spec.rb +2 -1
  58. data/spec/plugins/publish/hatena_bookmark_spec.rb +2 -1
  59. data/spec/plugins/publish/mail_spec.rb +9 -1
  60. data/spec/plugins/publish/smtp_spec.rb +9 -1
  61. data/spec/plugins/store/full_text_spec.rb +15 -5
  62. data/spec/plugins/store/link_spec.rb +47 -0
  63. data/spec/plugins/store/permalink_spec.rb +9 -2
  64. data/spec/plugins/store/target_link_spec.rb +17 -3
  65. data/spec/plugins/store/target_spec.rb +41 -0
  66. data/spec/plugins/subscription/feed_spec.rb +14 -4
  67. data/spec/plugins/subscription/uri_spec.rb +43 -0
  68. data/spec/spec_helper.rb +31 -8
  69. data/spec/user_dir/plugins/store/mock.rb +4 -0
  70. data/test/integration/test_activerecord.yml +1 -1
  71. data/test/integration/test_fulltext.yml +1 -1
  72. data/test/integration/test_get_image.yml +26 -0
  73. data/test/integration/test_hatenabookmark.yml +1 -1
  74. data/test/integration/test_ignore.yml +1 -1
  75. data/test/integration/test_ignore2.yml +1 -1
  76. data/test/integration/test_image2local.yml +1 -1
  77. data/test/integration/test_reverse.yml +1 -1
  78. data/test/integration/test_tumblr2local.yml +1 -1
  79. metadata +45 -9
  80. data/spec/lib/pipeline_spec.rb +0 -67
  81. data/test/integration/test_mail.yml +0 -21
@@ -1,14 +1,13 @@
1
- #!/usr/bin/env ruby
2
1
  # -*- coding: utf-8 -*-
3
- # Name:: Automatic::Plugin::Filter::Image
2
+ # Name:: Automatic::Plugin::Filter::ImageSource
4
3
  # Author:: 774 <http://id774.net>
5
4
  # Created:: Feb 28, 2012
6
- # Updated:: Feb 28, 2012
5
+ # Updated:: Jun 13, 2012
7
6
  # Copyright:: 774 Copyright (c) 2012
8
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
9
8
 
10
9
  module Automatic::Plugin
11
- class FilterImage
10
+ class FilterImageSource
12
11
  require 'net/http'
13
12
  require 'kconv'
14
13
 
@@ -26,7 +25,7 @@ module Automatic::Plugin
26
25
  end
27
26
 
28
27
  def run
29
- return_feeds = []
28
+ @return_feeds = []
30
29
  @pipeline.each {|feeds|
31
30
  img_url = ""
32
31
  unless feeds.nil?
@@ -39,9 +38,9 @@ module Automatic::Plugin
39
38
  end
40
39
  }
41
40
  end
42
- return_feeds << feeds
41
+ @return_feeds << feeds
43
42
  }
44
- return_feeds
43
+ @return_feeds
45
44
  end
46
45
  end
47
46
  end
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
  # -*- coding: utf-8 -*-
3
2
  # Name:: Automatic::Plugin::Filter::Reverse
4
3
  # Author:: 774 <http://id774.net>
@@ -17,17 +16,17 @@ module Automatic::Plugin
17
16
  end
18
17
 
19
18
  def run
20
- return_feeds = []
19
+ @return_feeds = []
21
20
  @pipeline.each { |feeds|
22
21
  return_feed_items = []
23
22
  unless feeds.nil?
24
23
  feeds.items.sort!{|a,b|
25
24
  a.date <=> b.date
26
25
  }
27
- return_feeds << feeds
26
+ @return_feeds << feeds
28
27
  end
29
28
  }
30
- return_feeds
29
+ @return_feeds
31
30
  end
32
31
  end
33
32
  end
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
  # -*- coding: utf-8 -*-
3
2
  # Name:: Automatic::Plugin::Filter::TumblrResize
4
3
  # Author:: 774 <http://id774.net>
@@ -24,7 +23,7 @@ module Automatic::Plugin
24
23
  end
25
24
 
26
25
  def run
27
- return_feeds = []
26
+ @return_feeds = []
28
27
  @pipeline.each {|feeds|
29
28
  img_url = ""
30
29
  unless feeds.nil?
@@ -32,9 +31,9 @@ module Automatic::Plugin
32
31
  feed.link = resize(feed.link) unless feed.link.nil?
33
32
  }
34
33
  end
35
- return_feeds << feeds
34
+ @return_feeds << feeds
36
35
  }
37
- return_feeds
36
+ @return_feeds
38
37
  end
39
38
  end
40
39
  end
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
  # -*- coding: utf-8 -*-
3
2
 
4
3
  require 'active_support/core_ext'
@@ -45,7 +44,7 @@ module Automatic::Plugin
45
44
  end
46
45
 
47
46
  private
48
-
47
+
49
48
  def build_message(link, title)
50
49
  message = ""
51
50
  message += "#{title.to_s} - " unless title.blank?
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
  # -*- coding: utf-8 -*-
3
2
  # Name:: Automatic::Plugin::Publish::Console
4
3
  # Author:: 774 <http://id774.net>
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Name:: Automatic::Plugin::Publish::Dump
3
+ # Author:: 774 <http://id774.net>
4
+ # Created:: Jun 13, 2012
5
+ # Updated:: Jun 13, 2012
6
+ # Copyright:: 774 Copyright (c) 2012
7
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
+
9
+ module Automatic::Plugin
10
+ class PublishDump
11
+ require 'pp'
12
+
13
+ def initialize(config, pipeline=[])
14
+ @config = config
15
+ @pipeline = pipeline
16
+ @output = STDOUT
17
+ end
18
+
19
+ def run
20
+ pp(@pipeline, out=@output)
21
+ @pipeline
22
+ end
23
+ end
24
+ end
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
  # -*- coding: utf-8 -*-
3
2
  # Name:: Automatic::Plugin::Publish::Googlecalendar
4
3
  # Author:: 774 <http://id774.net>
@@ -47,7 +46,6 @@ module Automatic::Plugin
47
46
 
48
47
  cal = GoogleCalendar::Calendar.new(GoogleCalendar::Service.new(
49
48
  @user["username"], @user["password"]), @feed)
50
-
51
49
  event = cal.create_event
52
50
  event.title = text
53
51
  event.st = Time.mktime(date.year, date.month, date.day)
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
  # -*- coding: utf-8 -*-
3
2
  # Name:: Automatic::Plugin::Publish::HatenaBookmark
4
3
  # Author:: 774 <http://id774.net>
@@ -29,10 +28,10 @@ module Automatic::Plugin
29
28
  # Unique value
30
29
  nonce = [Time.now.to_i.to_s].pack('m').gsub(/\n/, '')
31
30
  now = Time.now.utc.iso8601
32
-
31
+
33
32
  # Base64 encoding for SHA1 Digested strings
34
33
  digest = [Digest::SHA1.digest(nonce + now + password)].pack("m").gsub(/\n/, '')
35
-
34
+
36
35
  {'X-WSSE' => sprintf(
37
36
  %Q<UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s">,
38
37
  hatena_id, digest, nonce, now)
@@ -1,19 +1,37 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Name:: Automatic::Plugin::Store::Database
3
3
  # Author:: kzgs
4
+ # 774 <http://id774.net>
4
5
  # Created:: Feb 27, 2012
5
- # Updated:: Feb 29, 2012
6
+ # Updated:: Jun 17, 2012
6
7
  # Copyright:: kzgs Copyright (c) 2012
7
8
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
9
 
9
10
  require 'active_record'
10
11
 
11
12
  module Automatic::Plugin
12
- module StoreDatabase
13
+ module Database
14
+ def for_each_new_link
15
+ prepare_database
16
+ existing_records = model_class.find(:all)
17
+ @return_html = []
18
+ @pipeline.each { |link|
19
+ unless link.nil?
20
+ new_link = false
21
+ unless existing_records.detect { |b| b.try(unique_key) == link }
22
+ yield(link)
23
+ new_link = true
24
+ end
25
+ @return_html << link if new_link
26
+ end
27
+ }
28
+ @return_html
29
+ end
30
+
13
31
  def for_each_new_feed
14
32
  prepare_database
15
33
  existing_records = model_class.find(:all)
16
- return_feeds = []
34
+ @return_feeds = []
17
35
  @pipeline.each { |feeds|
18
36
  unless feeds.nil?
19
37
  new_feed = false
@@ -23,10 +41,10 @@ module Automatic::Plugin
23
41
  new_feed = true
24
42
  end
25
43
  }
26
- return_feeds << feeds if new_feed
44
+ @return_feeds << feeds if new_feed
27
45
  end
28
46
  }
29
- return_feeds
47
+ @return_feeds
30
48
  end
31
49
 
32
50
  private
@@ -40,13 +58,20 @@ module Automatic::Plugin
40
58
  end
41
59
 
42
60
  def db_dir
43
- return File.join(File.dirname(__FILE__), '..', '..', 'db')
61
+ dir = (File.expand_path('~/.automatic/db'))
62
+ if File.directory?(dir)
63
+ return dir
64
+ else
65
+ return File.join(File.dirname(__FILE__), '..', '..', 'db')
66
+ end
44
67
  end
45
68
 
46
69
  def prepare_database
70
+ db = File.join(db_dir, @config['db'])
71
+ Automatic::Log.puts("info", "Database: #{db}")
47
72
  ActiveRecord::Base.establish_connection(
48
73
  :adapter => "sqlite3",
49
- :database => File.join(db_dir, @config['db']))
74
+ :database => db)
50
75
  create_table unless model_class.table_exists?
51
76
  end
52
77
  end
@@ -1,20 +1,20 @@
1
- #!/usr/bin/env ruby
2
1
  # -*- coding: utf-8 -*-
3
2
  # Name:: Automatic::Plugin::Store::FullText
4
3
  # Author:: 774 <http://id774.net>
5
4
  # Created:: Feb 26, 2012
6
- # Updated:: Feb 29, 2012
5
+ # Updated:: Jun 14, 2012
7
6
  # Copyright:: 774 Copyright (c) 2012
8
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
9
- require 'plugins/store/store_database'
8
+
9
+ require 'plugins/store/database'
10
10
 
11
11
  module Automatic::Plugin
12
12
  class Blog < ActiveRecord::Base
13
13
  end
14
14
 
15
15
  class StoreFullText
16
- include Automatic::Plugin::StoreDatabase
17
-
16
+ include Automatic::Plugin::Database
17
+
18
18
  def initialize(config, pipeline=[])
19
19
  @config = config
20
20
  @pipeline = pipeline
@@ -0,0 +1,47 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Name:: Automatic::Plugin::Store::Link
3
+ # Author:: 774 <http://id774.net>
4
+ # Created:: May 24, 2012
5
+ # Updated:: Jun 14, 2012
6
+ # Copyright:: 774 Copyright (c) 2012
7
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
+
9
+ require 'plugins/store/database'
10
+
11
+ module Automatic::Plugin
12
+ class Link < ActiveRecord::Base
13
+ end
14
+
15
+ class StoreLink
16
+ include Automatic::Plugin::Database
17
+
18
+ def initialize(config, pipeline=[])
19
+ @config = config
20
+ @pipeline = pipeline
21
+ end
22
+
23
+ def column_definition
24
+ return {
25
+ :url => :string,
26
+ :created_at => :string
27
+ }
28
+ end
29
+
30
+ def unique_key
31
+ return :url
32
+ end
33
+
34
+ def model_class
35
+ return Automatic::Plugin::Link
36
+ end
37
+
38
+ def run
39
+ return for_each_new_link { |link|
40
+ Link.create(
41
+ :url => link,
42
+ :created_at => Time.now.strftime("%Y/%m/%d %X"))
43
+ Automatic::Log.puts("info", "Saving: #{link}")
44
+ }
45
+ end
46
+ end
47
+ end
@@ -3,17 +3,17 @@
3
3
  # Name:: Automatic::Plugin::Store::Permalink
4
4
  # Author:: 774 <http://id774.net>
5
5
  # Created:: Feb 22, 2012
6
- # Updated:: Feb 29, 2012
6
+ # Updated:: Jun 14, 2012
7
7
  # Copyright:: 774 Copyright (c) 2012
8
8
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
9
- require 'plugins/store/store_database'
9
+ require 'plugins/store/database'
10
10
 
11
- module Automatic::Plugin
11
+ module Automatic::Plugin
12
12
  class Permalink < ActiveRecord::Base
13
13
  end
14
14
 
15
15
  class StorePermalink
16
- include Automatic::Plugin::StoreDatabase
16
+ include Automatic::Plugin::Database
17
17
 
18
18
  def initialize(config, pipeline=[])
19
19
  @config = config
@@ -24,9 +24,9 @@ module Automatic::Plugin
24
24
  return {
25
25
  :url => :string,
26
26
  :created_at => :string
27
- }
27
+ }
28
28
  end
29
-
29
+
30
30
  def unique_key
31
31
  return :url
32
32
  end
@@ -34,7 +34,7 @@ module Automatic::Plugin
34
34
  def model_class
35
35
  return Automatic::Plugin::Permalink
36
36
  end
37
-
37
+
38
38
  def run
39
39
  return for_each_new_feed { |feed|
40
40
  Permalink.create(
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- coding: utf-8 -*-
3
+ # Name:: Automatic::Plugin::Store::Target
4
+ # Author:: 774 <http://id774.net>
5
+ # Created:: May 24, 2012
6
+ # Updated:: May 28, 2012
7
+ # Copyright:: 774 Copyright (c) 2012
8
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
9
+
10
+ module Automatic::Plugin
11
+ class StoreTarget
12
+ def initialize(config, pipeline=[])
13
+ @config = config
14
+ @pipeline = pipeline
15
+ end
16
+
17
+ def wget(url)
18
+ filename = url.split(/\//).last
19
+ open(url) { |source|
20
+ open(File.join(@config['path'], filename), "w+b") { |o|
21
+ o.print source.read
22
+ }
23
+ }
24
+ end
25
+
26
+ def run
27
+ @pipeline.each {|html|
28
+ begin
29
+ unless html.nil?
30
+ Automatic::Log.puts("info", "Get: #{html}")
31
+ wget(html)
32
+ end
33
+ rescue
34
+ Automatic::Log.puts("error", "Error found during file download.")
35
+ end
36
+ sleep @config['interval'].to_i
37
+ }
38
+ @pipeline
39
+ end
40
+ end
41
+ end
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
  # -*- coding: utf-8 -*-
3
2
  # Name:: Automatic::Plugin::SubscriptionFeed
4
3
  # Author:: 774 <http://id774.net>
@@ -0,0 +1,31 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Name:: Automatic::Plugin::Subscription::URI
3
+ # Author:: 774 <http://id774.net>
4
+ # Created:: May 24, 2012
5
+ # Updated:: Jun 13, 2012
6
+ # Copyright:: 774 Copyright (c) 2012
7
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
+
9
+ module Automatic::Plugin
10
+ class SubscriptionURI
11
+ require 'open-uri'
12
+
13
+ def initialize(config, pipeline=[])
14
+ @config = config
15
+ @pipeline = pipeline
16
+ end
17
+
18
+ def run
19
+ @config['urls'].each {|url|
20
+ begin
21
+ Automatic::Log.puts("info", "Parsing: #{url}")
22
+ doc = open(url).read
23
+ @pipeline << doc
24
+ rescue
25
+ Automatic::Log.puts("error", "Fault in parsing: #{url}")
26
+ end
27
+ }
28
+ return @pipeline
29
+ end
30
+ end
31
+ end
data/script/build CHANGED
@@ -2,9 +2,14 @@
2
2
  #
3
3
  ########################################################################
4
4
  # Integration Build Script
5
+ # $1 = all (Run integration tests)
5
6
  #
6
7
  # Maintainer: id774 <idnanashi@gmail.com>
7
8
  #
9
+ # v1.2 6/16,2012
10
+ # Add all option for integration tests.
11
+ # v1.1 6/14,2012
12
+ # Correspond to unscaffold subcommand.
8
13
  # v1.0 3/16,2012
9
14
  # First.
10
15
  ########################################################################
@@ -44,20 +49,29 @@ test_config() {
44
49
  $RACK_ROOT/bin/automatic-config $*
45
50
  }
46
51
 
47
- added_tests() {
52
+ test_scaffold() {
48
53
  test_config scaffold
54
+ test_config unscaffold
55
+ }
56
+
57
+ added_tests() {
58
+ test -f $HOME/.automatic || test_scaffold
49
59
  test_config autodiscovery http://blog.id774.net/blogs/
50
60
  test_config opmlparser "$RACK_ROOT/test/fixtures/sampleOPML.xml"
51
61
  test_config feedparser http://blog.id774.net/blogs/feed/ > /dev/null
52
62
  test_config log info finished.
53
63
  }
54
64
 
65
+ integration() {
66
+ load_tests
67
+ added_tests
68
+ }
69
+
55
70
  main() {
56
71
  kickstart
57
72
  exec_rspec
58
- load_tests
59
- added_tests
73
+ test -n "$1" && integration
60
74
  }
61
75
 
62
76
  set -ex
63
- main
77
+ main $*
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ja">
3
+ <head>
4
+ <title>Sample</title>
5
+ </head>
6
+ <body>
7
+ <p>A simple <b>test</b> string.</p>
8
+ <a href="http://id774.net">id774.net</a>
9
+ <a href="http://reblog.id774.net">reblog.id774.net</a>
10
+ <a href="http://oh-news.net/live/wp-content/uploads/2011/04/Eila_omote.jpg">
11
+ <img src="http://24.media.tumblr.com/tumblr_m5gneyJmsH1qza5ppo1_500.jpg" alt="" /></a>
12
+ <a href="http://blog.id774.net/post/">blog.id774.net</a>
13
+ </body>
14
+ </html>
@@ -0,0 +1,34 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ja">
3
+ <head>
4
+ <title>Sample</title>
5
+ </head>
6
+ <body>
7
+ <p>A simple <b>test</b> string.</p>
8
+ <a href="http://id774.net">id774.net</a>
9
+ <a href="http://reblog.id774.net">reblog.id774.net</a>
10
+ <a href="http://link_1.jpg">
11
+ <img src="http://imgsrc_1.jpg" alt="" /></a>
12
+ <a href="http://link_2.jpg">
13
+ <img src="http://imgsrc_2.jpg" alt="" /></a>
14
+ <a href="http://link_3.JPG">
15
+ <img src="http://imgsrc_3.JPG" alt="" /></a>
16
+ <a href="http://link_4.png">
17
+ <img src="http://imgsrc_4.png" alt="" /></a>
18
+ <a href="http://link_5.jpeg">
19
+ <img src="http://imgsrc_5.jpeg" alt="" /></a>
20
+ <a href="http://link_6.PNG">
21
+ <img src="http://imgsrc_6.PNG" alt="" /></a>
22
+ <a href="http://link_7.jpega">
23
+ <img src="http://imgsrc_7.jpega" alt="" /></a>
24
+ <a href="http://link_8.gif">
25
+ <img src="http://imgsrc_8.gif" alt="" /></a>
26
+ <a href="http://link_9.GIF">
27
+ <img src="http://imgsrc_9.GIF" alt="" /></a>
28
+ <a href="http://link_10.tiff">
29
+ <img src="http://imgsrc_10.tiff" alt="" /></a>
30
+ <a href="http://link_11.TIFF">
31
+ <img src="http://imgsrc_11.TIFF" alt="" /></a>
32
+ <a href="http://blog.id774.net/post/">blog.id774.net</a>
33
+ </body>
34
+ </html>
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ja">
3
+ <head>
4
+ <title>Sample</title>
5
+ </head>
6
+ <body>
7
+ <p>A simple <b>test</b> string.</p>
8
+ <a href="http://id774.net">id774.net</a>
9
+ <a href="http://reblog.id774.net">reblog.id774.net</a>
10
+ <a href="http://oh-news.net/live/wp-content/uploads/2011/04/Eila_omote.jpg">
11
+ <img src="http://24.media.tumblr.com/tumblr_m5gneyJmsH1qza5ppo1_500.jpg" alt="" /></a>
12
+ <a href="http://blog.id774.net/post/">blog.id774.net</a>
13
+ </body>
14
+ </html>
@@ -9,18 +9,16 @@ plugins:
9
9
  - module: SubscriptionFeed
10
10
  config:
11
11
  feeds:
12
- - http://reretlet.tumblr.com/rss
12
+ - http://blog.id774.net/post/feed/
13
13
 
14
- - module: StorePermalink
14
+ - module: FilterIgnore
15
15
  config:
16
- db: tumblr.db
17
-
18
- - module: FilterImage
19
-
20
- - module: FilterTumblrResize
16
+ link:
17
+ - hoge
21
18
 
22
- - module: StoreTargetLink
19
+ - module: StorePermalink
23
20
  config:
24
- path: /tmp
25
- interval: 2
21
+ db: test_permalink.db
22
+
23
+ #- module: PublishConsole
26
24
 
@@ -0,0 +1,34 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ja">
3
+ <head>
4
+ <title>Sample</title>
5
+ </head>
6
+ <body>
7
+ <p>A simple <b>test</b> string.</p>
8
+ <a href="http://id774.net">id774.net</a>
9
+ <a href="http://reblog.id774.net">reblog.id774.net</a>
10
+ <a href="http://link_1.jpg">
11
+ <img src="http://imgsrc_1.jpg" alt="" /></a>
12
+ <a href="http://link_2.jpg">
13
+ <img src="http://imgsrc_2.jpg" alt="" /></a>
14
+ <a href="http://link_3.JPG">
15
+ <img src="http://imgsrc_3.JPG" alt="" /></a>
16
+ <a href="http://link_4.png">
17
+ <img src="http://imgsrc_4.png" alt="" /></a>
18
+ <a href="http://link_5.jpeg">
19
+ <img src="http://imgsrc_5.jpeg" alt="" /></a>
20
+ <a href="http://link_6.PNG">
21
+ <img src="http://imgsrc_6.PNG" alt="" /></a>
22
+ <a href="http://link_7.jpega">
23
+ <img src="http://imgsrc_7.jpega" alt="" /></a>
24
+ <a href="http://link_8.gif">
25
+ <img src="http://imgsrc_8.gif" alt="" /></a>
26
+ <a href="http://link_9.GIF">
27
+ <img src="http://imgsrc_9.GIF" alt="" /></a>
28
+ <a href="http://link_10.tiff">
29
+ <img src="http://imgsrc_10.tiff" alt="" /></a>
30
+ <a href="http://link_11.TIFF">
31
+ <img src="http://imgsrc_11.TIFF" alt="" /></a>
32
+ <a href="http://blog.id774.net/post/">blog.id774.net</a>
33
+ </body>
34
+ </html>
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ja">
3
+ <head>
4
+ <title>Sample</title>
5
+ </head>
6
+ <body>
7
+ <p>A simple <b>test</b> string.</p>
8
+ <a href="http://id774.net">id774.net</a>
9
+ <a href="http://reblog.id774.net">reblog.id774.net</a>
10
+ <a href="http://link_1.jpg">
11
+ <img src="http://imgsrc_1.jpg" alt="" /></a>
12
+ <a href="http://link_2.jpg">
13
+ <img src="http://imgsrc_2.jpg" alt="" /></a>
14
+ <a href="http://link_3.JPG">
15
+ <img src="http://imgsrc_3.JPG" alt="" /></a>
16
+ <a href="http://link_4.png">
17
+ <img src="http://imgsrc_4.png" alt="" /></a>
18
+ <a href="http://link_5.jpeg">
19
+ <img src="http://imgsrc_5.jpeg" alt="" /></a>
20
+ <a href="http://link_6.PNG">
21
+ <img src="http://imgsrc_6.PNG" alt="" /></a>
22
+ <a href="http://link_7.jpega">
23
+ <img src="http://imgsrc_7.jpega" alt="" /></a>
24
+ <a href="http://link_8.gif">
25
+ <img src="http://imgsrc_8.gif" alt="" /></a>
26
+ <a href="http://link_9.GIF">
27
+ <img src="http://imgsrc_9.GIF" alt="" /></a>
28
+ <a href="http://link_10.tiff">
29
+ <img src="http://imgsrc_10.tiff" alt="" /></a>
30
+ <a href="http://link_11.TIFF">
31
+ <img src="http://imgsrc_11.TIFF" alt="" /></a>
32
+ <a href="http://link_12.jpg">
33
+ <img src="http://imgsrc_12.jpg" alt="" /></a>
34
+ <a href="http://blog.id774.net/post/">blog.id774.net</a>
35
+ </body>
36
+ </html>
@@ -0,0 +1,11 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ja">
3
+ <head>
4
+ <title>Sample</title>
5
+ </head>
6
+ <body>
7
+ <p>A simple <b>test</b> string.</p>
8
+ <a href="http://oh-news.net/live/wp-content/uploads/2011/04/Eila_omote.jpg">
9
+ <img src="http://24.media.tumblr.com/tumblr_m5gneyJmsH1qza5ppo1_500.jpg" alt="" /></a>
10
+ </body>
11
+ </html>