octopress-ink 1.0.0.alpha.40 → 1.0.0.alpha.41
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/octopress-ink.rb +6 -1
- data/lib/octopress-ink/assets/doc_page.rb +3 -2
- data/lib/octopress-ink/assets/sass.rb +1 -1
- data/lib/octopress-ink/assets/stylesheet.rb +1 -1
- data/lib/octopress-ink/commands.rb +7 -3
- data/lib/octopress-ink/commands/helpers.rb +2 -1
- data/lib/octopress-ink/commands/{info.rb → list.rb} +3 -3
- data/lib/octopress-ink/plugin.rb +68 -36
- data/lib/octopress-ink/plugins/ink.rb +9 -1
- data/lib/octopress-ink/tags.rb +1 -0
- data/lib/octopress-ink/tags/doc_url.rb +18 -0
- data/lib/octopress-ink/version.rb +1 -1
- data/octopress-ink.gemspec +1 -1
- data/test/Gemfile +1 -1
- data/test/plugins/awesome-sauce/plugin.rb +0 -6
- data/test/plugins/awesome-sauce/stylesheets/{plugin-media-test.css → plugin-media-test@print.css} +0 -0
- data/test/plugins/test-theme/plugin.rb +0 -7
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7cafd4614b86a0c2ee67bd091d9603518488deb2
|
4
|
+
data.tar.gz: 89ed549eaa1b6fd06225f005229ac923ac6cc73e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c89bec5e91f8579d7a0daf2f218cc920dc4f0f0c3ce416207c00635c3b94bb833d0f39ec7ae65c2a79189c5609a72028cbdfc8b4b8da658fdcf7736be3d0c1cb
|
7
|
+
data.tar.gz: 917bcefdc14014139f9eb56125f38bf64b94d5c18cf8524c46aae20d10898858b3572c1954ff2770ae59ea5789164a92ecf27415c9624bc37978f5746c1676dd
|
data/lib/octopress-ink.rb
CHANGED
@@ -45,7 +45,7 @@ module Octopress
|
|
45
45
|
|
46
46
|
def self.site(options={})
|
47
47
|
log_level = Jekyll.logger.log_level
|
48
|
-
Jekyll.logger.log_level = Jekyll::Stevenson::
|
48
|
+
Jekyll.logger.log_level = Jekyll::Stevenson::ERROR
|
49
49
|
@site ||= Jekyll::Site.new(Jekyll.configuration(options))
|
50
50
|
Jekyll.logger.log_level = log_level
|
51
51
|
@site
|
@@ -134,6 +134,10 @@ module Octopress
|
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
137
|
+
def self.gem_dir(*subdirs)
|
138
|
+
File.expand_path(File.join(File.dirname(__FILE__), '../..', *subdirs))
|
139
|
+
end
|
140
|
+
|
137
141
|
def self.copy_doc(source, dest)
|
138
142
|
contents = File.open(source).read
|
139
143
|
contents.sub!(/^# (.*)$/, "#{doc_title('\1').strip}")
|
@@ -168,6 +172,7 @@ Liquid::Template.register_tag('yield', Octopress::Ink::Tags::YieldTag)
|
|
168
172
|
Liquid::Template.register_tag('wrap', Octopress::Ink::Tags::WrapTag)
|
169
173
|
Liquid::Template.register_tag('abort', Octopress::Ink::Tags::AbortTag)
|
170
174
|
Liquid::Template.register_tag('_', Octopress::Ink::Tags::LineCommentTag)
|
175
|
+
Liquid::Template.register_tag('doc_url', Octopress::Ink::Tags::DocUrlTag)
|
171
176
|
|
172
177
|
require 'octopress-ink/plugins/ink'
|
173
178
|
require 'octopress-ink/plugins/asset_pipeline'
|
@@ -23,7 +23,7 @@ module Octopress
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def plugin_path
|
26
|
-
File.join(plugin_dir,
|
26
|
+
File.join(plugin_dir, page_dir, file)
|
27
27
|
end
|
28
28
|
|
29
29
|
def source_dir
|
@@ -40,7 +40,8 @@ module Octopress
|
|
40
40
|
@page.data['layout'] = 'docs'
|
41
41
|
@page.data['plugin'] = {
|
42
42
|
'name' => @plugin.name,
|
43
|
-
'slug' => @plugin.slug
|
43
|
+
'slug' => @plugin.slug,
|
44
|
+
'docs_base_path' => plugin.docs_base_path
|
44
45
|
}
|
45
46
|
@page.data['doc_pages'] = @plugin.doc_pages
|
46
47
|
@page
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Octopress
|
2
2
|
module Ink
|
3
3
|
module Commands
|
4
|
-
require 'octopress-ink/commands/
|
4
|
+
require 'octopress-ink/commands/list'
|
5
5
|
require 'octopress-ink/commands/copy'
|
6
6
|
|
7
7
|
class Ink < Octopress::Command
|
@@ -9,10 +9,14 @@ module Octopress
|
|
9
9
|
def self.init_with_program(p)
|
10
10
|
p.command(:ink) do |c|
|
11
11
|
c.version Octopress::Ink::VERSION
|
12
|
-
c.description "
|
12
|
+
c.description "Work with your Octopress Ink plugins."
|
13
13
|
c.syntax "ink <subcommand>"
|
14
14
|
|
15
|
-
|
15
|
+
c.action do |args, options|
|
16
|
+
puts c if args.empty?
|
17
|
+
end
|
18
|
+
|
19
|
+
List.process_command(c)
|
16
20
|
Copy.process_command(c)
|
17
21
|
end
|
18
22
|
end
|
@@ -6,7 +6,8 @@ module Octopress
|
|
6
6
|
c.option "layouts", "--layouts", "#{action} only layouts"
|
7
7
|
c.option "includes", "--includes", "#{action} only includes"
|
8
8
|
c.option "pages", "--pages", "#{action} only pages"
|
9
|
-
c.option "stylesheets", "--stylesheets", "#{action} only Stylesheets"
|
9
|
+
c.option "stylesheets", "--stylesheets", "#{action} only Stylesheets (CSS and Sass)"
|
10
|
+
c.option "css", "--css", "#{action} only CSS files"
|
10
11
|
c.option "sass", "--sass", "#{action} only Sass files"
|
11
12
|
c.option "javascripts", "--javascripts", "#{action} only Javascripts"
|
12
13
|
c.option "images", "--images", "#{action} only images"
|
@@ -1,10 +1,10 @@
|
|
1
1
|
module Octopress
|
2
2
|
module Ink
|
3
3
|
module Commands
|
4
|
-
class
|
4
|
+
class List
|
5
5
|
def self.process_command(p)
|
6
|
-
p.command(:
|
7
|
-
c.syntax "
|
6
|
+
p.command(:list) do |c|
|
7
|
+
c.syntax "list [plugin] [options]"
|
8
8
|
c.description "Get info about octopress ink plugins"
|
9
9
|
c.option "all", "--all", "List all plugins and their assets"
|
10
10
|
CommandHelpers.add_asset_options(c, 'List')
|
data/lib/octopress-ink/plugin.rb
CHANGED
@@ -9,7 +9,7 @@ module Octopress
|
|
9
9
|
}
|
10
10
|
|
11
11
|
attr_reader :name, :type, :assets_path, :local, :website, :description, :version,
|
12
|
-
:layouts_dir, :
|
12
|
+
:layouts_dir, :stylesheets_dir, :javascripts_dir, :files_dir, :includes_dir, :images_dir,
|
13
13
|
:layouts, :includes, :images, :fonts, :files, :pages, :docs
|
14
14
|
|
15
15
|
def initialize
|
@@ -23,8 +23,7 @@ module Octopress
|
|
23
23
|
@images_dir = 'images'
|
24
24
|
@includes_dir = 'includes'
|
25
25
|
@javascripts_dir = 'javascripts'
|
26
|
-
@
|
27
|
-
@sass_dir = 'stylesheets'
|
26
|
+
@stylesheets_dir = 'stylesheets'
|
28
27
|
@config_file = 'config.yml'
|
29
28
|
@layouts = []
|
30
29
|
@includes = []
|
@@ -62,13 +61,14 @@ module Octopress
|
|
62
61
|
add_docs
|
63
62
|
add_files
|
64
63
|
add_pages
|
64
|
+
add_stylesheets
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
68
|
def add_assets; end
|
69
69
|
|
70
70
|
def stylesheets
|
71
|
-
css.clone.concat
|
71
|
+
css.clone.concat sass_without_partials
|
72
72
|
end
|
73
73
|
|
74
74
|
def config
|
@@ -110,17 +110,19 @@ module Octopress
|
|
110
110
|
#
|
111
111
|
def doc_pages
|
112
112
|
if !@docs.empty?
|
113
|
-
@docs.clone.map
|
114
|
-
|
115
|
-
title =
|
116
|
-
|
117
|
-
url = File.join(docs_base_path, d.file)
|
113
|
+
@docs.clone.map { |d|
|
114
|
+
page = d.page
|
115
|
+
title = page.data['link_title'] || page.data['title'] || page.basename
|
116
|
+
url = File.join('/', docs_base_path, page.url.sub('index.html', ''))
|
118
117
|
|
119
118
|
{
|
120
119
|
'title' => title,
|
121
120
|
'url' => url
|
122
121
|
}
|
123
|
-
|
122
|
+
}.sort_by { |i|
|
123
|
+
# Sort by depth of url
|
124
|
+
i['url'].split('/').size
|
125
|
+
}
|
124
126
|
end
|
125
127
|
end
|
126
128
|
|
@@ -194,6 +196,12 @@ module Octopress
|
|
194
196
|
message = ''
|
195
197
|
no_assets = []
|
196
198
|
|
199
|
+
if options['stylesheets']
|
200
|
+
options['css'] = true
|
201
|
+
options['sass'] = true
|
202
|
+
options.delete('stylesheets')
|
203
|
+
end
|
204
|
+
|
197
205
|
select_assets(options).each do |name, assets|
|
198
206
|
next if assets.size == 0
|
199
207
|
if name == 'docs'
|
@@ -243,46 +251,59 @@ module Octopress
|
|
243
251
|
end
|
244
252
|
end
|
245
253
|
|
254
|
+
def add_stylesheets
|
255
|
+
find_assets(@stylesheets_dir).each do |asset|
|
256
|
+
if File.extname(asset) =~ /s[ca]ss/
|
257
|
+
@sass << Assets::Sass.new(self, @stylesheets_dir, asset)
|
258
|
+
else
|
259
|
+
@css << Assets::Stylesheet.new(self, @stylesheets_dir, asset)
|
260
|
+
end
|
261
|
+
end
|
262
|
+
end
|
263
|
+
|
246
264
|
def add_layouts
|
247
|
-
@layouts =
|
265
|
+
@layouts = add_new_assets(@layouts_dir, Assets::Layout)
|
248
266
|
end
|
249
267
|
|
250
268
|
def add_includes
|
251
|
-
@includes =
|
269
|
+
@includes = add_new_assets(@includes_dir, Assets::Asset)
|
252
270
|
end
|
253
271
|
|
254
272
|
def add_pages
|
255
|
-
@pages =
|
273
|
+
@pages = add_new_assets(@pages_dir, Assets::PageAsset)
|
256
274
|
end
|
257
275
|
|
258
276
|
def add_docs
|
259
|
-
@docs =
|
277
|
+
@docs = add_new_assets(@docs_dir, Assets::DocPageAsset)
|
260
278
|
end
|
261
279
|
|
262
280
|
def add_files
|
263
|
-
@files =
|
281
|
+
@files = add_new_assets(@files_dir, Assets::FileAsset)
|
264
282
|
end
|
265
283
|
|
266
284
|
def add_javascripts
|
267
|
-
@javascripts =
|
285
|
+
@javascripts = add_new_assets(@javascripts_dir, Assets::Javascript)
|
268
286
|
end
|
269
287
|
|
270
288
|
def add_fonts
|
271
|
-
@fonts =
|
289
|
+
@fonts = add_new_assets(@fonts_dir, Assets::Asset)
|
272
290
|
end
|
273
291
|
|
274
292
|
def add_images
|
275
|
-
@images =
|
293
|
+
@images = add_new_assets(@images_dir, Assets::Asset)
|
294
|
+
end
|
295
|
+
|
296
|
+
def add_new_assets(dir, asset_type)
|
297
|
+
find_assets(dir).map do |asset|
|
298
|
+
asset_type.new(self, dir, asset)
|
299
|
+
end
|
276
300
|
end
|
277
301
|
|
278
|
-
def find_assets(dir
|
279
|
-
found = []
|
302
|
+
def find_assets(dir)
|
280
303
|
full_dir = File.join(@assets_path, dir)
|
281
|
-
glob_assets(full_dir).
|
282
|
-
|
283
|
-
found << asset_type.new(self, dir, asset)
|
304
|
+
glob_assets(full_dir).map do |file|
|
305
|
+
file.sub(full_dir+'/', '')
|
284
306
|
end
|
285
|
-
found
|
286
307
|
end
|
287
308
|
|
288
309
|
def glob_assets(dir)
|
@@ -290,21 +311,21 @@ module Octopress
|
|
290
311
|
Find.find(dir).to_a.reject {|f| File.directory? f }
|
291
312
|
end
|
292
313
|
|
293
|
-
def add_css(file, media=nil)
|
294
|
-
|
295
|
-
end
|
314
|
+
#def add_css(file, media=nil)
|
315
|
+
#@css << Assets::Stylesheet.new(self, @stylesheets_dir, file, media)
|
316
|
+
#end
|
296
317
|
|
297
|
-
def add_sass(file, media=nil)
|
298
|
-
|
299
|
-
end
|
318
|
+
#def add_sass(file, media=nil)
|
319
|
+
#@sass << Assets::Sass.new(self, @sass_dir, file, media)
|
320
|
+
#end
|
300
321
|
|
301
|
-
def add_css_files(files, media=nil)
|
302
|
-
files.each { |f| add_css(f, media) }
|
303
|
-
end
|
322
|
+
#def add_css_files(files, media=nil)
|
323
|
+
#files.each { |f| add_css(f, media) }
|
324
|
+
#end
|
304
325
|
|
305
|
-
def add_sass_files(files, media=nil)
|
306
|
-
files.each { |f| add_sass(f, media) }
|
307
|
-
end
|
326
|
+
#def add_sass_files(files, media=nil)
|
327
|
+
#files.each { |f| add_sass(f, media) }
|
328
|
+
#end
|
308
329
|
|
309
330
|
def remove_jekyll_assets(files)
|
310
331
|
files.each {|f| f.remove_jekyll_asset }
|
@@ -318,6 +339,13 @@ module Octopress
|
|
318
339
|
|
319
340
|
def copy_asset_files(path, options)
|
320
341
|
copied = []
|
342
|
+
|
343
|
+
if options['stylesheets']
|
344
|
+
options['css'] = true
|
345
|
+
options['sass'] = true
|
346
|
+
options.delete('stylesheets')
|
347
|
+
end
|
348
|
+
|
321
349
|
select_assets(options).each do |name, assets|
|
322
350
|
next if name == 'docs'
|
323
351
|
assets.each { |a| copied << a.copy(path) }
|
@@ -345,6 +373,10 @@ module Octopress
|
|
345
373
|
@sass.reject{|f| f.disabled? }
|
346
374
|
end
|
347
375
|
|
376
|
+
def sass_without_partials
|
377
|
+
sass.reject{|f| f.file =~ /^_/ }
|
378
|
+
end
|
379
|
+
|
348
380
|
def javascripts
|
349
381
|
@javascripts.reject{|f| f.disabled? }
|
350
382
|
end
|
@@ -3,7 +3,7 @@ class Ink < Octopress::Ink::Plugin
|
|
3
3
|
{
|
4
4
|
name: "Octopress Ink",
|
5
5
|
slug: "ink",
|
6
|
-
assets_path:
|
6
|
+
assets_path: Octopress::Ink.gem_dir('assets'),
|
7
7
|
version: Octopress::Ink::VERSION,
|
8
8
|
description: "Octopress Ink is a plugin framework for Jekyll",
|
9
9
|
website: "http://octopress.org/docs/ink"
|
@@ -13,5 +13,13 @@ class Ink < Octopress::Ink::Plugin
|
|
13
13
|
def docs_base_path
|
14
14
|
'docs/ink'
|
15
15
|
end
|
16
|
+
|
17
|
+
def info(options)
|
18
|
+
if options['docs']
|
19
|
+
super
|
20
|
+
else
|
21
|
+
''
|
22
|
+
end
|
23
|
+
end
|
16
24
|
end
|
17
25
|
|
data/lib/octopress-ink/tags.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
# For plugin authors who need to generate urls pointing to ther doc pages.
|
2
|
+
|
3
|
+
module Octopress
|
4
|
+
module Ink
|
5
|
+
module Tags
|
6
|
+
class DocUrlTag < Liquid::Tag
|
7
|
+
def initialize(tag_name, markup, tokens)
|
8
|
+
super
|
9
|
+
@url = markup.strip
|
10
|
+
end
|
11
|
+
|
12
|
+
def render(context)
|
13
|
+
'/' + File.join(context['page']['plugin']['docs_base_path'], @url)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/octopress-ink.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_runtime_dependency "jekyll", "~> 1.4.3"
|
22
22
|
spec.add_runtime_dependency "sass", "~> 3.3.0"
|
23
23
|
|
24
|
-
spec.add_development_dependency "octopress"
|
24
|
+
spec.add_development_dependency "octopress"
|
25
25
|
spec.add_development_dependency "bundler", "~> 1.3"
|
26
26
|
spec.add_development_dependency "rake"
|
27
27
|
spec.add_development_dependency "pry-debugger"
|
data/test/Gemfile
CHANGED
@@ -9,12 +9,6 @@ class TestPlugin < Octopress::Ink::Plugin
|
|
9
9
|
description: "Test some plugins y'all"
|
10
10
|
}
|
11
11
|
end
|
12
|
-
|
13
|
-
def add_assets
|
14
|
-
add_css 'plugin-test.css'
|
15
|
-
add_css 'plugin-media-test.css', 'print'
|
16
|
-
super
|
17
|
-
end
|
18
12
|
end
|
19
13
|
|
20
14
|
Octopress::Ink.register_plugin(TestPlugin)
|
data/test/plugins/awesome-sauce/stylesheets/{plugin-media-test.css → plugin-media-test@print.css}
RENAMED
File without changes
|
@@ -9,13 +9,6 @@ class TestTheme < Octopress::Ink::Plugin
|
|
9
9
|
assets_path: File.expand_path(File.dirname(__FILE__))
|
10
10
|
}
|
11
11
|
end
|
12
|
-
|
13
|
-
def add_assets
|
14
|
-
add_css_files ['theme-test.css', 'theme-test2.css']
|
15
|
-
add_css 'theme-media-test@print.css'
|
16
|
-
add_css 'disable-this.css'
|
17
|
-
add_sass_files ['main.scss', 'disable.sass']
|
18
|
-
end
|
19
12
|
end
|
20
13
|
|
21
14
|
Octopress::Ink.register_plugin(TestTheme)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.41
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Mathis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: octopress
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -126,7 +126,7 @@ files:
|
|
126
126
|
- lib/octopress-ink/commands.rb
|
127
127
|
- lib/octopress-ink/commands/copy.rb
|
128
128
|
- lib/octopress-ink/commands/helpers.rb
|
129
|
-
- lib/octopress-ink/commands/
|
129
|
+
- lib/octopress-ink/commands/list.rb
|
130
130
|
- lib/octopress-ink/configuration.rb
|
131
131
|
- lib/octopress-ink/filters.rb
|
132
132
|
- lib/octopress-ink/generators/plugin_assets.rb
|
@@ -149,6 +149,7 @@ files:
|
|
149
149
|
- lib/octopress-ink/tags/assign.rb
|
150
150
|
- lib/octopress-ink/tags/capture.rb
|
151
151
|
- lib/octopress-ink/tags/content_for.rb
|
152
|
+
- lib/octopress-ink/tags/doc_url.rb
|
152
153
|
- lib/octopress-ink/tags/filter.rb
|
153
154
|
- lib/octopress-ink/tags/include.rb
|
154
155
|
- lib/octopress-ink/tags/javascript.rb
|
@@ -238,7 +239,7 @@ files:
|
|
238
239
|
- test/plugins/awesome-sauce/pages/test_pages/one.html
|
239
240
|
- test/plugins/awesome-sauce/pages/test_pages/two.html
|
240
241
|
- test/plugins/awesome-sauce/plugin.rb
|
241
|
-
- test/plugins/awesome-sauce/stylesheets/plugin-media-test.css
|
242
|
+
- test/plugins/awesome-sauce/stylesheets/plugin-media-test@print.css
|
242
243
|
- test/plugins/awesome-sauce/stylesheets/plugin-test.css
|
243
244
|
- test/plugins/test-theme/config.yml
|
244
245
|
- test/plugins/test-theme/files/disabled-file.txt
|
@@ -415,7 +416,7 @@ test_files:
|
|
415
416
|
- test/plugins/awesome-sauce/pages/test_pages/one.html
|
416
417
|
- test/plugins/awesome-sauce/pages/test_pages/two.html
|
417
418
|
- test/plugins/awesome-sauce/plugin.rb
|
418
|
-
- test/plugins/awesome-sauce/stylesheets/plugin-media-test.css
|
419
|
+
- test/plugins/awesome-sauce/stylesheets/plugin-media-test@print.css
|
419
420
|
- test/plugins/awesome-sauce/stylesheets/plugin-test.css
|
420
421
|
- test/plugins/test-theme/config.yml
|
421
422
|
- test/plugins/test-theme/files/disabled-file.txt
|