linner 0.9.1 → 0.10.0
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/CHANGELOG +3 -0
 - data/docs/config.md +4 -0
 - data/lib/linner.rb +24 -2
 - data/lib/linner/asset.rb +6 -2
 - data/lib/linner/template.rb +2 -0
 - data/lib/linner/version.rb +1 -1
 - data/linner.gemspec +1 -1
 - metadata +4 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: da0b05dc72a9e2993d4c6c1f12c27311e622ba20
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 75ac9e76a25aa4d7fdbf27c82ece3bbc3f29028a
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 8c2421a77a255f1d4b5e15e8ed263ea6bf2ed7d478808697c4ec858aabdb435f9bbe203c8a9b1bad6df6b67dedcf81305cddff625f5ab3d722d346a25db3a5dd
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 60a194ab95ce596151b82646f429628b8b80fe0176d0e8a6da02524694683427900d63826b2cf5cd68d8f0190973bdab2b0e96d85720df41bbaf253c61fb2a78
         
     | 
    
        data/CHANGELOG
    CHANGED
    
    
    
        data/docs/config.md
    CHANGED
    
    | 
         @@ -51,12 +51,16 @@ the default configuration defines four groups: `scripts`, `styles`, `images` and 
     | 
|
| 
       51 
51 
     | 
    
         | 
| 
       52 
52 
     | 
    
         
             
            `copy` defines copy strategy of files in Linner. The `Dir.glob` of `value` will be copy to `key` folder.
         
     | 
| 
       53 
53 
     | 
    
         | 
| 
      
 54 
     | 
    
         
            +
            `compile` defines compile strategy of files in Linner. The `Dir.glob` of `value` will be compile to `key` folder.
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
       54 
56 
     | 
    
         
             
            `precompile` defines precompile strategy of javascript templates for Linner. The `Dir.glob` of `value` will be concat to `key`.
         
     | 
| 
       55 
57 
     | 
    
         | 
| 
       56 
58 
     | 
    
         
             
            `sprite` defines sprite strategy of images for Linner. The `Dir.glob` of `value` will be sprite to `key`.
         
     | 
| 
       57 
59 
     | 
    
         | 
| 
       58 
60 
     | 
    
         
             
            `tar` defines archive strategy of files in Linner. The `Dir.glob` of `value` will be archive to `key` file.
         
     | 
| 
       59 
61 
     | 
    
         | 
| 
      
 62 
     | 
    
         
            +
            `context` defines the context of the `compile` files, and the value will pass to the render function.
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
       60 
64 
     | 
    
         
             
            `order` defines the order of this group files, and It's very useful when you `concat` your files. for example:
         
     | 
| 
       61 
65 
     | 
    
         | 
| 
       62 
