jekyllpress 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6a1302048a3a57f2b49f12e57e7f3e50647270d8
4
- data.tar.gz: d17a6509908721ac2d94ff139371b6360b3720cb
3
+ metadata.gz: 4b5c5fdd1ddb2b086c4b22d33eb6e974174ca696
4
+ data.tar.gz: bdaac49ecb5014b3368910cc64ac606ea1984fbe
5
5
  SHA512:
6
- metadata.gz: 1411a6ac4c9cd11ddfbfacbff98a8723e8659331cdb1eba30ede5a965218cdc5b84c434ae7bb5cd832c8e143a9513a0245af500476f00573fc0191ba6fd23478
7
- data.tar.gz: ced7dfee73e0010d305b5e5309e3f237c32ad4f86c5487c3133c0a18cee332e1fdb1e4d569571691c395d604ff964841cb7d019a6f64e4ec3ad58c809c5abd1d
6
+ metadata.gz: 9c077112ea772189b910eb23db1e4692d73f959bcfee41bc60c0b2326f3caf9644187e7dbc5988daf841abe8ce79c3ecc3f03aaadb735f7f1a180c066e068ea0
7
+ data.tar.gz: 22216e5959ff5378a873ee75772052d233f2ced80eddf0713366de667334a555b94d64e73b6083003bf2d7d7684c942a20e920206c9d46e714977208eac59ac5
data/CHANGELOG ADDED
@@ -0,0 +1,9 @@
1
+ 78c8b1c (HEAD, master) new: Add :redirect command to insert a 'redirect_from:' array in the front matter of each post in the _posts directory, to allow for blog restructuring, in service of using the jekyll-redirect-from gem.
2
+ 4957944 (tag: v0.0.3, origin/master) Forgot to add thor as a dependency! Doh!
3
+ a905e0e Move setup action to beginning of Usage section in README
4
+ 2ba98e4 (tag: v0.0.2) version bump
5
+ 2fee61c clean up tests, all running under one test_site
6
+ df41340 add usage examples to README
7
+ 9ce0103 (tag: v0.0.1) Move source_path into with_config
8
+ 944f3cd setup, new_post, new_page actions
9
+ eed0fcd Initial Commit
data/jekyllpress.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "rspec"
27
27
  spec.add_development_dependency "pry", "~> 0.9"
28
- spec.add_development_dependency "pry-debugger"
28
+ spec.add_development_dependency "pry-byebug"
29
29
  spec.add_development_dependency "awesome_print"
30
30
  spec.add_development_dependency "guard"
31
31
  spec.add_development_dependency "guard-rspec"
data/lib/jekyllpress.rb CHANGED
@@ -81,6 +81,27 @@ module Jekyllpress
81
81
  end
82
82
  end
83
83
 
84
+ desc "redirect OLD_DIR", "Add a jekyll-redirect-from entry in every post based on OLD_DIR"
85
+ def redirect(old_dir="")
86
+ @old_dir = old_dir.to_s
87
+ @old_dir = ask("Old directory to use in redirect: ") if @old_dir.empty?
88
+ processed_posts = []
89
+ with_posts do |post|
90
+ if post.data.has_key?("redirect_from")
91
+ say "skipping #{post.name} - redirect_from detected"
92
+ next
93
+ end
94
+ say "processing #{post.name}"
95
+ post.data.merge!({
96
+ "redirect_from" => Array(File.join('', old_dir, post.url))
97
+ })
98
+ rewrite_post(post)
99
+ say "wrote #{post.name}"
100
+ processed_posts << {name: post.name, file: post_file_name(post)}
101
+ end
102
+ [__method__, @old_dir, processed_posts]
103
+ end
104
+
84
105
  private
85
106
 
86
107
  def with_config
@@ -89,6 +110,17 @@ module Jekyllpress
89
110
  yield jekyll_config
90
111
  end
91
112
 
