linner 0.6.1 → 0.6.2
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 +6 -1
- data/lib/linner.rb +21 -8
- data/lib/linner/asset.rb +4 -0
- data/lib/linner/bundler.rb +9 -5
- data/lib/linner/command.rb +9 -0
- data/lib/linner/environment.rb +7 -2
- data/lib/linner/sprite.rb +1 -1
- data/lib/linner/templates/app/views/index.html +19 -18
- data/lib/linner/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23a2780b01c0a039f16e2c30ca97c7dbcb383673
|
4
|
+
data.tar.gz: c5f70fa15527c208f8bab35ff64a03009bbd0e2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6cccf5a5ac4175c46267f9ff1985ebd0deefdd13697f107ad43e3d544879ed597661b79176d878066c1eb57c079c6737064f1ebac5d4439988338e17b6ed8e9c
|
7
|
+
data.tar.gz: 745643de1507e32f3c35f3cf38ee41039c490716de0c6dced3e1e275b7851067e02321971cd67fad0ef59f8d2445a11e93afb37a9130a4676f6c78769b5cac9e
|
data/CHANGELOG
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
+
v0.6.2
|
2
|
+
- fix bin-packing algo problem
|
3
|
+
- add auto reload environment support
|
4
|
+
- add native path bundle support
|
5
|
+
|
1
6
|
v0.6.1
|
2
|
-
- use `hpricot` to instead of `nokogiri`, because `nokogiri` has parse problem when `revision
|
7
|
+
- use `hpricot` to instead of `nokogiri`, because `nokogiri` has parse problem when `revision`
|
3
8
|
|
4
9
|
v0.6.0
|
5
10
|
- add sprites support
|
data/lib/linner.rb
CHANGED
@@ -20,18 +20,20 @@ Encoding.default_internal = Encoding::UTF_8
|
|
20
20
|
module Linner
|
21
21
|
extend self
|
22
22
|
|
23
|
-
attr_accessor :compile
|
23
|
+
attr_accessor :env, :compile
|
24
24
|
|
25
25
|
def root
|
26
26
|
@root ||= Pathname('.').expand_path
|
27
27
|
end
|
28
28
|
|
29
|
+
def config_file
|
30
|
+
linner_file = root.join("Linnerfile")
|
31
|
+
config_file = root.join("config.yml")
|
32
|
+
File.exist?(linner_file) ? linner_file : config_file
|
33
|
+
end
|
34
|
+
|
29
35
|
def env
|
30
|
-
@env ||= Environment.new
|
31
|
-
linner_file = root.join("Linnerfile")
|
32
|
-
config_file = root.join("config.yml")
|
33
|
-
File.exist?(linner_file) ? linner_file : config_file
|
34
|
-
end
|
36
|
+
@env ||= Environment.new config_file
|
35
37
|
end
|
36
38
|
|
37
39
|
def cache
|
@@ -42,8 +44,19 @@ module Linner
|
|
42
44
|
@manifest ||= begin
|
43
45
|
hash = {}
|
44
46
|
env.groups.each do |config|
|
45
|
-
|
47
|
+
concat_assets = template_assets = copy_assets = []
|
48
|
+
concat_assets = config["concat"].keys if config["concat"]
|
49
|
+
template_assets = config["template"].keys if config["template"]
|
50
|
+
config["copy"].each do |dest, pattern|
|
51
|
+
copy_assets = Dir.glob(pattern).map do |path|
|
52
|
+
logical_path = Asset.new(path).logical_path
|
53
|
+
dest_path = File.join(dest, logical_path)
|
54
|
+
end
|
55
|
+
end if config["copy"]
|
56
|
+
|
57
|
+
(concat_assets + template_assets + copy_assets).uniq.each do |dest|
|
46
58
|
asset = Asset.new(File.join env.public_folder, dest)
|
59
|
+
next unless asset.revable?
|
47
60
|
hash[dest] = asset.relative_digest_path
|
48
61
|
asset.revision!
|
49
62
|
end
|
@@ -137,7 +150,7 @@ module Linner
|
|
137
150
|
end
|
138
151
|
|
139
152
|
name = File.basename(dest).sub(/[^.]+\z/, "png")
|
140
|
-
path = File.join(env.public_folder, env.sprites["path"],
|
153
|
+
path = File.join(env.public_folder, env.sprites["path"], name)
|
141
154
|
FileUtils.mkdir_p File.dirname(path)
|
142
155
|
map.save path
|
143
156
|
|
data/lib/linner/asset.rb
CHANGED
data/lib/linner/bundler.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require "uri"
|
1
2
|
require "digest"
|
2
3
|
require "fileutils"
|
3
4
|
require "open-uri"
|
@@ -52,15 +53,18 @@ module Linner
|
|
52
53
|
def install_to_repository(url, path)
|
53
54
|
FileUtils.mkdir_p File.dirname(path)
|
54
55
|
File.open(path, "w") do |dist|
|
55
|
-
|
56
|
+
if url =~ URI::regexp
|
57
|
+
open(url, "r:UTF-8") {|file| dist.write file.read}
|
58
|
+
else
|
59
|
+
dist.write(File.read Pathname(url).expand_path)
|
60
|
+
end
|
56
61
|
end
|
57
62
|
end
|
58
63
|
|
59
64
|
def link_to_vendor(path, dist)
|
60
|
-
if
|
61
|
-
|
62
|
-
|
63
|
-
end
|
65
|
+
return if File.exist?(dist) and Digest::MD5.file(path).hexdigest == Digest::MD5.file(dist).hexdigest
|
66
|
+
FileUtils.mkdir_p File.dirname(dist)
|
67
|
+
FileUtils.cp path, dist
|
64
68
|
end
|
65
69
|
end
|
66
70
|
end
|
data/lib/linner/command.rb
CHANGED
@@ -47,6 +47,7 @@ module Linner
|
|
47
47
|
clean
|
48
48
|
Linner::Bundler.new(env.bundles).perform
|
49
49
|
perform
|
50
|
+
watch_for_env
|
50
51
|
watch_for_perform
|
51
52
|
watch_for_reload
|
52
53
|
sleep
|
@@ -92,6 +93,14 @@ module Linner
|
|
92
93
|
end
|
93
94
|
end
|
94
95
|
|
96
|
+
def watch_for_env
|
97
|
+
Listen.to Linner.root, filter: /(config\.yml|Linnerfile)$/ do |modified, added, removed|
|
98
|
+
Linner.env = Environment.new Linner.config_file
|
99
|
+
Linner::Bundler.new(env.bundles).perform
|
100
|
+
perform
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
95
104
|
def exit!
|
96
105
|
Notifier.exit
|
97
106
|
Kernel::exit
|
data/lib/linner/environment.rb
CHANGED
@@ -5,8 +5,7 @@ module Linner
|
|
5
5
|
|
6
6
|
def initialize(path)
|
7
7
|
@env ||= (YAML::load(File.read path) || Hash.new)
|
8
|
-
|
9
|
-
@env = @convension.rmerge!(@env)
|
8
|
+
merge_with_convension
|
10
9
|
end
|
11
10
|
|
12
11
|
%w(app test vendor public).each do |method|
|
@@ -54,5 +53,11 @@ module Linner
|
|
54
53
|
def groups
|
55
54
|
@env["groups"].values
|
56
55
|
end
|
56
|
+
|
57
|
+
private
|
58
|
+
def merge_with_convension
|
59
|
+
convension = YAML::load File.read(File.join File.dirname(__FILE__), "../../vendor", "config.default.yml")
|
60
|
+
@env = convension.rmerge!(@env)
|
61
|
+
end
|
57
62
|
end
|
58
63
|
end
|
data/lib/linner/sprite.rb
CHANGED
@@ -73,7 +73,7 @@ module Linner
|
|
73
73
|
|
74
74
|
def split_block(block, image)
|
75
75
|
block[:used] = true
|
76
|
-
block[:down] = {:x => block[:x], :y => block[:y] + image.
|
76
|
+
block[:down] = {:x => block[:x], :y => block[:y] + image.height, :w => block[:w], :h => block[:h] - image.height}
|
77
77
|
block[:right] = {:x => block[:x] + image.width, :y => block[:y], :w => block[:w] - image.width, :h => image.height}
|
78
78
|
end
|
79
79
|
|
@@ -1,21 +1,22 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
6
|
+
<title>Linner boilerplate</title>
|
7
|
+
<meta name="description" content="">
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
10
|
+
<link rel="stylesheet" href="/styles/app.css">
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<!--[if lt IE 7]>
|
14
|
+
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
|
15
|
+
<![endif]-->
|
16
|
+
<div class="icon-logo"></div>
|
17
|
+
<script src="/scripts/vendor.js"></script>
|
18
|
+
<script src="/scripts/app.js"></script>
|
19
|
+
<script src="/scripts/templates.js"></script>
|
20
|
+
<script>require("app")()</script>
|
21
|
+
</body>
|
21
22
|
</html>
|
data/lib/linner/version.rb
CHANGED
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.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Saito
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: reel
|