66 
     | 
    
         
             
            ```yaml
         
     | 
    
        data/lib/linner.rb
    CHANGED
    
    | 
         @@ -102,6 +102,7 @@ module Linner 
     | 
|
| 
       102 
102 
     | 
    
         
             
                end
         
     | 
| 
       103 
103 
     | 
    
         
             
                env.groups.each do |config|
         
     | 
| 
       104 
104 
     | 
    
         
             
                  copy(config) if config["copy"]
         
     | 
| 
      
 105 
     | 
    
         
            +
                  compile(config) if config["compile"]
         
     | 
| 
       105 
106 
     | 
    
         
             
                  concat(config) if config["concat"]
         
     | 
| 
       106 
107 
     | 
    
         
             
                end
         
     | 
| 
       107 
108 
     | 
    
         
             
                env.groups.each do |config|
         
     | 
| 
         @@ -122,6 +123,17 @@ module Linner 
     | 
|
| 
       122 
123 
     | 
    
         | 
| 
       123 
124 
     | 
    
         
             
              def copy(config)
         
     | 
| 
       124 
125 
     | 
    
         
             
                config["copy"].each do |dest, pattern|
         
     | 
| 
      
 126 
     | 
    
         
            +
                  Dir.glob(pattern).each do |path|
         
     | 
| 
      
 127 
     | 
    
         
            +
                    asset = Asset.new(path)
         
     | 
| 
      
 128 
     | 
    
         
            +
                    dest_path = File.join(env.public_folder, dest, asset.logical_path)
         
     | 
| 
      
 129 
     | 
    
         
            +
                    FileUtils.mkdir_p File.dirname(dest_path)
         
     | 
| 
      
 130 
     | 
    
         
            +
                    FileUtils.cp_r path, dest_path
         
     | 
| 
      
 131 
     | 
    
         
            +
                  end
         
     | 
| 
      
 132 
     | 
    
         
            +
                end
         
     | 
| 
      
 133 
     | 
    
         
            +
              end
         
     | 
| 
      
 134 
     | 
    
         
            +
             
     | 
| 
      
 135 
     | 
    
         
            +
              def compile(config)
         
     | 
| 
      
 136 
     | 
    
         
            +
                config["compile"].each do |dest, pattern|
         
     | 
| 
       125 
137 
     | 
    
         
             
                  Dir.glob(pattern).each do |path|
         
     | 
| 
       126 
138 
     | 
    
         
             
                    next if not cache.miss?(dest, path)
         
     | 
| 
       127 
139 
     | 
    
         
             
                    asset = Asset.new(path)
         
     | 
| 
         @@ -129,8 +141,18 @@ module Linner 
     | 
|
| 
       129 
141 
     | 
    
         
             
                    if asset.javascript? or asset.stylesheet?
         
     | 
| 
       130 
142 
     | 
    
         
             
                      asset.content
         
     | 
| 
       131 
143 
     | 
    
         
             
                      asset.compress if compile?
         
     | 
| 
       132 
     | 
    
         
            -
                      dest_path = dest_path.sub(/[^.]+\z/,"js") if asset.javascript?
         
     | 
| 
       133 
     | 
    
         
            -
                      dest_path = dest_path.sub(/[^.]+\z/,"css") if asset.stylesheet?
         
     | 
| 
      
 144 
     | 
    
         
            +
                      dest_path = dest_path.sub(/[^.]+\z/, "js") if asset.javascript?
         
     | 
| 
      
 145 
     | 
    
         
            +
                      dest_path = dest_path.sub(/[^.]+\z/, "css") if asset.stylesheet?
         
     | 
| 
      
 146 
     | 
    
         
            +
                      asset.path = dest_path
         
     | 
| 
      
 147 
     | 
    
         
            +
                      asset.write
         
     | 
| 
      
 148 
     | 
    
         
            +
                    elsif asset.eruby?
         
     | 
| 
      
 149 
     | 
    
         
            +
                      base, ext = path.split(".")
         
     | 
| 
      
 150 
     | 
    
         
            +
                      dest_path = if ext == "erb"
         
     | 
| 
      
 151 
     | 
    
         
            +
                        dest_path.sub(/[.]+\z/, "html")
         
     | 
| 
      
 152 
     | 
    
         
            +
                      else
         
     | 
| 
      
 153 
     | 
    
         
            +
                        dest_path.gsub(File.basename(dest_path), File.basename(dest_path, File.extname(dest_path)))
         
     | 
| 
      
 154 
     | 
    
         
            +
                      end
         
     | 
| 
      
 155 
     | 
    
         
            +
                      asset.content(config["context"])
         
     | 
| 
       134 
156 
     | 
    
         
             
                      asset.path = dest_path
         
     | 
| 
       135 
157 
     | 
    
         
             
                      asset.write
         
     | 
| 
       136 
158 
     | 
    
         
             
                    else
         
     | 
    
        data/lib/linner/asset.rb
    CHANGED
    
    | 
         @@ -36,10 +36,10 @@ module Linner 
     | 
|
| 
       36 
36 
     | 
    
         
             
                  File.rename path, digest_path
         
     | 
| 
       37 
37 
     | 
    
         
             
                end
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
     | 
    
         
            -
                def content
         
     | 
| 
      
 39 
     | 
    
         
            +
                def content(context = nil)
         
     | 
| 
       40 
40 
     | 
    
         
             
                  return @content if @content
         
     | 
| 
       41 
41 
     | 
    
         
             
                  source = begin
         
     | 
| 
       42 
     | 
    
         
            -
                    File.exist?(path) ? Tilt.new(path, :default_encoding => "UTF-8").render : ""
         
     | 
| 
      
 42 
     | 
    
         
            +
                    File.exist?(path) ? Tilt.new(path, :default_encoding => "UTF-8").render(nil, context) : ""
         
     | 
| 
       43 
43 
     | 
    
         
             
                  rescue RuntimeError
         
     | 
| 
       44 
44 
     | 
    
         
             
                    File.read(path, mode: "rb")
         
     | 
| 
       45 
45 
     | 
    
         
             
                  rescue => e
         
     | 
| 
         @@ -76,6 +76,10 @@ module Linner 
     | 
|
| 
       76 
76 
     | 
    
         
             
                  Tilt[path] and Tilt[path].default_mime_type == "text/template"
         
     | 
| 
       77 
77 
     | 
    
         
             
                end
         
     | 
| 
       78 
78 
     | 
    
         | 
| 
      
 79 
     | 
    
         
            +
                def eruby?
         
     | 
| 
      
 80 
     | 
    
         
            +
                  Tilt[path] and Tilt[path].default_mime_type = "application/x-eruby"
         
     | 
| 
      
 81 
     | 
    
         
            +
                end
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
       79 
83 
     | 
    
         
             
                def wrappable?
         
     | 
| 
       80 
84 
     | 
    
         
             
                  !!(self.javascript? and !Linner.env.modules_ignored.include?(@path) or self.template?)
         
     | 
| 
       81 
85 
     | 
    
         
             
                end
         
     | 
    
        data/lib/linner/template.rb
    CHANGED
    
    
    
        data/lib/linner/version.rb
    CHANGED
    
    
    
        data/linner.gemspec
    CHANGED
    
    | 
         @@ -19,7 +19,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       19 
19 
     | 
    
         
             
              spec.require_paths = ["lib"]
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
              spec.add_dependency "thor", "~> 0.18"
         
     | 
| 
       22 
     | 
    
         
            -
              spec.add_dependency "tilt", "~>  
     | 
| 
      
 22 
     | 
    
         
            +
              spec.add_dependency "tilt", "~> 2.0"
         
     | 
| 
       23 
23 
     | 
    
         
             
              spec.add_dependency "reel", "~> 0.5.0"
         
     | 
| 
       24 
24 
     | 
    
         
             
              spec.add_dependency "listen", "~> 1.3"
         
     | 
| 
       25 
25 
     | 
    
         
             
              spec.add_dependency "uglifier", "~> 2.5.0"
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: linner
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.10.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Saito
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2015- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-04-02 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: thor
         
     | 
| 
         @@ -30,14 +30,14 @@ dependencies: 
     | 
|
| 
       30 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       31 
31 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       32 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       33 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '2.0'
         
     | 
| 
       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 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '2.0'
         
     | 
| 
       41 
41 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       42 
42 
     | 
    
         
             
              name: reel
         
     | 
| 
       43 
43 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     |