asphalt 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -2
- data/asphalt.gemspec +1 -0
- data/lib/asphalt/cli.rb +3 -1
- data/lib/asphalt/generator.rb +19 -3
- data/lib/asphalt/version.rb +1 -1
- data/spec/asphalt_spec.rb +25 -2
- metadata +16 -8
- data/spec/fixtures/example_stylesheet_folder/main.scss +0 -17
- data/spec/fixtures/example_stylesheet_folder/modules/_all.scss +0 -4
- data/spec/fixtures/example_stylesheet_folder/partials/_base.sass +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbe182c4727007bf9abb7d6fd39a8d6b2c905d5b
|
4
|
+
data.tar.gz: ba18613e2243ff3c669be72d56369625b324e08a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b00c2ce4cac6cf03a737efb28ce43a984689822e6dd34531908951de8578c748aeab24d2b57fbfe565c4d10e9760c3b049c01c83ae90dc5cfb4391547a2509ef
|
7
|
+
data.tar.gz: 607fea8922c466c6f2e3e44bf5efae11e3f2896cccdf85c8dd46a605d72d2b9e666d4bdfef807610d5b6a38107ead05c9430d4fe6613f754090dd86faa9690e7
|
data/README.md
CHANGED
@@ -18,7 +18,7 @@ Install it from RubyGems:
|
|
18
18
|
|
19
19
|
or clone and install from this repo
|
20
20
|
|
21
|
-
$ git clone https
|
21
|
+
$ git clone https://github.com/donokuda/asphalt.git
|
22
22
|
$ cd asphalt
|
23
23
|
$ rake install
|
24
24
|
|
@@ -31,7 +31,11 @@ In the directory of your stylesheets:
|
|
31
31
|
|
32
32
|
This will generate a folder structure of partialized Scss files.
|
33
33
|
|
34
|
-
|
34
|
+
If you prefer the indented sass syntax, you can run
|
35
|
+
|
36
|
+
$ asphalt init --sass
|
37
|
+
|
38
|
+
That's it! Run `sass -w main.scss` to compile your sass files!
|
35
39
|
|
36
40
|
|
37
41
|
## Contributing
|
data/asphalt.gemspec
CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
spec.add_dependency "thor", "~> 0.18.1"
|
21
|
+
spec.add_dependency "sass", "~> 3.2.10"
|
21
22
|
|
22
23
|
spec.add_development_dependency "bundler", "~> 1.3"
|
23
24
|
spec.add_development_dependency "rake"
|
data/lib/asphalt/cli.rb
CHANGED
@@ -2,9 +2,11 @@ require 'thor'
|
|
2
2
|
|
3
3
|
module Asphalt
|
4
4
|
class CLI < Thor
|
5
|
+
option :sass, :type => :boolean
|
5
6
|
desc "init /path/to/stylesheets", "bootstrap directory with a set of Sass files"
|
6
7
|
def init(target_directory=Dir.pwd)
|
7
|
-
|
8
|
+
format = :sass if options[:sass] == true
|
9
|
+
Asphalt::Generator.init!(target_directory, :format => format)
|
8
10
|
end
|
9
11
|
end
|
10
12
|
|
data/lib/asphalt/generator.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Asphalt
|
2
2
|
module Generator
|
3
3
|
# FIXME: TOMDOC this method and all other methods
|
4
|
-
def self.init!(directory)
|
4
|
+
def self.init!(directory, options = {})
|
5
5
|
directories = ["modules", "partials", "vendors"]
|
6
6
|
directories.each do |scaffold_dir|
|
7
7
|
FileUtils.mkdir_p(File.join(directory, scaffold_dir)) unless Dir.exists?(File.join(directory, scaffold_dir))
|
@@ -20,10 +20,26 @@ module Asphalt
|
|
20
20
|
|
21
21
|
files.each do |scaffold_file|
|
22
22
|
template_file_path = File.join(File.dirname(__FILE__), 'templates', scaffold_file)
|
23
|
-
|
23
|
+
|
24
|
+
scaffold_directory = File.dirname(scaffold_file)
|
25
|
+
scaffold_filename = File.basename(scaffold_file, File.extname(scaffold_file))
|
26
|
+
|
27
|
+
if scaffold_file == 'partials/_base.sass'
|
28
|
+
scaffold_ext = '.sass'
|
29
|
+
else
|
30
|
+
scaffold_ext = options[:format] == :sass ? ".sass" : ".scss"
|
31
|
+
end
|
32
|
+
|
33
|
+
scaffold_file_path = File.join(scaffold_directory, scaffold_filename + scaffold_ext)
|
34
|
+
|
35
|
+
target_file = File.new(File.join(directory, scaffold_file_path), 'a+')
|
24
36
|
|
25
37
|
if File.exists?(template_file_path)
|
26
|
-
|
38
|
+
if options[:format] == :sass && File.extname(template_file_path) == '.scss'
|
39
|
+
target_file.write(`sass-convert #{ template_file_path } -F scss -T sass`)
|
40
|
+
else
|
41
|
+
target_file.write(File.read(template_file_path))
|
42
|
+
end
|
27
43
|
target_file.close
|
28
44
|
end
|
29
45
|
end
|
data/lib/asphalt/version.rb
CHANGED
data/spec/asphalt_spec.rb
CHANGED
@@ -35,8 +35,6 @@ describe Asphalt::Generator do
|
|
35
35
|
end
|
36
36
|
|
37
37
|
it "should have content in the files generated" do
|
38
|
-
fixtures_path = File.expand_path(File.join(__FILE__, '..', 'fixtures', 'example_stylesheet_folder'))
|
39
|
-
|
40
38
|
Asphalt::Generator.init!(@temp_directory)
|
41
39
|
|
42
40
|
File.read(File.join(@temp_directory, 'main.scss')).should match(%r(// ASPHALT GENERATED: MODULES))
|
@@ -58,6 +56,31 @@ describe Asphalt::Generator do
|
|
58
56
|
existing_file_content.should match("// ASPHALT GENERATED: MODULES")
|
59
57
|
end
|
60
58
|
|
59
|
+
context "with the sass format option" do
|
60
|
+
it "creates sass files with the sass argument" do
|
61
|
+
sass_directory = Dir.mktmpdir
|
62
|
+
|
63
|
+
Asphalt::Generator.init!(sass_directory, :format => :sass)
|
64
|
+
|
65
|
+
File.should exist(File.join(sass_directory, 'main.sass'))
|
66
|
+
File.should exist(File.join(sass_directory, 'modules', '_all.sass'))
|
67
|
+
File.should exist(File.join(sass_directory, 'partials', '_base.sass'))
|
68
|
+
File.should exist(File.join(sass_directory, 'partials', '_buttons.sass'))
|
69
|
+
|
70
|
+
FileUtils.remove_entry_secure sass_directory
|
71
|
+
end
|
72
|
+
|
73
|
+
it "has files with the indented sass format" do
|
74
|
+
sass_directory = Dir.mktmpdir
|
75
|
+
|
76
|
+
Asphalt::Generator.init!(sass_directory, :format => :sass)
|
77
|
+
File.read(File.join(sass_directory, 'main.sass')).should match(%r(@import partials/base$))
|
78
|
+
File.read(File.join(sass_directory, 'partials', '_base.sass')).should match(%r(@import "modules/all"$))
|
79
|
+
|
80
|
+
FileUtils.remove_entry_secure sass_directory
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
61
84
|
after(:all) do
|
62
85
|
FileUtils.remove_entry_secure @temp_directory
|
63
86
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asphalt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Don Okuda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.18.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sass
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.2.10
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.2.10
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,9 +103,6 @@ files:
|
|
89
103
|
- lib/asphalt/templates/partials/_base.sass
|
90
104
|
- lib/asphalt/version.rb
|
91
105
|
- spec/asphalt_spec.rb
|
92
|
-
- spec/fixtures/example_stylesheet_folder/main.scss
|
93
|
-
- spec/fixtures/example_stylesheet_folder/modules/_all.scss
|
94
|
-
- spec/fixtures/example_stylesheet_folder/partials/_base.sass
|
95
106
|
- spec/spec_helper.rb
|
96
107
|
homepage: https://github.com/donokuda/asphalt
|
97
108
|
licenses:
|
@@ -119,7 +130,4 @@ specification_version: 4
|
|
119
130
|
summary: Asphalt paves the way for your Sass stylesheets!
|
120
131
|
test_files:
|
121
132
|
- spec/asphalt_spec.rb
|
122
|
-
- spec/fixtures/example_stylesheet_folder/main.scss
|
123
|
-
- spec/fixtures/example_stylesheet_folder/modules/_all.scss
|
124
|
-
- spec/fixtures/example_stylesheet_folder/partials/_base.sass
|
125
133
|
- spec/spec_helper.rb
|
@@ -1,17 +0,0 @@
|
|
1
|
-
// ASPHALT: MODULES
|
2
|
-
@import "partials/base";
|
3
|
-
|
4
|
-
// ASPHALT: PARTIALS
|
5
|
-
@import "partials/reset";
|
6
|
-
@import "partials/typography";
|
7
|
-
@import "partials/buttons";
|
8
|
-
@import "partials/figures";
|
9
|
-
@import "partials/grids";
|
10
|
-
|
11
|
-
// Import third party styles here
|
12
|
-
// PROTIP: Be sure to change the file extension to .scss
|
13
|
-
// EXAMPLES:
|
14
|
-
// @import "vendor/colorpicker";
|
15
|
-
// @import "vendor/jquery.ui.core";
|
16
|
-
|
17
|
-
// Your styles go here:
|
@@ -1,23 +0,0 @@
|
|
1
|
-
// Uncomment if you use compass
|
2
|
-
// @import "compass"
|
3
|
-
|
4
|
-
// Font weights
|
5
|
-
$light: 100
|
6
|
-
$regular: 400
|
7
|
-
$bold: 600
|
8
|
-
|
9
|
-
// Base Font
|
10
|
-
$base-font-family: sans-serif
|
11
|
-
$base-font-weight: $regular
|
12
|
-
$base-font-size: 13px
|
13
|
-
$base-line-height: 1.4
|
14
|
-
|
15
|
-
// Fixed Font
|
16
|
-
$fixed-font-family: monospace
|
17
|
-
$fixed-font-size: 85%
|
18
|
-
$fixed-line-height: $base-line-height
|
19
|
-
|
20
|
-
// Headings
|
21
|
-
$header-font-weight: $bold
|
22
|
-
|
23
|
-
@import "modules/all"
|