chrome_extension_scaffold 0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "<%= name %>",
3
+ "version": "0.1",
4
+ "description": "<%= name %>",
5
+ "content_scripts": [
6
+ {
7
+ "matches": ["http://example.com/*"],
8
+ "js": [<%= '"jquery.js", ' if jquery? %>"content.js"]
9
+ }
10
+ ],
11
+ "background_page": "background.html"
12
+ }
data/template/watcher ADDED
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env watchr
2
+
3
+ require 'rubygems'
4
+ require "bundler/setup"
5
+ require 'haml'
6
+ <% if coffee? -%>
7
+ require 'erubis'
8
+ require 'coffee-script'
9
+ <% end -%>
10
+
11
+ def log_built(src, dst)
12
+ puts [src, dst].join(" => ")
13
+ end
14
+
15
+ def log_failure(src, e)
16
+ f = STDERR
17
+ f.puts "Failed to convert #{src}:"
18
+ f.puts "#{e.message} (#{e.class})"
19
+ f.puts e.backtrace.join("\n")
20
+ end
21
+
22
+ <% if coffee? -%>
23
+ def build_coffee(src)
24
+ dst = src.sub /\.coffee$/, ''
25
+ js = File.read(src)
26
+ eruby = Erubis::Eruby.new(js)
27
+ js = eruby.result(binding())
28
+ js = CoffeeScript.compile(js)
29
+ File.open(dst, "w") { |f| f.write js }
30
+ log_built(src, dst)
31
+ rescue => e
32
+ log_failure(src, e)
33
+ end
34
+
35
+ watch( '(.+)\.coffee$' ) { |md| build_coffee(md[0]) }
36
+ Dir["**/*.coffee"].each { |file| build_coffee(file) }
37
+ <% end -%>
38
+
39
+ <% if haml? -%>
40
+ def build_haml(src)
41
+ dst = src.sub /\.haml$/, ''
42
+ template = File.read(src)
43
+ haml_engine = Haml::Engine.new(template, :filename => src)
44
+ output = haml_engine.render(binding())
45
+ File.open(dst, "w") { |f| f.write output }
46
+ log_built(src, dst)
47
+ rescue => e
48
+ log_failure(src, e)
49
+ end
50
+
51
+ watch( '(.+)\.haml$' ) { |md| build_haml(md[0]) }
52
+ Dir["**/*.haml"].each { |file| build_haml(file) }
53
+ <% end -%>
metadata ADDED
@@ -0,0 +1,76 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: chrome_extension_scaffold
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Michael Witrant
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-09 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: thor
16
+ requirement: &77008590 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *77008590
25
+ description: Generate a scaffold for a chrome extension
26
+ email:
27
+ - mike@lepton.fr
28
+ executables:
29
+ - chrome_extension_scaffold
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - .gitignore
34
+ - Gemfile
35
+ - LICENSE
36
+ - README.md
37
+ - Rakefile
38
+ - bin/chrome_extension_scaffold
39
+ - chrome_extension_scaffold.gemspec
40
+ - lib/chrome_extension_scaffold.rb
41
+ - lib/chrome_extension_scaffold/version.rb
42
+ - template/Gemfile
43
+ - template/background.html
44
+ - template/background.html.haml
45
+ - template/background.js
46
+ - template/background.js.coffee
47
+ - template/content.js
48
+ - template/content.js.coffee
49
+ - template/jquery.js
50
+ - template/manifest.json
51
+ - template/watcher
52
+ homepage: ''
53
+ licenses: []
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ required_rubygems_version: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ requirements: []
71
+ rubyforge_project:
72
+ rubygems_version: 1.8.11
73
+ signing_key:
74
+ specification_version: 3
75
+ summary: Create base files for a chrome extension
76
+ test_files: []