planet 0.5.2 → 0.5.3
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.
- checksums.yaml +4 -4
- data/bin/planet +17 -13
- data/lib/planet/parsers.rb +3 -3
- data/lib/planet/post.rb +3 -1
- data/lib/planet/version.rb +1 -1
- metadata +17 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: fc9853812a11a4693abf7bd40cb460904efb136c
         | 
| 4 | 
            +
              data.tar.gz: c85ae576b4f93b369a5f85fb4c2daa77c231e4ac
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e657ce7a41137f5d88aac9c72ed02b6a037dfa1bb4d93f108e33f8e91f7a48ee09aab6695d304511693f1fd634d14822a1a2663b31cc39d2f5976e8c8c759736
         | 
| 7 | 
            +
              data.tar.gz: 9d918de83e623d4f60ff086660c2c16ea9844c36968e44a1aa86c952f36dce04b4d6b97b975c6ae8ec3877b68b0debb97aa99b1bf70e3f91208ba7bbe950c583
         | 
    
        data/bin/planet
    CHANGED
    
    | @@ -10,6 +10,8 @@ include GLI::App | |
| 10 10 |  | 
| 11 11 | 
             
            program_desc 'Planet.rb is an awesome feed-aggregator gem that consumes RSS/Atom feeds and outputs them in a format suitable to use with Octopress or Jekyll'
         | 
| 12 12 |  | 
| 13 | 
            +
            flag [:c,:config], :default_value => 'planet.yml', :desc => "Planet configuration file"
         | 
| 14 | 
            +
             | 
| 13 15 | 
             
            desc 'Parses planet.yml file for blogs and generates their posts in Jekyll compliant format under the _posts directory'
         | 
| 14 16 | 
             
            command :generate do |c|
         | 
| 15 17 |  | 
| @@ -21,7 +23,7 @@ due to spacing issues possible with markdown. | |
| 21 23 | 
             
            }
         | 
| 22 24 | 
             
              c.action do |global_options,options,args|
         | 
| 23 25 |  | 
| 24 | 
            -
                Planet::Importer.import( | 
| 26 | 
            +
                Planet::Importer.import(global_options[:config]) do |planet|
         | 
| 25 27 |  | 
| 26 28 | 
             
                  post_extension = options[:extension] || 'markdown'
         | 
| 27 29 | 
             
                  post_extension = '.' + post_extension unless post_extension[0] == '.'
         | 
| @@ -43,18 +45,17 @@ end | |
| 43 45 | 
             
            desc 'Creates basic planet.yml config file'
         | 
| 44 46 | 
             
            command :init do |c|
         | 
| 45 47 | 
             
              c.action do |global_options,options,args|
         | 
| 46 | 
            -
                abort 'There is already a planet.yml file present' if File.exist? | 
| 47 | 
            -
             | 
| 48 | 
            -
                 | 
| 49 | 
            -
             | 
| 50 | 
            -
                puts '=> Created default planet.yml'
         | 
| 48 | 
            +
                abort 'There is already a planet.yml file present' if File.exist?(global_options[:config])
         | 
| 49 | 
            +
                File.open(global_options[:config], 'w') { |f| f.write(Box::FILES['planet']) }
         | 
| 50 | 
            +
                puts "=> Created default #{global_options[:config]}"
         | 
| 51 51 | 
             
              end
         | 
| 52 52 | 
             
            end
         | 
| 53 53 |  | 
| 54 | 
            -
            desc  | 
| 54 | 
            +
            desc "Creates basic templates on the templates_directory specified in configuration file"
         | 
| 55 55 | 
             
            command :create_templates do |c|
         | 
| 56 56 | 
             
              c.action do |global_options,options,args|
         | 
| 57 | 
            -
                 | 
| 57 | 
            +
                STDERR.puts "DEBUG: #{caller.first} global_options[:config]=#{global_options[:config].inspect}"
         | 
| 58 | 
            +
                conf = YAML.load_file(global_options[:config])
         | 
| 58 59 |  | 
| 59 60 | 
             
                templates_dir = conf.fetch('planet').fetch('templates_directory', 'source/_layouts/')
         | 
| 60 61 |  | 
| @@ -86,25 +87,24 @@ end | |
| 86 87 | 
             
            desc 'Delete existing templates and recreate them'
         | 
| 87 88 | 
             
            command :update_templates do |c|
         | 
| 88 89 | 
             
              c.action do |global_options,options,args|
         | 
| 89 | 
            -
                conf = YAML.load_file( | 
| 90 | 
            +
                conf = YAML.load_file(global_options[:config])
         | 
| 90 91 |  | 
| 91 92 | 
             
                templates_dir = conf.fetch('planet').fetch('templates_directory', 'source/_layouts/')
         | 
| 92 93 |  | 
| 93 94 | 
             
                author = templates_dir + 'author.html'
         | 
| 94 95 | 
             
                header = templates_dir + 'header.md'
         | 
| 95 96 |  | 
| 96 | 
            -
             | 
| 97 97 | 
             
                File.delete(author) if File.exists?(author)
         | 
| 98 98 | 
             
                File.delete(header) if File.exists?(header)
         | 
| 99 99 |  | 
| 100 | 
            -
                response = `#{ | 
| 100 | 
            +
                response = `#{$0} -d #{global_options[:config]} create_templates`
         | 
| 101 101 | 
             
                puts response
         | 
| 102 102 | 
             
              end
         | 
| 103 103 | 
             
            end
         | 
| 104 104 |  | 
| 105 105 | 
             
            pre do |global,command,options,args|
         | 
| 106 106 | 
             
              if command.name == :generate
         | 
| 107 | 
            -
                conf = YAML.load_file( | 
| 107 | 
            +
                conf = YAML.load_file(global[:config])
         | 
| 108 108 |  | 
| 109 109 | 
             
                templates_dir = conf.fetch('planet').fetch('templates_directory', 'source/_layouts')
         | 
| 110 110 | 
             
                FileUtils.mkdir_p(templates_dir)
         | 
| @@ -114,7 +114,9 @@ pre do |global,command,options,args| | |
| 114 114 | 
             
                files.each do |name, path|
         | 
| 115 115 | 
             
                  if !File.exists?(path)
         | 
| 116 116 | 
             
                    puts "=> You are missing some files in your templates directory, planet.rb will create them for you - make sure to review them on #{ templates_dir }!"
         | 
| 117 | 
            -
             | 
| 117 | 
            +
             | 
| 118 | 
            +
                    response = `#{$0} -c #{global[:config]} create_templates`
         | 
| 119 | 
            +
             | 
| 118 120 | 
             
                    puts response
         | 
| 119 121 | 
             
                  elsif Box::FILES[name] != File.read(path)
         | 
| 120 122 | 
             
                    puts "!! WARNING: your planet.rb template files are different from the default, if you haven't made specific changes to them yourself then planet.rb default templates might have changed.Run 'planet update_templates' to override your current files with the newest default file available."
         | 
| @@ -130,6 +132,8 @@ post do |global,command,options,args| | |
| 130 132 | 
             
            end
         | 
| 131 133 |  | 
| 132 134 | 
             
            on_error do |exception|
         | 
| 135 | 
            +
              STDERR.puts "Error: #{exception} (#{exception.class})"
         | 
| 136 | 
            +
              STDERR.puts exception.backtrace.join("\n")
         | 
| 133 137 | 
             
              true
         | 
| 134 138 | 
             
            end
         | 
| 135 139 |  | 
    
        data/lib/planet/parsers.rb
    CHANGED
    
    | @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            require ' | 
| 1 | 
            +
            require 'feedjira'
         | 
| 2 2 | 
             
            require 'set'
         | 
| 3 3 |  | 
| 4 4 | 
             
            # Parsers class - manager for the feed parsers
         | 
| @@ -44,7 +44,7 @@ class Planet::Parsers | |
| 44 44 | 
             
              end
         | 
| 45 45 |  | 
| 46 46 | 
             
              # returns any parser that can handle this feeds' domain,
         | 
| 47 | 
            -
              # defaults to  | 
| 47 | 
            +
              # defaults to Feedjira if none available.
         | 
| 48 48 | 
             
              def get_parser_for(feed)
         | 
| 49 49 | 
             
                feed_domain = URI(feed).host
         | 
| 50 50 |  | 
| @@ -52,7 +52,7 @@ class Planet::Parsers | |
| 52 52 | 
             
                  return parser if feed_domain.end_with? domain
         | 
| 53 53 | 
             
                end
         | 
| 54 54 |  | 
| 55 | 
            -
                return  | 
| 55 | 
            +
                return Feedjira::Feed # default generic parser
         | 
| 56 56 | 
             
              end
         | 
| 57 57 | 
             
            end
         | 
| 58 58 |  | 
    
        data/lib/planet/post.rb
    CHANGED
    
    | @@ -1,3 +1,4 @@ | |
| 1 | 
            +
            require 'stringex_lite'
         | 
| 1 2 | 
             
            require 'mustache'
         | 
| 2 3 |  | 
| 3 4 | 
             
            class Planet::Post
         | 
| @@ -26,6 +27,7 @@ class Planet::Post | |
| 26 27 | 
             
                  author: self.blog.author,
         | 
| 27 28 | 
             
                  blog_url: self.blog.url,
         | 
| 28 29 | 
             
                  blog_name: self.blog.name,
         | 
| 30 | 
            +
                  blog_slug: self.blog.name.to_url(:limit => 50, :truncate_words => true),
         | 
| 29 31 | 
             
                  post_url: self.url,
         | 
| 30 32 | 
             
                  twitter: self.blog.twitter,
         | 
| 31 33 | 
             
                  twitter_url: "http://twitter.com/#{ self.blog.twitter }",
         | 
| @@ -55,7 +57,7 @@ class Planet::Post | |
| 55 57 | 
             
                name_date = date ? date.strftime('%Y-%m-%d') : nil
         | 
| 56 58 | 
             
                name_title = title.downcase.scan(/\w+/).join('-')
         | 
| 57 59 |  | 
| 58 | 
            -
                [name_date, name_title].join('-')
         | 
| 60 | 
            +
                [name_date, name_title].join('-')[0..59] # can return a file name that is too long, so truncate here to 60 chars
         | 
| 59 61 | 
             
              end
         | 
| 60 62 |  | 
| 61 63 | 
             
            end
         | 
    
        data/lib/planet/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: planet
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.5. | 
| 4 | 
            +
              version: 0.5.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - PoTe
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014- | 
| 11 | 
            +
            date: 2014-04-11 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: gli
         | 
| @@ -25,7 +25,7 @@ dependencies: | |
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 26 | 
             
                    version: '0'
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            -
              name:  | 
| 28 | 
            +
              name: feedjira
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - '>='
         | 
| @@ -66,6 +66,20 @@ dependencies: | |
| 66 66 | 
             
                - - '>='
         | 
| 67 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 68 | 
             
                    version: '0'
         | 
| 69 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 70 | 
            +
              name: stringex
         | 
| 71 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 | 
            +
                requirements:
         | 
| 73 | 
            +
                - - '>='
         | 
| 74 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            +
                    version: '0'
         | 
| 76 | 
            +
              type: :runtime
         | 
| 77 | 
            +
              prerelease: false
         | 
| 78 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 | 
            +
                requirements:
         | 
| 80 | 
            +
                - - '>='
         | 
| 81 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            +
                    version: '0'
         | 
| 69 83 | 
             
            description: 
         | 
| 70 84 | 
             
            email: pote@tardis.com.uy
         | 
| 71 85 | 
             
            executables:
         |