high_five 0.0.1
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/.gitignore +2 -0
- data/.rspec +2 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +52 -0
- data/Rakefile +1 -0
- data/bin/hi5 +20 -0
- data/high_five.gemspec +25 -0
- data/lib/.DS_Store +0 -0
- data/lib/high_five/cli.rb +44 -0
- data/lib/high_five/config.rb +90 -0
- data/lib/high_five/deploy_task.rb +185 -0
- data/lib/high_five/init_task.rb +23 -0
- data/lib/high_five/version.rb +3 -0
- data/lib/high_five.rb +6 -0
- data/spec/init_spec.rb +26 -0
- data/spec/spec_helper.rb +19 -0
- data/template/config/high_five/app-common.js +4 -0
- data/template/config/high_five/app-platform.js +2 -0
- data/template/config/high_five/index.html.erb +26 -0
- data/template/config/high_five.rb +23 -0
- metadata +151 -0
data/.gitignore
ADDED
data/.rspec
ADDED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
high_five
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.9.3
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
high_five (0.0.1)
|
5
|
+
compass (~> 0.12.2)
|
6
|
+
sprockets (~> 2.9.0)
|
7
|
+
thor (~> 0.17.0)
|
8
|
+
yui-compressor (~> 0.9.6)
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: https://rubygems.org/
|
12
|
+
specs:
|
13
|
+
POpen4 (0.1.4)
|
14
|
+
Platform (>= 0.4.0)
|
15
|
+
open4
|
16
|
+
Platform (0.4.0)
|
17
|
+
chunky_png (1.2.7)
|
18
|
+
compass (0.12.2)
|
19
|
+
chunky_png (~> 1.2)
|
20
|
+
fssm (>= 0.2.7)
|
21
|
+
sass (~> 3.1)
|
22
|
+
diff-lcs (1.2.1)
|
23
|
+
fssm (0.2.10)
|
24
|
+
hike (1.2.1)
|
25
|
+
multi_json (1.7.2)
|
26
|
+
open4 (1.3.0)
|
27
|
+
rack (1.5.2)
|
28
|
+
rspec (2.13.0)
|
29
|
+
rspec-core (~> 2.13.0)
|
30
|
+
rspec-expectations (~> 2.13.0)
|
31
|
+
rspec-mocks (~> 2.13.0)
|
32
|
+
rspec-core (2.13.1)
|
33
|
+
rspec-expectations (2.13.0)
|
34
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
35
|
+
rspec-mocks (2.13.0)
|
36
|
+
sass (3.2.7)
|
37
|
+
sprockets (2.9.0)
|
38
|
+
hike (~> 1.2)
|
39
|
+
multi_json (~> 1.0)
|
40
|
+
rack (~> 1.0)
|
41
|
+
tilt (~> 1.1, != 1.3.0)
|
42
|
+
thor (0.17.0)
|
43
|
+
tilt (1.3.6)
|
44
|
+
yui-compressor (0.9.6)
|
45
|
+
POpen4 (>= 0.1.4)
|
46
|
+
|
47
|
+
PLATFORMS
|
48
|
+
ruby
|
49
|
+
|
50
|
+
DEPENDENCIES
|
51
|
+
high_five!
|
52
|
+
rspec (~> 2.13.0)
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/bin/hi5
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# resolve bin path, ignoring symlinks
|
3
|
+
require "pathname"
|
4
|
+
bin_file = Pathname.new(__FILE__).realpath
|
5
|
+
|
6
|
+
# add self to libpath
|
7
|
+
$:.unshift File.expand_path("../../lib", bin_file)
|
8
|
+
|
9
|
+
begin
|
10
|
+
require 'high_five'
|
11
|
+
rescue LoadError
|
12
|
+
require 'rubygems'
|
13
|
+
require 'high_five'
|
14
|
+
end
|
15
|
+
|
16
|
+
require 'high_five/cli'
|
17
|
+
|
18
|
+
HighFive::ROOT = Dir.pwd
|
19
|
+
|
20
|
+
HighFive::Cli.start
|
data/high_five.gemspec
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "high_five/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "high_five"
|
7
|
+
s.version = HighFive::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Brian Samson"]
|
10
|
+
s.email = ["brian@tenforwardconsulting.com"]
|
11
|
+
s.homepage = "http://github.com/tenforwardconsulting/high_five"
|
12
|
+
s.summary = %q{HighFive is a set of build scripts and tools for packing HTML5 apps both for the web and for phonegap}
|
13
|
+
s.description = %q{Write a better description}
|
14
|
+
|
15
|
+
s.add_runtime_dependency "thor", "~>0.17.0"
|
16
|
+
s.add_runtime_dependency "compass", "~>0.12.2"
|
17
|
+
s.add_runtime_dependency "yui-compressor", "~>0.9.6"
|
18
|
+
s.add_runtime_dependency "sprockets", "~>2.9.0"
|
19
|
+
s.add_development_dependency "rspec", "~>2.13.0"
|
20
|
+
|
21
|
+
s.files = `git ls-files`.split("\n")
|
22
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
23
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
24
|
+
s.require_paths = ["lib"]
|
25
|
+
end
|
data/lib/.DS_Store
ADDED
Binary file
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'high_five/deploy_task'
|
3
|
+
require 'high_five/init_task'
|
4
|
+
require 'high_five/config'
|
5
|
+
|
6
|
+
module HighFive
|
7
|
+
class Cli < Thor
|
8
|
+
include Thor::Actions
|
9
|
+
include HighFive::DeployTask
|
10
|
+
include HighFive::InitTask
|
11
|
+
|
12
|
+
# source root path for Thor::Actions commands
|
13
|
+
source_root(HighFive::TEMPLATE_PATH)
|
14
|
+
|
15
|
+
desc "deploy", "Deploy the app for a specific platform in a specific environment"
|
16
|
+
method_option :environment, :aliases => "-e", :desc => "Environemnt [production|development]", :default => "development"
|
17
|
+
method_option :compress, :aliases => '-c', :desc => "Compress javascript [true]", :default => false
|
18
|
+
method_option :weinre_url, :aliases => '-w', :desc => "Enter your Weinre server-url including port", :default => false
|
19
|
+
method_option :"copy-files", :aliases => '-f', :desc => "Copy files to eclipse/xcode directory", :default => false
|
20
|
+
def deploy(target)
|
21
|
+
self.source_paths << File.join(base_config.root)
|
22
|
+
deploy_task(target)
|
23
|
+
end
|
24
|
+
|
25
|
+
desc "init", "Initialize the high_five configuration in the current working directory"
|
26
|
+
def init
|
27
|
+
init_task
|
28
|
+
end
|
29
|
+
|
30
|
+
def initialize(*args)
|
31
|
+
super(*args)
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
def base_config
|
36
|
+
begin
|
37
|
+
@base_config ||= HighFive::Config.load
|
38
|
+
rescue StandardError => e
|
39
|
+
say e.message, :red
|
40
|
+
exit
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
module HighFive
|
2
|
+
class Config
|
3
|
+
attr_accessor :root, # Root of the project
|
4
|
+
:destination, # generated folder for project('www')
|
5
|
+
:page_title, # <title>#{page_title}</title>
|
6
|
+
:meta, # config.meta << { http-equiv: "Content-Type" content: "text/html; charset=utf-8" }
|
7
|
+
:static_assets,
|
8
|
+
:static_javascripts,
|
9
|
+
:static_stylesheets,
|
10
|
+
:sass_files
|
11
|
+
|
12
|
+
|
13
|
+
def self.configure(&block)
|
14
|
+
@@instance = HighFive::Config.new
|
15
|
+
yield @@instance
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.load
|
19
|
+
begin
|
20
|
+
require File.join(HighFive::ROOT, "config", "high_five.rb")
|
21
|
+
rescue LoadError
|
22
|
+
raise "high_five configuration not found, forgot to run 'hi5 init'?"
|
23
|
+
end
|
24
|
+
return @@instance
|
25
|
+
end
|
26
|
+
|
27
|
+
def build_platform_config(platform)
|
28
|
+
if @platform_configs[platform.to_s]
|
29
|
+
new_config = HighFive::Config.new(@platform_configs[platform.to_s])
|
30
|
+
new_config.root ||= self.root
|
31
|
+
new_config.destination ||= self.destination
|
32
|
+
new_config.meta ||= self.meta
|
33
|
+
new_config.page_title ||= self.page_title
|
34
|
+
new_config.static_assets += self.static_assets
|
35
|
+
new_config.static_javascripts += self.static_javascripts
|
36
|
+
new_config.static_stylesheets += self.static_stylesheets
|
37
|
+
new_config.sass_files += self.sass_files
|
38
|
+
return new_config
|
39
|
+
else
|
40
|
+
return self
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def initialize(config=nil)
|
45
|
+
if config
|
46
|
+
@static_assets = config.static_assets.dup
|
47
|
+
@static_javascripts = config.static_javascripts.dup
|
48
|
+
@static_stylesheets = config.static_stylesheets.dup
|
49
|
+
@sass_files = config.sass_files.dup
|
50
|
+
@meta = config.meta.dup
|
51
|
+
self.root = config.root
|
52
|
+
self.destination = config.destination
|
53
|
+
self.page_title = config.page_title
|
54
|
+
self.meta = config.meta
|
55
|
+
else
|
56
|
+
@static_assets = []
|
57
|
+
@static_javascripts = []
|
58
|
+
@static_stylesheets = []
|
59
|
+
@sass_files = []
|
60
|
+
@meta = {}
|
61
|
+
@platform_configs = {}
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def assets(path)
|
66
|
+
@static_assets << path.dup
|
67
|
+
end
|
68
|
+
|
69
|
+
def javascripts(path)
|
70
|
+
@static_javascripts << path.dup
|
71
|
+
end
|
72
|
+
|
73
|
+
def sass(path)
|
74
|
+
@sass_files << path.dup
|
75
|
+
end
|
76
|
+
|
77
|
+
def compass(config_file)
|
78
|
+
@compass_configs << config_file.dup
|
79
|
+
end
|
80
|
+
|
81
|
+
def stylesheets(path)
|
82
|
+
@static_stylesheets << path.dup
|
83
|
+
end
|
84
|
+
|
85
|
+
def platform(name, &block)
|
86
|
+
@platform_configs[name.to_s] = HighFive::Config.new
|
87
|
+
yield @platform_configs[name.to_s]
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,185 @@
|
|
1
|
+
require 'sprockets'
|
2
|
+
require 'sass'
|
3
|
+
module HighFive
|
4
|
+
module DeployTask
|
5
|
+
|
6
|
+
def deploy_task(target)
|
7
|
+
@environment = options[:environment]
|
8
|
+
@platform = target
|
9
|
+
@weinre_url = options[:weinre_url]
|
10
|
+
@copy_files = options[:"copy-files"]
|
11
|
+
@meta = {}
|
12
|
+
config = base_config.build_platform_config(@platform)
|
13
|
+
@config_root = File.join("config", "high_five")
|
14
|
+
|
15
|
+
self.source_paths << File.join(base_config.root, @config_root)
|
16
|
+
|
17
|
+
raise "Please set config.destination" if config.destination.nil?
|
18
|
+
self.destination_root = config.destination
|
19
|
+
FileUtils.rm_rf(self.destination_root)
|
20
|
+
|
21
|
+
#todo add to config
|
22
|
+
say "Deploying app: <#{@platform}> <#{options[:environment]}>"
|
23
|
+
say "\t#{self.destination_root}"
|
24
|
+
say " -Weinre url: #{@weinre_url}" if @weinre_url
|
25
|
+
|
26
|
+
|
27
|
+
#todo customize this
|
28
|
+
# Dir.chdir File.join("assets", "sass")
|
29
|
+
# success = false
|
30
|
+
# if @environment == "production"
|
31
|
+
# success = system("compass compile --force --no-debug-info -e production #{options[:platform]}.scss")
|
32
|
+
# else
|
33
|
+
# success = system("compass compile --force --no-debug-info #{options[:platform]}.scss")
|
34
|
+
# end
|
35
|
+
# unless success
|
36
|
+
# raise "Error compiling CSS, aborting build"
|
37
|
+
# end
|
38
|
+
# Dir.chdir pwd
|
39
|
+
|
40
|
+
# Build javascript
|
41
|
+
# inside "assets" do |assets|
|
42
|
+
# directory "images"
|
43
|
+
# directory "stylesheets"
|
44
|
+
# inside "javascripts" do |dir|
|
45
|
+
# if @compress == true
|
46
|
+
# build_javascript :from => "app-#{@platform}", :to => 'app-all.js'
|
47
|
+
# compress_javascript "app-all.js"
|
48
|
+
# else
|
49
|
+
# bundle = builder.find_asset "app-#{@platform}"
|
50
|
+
# @js_files = bundle.dependencies.map {|asset| File.join("assets", asset.logical_path) }
|
51
|
+
# copy_file "app.js"
|
52
|
+
# directory "app"
|
53
|
+
# directory "config"
|
54
|
+
# directory "lib"
|
55
|
+
# directory "platform/phonegap" unless @platform == 'web'
|
56
|
+
# directory "platform/#{@platform}"
|
57
|
+
# end
|
58
|
+
|
59
|
+
# end
|
60
|
+
|
61
|
+
# Bundle is based on the provided build platformx
|
62
|
+
platform_file = File.join(@config_root, "app-#{@platform}.js")
|
63
|
+
unless File.exists? platform_file
|
64
|
+
error "#{@platform} is not a valid target. Please create app-#{@platform}.js"
|
65
|
+
end
|
66
|
+
bundle = builder.find_asset platform_file
|
67
|
+
|
68
|
+
if (@environment == "production")
|
69
|
+
appjs = File.join(self.destination_root, "app.js")
|
70
|
+
@javascripts = ["app.js"]
|
71
|
+
say " create #{appjs}", :green
|
72
|
+
bundle.write_to(appjs)
|
73
|
+
else
|
74
|
+
# Add each of the javascript files to the generated folder
|
75
|
+
@javascripts = bundle.dependencies.map do |asset|
|
76
|
+
copy_file asset.logical_path
|
77
|
+
asset.logical_path
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
# Adds each of the static javascripts
|
82
|
+
config.static_javascripts.each do |javascript|
|
83
|
+
if File.directory? javascript
|
84
|
+
directory javascript
|
85
|
+
@javascripts.unshift(*Dir[File.join(javascript,'**','*.js')])
|
86
|
+
else
|
87
|
+
copy_file javascript unless javascript =~ /^https?:\/\//
|
88
|
+
@javascripts.unshift javascript
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
@stylesheets = []
|
93
|
+
p "SASS = #{config.sass_files}"
|
94
|
+
config.sass_files.each do |sass_file|
|
95
|
+
asset_name = File.basename(sass_file, File.extname(sass_file))
|
96
|
+
css_file = File.join(self.destination_root, "stylesheets", "#{asset_name}.css")
|
97
|
+
say "Compiling #{sass_file} -> #{css_file}"
|
98
|
+
Sass.compile_file sass_file, css_file
|
99
|
+
@stylesheets.push sass_file
|
100
|
+
end
|
101
|
+
|
102
|
+
config.static_stylesheets.each do |stylesheet|
|
103
|
+
if File.directory? stylesheet
|
104
|
+
directory stylesheet
|
105
|
+
@stylesheets.unshift(*Dir[File.join(stylesheet,'**','*.css')])
|
106
|
+
else
|
107
|
+
copy_file stylesheet
|
108
|
+
@stylesheets.unshift stylesheet
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
# Adds each of the static assets to the generated folder (sylesheets etc)
|
113
|
+
config.static_assets.each do |asset|
|
114
|
+
if File.directory? asset
|
115
|
+
directory asset
|
116
|
+
else
|
117
|
+
copy_file asset
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
# inside "stylesheets" do |dir|
|
122
|
+
# # Copy generated css
|
123
|
+
# copy_file "#{@platform}.css", "theme.css"
|
124
|
+
# end
|
125
|
+
# end
|
126
|
+
|
127
|
+
# Build index.html
|
128
|
+
say "Generating index.html"
|
129
|
+
template File.join(@config_root, "index.html.erb"), File.join(self.destination_root, "index.html")
|
130
|
+
|
131
|
+
# if (@copy_files)
|
132
|
+
# dest = nil
|
133
|
+
# # copy to platform build directories
|
134
|
+
# if (@platform == 'android')
|
135
|
+
# dest = File.join(HighFive::ROOT, "..", "account_assistant-android/assets/www")
|
136
|
+
# elsif (@platform == 'ios')
|
137
|
+
# dest = File.join(HighFive::ROOT, "..", "account_assistant-ios/www")
|
138
|
+
# end
|
139
|
+
|
140
|
+
# if (!dest.nil? && File.exists?(dest))
|
141
|
+
# say "Copying to #{@platform} native project: #{dest}"
|
142
|
+
# FileUtils.rm_rf(dest)
|
143
|
+
# directory self.destination_root, dest
|
144
|
+
# end
|
145
|
+
# end
|
146
|
+
end
|
147
|
+
|
148
|
+
private
|
149
|
+
|
150
|
+
def builder
|
151
|
+
@builder ||= get_builder
|
152
|
+
end
|
153
|
+
|
154
|
+
def get_builder
|
155
|
+
builder = Sprockets::Environment.new(File.join(HighFive::ROOT))
|
156
|
+
builder.append_path @config_root
|
157
|
+
builder.append_path "."
|
158
|
+
builder.append_path base_config.root
|
159
|
+
|
160
|
+
p builder.paths
|
161
|
+
builder
|
162
|
+
end
|
163
|
+
|
164
|
+
#TODO: this probably doesn't work on windows
|
165
|
+
def compress_javascript(file_name)
|
166
|
+
say " -Compressing #{file_name} with yuicompressor", :yellow
|
167
|
+
|
168
|
+
compressor = 'yuicompressor'
|
169
|
+
if `which yuicompressor`.empty?
|
170
|
+
compressor = 'yui-compressor'
|
171
|
+
if `which yui-compressor`.empty?
|
172
|
+
say "ERROR: you don't have a yuicompressor installed", :red
|
173
|
+
say " Are you sure yuicompressor is installed on your system? Mac users, run this in console:", :red
|
174
|
+
say " $ brew install yuicompressor", :red
|
175
|
+
say " Ubuntu users: $sudo apt-get -y install yui-compressor", :red
|
176
|
+
end
|
177
|
+
end
|
178
|
+
cmd = "#{compressor} #{file_name} -o #{file_name}"
|
179
|
+
system(cmd)
|
180
|
+
unless $?.exitstatus == 0
|
181
|
+
say " ERROR: #{cmd}", :red
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
module HighFive
|
3
|
+
module InitTask
|
4
|
+
|
5
|
+
def init_task
|
6
|
+
self.destination_root = HighFive::ROOT
|
7
|
+
|
8
|
+
inside "config" do
|
9
|
+
template("high_five.rb")
|
10
|
+
inside "high_five" do
|
11
|
+
copy_file "index.html.erb", :skip => true
|
12
|
+
copy_file "app-common.js", :skip => true
|
13
|
+
|
14
|
+
#TODO make this a CLI argument
|
15
|
+
platforms = ["android", "ios"]
|
16
|
+
platforms.each do |platform|
|
17
|
+
copy_file "app-platform.js", "app-#{platform}.js", :skip => true
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/high_five.rb
ADDED
data/spec/init_spec.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'tmpdir'
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
describe "InitTask" do
|
6
|
+
before :each do
|
7
|
+
@original_dir = Dir.pwd
|
8
|
+
@project_root = Dir.mktmpdir("hi5")
|
9
|
+
Dir.chdir @project_root
|
10
|
+
HighFive::ROOT = @project_root
|
11
|
+
end
|
12
|
+
|
13
|
+
after :each do
|
14
|
+
Dir.chdir @original_dir
|
15
|
+
FileUtils.rm_rf @project_root
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should create high_five.rb in the config directory" do
|
19
|
+
HighFive::Cli.start(["init"])
|
20
|
+
Dir.exists?(File.join(@project_root, "config")).should be_true
|
21
|
+
File.exists?(File.join(@project_root, "config", "high_five.rb")).should be_true
|
22
|
+
Dir.exists?(File.join(@project_root, "config", "high_five")).should be_true
|
23
|
+
File.exists?(File.join(@project_root, "config", "high_five", "app-common.js")).should be_true
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require "high_five"
|
2
|
+
require 'high_five/cli'
|
3
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
4
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
5
|
+
# Require this file using `require "spec_helper"` to ensure that it is only
|
6
|
+
# loaded once.
|
7
|
+
#
|
8
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
9
|
+
RSpec.configure do |config|
|
10
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
11
|
+
config.run_all_when_everything_filtered = true
|
12
|
+
config.filter_run :focus
|
13
|
+
|
14
|
+
# Run specs in random order to surface order dependencies. If you find an
|
15
|
+
# order dependency and want to debug it, you can fix the order by providing
|
16
|
+
# the seed, which is printed after each run.
|
17
|
+
# --seed 1234
|
18
|
+
config.order = 'random'
|
19
|
+
end
|
@@ -0,0 +1,4 @@
|
|
1
|
+
//This is where you define the javascripts you include and their include order for your app.
|
2
|
+
//Only include app code that you want minified here, add library or remote scripts to config/high_five.rb
|
3
|
+
//= require ../../javascripts/app.js
|
4
|
+
//= require_tree ../../javascripts/app
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title><%= @meta[:title] %></title>
|
6
|
+
<meta name="description" content="<%= @meta[:description] %>" />
|
7
|
+
<% @stylesheets.each do |ss| -%>
|
8
|
+
<link rel="stylesheet" href="<%= ss %>" type="text/css" />
|
9
|
+
<% end -%>
|
10
|
+
<% if @platform != 'web' -%>
|
11
|
+
<% if @environment == 'development' -%>
|
12
|
+
<script type="text/javascript">
|
13
|
+
window.onerror = function(e,u,l) {
|
14
|
+
alert("Error caught" + e + " " + u + ":" + l);
|
15
|
+
};
|
16
|
+
</script>
|
17
|
+
<% end -%>
|
18
|
+
<% end -%>
|
19
|
+
<%- @javascripts.each do |js| -%>
|
20
|
+
<script type="text/javascript" src="<%= js %>"></script>
|
21
|
+
<%- end -%>
|
22
|
+
|
23
|
+
</head>
|
24
|
+
<body></body>
|
25
|
+
</html>
|
26
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
HighFive::Config.configure do |config|
|
2
|
+
config.root = File.join(File.dirname(__FILE__), '..')
|
3
|
+
config.destination = "www"
|
4
|
+
|
5
|
+
# This will add the resources folder to all platforms (stylesheets etc.)
|
6
|
+
# config.assets "resources"
|
7
|
+
|
8
|
+
# Include javascript libraries
|
9
|
+
# These get included before everything else in the app, and are *not* minified
|
10
|
+
|
11
|
+
# config.javascripts "http://maps.google.com/maps/api/js?sensor=true"
|
12
|
+
# config.javascripts "lib/jquery-min.js"
|
13
|
+
|
14
|
+
# Configure plaform specific settings like this
|
15
|
+
# config.platform :ios do |ios|
|
16
|
+
# ios.assets "resources/ios"
|
17
|
+
# ios.destination = "www-ios"
|
18
|
+
# end
|
19
|
+
|
20
|
+
# if you need platform-specific javascripts,
|
21
|
+
# simply create app-<platform>.js next too app.js
|
22
|
+
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,151 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: high_five
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Brian Samson
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-03-28 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: thor
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.17.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.17.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: compass
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.12.2
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.12.2
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: yui-compressor
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.9.6
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.9.6
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: sprockets
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 2.9.0
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 2.9.0
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rspec
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 2.13.0
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 2.13.0
|
94
|
+
description: Write a better description
|
95
|
+
email:
|
96
|
+
- brian@tenforwardconsulting.com
|
97
|
+
executables:
|
98
|
+
- hi5
|
99
|
+
extensions: []
|
100
|
+
extra_rdoc_files: []
|
101
|
+
files:
|
102
|
+
- .gitignore
|
103
|
+
- .rspec
|
104
|
+
- .ruby-gemset
|
105
|
+
- .ruby-version
|
106
|
+
- Gemfile
|
107
|
+
- Gemfile.lock
|
108
|
+
- Rakefile
|
109
|
+
- bin/hi5
|
110
|
+
- high_five.gemspec
|
111
|
+
- lib/.DS_Store
|
112
|
+
- lib/high_five.rb
|
113
|
+
- lib/high_five/cli.rb
|
114
|
+
- lib/high_five/config.rb
|
115
|
+
- lib/high_five/deploy_task.rb
|
116
|
+
- lib/high_five/init_task.rb
|
117
|
+
- lib/high_five/version.rb
|
118
|
+
- spec/init_spec.rb
|
119
|
+
- spec/spec_helper.rb
|
120
|
+
- template/config/high_five.rb
|
121
|
+
- template/config/high_five/app-common.js
|
122
|
+
- template/config/high_five/app-platform.js
|
123
|
+
- template/config/high_five/index.html.erb
|
124
|
+
homepage: http://github.com/tenforwardconsulting/high_five
|
125
|
+
licenses: []
|
126
|
+
post_install_message:
|
127
|
+
rdoc_options: []
|
128
|
+
require_paths:
|
129
|
+
- lib
|
130
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
requirements: []
|
143
|
+
rubyforge_project:
|
144
|
+
rubygems_version: 1.8.25
|
145
|
+
signing_key:
|
146
|
+
specification_version: 3
|
147
|
+
summary: HighFive is a set of build scripts and tools for packing HTML5 apps both
|
148
|
+
for the web and for phonegap
|
149
|
+
test_files:
|
150
|
+
- spec/init_spec.rb
|
151
|
+
- spec/spec_helper.rb
|