113
+ def with_posts
114
+ with_config do |config|
115
+ site = Jekyll::Site.new(config)
116
+ site.reset
117
+ site.read
118
+ site.posts.each do |post|
119
+ yield post
120
+ end
121
+ end
122
+ end
123
+
92
124
  def check_templates
93
125
  File.stat(File.join(source, template_dir))
94
126
  File.stat(File.join(source, template_dir, new_page_template))
@@ -153,6 +185,21 @@ module Jekyllpress
153
185
  def new_page_template
154
186
  jekyll_config["templates"]["new_page_template"]
155
187
  end
188
+
189
+ def post_file_name(post)
190
+ File.join(post.site.source, post.path)
191
+ end
192
+
193
+ def rewrite_post(post)
194
+ file = post_file_name(post)
195
+ # backup current file
196
+ FileUtils.copy_file(file, "#{file}.bak")
197
+ File.open(file, 'w') do |f|
198
+ f.puts post.data.to_yaml
199
+ f.puts "---"
200
+ f.write post.content
201
+ end
202
+ end
156
203
  end
157
204
 
158
205
  end
@@ -1,3 +1,3 @@
1
1
  module Jekyllpress
2
- VERSION = "0.0.3"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
+ require 'jekyllpress'
2
3
 
3
4
  describe Jekyllpress do
4
5
  it 'has a version number' do
@@ -118,5 +118,27 @@ Dir.chdir(Pathname.new('spec/test_site')) do |test_dir|
118
118
 
119
119
  end
120
120
 
121
+ describe ":redirect" do
122
+ before(:all) do
123
+ @action, @old_dir, @posts = Jekyllpress::App.start(%w[redirect BLOG])
124
+ end
125
+
126
+ it "each post has a redirect_from: in frontmatter" do
127
+ @posts.each do |post|
128
+ post_content = File.read post[:file]
129
+ expect(post_content).to match(%r{^redirect_from:$})
130
+ end
131
+ end
132
+
133
+ after(:all) do
134
+ # restore backups to normal
135
+ @posts.each do |post|
136
+ FileUtils.mv("#{post[:file]}.bak", post[:file], force: true)
137
+ end
138
+ end
139
+
140
+
141
+ end
142
+
121
143
  end
122
144
  end
metadata CHANGED
@@ -1,167 +1,167 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyllpress
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tamara Temple
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-28 00:00:00.000000000 Z
11
+ date: 2014-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.19'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.19'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jekyll
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '2.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: stringex
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.6'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.6'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '10.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '10.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: pry
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0.9'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0.9'
111
111
  - !ruby/object:Gem::Dependency
112
- name: pry-debugger
112
+ name: pry-byebug
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: awesome_print
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: guard
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: guard-rspec
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - '>='
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  description:
@@ -172,9 +172,10 @@ executables:
172
172
  extensions: []
173
173
  extra_rdoc_files: []
174
174
  files:
175
- - .gitignore
176
- - .rspec
177
- - .travis.yml
175
+ - ".gitignore"
176
+ - ".rspec"
177
+ - ".travis.yml"
178
+ - CHANGELOG
178
179
  - Gemfile
179
180
  - Guardfile
180
181
  - LICENSE.txt
@@ -211,12 +212,12 @@ require_paths:
211
212
  - lib
212
213
  required_ruby_version: !ruby/object:Gem::Requirement
213
214
  requirements:
214
- - - '>='
215
+ - - ">="
215
216
  - !ruby/object:Gem::Version
216
217
  version: '0'
217
218
  required_rubygems_version: !ruby/object:Gem::Requirement
218
219
  requirements:
219
- - - '>='
220
+ - - ">="
220
221
  - !ruby/object:Gem::Version
221
222
  version: '0'
222
223
  requirements: []
@@ -243,3 +244,4 @@ test_files:
243
244
  - spec/test_site/css/main.css
244
245
  - spec/test_site/feed.xml
245
246
  - spec/test_site/index.html
247
+ has_rdoc: