nutils 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -6,10 +6,8 @@ A set of utilities for nanoc 3. Tested in Mac OS X 10.6, Ruby 1.8.7, 1.92 and na
6
6
 
7
7
  * **beautify** Retabs HTML code. htmlbeautifier 0.0.6.
8
8
  * **crop** Extracts the specified rectangle from the image. RMagick 2.13.1.
9
- * **sprockets** Runs the content through [Sprockets](http://getsprockets.org). Sprockets 2.
10
9
  * **svg_to_png** Converts an SVG to PNG. Batik 1.7.
11
10
  * **yuicompressor** Compress the content with [YUI Compressor](http://developer.yahoo.com/yui/compressor/). yui-compressor 0.9.1.
12
- * **sass** Importer `Nutils::SassImporters::NanocItem` which deals with `@import /nanoc/identifier/` instead of real filenames.
13
11
 
14
12
  ## Data Sources
15
13
  * **filesystem_customizable** Allows an array for source directories and for layout directories.
@@ -3,7 +3,7 @@
3
3
  module Nutils
4
4
 
5
5
  # The current nutils version.
6
- VERSION = '1.1.0'
6
+ VERSION = '1.2.0'
7
7
  end
8
8
 
9
9
  # Load requirements
@@ -1,5 +1,6 @@
1
+ # encoding: utf-8
1
2
  module Nutils
2
3
 
3
4
  autoload "Errors", "nutils/base/errors"
4
5
 
5
- end
6
+ end
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module Nutils
2
3
  module Errors
3
4
 
@@ -7,7 +8,7 @@ module Nutils
7
8
 
8
9
  # @param [String] filename The file name not found.
9
10
  def initialize(filename)
10
- super("No file found in any directory provided for “#{filename}".make_compatible_with_env)
11
+ super("No file found in any directory provided for #{filename}".make_compatible_with_env)
11
12
  end
12
13
 
13
14
  end
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module Nutils
2
3
  module DataSources
3
4
  autoload "FilesystemCustomizable", "nutils/data_sources/filesystem_customizable"
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module Nutils
2
3
  module DataSources
3
4
 
@@ -45,7 +46,6 @@ module Nutils
45
46
  puts "Data Loaded in #{format('%.2f', @dtend - @dtstart)}s."
46
47
  end
47
48
 
48
-
49
49
  end
50
50
  end
51
51
  end
@@ -1,14 +1,13 @@
1
+ # encoding: utf-8
1
2
  module Nutils
2
3
  module Filters
3
4
  autoload 'Beautify', 'nutils/filters/beautify'
4
5
  autoload 'Crop', 'nutils/filters/crop'
5
- autoload 'SprocketWheel', 'nutils/filters/sprockets'
6
6
  autoload 'SvgToPng', 'nutils/filters/svg2png'
7
7
  autoload 'YuiCompressor', 'nutils/filters/yuicompressor'
8
8
 
9
9
  ::Nanoc::Filter.register '::Nutils::Filters::Beautify', :beautify
10
10
  ::Nanoc::Filter.register '::Nutils::Filters::Crop', :crop
11
- ::Nanoc::Filter.register '::Nutils::Filters::SprocketWheel', :sprockets
12
11
  ::Nanoc::Filter.register '::Nutils::Filters::SvgToPng', :svg_to_png
13
12
  ::Nanoc::Filter.register '::Nutils::Filters::YuiCompressor', :yuicompressor
14
13
  end
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module Nutils
2
3
  module Filters
3
4
 
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module Nutils
2
3
  module Filters
3
4
 
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module Nutils
2
3
  module Filters
3
4
 
@@ -1,9 +1,10 @@
1
+ # encoding: utf-8
1
2
  module Nutils
2
3
  module Filters
3
4
 
4
5
  # @author Arnau Siches
5
6
  #
6
- # @version 1.2.0
7
+ # @version 1.2.1
7
8
  #
8
9
  # @note Requires «yui-compressor»
9
10
  class YuiCompressor < Nanoc::Filter
@@ -24,12 +25,12 @@ module Nutils
24
25
  require "yui/compressor"
25
26
  if (params[:type] == :css)
26
27
  compressor = ::YUI::CssCompressor.new
27
- elsif (params[:type] == :js)
28
+ else
29
+ puts "Remember to add a params[:type] to your filter declaration to ensure straight compatibility with YUICompressor" unless params.has_key?(:type)
30
+ # elsif (params[:type] == :js)
28
31
  # It fallbacks to `:type => :js` because backwards compatibility w/
29
32
  # prior versions of the filter.
30
33
  compressor = ::YUI::JavaScriptCompressor.new
31
- else
32
- raise "You should define a params[:type] either :js or :css"
33
34
  end
34
35
 
35
36
  compressor.compress(content)
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module Nutils
2
3
  module Helpers
3
4
 
metadata CHANGED
@@ -1,53 +1,42 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: nutils
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 1
8
- - 0
9
- version: 1.1.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Arnau Siches
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2012-02-18 00:00:00 +01:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-10-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: nanoc
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 3
29
- - 3
30
- - 1
16
+ requirement: &70365351652660 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
31
21
  version: 3.3.1
32
22
  type: :runtime
33
- version_requirements: *id001
34
- description: Nutils is a set of utilities like filters, data_sources and helpers for Nanoc.
23
+ prerelease: false
24
+ version_requirements: *70365351652660
25
+ description: Nutils is a set of utilities like filters, data_sources and helpers for
26
+ Nanoc.
35
27
  email: arnau.siches@gmail.com
36
28
  executables: []
37
-
38
29
  extensions: []
39
-
40
- extra_rdoc_files:
30
+ extra_rdoc_files:
41
31
  - README.md
42
32
  - LICENSE
43
- files:
33
+ files:
44
34
  - lib/nutils/base/errors.rb
45
35
  - lib/nutils/base.rb
46
36
  - lib/nutils/data_sources/filesystem_customizable.rb
47
37
  - lib/nutils/data_sources.rb
48
38
  - lib/nutils/filters/beautify.rb
49
39
  - lib/nutils/filters/crop.rb
50
- - lib/nutils/filters/sprockets.rb
51
40
  - lib/nutils/filters/svg2png.rb
52
41
  - lib/nutils/filters/yuicompressor.rb
53
42
  - lib/nutils/filters.rb
@@ -56,38 +45,30 @@ files:
56
45
  - lib/nutils.rb
57
46
  - README.md
58
47
  - LICENSE
59
- has_rdoc: yard
60
48
  homepage: http://github.com/arnau/Nutils/
61
49
  licenses: []
62
-
63
50
  post_install_message:
64
- rdoc_options:
51
+ rdoc_options:
65
52
  - --main
66
53
  - README.md
67
- require_paths:
54
+ require_paths:
68
55
  - lib
69
- required_ruby_version: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- segments:
74
- - 1
75
- - 8
76
- - 7
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
77
61
  version: 1.8.7
78
- required_rubygems_version: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- segments:
83
- - 0
84
- version: "0"
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
85
68
  requirements: []
86
-
87
69
  rubyforge_project:
88
- rubygems_version: 1.3.6
70
+ rubygems_version: 1.8.10
89
71
  signing_key:
90
72
  specification_version: 3
91
73
  summary: A set of utilities for Nanoc3.
92
74
  test_files: []
93
-
@@ -1,62 +0,0 @@
1
- module Nutils
2
- module Filters
3
- # @author Arnau Siches
4
- #
5
- # @version 3.0.0
6
- #
7
- # @note Requires «sprockets»
8
- class SprocketWheel < Nanoc::Filter
9
- identifier :sprockets
10
- type :text
11
- # Concatenate the Javascript, CoffeeScript or Sass content through [Sprockets](http://getsprockets.org).
12
- # This method takes no options.
13
- #
14
- # @param [String] content The content to filter.
15
- #
16
- # @return [String] The filtered content.
17
- def run(content, params={})
18
- require 'sprockets'
19
- raise "Sprockets should be 2.0.0 or higher" if Gem.loaded_specs['sprockets'].version < Gem::Version.create('2.0')
20
-
21
- filename = Pathname.new(@item[:content_filename])
22
-
23
- # Create a temp file with the content received to give the desired
24
- # content to Sprockets on the same context.
25
- tmp_filename = filename.dirname + ('tmp_' + filename.basename.to_s)
26
- tmp_filename.open('w') { |io| io.puts content }
27
-
28
- load_path = params[:load_path] || []
29
- load_path << tmp_filename.dirname.realpath
30
-
31
- env = ::Sprockets::Environment.new(tmp_filename.dirname.realpath)
32
-
33
- # Assign load paths to Sprockets
34
- load_path.each do |path|
35
- env.append_path(File.expand_path(path))
36
- end
37
-
38
- # Get the Sprockets BundledAsset object for the content
39
- main_asset = env.find_asset(tmp_filename.realpath)
40
-
41
- # Select just the possible items that can be dependencies
42
- possible_items = @items.reject { |i| i[:content_filename].nil? }.select do |i|
43
- load_path.find { |p| Pathname.new(p).realpath.to_s == Pathname.new(i[:content_filename]).dirname.realpath.to_s }
44
- end
45
-
46
- # Get Nanoc::Item equivalent for each dependence managed by Sprockets
47
- dependencies = main_asset.dependencies.inject([]) do |dep, asset|
48
- item = possible_items.find { |i| asset.pathname == Pathname.new(i[:content_filename]).realpath }
49
- dep << item unless item.nil?
50
- dep
51
- end
52
- # Register Nanoc dependencies
53
- depend_on(dependencies) unless dependencies.nil?
54
-
55
- # Output compiled asset
56
- main_asset.to_s
57
- ensure
58
- tmp_filename.delete if tmp_filename.exist?
59
- end
60
- end
61
- end
62
- end