zfben_libjs 0.0.1 → 0.0.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.
- data/README.rdoc +52 -0
- data/Rakefile +5 -0
- data/lib/zfben_libjs.rb +12 -9
- data/lib/zfben_libjs/version.rb +1 -1
- data/spec/ruby/libjs_spec.rb +15 -0
- data/spec/ruby/spec.yml +0 -0
- data/zfben_libjs.gemspec +1 -3
- metadata +15 -19
- data/Gemfile +0 -9
data/README.rdoc
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
== SUMMARY
|
2
|
+
|
3
|
+
Lib.js = Frontend build tool + lazyload js tool
|
4
|
+
|
5
|
+
Feature:
|
6
|
+
|
7
|
+
lazyload css and js files (base on LazyLoad.js)
|
8
|
+
css, js and images files
|
9
|
+
sass, scss, compass and coffeescript files
|
10
|
+
local files and remote files
|
11
|
+
custom ruby script
|
12
|
+
minify css and js files (base on sass and uglifier)
|
13
|
+
|
14
|
+
Support Filetype:
|
15
|
+
|
16
|
+
.css - stylesheet
|
17
|
+
.js - javascript
|
18
|
+
.sass - sass
|
19
|
+
.scss - scss
|
20
|
+
.coffee - coffeescript
|
21
|
+
.rb - ruby
|
22
|
+
|
23
|
+
== Example
|
24
|
+
|
25
|
+
// load jquery
|
26
|
+
lib.jquery(function(){
|
27
|
+
// something use jquery to do
|
28
|
+
});
|
29
|
+
|
30
|
+
// load jqueryui and not duplicate load jquery
|
31
|
+
lib.jqueryui(function(){
|
32
|
+
// something use jqueryui to do
|
33
|
+
});
|
34
|
+
|
35
|
+
// and you can load like
|
36
|
+
lib('jquery', function(){
|
37
|
+
// use jquery to do sth.
|
38
|
+
});
|
39
|
+
|
40
|
+
lib('jquery underscore', function(){
|
41
|
+
// use jquery and underscore to do sth.
|
42
|
+
});
|
43
|
+
|
44
|
+
== Getting Started
|
45
|
+
|
46
|
+
1. Install zfben_libjs
|
47
|
+
|
48
|
+
gem install zfben_libjs
|
49
|
+
|
50
|
+
2. Create new libjs project
|
51
|
+
|
52
|
+
libjs new
|
data/Rakefile
CHANGED
data/lib/zfben_libjs.rb
CHANGED
@@ -32,13 +32,14 @@ class Libjs
|
|
32
32
|
err "#{@config_file} load filed!\n#{e}"
|
33
33
|
end
|
34
34
|
|
35
|
-
|
35
|
+
@path_gem = File.realpath(File.join(File.dirname(__FILE__), 'zfben_libjs'))
|
36
|
+
@path_lib = File.realpath('.')
|
36
37
|
|
37
|
-
|
38
|
+
tip "#{@config_file} load success!"
|
38
39
|
end
|
39
40
|
|
40
41
|
def build!
|
41
|
-
|
42
|
+
tip '== Starting Build @' + @config_file
|
42
43
|
|
43
44
|
# Merge default config
|
44
45
|
@config = {
|
@@ -76,12 +77,12 @@ class Libjs
|
|
76
77
|
end
|
77
78
|
|
78
79
|
|
79
|
-
|
80
|
+
tip '== [1/2] Starting Progress Source =='
|
80
81
|
length = @libs.length
|
81
82
|
num = 0
|
82
83
|
@libs.each do |name, urls|
|
83
84
|
num = num + 1
|
84
|
-
|
85
|
+
tip "[#{num}/#{length}] #{name}"
|
85
86
|
urls = [urls] unless urls.class == Array
|
86
87
|
lib = []
|
87
88
|
urls.each do |url|
|
@@ -224,13 +225,13 @@ class Libjs
|
|
224
225
|
@libs[name] = @libs[name][0] if @libs[name].length == 1
|
225
226
|
end
|
226
227
|
|
227
|
-
|
228
|
+
tip '== [2/2] Generate lib.js =='
|
228
229
|
|
229
230
|
libjs = File.read(@libs['lazyload']) << ';'
|
230
231
|
|
231
|
-
libjs_core =
|
232
|
+
libjs_core = File.read(File.join(@path_gem, 'lib.coffee'))
|
232
233
|
|
233
|
-
libjs << (
|
234
|
+
libjs << CoffeeScript.compile(libjs_core)
|
234
235
|
|
235
236
|
@urls = {}
|
236
237
|
@libs.each do |lib, path|
|
@@ -300,12 +301,14 @@ class Libjs
|
|
300
301
|
if @preload.class == Array && @preload.length > 0
|
301
302
|
libjs << "\n/* preload */\nlib('#{@preload.join(' ')}');"
|
302
303
|
end
|
304
|
+
|
305
|
+
libjs = minify(libjs, :js) if @config['minify']
|
303
306
|
File.open(File.join(@config['src/javascripts'], 'lib.js'), 'w'){ |f| f.write(libjs) }
|
304
307
|
|
305
308
|
if @config.has_key?('after')
|
306
309
|
load @config['after']
|
307
310
|
end
|
308
311
|
|
309
|
-
|
312
|
+
tip '== End Build =='
|
310
313
|
end
|
311
314
|
end
|
data/lib/zfben_libjs/version.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
require File.realpath(File.join(File.dirname(__FILE__), '..', '..', 'lib', 'zfben_libjs.rb'))
|
2
|
+
SPEC_PATH = File.realpath(File.dirname(__FILE__))
|
3
|
+
|
4
|
+
describe Libjs do
|
5
|
+
it "when pass nothing to Libjs.new" do
|
6
|
+
begin
|
7
|
+
Libjs.new
|
8
|
+
rescue => e
|
9
|
+
e.message
|
10
|
+
end
|
11
|
+
end
|
12
|
+
it "when pass a filename to Libjs.new" do
|
13
|
+
Libjs.new(File.join(SPEC_PATH, 'spec'))
|
14
|
+
end
|
15
|
+
end
|
data/spec/ruby/spec.yml
ADDED
File without changes
|
data/zfben_libjs.gemspec
CHANGED
@@ -11,8 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.summary = %q{}
|
12
12
|
s.description = %q{}
|
13
13
|
|
14
|
-
s.post_install_message =%q{
|
15
|
-
********************************************************************************
|
14
|
+
s.post_install_message =%q{********************************************************************************
|
16
15
|
Thank you for using zfben_libjs!
|
17
16
|
|
18
17
|
Please follow @zfben on Twitter for announcements, updates, and news.
|
@@ -32,7 +31,6 @@ Gem::Specification.new do |s|
|
|
32
31
|
s.add_dependency 'rainbow'
|
33
32
|
s.add_dependency 'json'
|
34
33
|
s.add_dependency 'compass'
|
35
|
-
s.add_dependency 'mustang'
|
36
34
|
s.add_dependency 'coffee-script'
|
37
35
|
s.add_dependency 'uglifier'
|
38
36
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: zfben_libjs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Ben
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-08-03 00:00:00 +08:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -47,7 +47,7 @@ dependencies:
|
|
47
47
|
type: :runtime
|
48
48
|
version_requirements: *id003
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
50
|
+
name: coffee-script
|
51
51
|
prerelease: false
|
52
52
|
requirement: &id004 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
type: :runtime
|
59
59
|
version_requirements: *id004
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
|
-
name:
|
61
|
+
name: uglifier
|
62
62
|
prerelease: false
|
63
63
|
requirement: &id005 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
@@ -68,17 +68,6 @@ dependencies:
|
|
68
68
|
version: "0"
|
69
69
|
type: :runtime
|
70
70
|
version_requirements: *id005
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: uglifier
|
73
|
-
prerelease: false
|
74
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
|
-
requirements:
|
77
|
-
- - ">="
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: "0"
|
80
|
-
type: :runtime
|
81
|
-
version_requirements: *id006
|
82
71
|
description: ""
|
83
72
|
email:
|
84
73
|
- ben@zfben.com
|
@@ -90,7 +79,7 @@ extra_rdoc_files: []
|
|
90
79
|
|
91
80
|
files:
|
92
81
|
- .gitignore
|
93
|
-
-
|
82
|
+
- README.rdoc
|
94
83
|
- Rakefile
|
95
84
|
- bin/libjs
|
96
85
|
- lib/zfben_libjs.rb
|
@@ -98,14 +87,21 @@ files:
|
|
98
87
|
- lib/zfben_libjs/lib.rb
|
99
88
|
- lib/zfben_libjs/libjs.yml
|
100
89
|
- lib/zfben_libjs/version.rb
|
90
|
+
- spec/ruby/libjs_spec.rb
|
91
|
+
- spec/ruby/spec.yml
|
101
92
|
- zfben_libjs.gemspec
|
102
93
|
has_rdoc: true
|
103
94
|
homepage: ""
|
104
95
|
licenses: []
|
105
96
|
|
106
|
-
post_install_message:
|
107
|
-
|
108
|
-
|
97
|
+
post_install_message: |
|
98
|
+
********************************************************************************
|
99
|
+
Thank you for using zfben_libjs!
|
100
|
+
|
101
|
+
Please follow @zfben on Twitter for announcements, updates, and news.
|
102
|
+
https://twitter.com/zfben
|
103
|
+
********************************************************************************
|
104
|
+
|
109
105
|
rdoc_options: []
|
110
106
|
|
111
107
|
require_paths:
|