susanoo 0.5.1 → 0.7.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/.gitignore +1 -0
- data/README.md +12 -1
- data/Susanoo.gemspec +1 -1
- data/TODO.org +3 -2
- data/lib/susanoo.rb +1 -0
- data/lib/susanoo/application.rb +10 -29
- data/lib/susanoo/cli/project.rb +61 -5
- data/lib/susanoo/controller.rb +14 -5
- data/lib/susanoo/controllers/assets.rb +52 -0
- data/lib/susanoo/controllers/index.rb +21 -0
- data/lib/susanoo/controllers/views.rb +40 -0
- data/lib/susanoo/generators/frameworks.rb +50 -90
- data/lib/susanoo/static_generator.rb +17 -0
- data/lib/susanoo/tasks.rb +19 -0
- data/lib/susanoo/tasks/assets.rake +18 -7
- data/lib/susanoo/templates/application/Gemfile +2 -1
- data/lib/susanoo/templates/application/{www → src}/assets/javascripts/app.js +1 -1
- data/lib/susanoo/templates/application/{www → src}/assets/javascripts/application.js +0 -0
- data/lib/susanoo/templates/application/{www → src}/assets/javascripts/functions.js +0 -0
- data/lib/susanoo/templates/application/{www → src}/assets/javascripts/lib/angular-ui-router.js +0 -0
- data/lib/susanoo/templates/application/{www → src}/assets/javascripts/main.js +6 -3
- data/lib/susanoo/templates/application/src/assets/javascripts/variables.js +5 -0
- data/lib/susanoo/templates/application/{www → src}/assets/stylesheets/application.css +0 -0
- data/lib/susanoo/templates/application/{www/assets/javascripts/variables.js → src/assets/stylesheets/main.scss} +0 -0
- data/lib/susanoo/templates/application/{www → src}/index.html.erb +0 -0
- data/lib/susanoo/templates/application/{www → src}/views/main.html +0 -0
- data/lib/susanoo/version.rb +1 -1
- metadata +20 -16
- data/lib/susanoo/templates/application/www/assets/stylesheets/main.scss +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 661f149461e9268b41cc670cb3bbc67e308e133c
|
4
|
+
data.tar.gz: 5cd189689c98bbae35a5032c79ea9bee2c10dfa7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bba027e972ae9b506c33ad4225701dbe51165a2e9cbff76e6a492a2ee921caaa03f46e645daba42617b881140fef4bf59f55beea406728ec0f78417cded4863
|
7
|
+
data.tar.gz: a48dd5e7ff0864ce6d61d55f1829e9c20d346c293c7f46187b75f477463d3c58256d093db499e2df983c3be2f94e693882de1bf6e9961d4fde827f15089e3ae2
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Susanoo
|
2
2
|
|
3
|
-
|
3
|
+
Susanoo is meta framework to create and develop hybrid mobile applications. Using Susanoo you will work in an environment
|
4
|
+
which you already are familiar with specially if you are a ruby developer. Susanoo use Apache Cordova
|
4
5
|
|
5
6
|
## Installation
|
6
7
|
|
@@ -27,3 +28,13 @@ TODO: Write usage instructions here
|
|
27
28
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
29
|
4. Push to the branch (`git push origin my-new-feature`)
|
29
30
|
5. Create new Pull Request
|
31
|
+
|
32
|
+
## Credit
|
33
|
+

