tau 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 +5 -0
- data/Gemfile +4 -0
- data/README.md +79 -0
- data/Rakefile +1 -0
- data/bin/tau +13 -0
- data/features/making_projects.feature +8 -0
- data/features/server.feature +49 -0
- data/features/step_definitions/fs.rb +10 -0
- data/features/step_definitions/network.rb +29 -0
- data/features/support/cukegem.rb +83 -0
- data/features/support/env.rb +35 -0
- data/lib/tau.rb +5 -0
- data/lib/tau/projecter.rb +30 -0
- data/lib/tau/server.rb +55 -0
- data/lib/tau/version.rb +3 -0
- data/tau.gemspec +26 -0
- metadata +146 -0
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
Tau
|
2
|
+
===
|
3
|
+
|
4
|
+
Tau provides you write code of webpages using modern technologies such as
|
5
|
+
haml, sass, coffee-script. You dont't need to compile your code to HTML and
|
6
|
+
CSS by hand everytime you something change.
|
7
|
+
|
8
|
+
Installation
|
9
|
+
------------
|
10
|
+
|
11
|
+
gem install tau
|
12
|
+
|
13
|
+
Usage
|
14
|
+
-----
|
15
|
+
|
16
|
+
It's pretty simple.
|
17
|
+
|
18
|
+
### Getting started
|
19
|
+
|
20
|
+
1. Start new coding project and switch to that. In the command prompt run:
|
21
|
+
|
22
|
+
`tau new example.com; cd example.com` *(where example.com is the project name)*
|
23
|
+
|
24
|
+
2. Create html or haml file on code directory:
|
25
|
+
|
26
|
+
`echo "%h1 Hello <strong>tau</strong>!" > code/hello.haml`
|
27
|
+
|
28
|
+
3. Start server and go to [http://localhost:15000/hello.html](http://localhost:15000/hello.html):
|
29
|
+
|
30
|
+
`tau server`
|
31
|
+
|
32
|
+
Attend even if you write hello.**haml** file you can see it by hello.**html**
|
33
|
+
in browser.
|
34
|
+
|
35
|
+
### Creating new project
|
36
|
+
|
37
|
+
Run `tau new projectname` and tau will make directory tree for you:
|
38
|
+
|
39
|
+
projectname
|
40
|
+
|--code - for your .html and .haml files
|
41
|
+
| |--js - for .js and .coffee files
|
42
|
+
| |--css - for .css, .sass and .scss
|
43
|
+
| `--img - for any type of images
|
44
|
+
|
|
45
|
+
`--tau.yaml - config file
|
46
|
+
|
47
|
+
### Coding
|
48
|
+
|
49
|
+
Run `tau server` in your project directory. Then put any html or haml files
|
50
|
+
into **code** directory, js or coffee files into **code/js**, css, sass or
|
51
|
+
scss into **code/css**. Now you can view files in browser by
|
52
|
+
http://localhost:15000/page.html or http://localhost:15000/css/style.css or
|
53
|
+
http://localhost:15000/js/script.js.
|
54
|
+
|
55
|
+
Attend that tau changes files extensions in browser from haml to html, from
|
56
|
+
coffee to js, from sass and scss to css. For example if you have
|
57
|
+
**code/js/myscript.coffee** file you can see it in browser by
|
58
|
+
http://localhost:15000/js/myscript.js.
|
59
|
+
|
60
|
+
In html or haml file you can include scripts written in coffee and styles
|
61
|
+
written in sass or scss. For example if you have **code/js/script.coffee**
|
62
|
+
script and **code/js/style.sass** spreadsheet you can include it to html by
|
63
|
+
lines:
|
64
|
+
```html
|
65
|
+
<script src='js/script.js' type="text/javascript"></script>
|
66
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
67
|
+
```
|
68
|
+
Anytime you change any file you can see updated version in browser. You don't
|
69
|
+
need to compile anything by hand.
|
70
|
+
|
71
|
+
License
|
72
|
+
-------
|
73
|
+
|
74
|
+
You can use tau by MIT License.
|
75
|
+
|
76
|
+
Contributing
|
77
|
+
------------
|
78
|
+
|
79
|
+
Feel free to fork and pull request.
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/bin/tau
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'tau/server'
|
3
|
+
require 'tau/projecter'
|
4
|
+
|
5
|
+
Tau::Server.start if ARGV.first == "server"
|
6
|
+
if ARGV.first == "new"
|
7
|
+
project_name = ARGV[1]
|
8
|
+
begin
|
9
|
+
Tau::Projecter.new_project(Dir.pwd, project_name)
|
10
|
+
rescue Exception => e
|
11
|
+
puts e.message
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Feature: Making new projects
|
2
|
+
In order to avoid making project directory myself
|
3
|
+
As a web developer
|
4
|
+
I want tau make project for me
|
5
|
+
|
6
|
+
Scenario: making new project by tau
|
7
|
+
When I successfully run `tau new testproject`
|
8
|
+
And there should be right project directory "testproject"
|
@@ -0,0 +1,49 @@
|
|
1
|
+
Feature: Server
|
2
|
+
In order to compile all files by hand
|
3
|
+
As a web developer
|
4
|
+
I want tau server do it for me
|
5
|
+
|
6
|
+
Background: changing directory
|
7
|
+
Given I'm on sandbox project directory
|
8
|
+
|
9
|
+
Scenario: runtime haml compilation
|
10
|
+
Given a file named "code/hamltest.haml" with:
|
11
|
+
"""
|
12
|
+
%h1 Hello, world!
|
13
|
+
%strong I'm tau ;)
|
14
|
+
"""
|
15
|
+
When I go in browser to "http://localhost:15000/hamltest.html"
|
16
|
+
Then I should see html compiled from haml in "code/hamltest.haml"
|
17
|
+
|
18
|
+
Scenario: runtime coffee-script compilation
|
19
|
+
Given a file named "code/js/coffeetest.coffee" with:
|
20
|
+
"""
|
21
|
+
square = (x) -> x * x
|
22
|
+
cube = (x) -> square(x) * x
|
23
|
+
"""
|
24
|
+
When I go in browser to "http://localhost:15000/js/coffeetest.js"
|
25
|
+
Then I should see js compiled from coffee-script in "code/js/coffeetest.coffee"
|
26
|
+
|
27
|
+
Scenario: runtime sass compilation
|
28
|
+
Given a file named "code/css/sasstest.sass" with:
|
29
|
+
"""
|
30
|
+
$blue: #3bbfce
|
31
|
+
.content-navigation
|
32
|
+
border-color: $blue
|
33
|
+
color: darken($blue, 9%)
|
34
|
+
"""
|
35
|
+
When I go in browser to "http://localhost:15000/css/sasstest.css"
|
36
|
+
Then I should see css compiled from sass in "code/css/sasstest.sass"
|
37
|
+
|
38
|
+
Scenario: runtime scss compilation
|
39
|
+
Given a file named "code/css/scsstest.scss" with:
|
40
|
+
"""
|
41
|
+
$blue: #3bbfce;
|
42
|
+
.content-navigation {
|
43
|
+
border-color: $blue;
|
44
|
+
color:
|
45
|
+
darken($blue, 9%);
|
46
|
+
}
|
47
|
+
"""
|
48
|
+
When I go in browser to "http://localhost:15000/css/scsstest.css"
|
49
|
+
Then I should see css compiled from scss in "code/css/scsstest.scss"
|
@@ -0,0 +1,10 @@
|
|
1
|
+
Then /^there should be right project directory "(.*)"$/ do |project_dir|
|
2
|
+
tau_dirs = ['/code', 'code/js', 'code/css', 'code/img'].map { |dir| "#{project_dir}/#{dir}" }
|
3
|
+
check_directory_presence(tau_dirs, true)
|
4
|
+
tau_files = ['tau.yaml'].map { |file| "#{project_dir}/#{file}" }
|
5
|
+
check_file_presence(tau_files, true)
|
6
|
+
end
|
7
|
+
|
8
|
+
Given /^I'm on sandbox project directory$/ do
|
9
|
+
@dirs = [SANDBOX_PROJECT_DIR]
|
10
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'uri'
|
3
|
+
require 'haml'
|
4
|
+
require 'sass'
|
5
|
+
require 'coffee-script'
|
6
|
+
|
7
|
+
When /^I go in browser to "(.*)"$/ do |url|
|
8
|
+
@response = Net::HTTP.get_response(URI url).body
|
9
|
+
end
|
10
|
+
|
11
|
+
Then /^I should see:$/ do |string|
|
12
|
+
@response.should == string
|
13
|
+
end
|
14
|
+
|
15
|
+
# TODO: move it in more appropriate place
|
16
|
+
def render(content, lang)
|
17
|
+
return Haml::Engine.new(content).render if lang == 'haml'
|
18
|
+
return Sass::Engine.new(content).render if lang == 'sass'
|
19
|
+
return Sass::Engine.new(content, syntax: :scss).render if lang == 'scss'
|
20
|
+
return CoffeeScript.compile(content) if lang == 'coffee-script'
|
21
|
+
end
|
22
|
+
|
23
|
+
Then /^I should see (html|css|js) compiled from (haml|sass|scss|coffee-script) in "(.*)"$/ do |type, lang, filename|
|
24
|
+
file_content = nil
|
25
|
+
in_current_dir do
|
26
|
+
file_content = File.read(filename)
|
27
|
+
end
|
28
|
+
@response.should == render(file_content, lang)
|
29
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# Copyright 2011 Solano Labs All Rights Reserved
|
2
|
+
|
3
|
+
require 'aruba/api'
|
4
|
+
|
5
|
+
class CukeGem
|
6
|
+
@setup_done = false
|
7
|
+
|
8
|
+
class << self
|
9
|
+
include Aruba::Api
|
10
|
+
|
11
|
+
attr_reader :setup_done
|
12
|
+
|
13
|
+
def setup(gemspec, verbose = true, once=true)
|
14
|
+
@verbose = verbose
|
15
|
+
puts "Setup test environment for gem." if @verbose
|
16
|
+
gem_home = setup_env
|
17
|
+
if !@setup_done || !once then
|
18
|
+
@setup_done = true
|
19
|
+
mkgemdir(gem_home)
|
20
|
+
gem_install(gemspec)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def teardown
|
25
|
+
restore_env
|
26
|
+
end
|
27
|
+
|
28
|
+
def setup_env
|
29
|
+
gem_home = File.join('tmp', 'sandbox-gem')
|
30
|
+
gem_home = File.expand_path(gem_home)
|
31
|
+
|
32
|
+
set_env('GEM_HOME', gem_home)
|
33
|
+
set_env('GEM_PATH', gem_home)
|
34
|
+
set_env('BUNDLE_PATH', gem_home)
|
35
|
+
unset_bundler_env_vars
|
36
|
+
|
37
|
+
paths = (ENV['PATH'] || "").split(File::PATH_SEPARATOR)
|
38
|
+
paths.unshift(File.join(gem_home, 'bin'))
|
39
|
+
set_env('PATH', paths.uniq.join(File::PATH_SEPARATOR))
|
40
|
+
|
41
|
+
return gem_home
|
42
|
+
end
|
43
|
+
|
44
|
+
def mkgemdir(gem_home)
|
45
|
+
# We don't need to removing existing directory in order to
|
46
|
+
# avoid redownload all dependecies for gem.
|
47
|
+
FileUtils::mkdir_p(gem_home) unless Dir.exist?(gem_home)
|
48
|
+
end
|
49
|
+
|
50
|
+
def gem_install(gemspec)
|
51
|
+
gem_file = nil
|
52
|
+
begin
|
53
|
+
pwd = Dir.pwd
|
54
|
+
gemspec_dir = File.dirname(gemspec)
|
55
|
+
Dir.chdir(gemspec_dir)
|
56
|
+
print 'Building gem... ' if @verbose
|
57
|
+
output = `gem build #{File.basename(gemspec)}`
|
58
|
+
puts 'done.'
|
59
|
+
Dir.chdir(pwd)
|
60
|
+
|
61
|
+
if $?.exitstatus != 0 then
|
62
|
+
raise "unable to build gem: #{output}"
|
63
|
+
end
|
64
|
+
|
65
|
+
if output =~ /File:\s+([A-Za-z0-9_.-]+[.]gem)/ then
|
66
|
+
gem_file = $1
|
67
|
+
print 'Installing gem... ' if @verbose
|
68
|
+
output = `gem install #{File.join(gemspec_dir, gem_file)}`
|
69
|
+
if $?.exitstatus != 0 then
|
70
|
+
raise "unable to install gem: #{output}"
|
71
|
+
end
|
72
|
+
puts 'done.' if @verbose
|
73
|
+
else
|
74
|
+
raise "garbled gem build output: #{output}"
|
75
|
+
end
|
76
|
+
ensure
|
77
|
+
if gem_file then
|
78
|
+
FileUtils.rm_f(File.join(gemspec_dir, gem_file))
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# Include useful steps.
|
2
|
+
# See full list at https://github.com/cucumber/aruba/blob/master/lib/aruba/cucumber.rb
|
3
|
+
require 'aruba/cucumber'
|
4
|
+
|
5
|
+
# Include aruba api for own steps
|
6
|
+
# See https://github.com/cucumber/aruba/blob/master/lib/aruba/api.rb for more information
|
7
|
+
require 'aruba/api'
|
8
|
+
|
9
|
+
# Making test project and start server on it
|
10
|
+
require 'childprocess'
|
11
|
+
FileUtils::mkdir_p('tmp/sandbox')
|
12
|
+
server_process = nil
|
13
|
+
Dir.chdir('tmp/sandbox') do
|
14
|
+
FileUtils::rm_rf('servertesting')
|
15
|
+
# Create new project. TODO: think what if tau projecter not works correctly
|
16
|
+
ChildProcess.build('tau new servertesting').start.wait
|
17
|
+
|
18
|
+
# Run server on test project directory
|
19
|
+
Dir.chdir('servertesting') do
|
20
|
+
server_process = ChildProcess.build('tau server')
|
21
|
+
server_process.start
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
SANDBOX_PROJECT_DIR = File.expand_path('tmp/sandbox/servertesting')
|
26
|
+
|
27
|
+
at_exit do
|
28
|
+
server_process.stop
|
29
|
+
end
|
30
|
+
|
31
|
+
# Prepare test environment.
|
32
|
+
# Build and intall our gem.
|
33
|
+
# `tau something` command will be executed in test environment.
|
34
|
+
require File.expand_path("#{File.dirname(__FILE__)}/cukegem.rb")
|
35
|
+
CukeGem.setup('tau.gemspec')
|
data/lib/tau.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
module Tau
|
2
|
+
class Projecter
|
3
|
+
def self.new_project(directory, project_name)
|
4
|
+
Dir.chdir(directory)
|
5
|
+
|
6
|
+
raise "This already is the project directory" if project_dir?(directory)
|
7
|
+
raise "Wrong project name" unless project_name =~ /^\w+$/
|
8
|
+
raise "Directory exists" if Dir.exist?(project_name)
|
9
|
+
|
10
|
+
Dir.mkdir(project_name)
|
11
|
+
Dir.chdir(project_name) do
|
12
|
+
puts("\tcreate\tcode")
|
13
|
+
Dir.mkdir('code')
|
14
|
+
puts("\tcreate\tcode/js")
|
15
|
+
Dir.mkdir('code/js')
|
16
|
+
puts("\tcreate\tcode/css")
|
17
|
+
Dir.mkdir('code/css')
|
18
|
+
puts("\tcreate\tcode/img")
|
19
|
+
Dir.mkdir('code/img')
|
20
|
+
puts("\tcreate\ttau.yaml")
|
21
|
+
File.new('tau.yaml', 'w')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.project_dir?(directory)
|
26
|
+
Dir.chdir(directory)
|
27
|
+
Dir.exist?('code') and File.exist?('tau.yaml')
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/tau/server.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'sinatra/base'
|
2
|
+
require 'haml'
|
3
|
+
require 'coffee-script'
|
4
|
+
require 'sass'
|
5
|
+
|
6
|
+
module Tau
|
7
|
+
class Server < Sinatra::Base
|
8
|
+
def self.start
|
9
|
+
set :port, 15000 # TODO: it should be changeable
|
10
|
+
|
11
|
+
# TODO: / route should return list of all files
|
12
|
+
get '/' do
|
13
|
+
"There should be list of all files."
|
14
|
+
end
|
15
|
+
|
16
|
+
# html
|
17
|
+
get /([\/\.\w-]+)\.html/ do |filename|
|
18
|
+
filename = "code/#{filename}"
|
19
|
+
return haml File.read("#{filename}.haml") if File.exist?("#{filename}.haml")
|
20
|
+
send_file "#{filename}.html" if File.exist?("#{filename}.html")
|
21
|
+
raise Sinatra::NotFound
|
22
|
+
end
|
23
|
+
|
24
|
+
# javascript
|
25
|
+
get /js\/([\/\.\w-]+)\.js/ do |filename|
|
26
|
+
filename = "code/js/#{filename}"
|
27
|
+
return coffee File.read("#{filename}.coffee") if File.exist?("#{filename}.coffee")
|
28
|
+
send_file "#{filename}.js" if File.exist?("#{filename}.js")
|
29
|
+
raise Sinatra::NotFound
|
30
|
+
end
|
31
|
+
|
32
|
+
# css
|
33
|
+
get /css\/([\/\.\w-]+)\.css/ do |filename|
|
34
|
+
filename = "code/css/#{filename}"
|
35
|
+
return sass File.read("#{filename}.sass") if File.exist?("#{filename}.sass")
|
36
|
+
return scss File.read("#{filename}.scss") if File.exist?("#{filename}.scss")
|
37
|
+
send_file "#{filename}.css" if File.exist?("#{filename}.css")
|
38
|
+
raise Sinatra::NotFound
|
39
|
+
end
|
40
|
+
|
41
|
+
# images
|
42
|
+
get /img\/([\/\.\w-]+)/ do |filename|
|
43
|
+
filename = "code/img/#{filename}"
|
44
|
+
send_file filename if File.exist?(filename)
|
45
|
+
raise Sinatra::NotFound
|
46
|
+
end
|
47
|
+
|
48
|
+
not_found do
|
49
|
+
"No such file or directory"
|
50
|
+
end
|
51
|
+
|
52
|
+
run!
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/lib/tau/version.rb
ADDED
data/tau.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "tau/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "tau"
|
7
|
+
s.version = Tau::VERSION
|
8
|
+
s.authors = ["Dmitry Zhlobo"]
|
9
|
+
s.email = ["dima.zhlobo@gmail.com"]
|
10
|
+
s.homepage = "http://github.com/proghat/tau"
|
11
|
+
s.summary = %q{Tool for web designers want to use haml, sass, coffee-script and others.}
|
12
|
+
s.description = %q{tau provide you write web pages on haml, stylesheets on sass and scripts on coffee.}
|
13
|
+
|
14
|
+
s.files = `git ls-files`.split("\n")
|
15
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
|
+
s.require_paths = ["lib"]
|
18
|
+
|
19
|
+
['cucumber', 'aruba', 'childprocess'].each do |dependecy|
|
20
|
+
s.add_development_dependency dependecy
|
21
|
+
end
|
22
|
+
|
23
|
+
['sinatra', 'sass', 'coffee-script', 'haml'].each do |dependecy|
|
24
|
+
s.add_dependency dependecy
|
25
|
+
end
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tau
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Dmitry Zhlobo
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-05-04 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: cucumber
|
16
|
+
requirement: &13643180 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *13643180
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: aruba
|
27
|
+
requirement: &13641560 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *13641560
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: childprocess
|
38
|
+
requirement: &13640800 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *13640800
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: sinatra
|
49
|
+
requirement: &13702480 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *13702480
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: sass
|
60
|
+
requirement: &13701880 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *13701880
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: coffee-script
|
71
|
+
requirement: &13701240 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *13701240
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: haml
|
82
|
+
requirement: &13700140 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *13700140
|
91
|
+
description: tau provide you write web pages on haml, stylesheets on sass and scripts
|
92
|
+
on coffee.
|
93
|
+
email:
|
94
|
+
- dima.zhlobo@gmail.com
|
95
|
+
executables:
|
96
|
+
- tau
|
97
|
+
extensions: []
|
98
|
+
extra_rdoc_files: []
|
99
|
+
files:
|
100
|
+
- .gitignore
|
101
|
+
- Gemfile
|
102
|
+
- README.md
|
103
|
+
- Rakefile
|
104
|
+
- bin/tau
|
105
|
+
- features/making_projects.feature
|
106
|
+
- features/server.feature
|
107
|
+
- features/step_definitions/fs.rb
|
108
|
+
- features/step_definitions/network.rb
|
109
|
+
- features/support/cukegem.rb
|
110
|
+
- features/support/env.rb
|
111
|
+
- lib/tau.rb
|
112
|
+
- lib/tau/projecter.rb
|
113
|
+
- lib/tau/server.rb
|
114
|
+
- lib/tau/version.rb
|
115
|
+
- tau.gemspec
|
116
|
+
homepage: http://github.com/proghat/tau
|
117
|
+
licenses: []
|
118
|
+
post_install_message:
|
119
|
+
rdoc_options: []
|
120
|
+
require_paths:
|
121
|
+
- lib
|
122
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ! '>='
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
requirements: []
|
135
|
+
rubyforge_project:
|
136
|
+
rubygems_version: 1.8.15
|
137
|
+
signing_key:
|
138
|
+
specification_version: 3
|
139
|
+
summary: Tool for web designers want to use haml, sass, coffee-script and others.
|
140
|
+
test_files:
|
141
|
+
- features/making_projects.feature
|
142
|
+
- features/server.feature
|
143
|
+
- features/step_definitions/fs.rb
|
144
|
+
- features/step_definitions/network.rb
|
145
|
+
- features/support/cukegem.rb
|
146
|
+
- features/support/env.rb
|