octopress-ink 1.0.0.alpha.18 → 1.0.0.alpha.19
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/lib/octopress-ink/assets.rb +1 -0
- data/lib/octopress-ink/assets/asset.rb +7 -1
- data/lib/octopress-ink/assets/root.rb +28 -0
- data/lib/octopress-ink/assets/sass.rb +1 -0
- data/lib/octopress-ink/assets/stylesheet.rb +1 -0
- data/lib/octopress-ink/plugin.rb +13 -3
- data/lib/octopress-ink/tags/yield.rb +1 -1
- data/lib/octopress-ink/version.rb +1 -1
- data/test/expected/favicon.ico +1 -0
- data/test/expected/favicon.png +1 -0
- data/test/expected/robots.txt +1 -0
- data/test/expected/tag_tests/head.html +1 -1
- data/test/site/favicon.ico +1 -0
- data/test/site/favicon.png +1 -0
- data/test/site/robots.txt +1 -0
- data/test/site/tag_tests/head.html +1 -1
- data/test/source/_plugins/awesome-sauce/files/robots.txt +1 -0
- data/test/source/_plugins/bundler.rb +2 -0
- data/test/source/_plugins/test-theme/files/favicon.ico +1 -0
- data/test/source/_plugins/test-theme/files/favicon.png +1 -0
- data/test/source/favicon.png +1 -0
- data/test/test.rb +33 -6
- metadata +22 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f2fb82a20098cdfe2f3e53ba1d8698b2c687afb
|
4
|
+
data.tar.gz: 70ccb3b9d8223443f105e6457b000dbdb5e8efc9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d98ccf5704b0055c3acc922eda1bd69dc38387022cabe493bfefc553795af644747ed2cbac4c585e262f8431f94618b4ae99e01787dd1c896479dc8785c88c6
|
7
|
+
data.tar.gz: b2c296c4fcce0c5f40928448b72423b48b29c0b50969d5b27e4e54054566e78b0ee2ce0b18a9f2794765058f42ed1b7cf64e497a781d739e23e164dddc5674e3
|
data/lib/octopress-ink/assets.rb
CHANGED
@@ -2,6 +2,7 @@ module Octopress
|
|
2
2
|
module Assets
|
3
3
|
autoload :Asset, 'octopress-ink/assets/asset'
|
4
4
|
autoload :Config, 'octopress-ink/assets/config'
|
5
|
+
autoload :RootAsset, 'octopress-ink/assets/root'
|
5
6
|
autoload :Javascript, 'octopress-ink/assets/javascript'
|
6
7
|
autoload :Stylesheet, 'octopress-ink/assets/stylesheet'
|
7
8
|
autoload :Sass, 'octopress-ink/assets/sass'
|
@@ -9,6 +9,7 @@ module Octopress
|
|
9
9
|
@root = plugin.assets_path
|
10
10
|
@dir = File.join(plugin.namespace, type)
|
11
11
|
@exists = {}
|
12
|
+
file_check
|
12
13
|
end
|
13
14
|
|
14
15
|
def file
|
@@ -25,7 +26,7 @@ module Octopress
|
|
25
26
|
files = files.flatten.reject { |f| !exists? f }
|
26
27
|
|
27
28
|
unless files.size
|
28
|
-
raise IOError.new "Could not find #{File.basename(@file)} at #{file}"
|
29
|
+
raise IOError.new "Could not find #{File.basename(@file)} at #{@file}"
|
29
30
|
end
|
30
31
|
@found_file = Pathname.new files[0]
|
31
32
|
end
|
@@ -89,6 +90,11 @@ module Octopress
|
|
89
90
|
end
|
90
91
|
end
|
91
92
|
|
93
|
+
def file_check
|
94
|
+
if @plugin.type != 'local_plugin' and !exists? plugin_path
|
95
|
+
raise "\nPlugin: #{@plugin.name}: Could not find #{File.basename(@file)} at #{plugin_path}".red
|
96
|
+
end
|
97
|
+
end
|
92
98
|
|
93
99
|
def exists?(file)
|
94
100
|
@exists[file] ||= File.exists?(file)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# These are files which need to be in added to the root of the site directory
|
2
|
+
# Use root assets for files like robots.text or favicon.ico
|
3
|
+
|
4
|
+
|
5
|
+
module Octopress
|
6
|
+
module Assets
|
7
|
+
class RootAsset < Asset
|
8
|
+
|
9
|
+
def initialize(plugin, type, file)
|
10
|
+
@root = plugin.assets_path
|
11
|
+
@plugin = plugin
|
12
|
+
@dir = ''
|
13
|
+
@type = type
|
14
|
+
@exists = {}
|
15
|
+
@file = file
|
16
|
+
file_check
|
17
|
+
end
|
18
|
+
|
19
|
+
def copy(site)
|
20
|
+
unless exists? local_plugin_path(site)
|
21
|
+
site.static_files << StaticFile.new(plugin_path, destination)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
data/lib/octopress-ink/plugin.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Octopress
|
2
2
|
class Plugin
|
3
|
-
attr_accessor :name, :type, :asset_override, :assets_path,
|
3
|
+
attr_accessor :name, :type, :asset_override, :assets_path,
|
4
4
|
:layouts_dir, :stylesheets_dir, :javascripts_dir, :files_dir, :includes_dir, :images_dir,
|
5
5
|
:layouts, :includes, :stylesheets, :javascripts, :images, :sass, :fonts, :files
|
6
6
|
|
@@ -20,6 +20,7 @@ module Octopress
|
|
20
20
|
@stylesheets = []
|
21
21
|
@javascripts = []
|
22
22
|
@images = []
|
23
|
+
@root_files = []
|
23
24
|
@sass = []
|
24
25
|
@fonts = []
|
25
26
|
@files = []
|
@@ -34,7 +35,7 @@ module Octopress
|
|
34
35
|
end
|
35
36
|
|
36
37
|
def add_config
|
37
|
-
@
|
38
|
+
@configs = Assets::Config.new(self, @config_file)
|
38
39
|
end
|
39
40
|
|
40
41
|
def namespace
|
@@ -82,6 +83,14 @@ module Octopress
|
|
82
83
|
@images << Assets::Asset.new(self, @images_dir, file)
|
83
84
|
end
|
84
85
|
|
86
|
+
def add_root_files(files)
|
87
|
+
files.each { |f| add_root_file(f) }
|
88
|
+
end
|
89
|
+
|
90
|
+
def add_root_file(file)
|
91
|
+
@files << Assets::RootAsset.new(self, @files_dir, file)
|
92
|
+
end
|
93
|
+
|
85
94
|
def add_font(file)
|
86
95
|
@fonts << Assets::Asset.new(self, @fonts_dir, file)
|
87
96
|
end
|
@@ -147,7 +156,8 @@ module Octopress
|
|
147
156
|
end
|
148
157
|
|
149
158
|
def configs(site)
|
150
|
-
@config.read(site)
|
159
|
+
@config ||= @configs.read(site)
|
160
|
+
@config
|
151
161
|
end
|
152
162
|
end
|
153
163
|
end
|
@@ -11,7 +11,7 @@ module Octopress
|
|
11
11
|
def render(context)
|
12
12
|
content = Helpers::ContentFor.render(context, @block_name)
|
13
13
|
if @block_name == 'head'
|
14
|
-
content
|
14
|
+
content.insert 0, "<meta name='generator' content='Octopress #{Octopress::Ink::VERSION}'>\n"
|
15
15
|
end
|
16
16
|
content
|
17
17
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
default favicon
|
@@ -0,0 +1 @@
|
|
1
|
+
override favicon
|
@@ -0,0 +1 @@
|
|
1
|
+
I like robots
|
@@ -0,0 +1 @@
|
|
1
|
+
default favicon
|
@@ -0,0 +1 @@
|
|
1
|
+
override favicon
|
@@ -0,0 +1 @@
|
|
1
|
+
I like robots
|
@@ -0,0 +1 @@
|
|
1
|
+
I like robots
|
@@ -9,6 +9,7 @@ class TestTheme < Octopress::Plugin
|
|
9
9
|
add_stylesheets ['theme-test.css', 'theme-test2.css']
|
10
10
|
add_stylesheet 'theme-media-test@print.css'
|
11
11
|
add_sass 'main.scss'
|
12
|
+
add_root_files ['favicon.ico', 'favicon.png']
|
12
13
|
end
|
13
14
|
end
|
14
15
|
|
@@ -21,6 +22,7 @@ class TestPlugin < Octopress::Plugin
|
|
21
22
|
def add_assets
|
22
23
|
add_stylesheet 'plugin-test.css'
|
23
24
|
add_stylesheet 'plugin-media-test.css', 'print'
|
25
|
+
add_root_file 'robots.txt'
|
24
26
|
super
|
25
27
|
end
|
26
28
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
default favicon
|
@@ -0,0 +1 @@
|
|
1
|
+
some favicon
|
@@ -0,0 +1 @@
|
|
1
|
+
override favicon
|
data/test/test.rb
CHANGED
@@ -1,14 +1,20 @@
|
|
1
1
|
require 'colorator'
|
2
2
|
|
3
|
-
has_failed = false
|
3
|
+
@has_failed = false
|
4
|
+
@failures = {}
|
5
|
+
|
6
|
+
def pout(str)
|
7
|
+
print str
|
8
|
+
$stdout.flush
|
9
|
+
end
|
4
10
|
|
5
11
|
def test(file, dir)
|
6
12
|
if diff = diff_file(file, dir)
|
7
|
-
|
8
|
-
|
9
|
-
has_failed = true
|
13
|
+
@failures[file] = diff
|
14
|
+
pout "F".red
|
15
|
+
@has_failed = true
|
10
16
|
else
|
11
|
-
|
17
|
+
pout ".".green
|
12
18
|
end
|
13
19
|
end
|
14
20
|
|
@@ -63,10 +69,31 @@ def test_stylesheets(dir, concat_css=true)
|
|
63
69
|
end
|
64
70
|
end
|
65
71
|
|
72
|
+
def test_root_assets(dir)
|
73
|
+
root_assets = %w{favicon.ico favicon.png robots.txt}
|
74
|
+
root_assets.each { |file| test(file, dir) }
|
75
|
+
end
|
76
|
+
|
77
|
+
def print_failures
|
78
|
+
puts "\n"
|
79
|
+
if @has_failed
|
80
|
+
@failures.each do |name, diff|
|
81
|
+
puts "Failure in #{name}:".red
|
82
|
+
puts "---------"
|
83
|
+
puts diff
|
84
|
+
puts "---------"
|
85
|
+
end
|
86
|
+
abort
|
87
|
+
else
|
88
|
+
puts "All passed!".green
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
66
92
|
test_tags('expected')
|
67
93
|
test_layouts('expected')
|
68
94
|
test_stylesheets('concat_css')
|
69
95
|
test_configs('expected')
|
96
|
+
test_root_assets('expected')
|
70
97
|
|
71
98
|
build '_concat_css_false.yml'
|
72
99
|
test_stylesheets('concat_css_false', false)
|
@@ -77,5 +104,5 @@ test_stylesheets('sass_compact')
|
|
77
104
|
build '_sass_expanded.yml'
|
78
105
|
test_stylesheets('sass_expanded')
|
79
106
|
|
80
|
-
|
107
|
+
print_failures
|
81
108
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octopress-ink
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.alpha.
|
4
|
+
version: 1.0.0.alpha.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Mathis
|
@@ -101,6 +101,7 @@ files:
|
|
101
101
|
- lib/octopress-ink/assets/include.rb
|
102
102
|
- lib/octopress-ink/assets/javascript.rb
|
103
103
|
- lib/octopress-ink/assets/layout.rb
|
104
|
+
- lib/octopress-ink/assets/root.rb
|
104
105
|
- lib/octopress-ink/assets/sass.rb
|
105
106
|
- lib/octopress-ink/assets/static_file.rb
|
106
107
|
- lib/octopress-ink/assets/static_file_content.rb
|
@@ -137,11 +138,14 @@ files:
|
|
137
138
|
- test/concat_css_false/theme/stylesheets/theme-media-test.css
|
138
139
|
- test/concat_css_false/theme/stylesheets/theme-test.css
|
139
140
|
- test/concat_css_false/theme/stylesheets/theme-test2.css
|
141
|
+
- test/expected/favicon.ico
|
142
|
+
- test/expected/favicon.png
|
140
143
|
- test/expected/index.html
|
141
144
|
- test/expected/layout_tests/local.html
|
142
145
|
- test/expected/layout_tests/plugin_layout.html
|
143
146
|
- test/expected/layout_tests/theme.html
|
144
147
|
- test/expected/layout_tests/theme_override.html
|
148
|
+
- test/expected/robots.txt
|
145
149
|
- test/expected/tag_tests/content_for.html
|
146
150
|
- test/expected/tag_tests/footer.html
|
147
151
|
- test/expected/tag_tests/head.html
|
@@ -156,11 +160,14 @@ files:
|
|
156
160
|
- test/sass_compact/stylesheets/print-0dc274efb4e3fba0ae71bd22eef6fb38.css
|
157
161
|
- test/sass_expanded/stylesheets/all-e10f647557c9d610df6df40a458bc823.css
|
158
162
|
- test/sass_expanded/stylesheets/print-0dc274efb4e3fba0ae71bd22eef6fb38.css
|
163
|
+
- test/site/favicon.ico
|
164
|
+
- test/site/favicon.png
|
159
165
|
- test/site/index.html
|
160
166
|
- test/site/layout_tests/local.html
|
161
167
|
- test/site/layout_tests/plugin_layout.html
|
162
168
|
- test/site/layout_tests/theme.html
|
163
169
|
- test/site/layout_tests/theme_override.html
|
170
|
+
- test/site/robots.txt
|
164
171
|
- test/site/stylesheets/all-5f4148b9fde2541e99deb55ebf3fe695.css
|
165
172
|
- test/site/stylesheets/print-0dc274efb4e3fba0ae71bd22eef6fb38.css
|
166
173
|
- test/site/tag_tests/content_for.html
|
@@ -185,12 +192,15 @@ files:
|
|
185
192
|
- test/source/_layouts/head.html
|
186
193
|
- test/source/_layouts/local.html
|
187
194
|
- test/source/_plugins/awesome-sauce/config.yml
|
195
|
+
- test/source/_plugins/awesome-sauce/files/robots.txt
|
188
196
|
- test/source/_plugins/awesome-sauce/includes/some-include.html
|
189
197
|
- test/source/_plugins/awesome-sauce/layouts/test-layout.html
|
190
198
|
- test/source/_plugins/awesome-sauce/stylesheets/plugin-media-test.css
|
191
199
|
- test/source/_plugins/awesome-sauce/stylesheets/plugin-test.css
|
192
200
|
- test/source/_plugins/bundler.rb
|
193
201
|
- test/source/_plugins/test-theme/config.yml
|
202
|
+
- test/source/_plugins/test-theme/files/favicon.ico
|
203
|
+
- test/source/_plugins/test-theme/files/favicon.png
|
194
204
|
- test/source/_plugins/test-theme/files/test.html
|
195
205
|
- test/source/_plugins/test-theme/includes/bar.html
|
196
206
|
- test/source/_plugins/test-theme/includes/greet.html
|
@@ -203,6 +213,7 @@ files:
|
|
203
213
|
- test/source/_plugins/test-theme/stylesheets/theme-media-test@print.css
|
204
214
|
- test/source/_plugins/test-theme/stylesheets/theme-test.css
|
205
215
|
- test/source/_plugins/test-theme/stylesheets/theme-test2.css
|
216
|
+
- test/source/favicon.png
|
206
217
|
- test/source/index.md
|
207
218
|
- test/source/layout_tests/local.html
|
208
219
|
- test/source/layout_tests/plugin_layout.html
|
@@ -261,11 +272,14 @@ test_files:
|
|
261
272
|
- test/concat_css_false/theme/stylesheets/theme-media-test.css
|
262
273
|
- test/concat_css_false/theme/stylesheets/theme-test.css
|
263
274
|
- test/concat_css_false/theme/stylesheets/theme-test2.css
|
275
|
+
- test/expected/favicon.ico
|
276
|
+
- test/expected/favicon.png
|
264
277
|
- test/expected/index.html
|
265
278
|
- test/expected/layout_tests/local.html
|
266
279
|
- test/expected/layout_tests/plugin_layout.html
|
267
280
|
- test/expected/layout_tests/theme.html
|
268
281
|
- test/expected/layout_tests/theme_override.html
|
282
|
+
- test/expected/robots.txt
|
269
283
|
- test/expected/tag_tests/content_for.html
|
270
284
|
- test/expected/tag_tests/footer.html
|
271
285
|
- test/expected/tag_tests/head.html
|
@@ -280,11 +294,14 @@ test_files:
|
|
280
294
|
- test/sass_compact/stylesheets/print-0dc274efb4e3fba0ae71bd22eef6fb38.css
|
281
295
|
- test/sass_expanded/stylesheets/all-e10f647557c9d610df6df40a458bc823.css
|
282
296
|
- test/sass_expanded/stylesheets/print-0dc274efb4e3fba0ae71bd22eef6fb38.css
|
297
|
+
- test/site/favicon.ico
|
298
|
+
- test/site/favicon.png
|
283
299
|
- test/site/index.html
|
284
300
|
- test/site/layout_tests/local.html
|
285
301
|
- test/site/layout_tests/plugin_layout.html
|
286
302
|
- test/site/layout_tests/theme.html
|
287
303
|
- test/site/layout_tests/theme_override.html
|
304
|
+
- test/site/robots.txt
|
288
305
|
- test/site/stylesheets/all-5f4148b9fde2541e99deb55ebf3fe695.css
|
289
306
|
- test/site/stylesheets/print-0dc274efb4e3fba0ae71bd22eef6fb38.css
|
290
307
|
- test/site/tag_tests/content_for.html
|
@@ -309,12 +326,15 @@ test_files:
|
|
309
326
|
- test/source/_layouts/head.html
|
310
327
|
- test/source/_layouts/local.html
|
311
328
|
- test/source/_plugins/awesome-sauce/config.yml
|
329
|
+
- test/source/_plugins/awesome-sauce/files/robots.txt
|
312
330
|
- test/source/_plugins/awesome-sauce/includes/some-include.html
|
313
331
|
- test/source/_plugins/awesome-sauce/layouts/test-layout.html
|
314
332
|
- test/source/_plugins/awesome-sauce/stylesheets/plugin-media-test.css
|
315
333
|
- test/source/_plugins/awesome-sauce/stylesheets/plugin-test.css
|
316
334
|
- test/source/_plugins/bundler.rb
|
317
335
|
- test/source/_plugins/test-theme/config.yml
|
336
|
+
- test/source/_plugins/test-theme/files/favicon.ico
|
337
|
+
- test/source/_plugins/test-theme/files/favicon.png
|
318
338
|
- test/source/_plugins/test-theme/files/test.html
|
319
339
|
- test/source/_plugins/test-theme/includes/bar.html
|
320
340
|
- test/source/_plugins/test-theme/includes/greet.html
|
@@ -327,6 +347,7 @@ test_files:
|
|
327
347
|
- test/source/_plugins/test-theme/stylesheets/theme-media-test@print.css
|
328
348
|
- test/source/_plugins/test-theme/stylesheets/theme-test.css
|
329
349
|
- test/source/_plugins/test-theme/stylesheets/theme-test2.css
|
350
|
+
- test/source/favicon.png
|
330
351
|
- test/source/index.md
|
331
352
|
- test/source/layout_tests/local.html
|
332
353
|
- test/source/layout_tests/plugin_layout.html
|