|
34
|
+
|
35
|
+
**Susanoo** is maintained and funded by Yellowen. Whenever a code snippet is borrowed or inspired by existing code, we try to credit the original developer/designer in our source code. Let us know if you think we have missed to do this.
|
36
|
+
|
37
|
+
|
38
|
+
# License
|
39
|
+
|
40
|
+
**Susanoo** is Copyright © 2014 Yellowen. It is free software, and may be redistributed under the terms specified in the LICENSE file.
|
data/Susanoo.gemspec
CHANGED
@@ -32,6 +32,6 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_dependency 'yui-compressor', '~>0.9.6'
|
33
33
|
spec.add_dependency 'sprockets', '~>2.11.0'
|
34
34
|
spec.add_dependency 'sprockets-helpers'
|
35
|
-
spec.add_dependency 'sass'
|
35
|
+
spec.add_dependency 'sass', '3.2.15'
|
36
36
|
spec.add_dependency 'tilt'
|
37
37
|
end
|
data/TODO.org
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
* Tasks
|
2
|
-
**
|
3
|
-
**
|
2
|
+
** DONE transfer changes from example app to main susanoo headline
|
3
|
+
** DONE Add .gitignore to new projects
|
4
4
|
** TODO Add config.xml to templates
|
5
5
|
** TODO make title tag of index.html dynamic
|
6
|
+
** TODO minify assets on build time.
|
data/lib/susanoo.rb
CHANGED
data/lib/susanoo/application.rb
CHANGED
@@ -1,33 +1,14 @@
|
|
1
1
|
require 'rack'
|
2
2
|
|
3
|
+
# This class contains basic controllers which is needed for Susanoo to
|
4
|
+
# work. Each controller should contains `call` and `build` instance methods.
|
5
|
+
# `call` is responsible to serving an http request base on **Rack** specification
|
6
|
+
# and `build` is responsible to create static files with suitable content. `build`
|
7
|
+
# method gets an argumant which is the generator object that calls build methods.
|
8
|
+
# `generator` is a **Thor** object so you can use **Thor::Actions** in your method.
|
3
9
|
class Susanoo::Application
|
4
|
-
|
5
|
-
class Index < Susanoo::Controller
|
6
|
-
def call(env)
|
7
|
-
template = Tilt.new(File.join(project_root, 'www/index.html.erb'))
|
8
|
-
[200, {'Content-Type' => 'text/html'}, [template.render(self)]]
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
class Assets < Susanoo::Controller
|
13
|
-
def call(env)
|
14
|
-
# [200, {'Content-Type' => 'text/html'}, [environment]]
|
15
|
-
run environment
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
class Views < Susanoo::Controller
|
20
|
-
def call(env)
|
21
|
-
path = env['PATH_INFO']
|
22
|
-
if File.exist?(File.join(project_root, "www/views#{path}.erb"))
|
23
|
-
template = Tilt.new(File.join(project_root, "www/views#{path}.erb"))
|
24
|
-
elsif File.exist?(File.join(project_root, "www/views#{path}"))
|
25
|
-
template = Tilt.new(File.join(project_root, "www/views#{path}"))
|
26
|
-
else
|
27
|
-
fail "There is no '#{path}' in 'www/views' directory."
|
28
|
-
end
|
29
|
-
[200, {'Content-Type' => 'text/html'}, [template.render(self)]]
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
10
|
end
|
11
|
+
|
12
|
+
require 'susanoo/controllers/index'
|
13
|
+
require 'susanoo/controllers/views'
|
14
|
+
require 'susanoo/controllers/assets'
|
data/lib/susanoo/cli/project.rb
CHANGED
@@ -6,10 +6,13 @@ module Susanoo
|
|
6
6
|
module CLI
|
7
7
|
class Project < Thor
|
8
8
|
|
9
|
+
include ::Thor::Actions
|
10
|
+
|
9
11
|
package_name 'Susanoo'
|
10
12
|
|
11
13
|
map 's' => :server
|
12
14
|
map 'g' => :generate
|
15
|
+
map 'r' => :run_in
|
13
16
|
|
14
17
|
def self.root=(path)
|
15
18
|
@@root = path
|
@@ -33,20 +36,73 @@ module Susanoo
|
|
33
36
|
generator.start options
|
34
37
|
end
|
35
38
|
|
36
|
-
method_option :debug, default:
|
39
|
+
method_option :debug, default: true
|
40
|
+
method_option :built, default: false
|
37
41
|
desc 'server', 'Run development server.'
|
38
42
|
def server(port = 3000)
|
39
43
|
project_root = Susanoo::Project.path
|
44
|
+
|
45
|
+
if options[:built]
|
46
|
+
unless File.directory? File.join(project_root, 'www')
|
47
|
+
error "'www' directory is not present. Build you app first."
|
48
|
+
return
|
49
|
+
end
|
50
|
+
|
51
|
+
app = Rack::Directory.new File.join(project_root, 'www')
|
52
|
+
|
53
|
+
else
|
54
|
+
require File.join(project_root, 'config/routes')
|
55
|
+
# Set global debug flag
|
56
|
+
Susanoo::Project.debug = options[:debug]
|
57
|
+
|
58
|
+
app = ROUTER
|
59
|
+
end
|
60
|
+
|
61
|
+
Rack::Server.start(app: app, server: :thin, Port: port,
|
62
|
+
debug: options[:debug])
|
63
|
+
end
|
64
|
+
|
65
|
+
desc 'build', 'Build the application.'
|
66
|
+
def build
|
67
|
+
project_root = Susanoo::Project.path
|
68
|
+
|
40
69
|
require File.join(project_root, 'config/routes')
|
41
70
|
|
42
|
-
|
43
|
-
|
71
|
+
build_dir = File.join(project_root, 'www')
|
72
|
+
# setup build directory
|
73
|
+
|
74
|
+
remove_file build_dir if File.exist? build_dir
|
75
|
+
# Create the www directory if there isn't
|
76
|
+
# WWW directory will be the build directory
|
77
|
+
# which will contains the static files.
|
78
|
+
#
|
79
|
+
# NOTE: cordova only uses this directory
|
80
|
+
# and we can't change it as far as I know
|
81
|
+
empty_directory build_dir
|
82
|
+
|
83
|
+
Susanoo::StaticGenerator.classes.each do |klass|
|
84
|
+
instance = klass.new
|
85
|
+
if instance.respond_to? :build
|
86
|
+
instance.build(self)
|
87
|
+
else
|
88
|
+
puts "[Warning]: '#{instance.class.to_s}' does not have 'build' method."
|
89
|
+
end
|
90
|
+
end
|
44
91
|
|
45
|
-
|
46
|
-
|
92
|
+
end
|
93
|
+
|
94
|
+
desc 'run PLATFORM', 'Run application on PLATFORM.'
|
95
|
+
def run_in(platform = :android)
|
96
|
+
# Build the project first
|
97
|
+
build
|
98
|
+
|
99
|
+
inside Susanoo::Project.path do
|
100
|
+
system "cordova run #{platform.to_s}"
|
101
|
+
end
|
47
102
|
end
|
48
103
|
|
49
104
|
private
|
105
|
+
# Private ---------------------------
|
50
106
|
|
51
107
|
def camelize(str)
|
52
108
|
str.split("_").each {|s| s.capitalize! }.join("")
|
data/lib/susanoo/controller.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'thor/actions'
|
3
|
+
|
1
4
|
module Susanoo
|
2
5
|
class Controller
|
3
6
|
|
@@ -14,13 +17,19 @@ module Susanoo
|
|
14
17
|
env.logger = Logger.new(STDOUT)
|
15
18
|
end
|
16
19
|
|
17
|
-
@environment.append_path(File.join(@project_root, '
|
18
|
-
@environment.append_path(File.join(@project_root, '
|
19
|
-
@environment.append_path(File.join(@project_root, '
|
20
|
-
@environment.append_path(File.join(@project_root, '
|
21
|
-
@environment.append_path(File.join(@project_root, '
|
20
|
+
@environment.append_path(File.join(@project_root, 'src', 'assets'))
|
21
|
+
@environment.append_path(File.join(@project_root, 'src', 'assets', 'javascripts'))
|
22
|
+
@environment.append_path(File.join(@project_root, 'src', 'assets', 'stylesheets'))
|
23
|
+
@environment.append_path(File.join(@project_root, 'src', 'assets', 'images'))
|
24
|
+
@environment.append_path(File.join(@project_root, 'src', 'assets', 'fonts'))
|
25
|
+
|
26
|
+
Susanoo::StaticGenerator.register self.class
|
27
|
+
end
|
22
28
|
|
29
|
+
def static_compile?
|
30
|
+
@static_compile
|
23
31
|
end
|
24
32
|
|
33
|
+
|
25
34
|
end
|
26
35
|
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'rack'
|
2
|
+
|
3
|
+
class Susanoo::Application
|
4
|
+
|
5
|
+
# This controller is responsible for serving/building assets files
|
6
|
+
class Assets < Susanoo::Controller
|
7
|
+
def call(env)
|
8
|
+
# Environment is a sprockets environment instance
|
9
|
+
run environment
|
10
|
+
end
|
11
|
+
|
12
|
+
def build(generator)
|
13
|
+
assets = Sprockets::Environment.new
|
14
|
+
assets.append_path File.join(project_root,
|
15
|
+
'src/assets/javascripts')
|
16
|
+
assets.append_path File.join(project_root,
|
17
|
+
'src/assets/stylesheets')
|
18
|
+
|
19
|
+
require 'rake/sprocketstask'
|
20
|
+
require 'uglifier'
|
21
|
+
require 'yui/compressor'
|
22
|
+
require "#{project_root}/config/routes"
|
23
|
+
|
24
|
+
func = lambda do |path, filename|
|
25
|
+
filename !~ %r~assets~ && !%w[.js .css].include?(File.extname(path))
|
26
|
+
end
|
27
|
+
|
28
|
+
precompile = [func, /(?:\/|\\|\A)application\.(css|js)$/]
|
29
|
+
assets.each_logical_path(*precompile).each {|path|
|
30
|
+
case File.extname(path)
|
31
|
+
when '.js'
|
32
|
+
dir = 'javascripts'
|
33
|
+
when '.css'
|
34
|
+
dir = 'stylesheets'
|
35
|
+
end
|
36
|
+
assets[path].write_to "www/assets/#{dir}/#{path}"
|
37
|
+
}
|
38
|
+
|
39
|
+
if File.exist? File.join(project_root,
|
40
|
+
'src/assets/images')
|
41
|
+
generator.say_status 'copy', 'src/assets/images'
|
42
|
+
`cp #{project_root}/src/assets/images #{project_root}/www/assets/images`
|
43
|
+
end
|
44
|
+
|
45
|
+
if File.exist? File.join(project_root,
|
46
|
+
'src/assets/fonts')
|
47
|
+
generator.say_status 'copy', 'src/assets/fonts'
|
48
|
+
`cp #{project_root}/src/assets/fonts #{project_root}/www/assets/fonts`
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rack'
|
2
|
+
|
3
|
+
class Susanoo::Application
|
4
|
+
|
5
|
+
# This controller is responsible for serving/building index.html file.
|
6
|
+
class Index < Susanoo::Controller
|
7
|
+
def call(env)
|
8
|
+
# Tilt template object
|
9
|
+
template = Tilt.new(File.join(project_root, 'src/index.html.erb'))
|
10
|
+
[200, {'Content-Type' => 'text/html'}, [template.render(self)]]
|
11
|
+
end
|
12
|
+
|
13
|
+
def build(generator)
|
14
|
+
template = Tilt.new(File.join(project_root, 'src/index.html.erb'))
|
15
|
+
data = template.render(self)
|
16
|
+
# God forgive me for hard coding this part
|
17
|
+
generator.create_file 'www/index.html', data
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'rack'
|
2
|
+
|
3
|
+
class Susanoo::Application
|
4
|
+
# This controller is responsible to serving/building angularjs templates.
|
5
|
+
class Views < Susanoo::Controller
|
6
|
+
def call(env)
|
7
|
+
path = env['PATH_INFO']
|
8
|
+
if File.exist?(File.join(project_root, "src/views#{path}.erb"))
|
9
|
+
template = Tilt.new(File.join(project_root, "src/views#{path}.erb"))
|
10
|
+
elsif File.exist?(File.join(project_root, "src/views#{path}"))
|
11
|
+
template = Tilt.new(File.join(project_root, "src/views#{path}"))
|
12
|
+
else
|
13
|
+
fail "There is no '#{path}' in 'src/views' directory."
|
14
|
+
end
|
15
|
+
[200, {'Content-Type' => 'text/html'}, [template.render(self)]]
|
16
|
+
end
|
17
|
+
|
18
|
+
def build(generator)
|
19
|
+
file_pattern = File.join(project_root, 'src/views/**/*.{html,html.erb}')
|
20
|
+
dest_path = File.join(project_root, 'www')
|
21
|
+
src_path = File.join(project_root, 'src')
|
22
|
+
|
23
|
+
Dir.glob(file_pattern) do |file|
|
24
|
+
template = Tilt.new file
|
25
|
+
|
26
|
+
dest_file = File.join(dest_path,
|
27
|
+
file.gsub(src_path, ''))
|
28
|
+
|
29
|
+
# Create missing directories in destination path
|
30
|
+
FileUtils.mkpath dest_path
|
31
|
+
|
32
|
+
# Remove erb extension name from destination path
|
33
|
+
dest_file.gsub!('.erb', '') if File.extname(dest_file) == 'erb'
|
34
|
+
|
35
|
+
# Create the destination file
|
36
|
+
generator.create_file dest_file, template.render(self)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -5,128 +5,96 @@ module Susanoo
|
|
5
5
|
source_root File.expand_path('../../templates/application', __FILE__)
|
6
6
|
|
7
7
|
@@bower_data = {
|
8
|
-
:name =>
|
8
|
+
:name => 'temp_name',
|
9
9
|
:dependencies => {
|
10
10
|
# TODO: Set this to new version of angular
|
11
|
-
angular:
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
11
|
+
angular: '1.2.9',
|
12
|
+
'angular-touch' => '*',
|
13
|
+
'angular-gestures' => '*',
|
14
|
+
'angular-route' => '*',
|
15
|
+
'angular-animate' => '*',
|
16
|
+
'angular-sanitize' => '*',
|
17
|
+
'angular-resource' => '*',
|
18
|
+
'angular-gettext' => '*',
|
19
|
+
'jquery' => '*',
|
20
|
+
'lodash' => '*',
|
21
21
|
},
|
22
22
|
}
|
23
23
|
|
24
|
-
@@js_files = [
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
24
|
+
@@js_files = ['jquery/dist/jquery',
|
25
|
+
'lodash/dist/lodash',
|
26
|
+
'angular/angular',
|
27
|
+
'angular-animate/angular-animate',
|
28
|
+
'angular-route/angular-route',
|
29
|
+
'angular-sanitize/angular-sanitize',
|
30
|
+
'angular-touch/angular-touch',
|
31
|
+
'angular-gestures/gestures',
|
32
|
+
'angular-gettext/dist/angular-gettext',
|
33
|
+
'angular-resource/angular-resource',
|
34
34
|
]
|
35
35
|
@@js_dirs = []
|
36
36
|
@@css_files = []
|
37
37
|
@@css_dirs = []
|
38
38
|
|
39
|
-
@@is_foundation = false
|
40
|
-
@@is_ionic = false
|
41
|
-
|
42
39
|
def susanoo_files
|
43
|
-
template
|
44
|
-
template
|
45
|
-
directory
|
46
|
-
template
|
47
|
-
template
|
48
|
-
end
|
49
|
-
|
50
|
-
def ask_for_framework
|
51
|
-
@@bower_data[:name] = Susanoo::Project.folder_name
|
52
|
-
|
53
|
-
if yes? "Do you need Zurb Foundation? (y/n)"
|
54
|
-
# installing Zurb Foundation
|
55
|
-
@@bower_data[:dependencies][:foundation] = "*"
|
56
|
-
|
57
|
-
@@css_dirs << "foundation/scss"
|
58
|
-
@@js_files.unshift "modernizr/modernizr"
|
59
|
-
@@js_files.unshift "foundation/js/foundation"
|
60
|
-
@@js_dirs << "foundation/js/foundation"
|
61
|
-
@@is_foundation = true
|
62
|
-
return
|
63
|
-
end
|
64
|
-
|
65
|
-
if yes? "What about ionic framework? (y/n)"
|
66
|
-
# Install ionic framework
|
67
|
-
@@bower_data[:dependencies][:ionic] = "*"
|
68
|
-
@@js_files.unshift "ionic/dist/js/ionic"
|
69
|
-
@@js_files << "angular-ui-router"
|
70
|
-
@@js_files << "ionic/dist/js/ionic-angular"
|
71
|
-
@@css_dirs.concat(["ionic/scss"])
|
72
|
-
# Unfortunately angular-ui-router bower package did not provide current
|
73
|
-
# So we have to install it manually
|
74
|
-
template "www/assets/javascripts/lib/angular-ui-router.js", "#{Susanoo::Project.folder_name}/www/assets/javascripts/lib/angular-ui-router.js"
|
75
|
-
@@is_ionic = true
|
76
|
-
end
|
40
|
+
template 'Gemfile', "#{Susanoo::Project.folder_name}/Gemfile"
|
41
|
+
template 'Rakefile', "#{Susanoo::Project.folder_name}/Rakefile"
|
42
|
+
directory 'config', "#{Susanoo::Project.folder_name}/config"
|
43
|
+
template '.gitignore', "#{Susanoo::Project.folder_name}/.gitignore"
|
44
|
+
template 'bin/susanoo', "#{Susanoo::Project.folder_name}/bin/susanoo"
|
77
45
|
end
|
78
46
|
|
79
47
|
def bower_install
|
80
|
-
require
|
48
|
+
require 'json'
|
81
49
|
inside Susanoo::Project.folder_name do
|
82
|
-
inside
|
83
|
-
create_file
|
50
|
+
inside 'src' do
|
51
|
+
create_file 'bower.json' do
|
84
52
|
JSON.pretty_generate(@@bower_data)
|
85
53
|
end
|
86
|
-
system
|
54
|
+
system 'bower install'
|
87
55
|
end
|
88
56
|
end
|
89
57
|
end
|
90
58
|
|
91
59
|
def install_templates
|
92
|
-
copy_file
|
93
|
-
template
|
94
|
-
template
|
95
|
-
template
|
96
|
-
|
97
|
-
|
98
|
-
create_file "#{Susanoo::Project.folder_name}/
|
99
|
-
|
60
|
+
copy_file 'src/index.html.erb', "#{Susanoo::Project.folder_name}/src/index.html.erb"
|
61
|
+
template 'src/views/main.html', "#{Susanoo::Project.folder_name}/src/views/main.html"
|
62
|
+
template 'src/assets/javascripts/application.js', "#{Susanoo::Project.folder_name}/src/assets/javascripts/application.js"
|
63
|
+
template 'src/assets/javascripts/functions.js', "#{Susanoo::Project.folder_name}/src/assets/javascripts/functions.js"
|
64
|
+
copy_file 'src/assets/javascripts/variables.js', "#{Susanoo::Project.folder_name}/src/assets/javascripts/variables.js.erb"
|
65
|
+
|
66
|
+
create_file "#{Susanoo::Project.folder_name}/src/assets/javascripts/modules/.keep" do
|
67
|
+
' '
|
100
68
|
end
|
101
|
-
template
|
102
|
-
template
|
103
|
-
template
|
104
|
-
template
|
69
|
+
template 'src/assets/javascripts/app.js', "#{Susanoo::Project.folder_name}/src/assets/javascripts/app.js"
|
70
|
+
template 'src/assets/javascripts/main.js', "#{Susanoo::Project.folder_name}/src/assets/javascripts/main.js"
|
71
|
+
template 'src/assets/stylesheets/application.css', "#{Susanoo::Project.folder_name}/src/assets/stylesheets/application.css"
|
72
|
+
template 'src/assets/stylesheets/main.scss', "#{Susanoo::Project.folder_name}/src/assets/stylesheets/main.scss"
|
105
73
|
|
106
|
-
@source_paths << File.expand_path("#{Susanoo::Project.folder_name}/
|
74
|
+
@source_paths << File.expand_path("#{Susanoo::Project.folder_name}/src/bower_components/")
|
107
75
|
@@js_files.each do |file|
|
108
|
-
unless file ==
|
109
|
-
copy_file "#{file}.js", "#{Susanoo::Project.folder_name}/
|
76
|
+
unless file == 'angular-ui-router'
|
77
|
+
copy_file "#{file}.js", "#{Susanoo::Project.folder_name}/src/assets/javascripts/lib/#{file}.js"
|
110
78
|
end
|
111
79
|
end
|
112
80
|
|
113
81
|
@@js_dirs.each do |dir|
|
114
|
-
directory dir, "#{Susanoo::Project.folder_name}/
|
82
|
+
directory dir, "#{Susanoo::Project.folder_name}/src/assets/javascripts/lib/#{dir}"
|
115
83
|
end
|
116
84
|
|
117
85
|
@@css_files.each do |file|
|
118
|
-
copy_file "#{file}.scss", "#{Susanoo::Project.folder_name}/
|
86
|
+
copy_file "#{file}.scss", "#{Susanoo::Project.folder_name}/src/assets/stylesheets/lib/#{file}.scss"
|
119
87
|
end
|
120
88
|
|
121
89
|
@@css_dirs.each do |dir|
|
122
|
-
directory dir, "#{Susanoo::Project.folder_name}/
|
90
|
+
directory dir, "#{Susanoo::Project.folder_name}/src/assets/stylesheets/lib/#{dir}"
|
123
91
|
end
|
124
92
|
|
125
93
|
end
|
126
94
|
|
127
95
|
def remove_temp
|
128
|
-
if yes?
|
129
|
-
remove_dir "#{Susanoo::Project.folder_name}/
|
96
|
+
if yes? 'Do want to remove unneccessary files? (y/n)'.colorize(:red)
|
97
|
+
remove_dir "#{Susanoo::Project.folder_name}/src/bower_components"
|
130
98
|
end
|
131
99
|
end
|
132
100
|
|
@@ -136,18 +104,10 @@ module Susanoo
|
|
136
104
|
|
137
105
|
private
|
138
106
|
|
139
|
-
def is_foundation?
|
140
|
-
@@is_foundation
|
141
|
-
end
|
142
|
-
|
143
107
|
def js_dirs
|
144
108
|
@@js_dirs
|
145
109
|
end
|
146
110
|
|
147
|
-
def is_ionic?
|
148
|
-
@@is_ionic
|
149
|
-
end
|
150
|
-
|
151
111
|
def js_files
|
152
112
|
@@js_files
|
153
113
|
end
|
data/lib/susanoo/tasks.rb
CHANGED
@@ -8,3 +8,22 @@ module Susanoo
|
|
8
8
|
end
|
9
9
|
end
|
10
10
|
end
|
11
|
+
|
12
|
+
require 'rake'
|
13
|
+
require 'rake/sprocketstask'
|
14
|
+
require 'uglifier'
|
15
|
+
require 'yui/compressor'
|
16
|
+
|
17
|
+
assets = Sprockets::Environment.new
|
18
|
+
assets.append_path File.join(Dir.pwd,
|
19
|
+
'src/assets/javascripts')
|
20
|
+
assets.append_path File.join(Dir.pwd,
|
21
|
+
'src/assets/stylesheets')
|
22
|
+
|
23
|
+
Rake::SprocketsTask.new do |t|
|
24
|
+
t.environment = assets
|
25
|
+
t.output = File.join(Dir.pwd, 'www/assets/')
|
26
|
+
t.assets = %w(application.css application.js)
|
27
|
+
t.environment.css_compressor = YUI::CssCompressor.new
|
28
|
+
t.environment.js_compressor = Uglifier.new(:mangle => true)
|
29
|
+
end.define
|
@@ -3,23 +3,34 @@ require "bundler/setup"
|
|
3
3
|
Bundler.require
|
4
4
|
|
5
5
|
desc "Compile assets into statics folder"
|
6
|
-
task :
|
6
|
+
task :assets1 do
|
7
7
|
require "sprockets"
|
8
8
|
#require "rake/sprocketstask"
|
9
9
|
|
10
10
|
assets = Sprockets::Environment.new
|
11
|
-
assets.append_path "
|
12
|
-
assets.append_path "
|
11
|
+
assets.append_path "src/assets/javascripts"
|
12
|
+
assets.append_path "src/assets/stylesheets"
|
13
13
|
|
14
|
-
Susanoo::Assets.path = ""
|
14
|
+
#Susanoo::Assets.path = ""
|
15
15
|
LOOSE_APP_ASSETS = lambda do |path, filename|
|
16
|
+
puts ">>>>>>>>>>>>>>>>>>>> ", filename, filename !~ %r~assets~ && !%w[.js .css].include?(File.extname(path))
|
16
17
|
filename !~ %r~assets~ && !%w[.js .css].include?(File.extname(path))
|
17
18
|
end
|
19
|
+
puts ">>>>>"
|
18
20
|
precompile = [LOOSE_APP_ASSETS, /(?:\/|\\|\A)application\.(css|js)$/]
|
19
21
|
assets.each_logical_path(*precompile).each {|path|
|
20
|
-
|
22
|
+
puts "<$$$$$$ ", File.extname(path)
|
23
|
+
dir = ''
|
24
|
+
case File.extname(path)
|
25
|
+
when '.js'
|
26
|
+
dir = 'javascripts'
|
27
|
+
when '.css'
|
28
|
+
dir = 'stylesheets'
|
29
|
+
end
|
30
|
+
puts "<<<<<<<<<<<<<<<< ", dir
|
31
|
+
assets[path].write_to "www/assets/#{dir}/#{path}"
|
21
32
|
}
|
22
33
|
|
23
|
-
system "cp www/assets/images www/statics/images -rv"
|
24
|
-
system "cp www/assets/fonts www/statics/fonts -rv"
|
34
|
+
#system "cp www/assets/images www/statics/images -rv"
|
35
|
+
#system "cp www/assets/fonts www/statics/fonts -rv"
|
25
36
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// Main Application Module
|
2
2
|
// -----------------------
|
3
3
|
// This module is the start point of application.
|
4
|
-
var App = angular.module("Application", ["ngTouch", "ngAnimate", "ngRoute", "gettext", "angular-gestures"
|
4
|
+
var App = angular.module("Application", ["ngTouch", "ngAnimate", "ngRoute", "gettext", "angular-gestures"]);
|
5
5
|
|
6
6
|
// configuration section ---------------------------
|
7
7
|
App.config(["$routeProvider", function($routeProvider){
|
File without changes
|
File without changes
|
data/lib/susanoo/templates/application/{www → src}/assets/javascripts/lib/angular-ui-router.js
RENAMED
File without changes
|
@@ -4,9 +4,12 @@ document.addEventListener("deviceready", onDeviceReady, false);
|
|
4
4
|
|
5
5
|
// Device Ready event handler
|
6
6
|
function onDeviceReady() {
|
7
|
-
<% if is_foundation? %>
|
8
|
-
$(document).foundation();
|
9
|
-
<% end %>
|
10
7
|
// Bootstrap and run angular application
|
11
8
|
angular.bootstrap(document, ["Application"]);
|
12
9
|
}
|
10
|
+
$(function(){
|
11
|
+
if (window.debug === true) {
|
12
|
+
console.log("Run in debug mode.");
|
13
|
+
onDeviceReady();
|
14
|
+
}
|
15
|
+
});
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/susanoo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: susanoo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sameer Rahmani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -196,16 +196,16 @@ dependencies:
|
|
196
196
|
name: sass
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
198
198
|
requirements:
|
199
|
-
- -
|
199
|
+
- - '='
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
201
|
+
version: 3.2.15
|
202
202
|
type: :runtime
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
|
-
- -
|
206
|
+
- - '='
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
208
|
+
version: 3.2.15
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
210
|
name: tilt
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -243,12 +243,16 @@ files:
|
|
243
243
|
- lib/susanoo/cli/global.rb
|
244
244
|
- lib/susanoo/cli/project.rb
|
245
245
|
- lib/susanoo/controller.rb
|
246
|
+
- lib/susanoo/controllers/assets.rb
|
247
|
+
- lib/susanoo/controllers/index.rb
|
248
|
+
- lib/susanoo/controllers/views.rb
|
246
249
|
- lib/susanoo/generators.rb
|
247
250
|
- lib/susanoo/generators/cordova.rb
|
248
251
|
- lib/susanoo/generators/frameworks.rb
|
249
252
|
- lib/susanoo/generators/ng_module.rb
|
250
253
|
- lib/susanoo/generators/scaffold.rb
|
251
254
|
- lib/susanoo/project.rb
|
255
|
+
- lib/susanoo/static_generator.rb
|
252
256
|
- lib/susanoo/tasks.rb
|
253
257
|
- lib/susanoo/tasks/assets.rake
|
254
258
|
- lib/susanoo/tasks/compile.rake
|
@@ -259,16 +263,16 @@ files:
|
|
259
263
|
- lib/susanoo/templates/application/Rakefile
|
260
264
|
- lib/susanoo/templates/application/bin/susanoo
|
261
265
|
- lib/susanoo/templates/application/config/routes.rb
|
262
|
-
- lib/susanoo/templates/application/
|
263
|
-
- lib/susanoo/templates/application/
|
264
|
-
- lib/susanoo/templates/application/
|
265
|
-
- lib/susanoo/templates/application/
|
266
|
-
- lib/susanoo/templates/application/
|
267
|
-
- lib/susanoo/templates/application/
|
268
|
-
- lib/susanoo/templates/application/
|
269
|
-
- lib/susanoo/templates/application/
|
270
|
-
- lib/susanoo/templates/application/
|
271
|
-
- lib/susanoo/templates/application/
|
266
|
+
- lib/susanoo/templates/application/src/assets/javascripts/app.js
|
267
|
+
- lib/susanoo/templates/application/src/assets/javascripts/application.js
|
268
|
+
- lib/susanoo/templates/application/src/assets/javascripts/functions.js
|
269
|
+
- lib/susanoo/templates/application/src/assets/javascripts/lib/angular-ui-router.js
|
270
|
+
- lib/susanoo/templates/application/src/assets/javascripts/main.js
|
271
|
+
- lib/susanoo/templates/application/src/assets/javascripts/variables.js
|
272
|
+
- lib/susanoo/templates/application/src/assets/stylesheets/application.css
|
273
|
+
- lib/susanoo/templates/application/src/assets/stylesheets/main.scss
|
274
|
+
- lib/susanoo/templates/application/src/index.html.erb
|
275
|
+
- lib/susanoo/templates/application/src/views/main.html
|
272
276
|
- lib/susanoo/version.rb
|
273
277
|
homepage: http://github.com/lxsameer/Susanoo
|
274
278
|
licenses:
|