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:
|