tonic 0.0.2 → 0.0.3
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/Gemfile.lock +1 -1
- data/README.md +59 -39
- data/lib/tonic.rb +8 -4
- data/lib/tonic/gh_pages.rb +25 -4
- data/lib/tonic/version.rb +1 -1
- data/spec/tonic/tonic_spec.rb +19 -0
- data/template/assets/sass/application.css.sass +1 -0
- data/template/assets/templates/index.html.haml +1 -1
- data/tonic.gemspec +4 -1
- metadata +28 -7
- data/template/assets/templates/index.html.slim +0 -0
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,35 +1,33 @@
|
|
1
|
-
# Tonic gem — add some tonus for your
|
1
|
+
# Tonic gem — add some tonus for development your gh-pages :)
|
2
2
|
|
3
3
|
### This is beta now
|
4
4
|
|
5
5
|
### Build Status 
|
6
6
|
|
7
|
-
|
8
|
-
and
|
9
|
-
THIS GEM FOR YOU
|
7
|
+
This gem supports [middleman](https://github.com/middleman/middleman)
|
8
|
+
and will support in near future [jekyll](https://github.com/mojombo/jekyll) for generate template of your site.
|
10
9
|
|
11
10
|
If you want to easily create custom gh-pages for your application,
|
12
11
|
and again - want to use for that the same technologies
|
12
|
+
|
13
13
|
THIS GEM TOTALY FOR YOU
|
14
14
|
|
15
|
+
If you want to create your simple static application,
|
16
|
+
and want to use for that sass-compass/haml/coffee/something
|
17
|
+
|
18
|
+
THIS GEM FOR YOU
|
19
|
+
|
15
20
|
## Why?
|
16
21
|
|
17
22
|
Because make html as html is too mainstream. Now you should know all
|
18
23
|
benefits of using haml, coffee and sass. And of course other template engines for
|
19
24
|
other or the same purposes. You should know and I think you love it.
|
20
25
|
|
21
|
-
|
22
|
-
|
23
|
-
Maybe I don't know something, but you sigh maybe about your
|
24
|
-
lovely haml/sass/coffee and go to do all this stuff like in nineteens.
|
25
|
-
|
26
|
-
Because for one single page you will not to run compass, compile each coffeescript and haml file.
|
27
|
-
You just sit and write pure html/css/js.
|
28
|
-
|
29
|
-
So I thought about it a little and made this gem.
|
26
|
+
There a lot of cool static site generators, from jekyll to this one :)
|
27
|
+
But no one give to you so simple ui (maybe middleman, but tonic knows how to do gh-pages branch right;)
|
30
28
|
|
31
|
-
|
32
|
-
|
29
|
+
You can choose with what template you want to develop your site:
|
30
|
+
tonic, middleman or jekyll (jekyll support not yet ready)
|
33
31
|
|
34
32
|
|
35
33
|
## How?
|
@@ -39,15 +37,48 @@ This gem have two functions inside:
|
|
39
37
|
1. tonic-template
|
40
38
|
2. tonic for gh-pages
|
41
39
|
|
42
|
-
Tonic-template
|
40
|
+
Tonic-template it is that thing for easy developing.
|
43
41
|
Tonic-template uses for it's work several gems, like template engines, rake and sprockets.
|
44
42
|
Sprockets make this template look like rails assets folder.
|
45
43
|
|
46
44
|
You don't need every time run some command in terminal or push somewhere.
|
47
45
|
You need just write `rake watch`
|
48
46
|
|
49
|
-
Tonic for gh-pages is simplier, because it uses only ruby-lang libraries like open3 and pathname,
|
50
|
-
and it's general purpose - is create new branch `gh-pages`,
|
47
|
+
Tonic for gh-pages is simplier, because it uses only ruby-lang libraries like open3 and pathname and dependent on jekyll and middleman,
|
48
|
+
and it's general purpose - is create new branch `gh-pages`, init there choosen template and run bundler if it's needed.
|
49
|
+
|
50
|
+
### Using tonic for gh-pages
|
51
|
+
|
52
|
+
You should be in your repo, for which you want to create gh-pages.
|
53
|
+
You shouldn't have in this repo this branch already.
|
54
|
+
So you just run:
|
55
|
+
|
56
|
+
```bash
|
57
|
+
$ gem install tonic
|
58
|
+
$ tonic [middleman|jekyll]
|
59
|
+
```
|
60
|
+
|
61
|
+
It will ask you - do you really want blahblahblah. You say `y` and there is it!
|
62
|
+
Will be created branch gh-pages, then tonic checkout you there and remove from there all (not dot-) files.
|
63
|
+
Then it will copy choosen template to this branch and run bundle install if it's needed.
|
64
|
+
|
65
|
+
And you can work with this template.
|
66
|
+
|
67
|
+
When you want to push your gh-pages branch to github, just write:
|
68
|
+
|
69
|
+
```bash
|
70
|
+
$ tonic push
|
71
|
+
```
|
72
|
+
|
73
|
+
Or oldschool:
|
74
|
+
|
75
|
+
```bash
|
76
|
+
$ git push -f origin gh-pages
|
77
|
+
```
|
78
|
+
|
79
|
+
Example you can see on [gh-pages for tonic](http://gazay.github.com/tonic)
|
80
|
+
|
81
|
+
And what inside template in [gh-pages branch](https://github.com/gazay/tonic/tree/gh-pages)
|
51
82
|
|
52
83
|
### Using tonic-template
|
53
84
|
|
@@ -74,37 +105,26 @@ Then you can do two things:
|
|
74
105
|
bundle exec rake watch
|
75
106
|
```
|
76
107
|
|
77
|
-
Later I will add comands with tonic, but now I tired :)
|
78
|
-
And I want to add comands to open needed files from terminal.
|
79
|
-
|
80
|
-
### Using tonic for gh-pages
|
81
|
-
|
82
|
-
You should be in your repo, for which you want to create gh-pages.
|
83
|
-
You shouldn't have in this repo this branch already.
|
84
|
-
So you just run:
|
85
|
-
|
86
|
-
```bash
|
87
|
-
$ gem install tonic
|
88
|
-
$ tonic
|
89
|
-
```
|
90
|
-
|
91
|
-
It will ask you - do you really want blahblahblah. You say `y` and there is it!
|
92
|
-
Will be created branch gh-pages, then you checkout there and remove from there all files.
|
93
|
-
Then tonic will copy tonic-template to this branch and run bundle install.
|
94
|
-
|
95
|
-
Then you just work with this template like with ordinary tonic-template.
|
96
|
-
|
97
108
|
## What?
|
98
109
|
|
99
|
-
In
|
110
|
+
In tonic used next gems for make it work:
|
100
111
|
|
101
112
|
[rake](https://github.com/jimweirich/rake)
|
113
|
+
|
102
114
|
[bundler](https://github.com/carlhuda/bundler)
|
115
|
+
|
103
116
|
[uglifier](https://github.com/lautis/uglifier)
|
117
|
+
|
104
118
|
[sprockets](https://github.com/sstephenson/sprockets)
|
119
|
+
|
105
120
|
[haml](https://github.com/nex3/haml)
|
121
|
+
|
106
122
|
[compass](https://github.com/chriseppstein/compass)
|
107
123
|
|
124
|
+
[middleman](https://github.com/middleman/middleman)
|
125
|
+
|
126
|
+
[jekyll](https://github.com/mojombo/jekyll)
|
127
|
+
|
108
128
|
Lot of code for rakefile of template and for octocat in test page
|
109
129
|
I get from one-page project of my friend @ai [easings.net](https://github.com/ai/easings.net)
|
110
130
|
|
data/lib/tonic.rb
CHANGED
@@ -13,12 +13,12 @@ module Tonic
|
|
13
13
|
private
|
14
14
|
|
15
15
|
def deal_with_args(args)
|
16
|
-
if args
|
17
|
-
Tonic::GhPages.
|
16
|
+
if want_to_push?(args)
|
17
|
+
Tonic::GhPages.push_pages
|
18
|
+
elsif want_gh_pages?
|
19
|
+
Tonic::GhPages.activate(args[0])
|
18
20
|
elsif want_to_create?(args)
|
19
21
|
Tonic::Template.create args[1]
|
20
|
-
elsif want_to_push?(args)
|
21
|
-
Tonic::GhPages.push_pages
|
22
22
|
else
|
23
23
|
raise ArgumentError.new 'Strange argument you sent to tonic'
|
24
24
|
end
|
@@ -32,5 +32,9 @@ module Tonic
|
|
32
32
|
args[0] == 'push'
|
33
33
|
end
|
34
34
|
|
35
|
+
def wand_gh_pages?
|
36
|
+
args.empty? or %w(middleman jekyll).include?(args[0])
|
37
|
+
end
|
38
|
+
|
35
39
|
end
|
36
40
|
end
|
data/lib/tonic/gh_pages.rb
CHANGED
@@ -2,8 +2,8 @@ module Tonic
|
|
2
2
|
module GhPages
|
3
3
|
class << self
|
4
4
|
|
5
|
-
def activate
|
6
|
-
gh_pages
|
5
|
+
def activate(template = nil)
|
6
|
+
gh_pages(template)
|
7
7
|
end
|
8
8
|
|
9
9
|
def push_pages
|
@@ -21,7 +21,9 @@ module Tonic
|
|
21
21
|
branches.lines.any? { |it| it =~ /\* gh-pages/ }
|
22
22
|
end
|
23
23
|
|
24
|
-
def gh_pages
|
24
|
+
def gh_pages(template = nil)
|
25
|
+
are_you_in_repo?
|
26
|
+
|
25
27
|
if branch_exists?
|
26
28
|
abort 'You shall no pass. First you should delete gh-pages branch'
|
27
29
|
end
|
@@ -31,11 +33,30 @@ module Tonic
|
|
31
33
|
check_status
|
32
34
|
create_branch
|
33
35
|
remove_all_files
|
34
|
-
|
36
|
+
create template
|
35
37
|
commit_changes
|
36
38
|
end
|
37
39
|
end
|
38
40
|
|
41
|
+
def create(template = nil)
|
42
|
+
case template
|
43
|
+
when 'middleman'
|
44
|
+
sh 'middleman init ./'
|
45
|
+
when 'jekyll'
|
46
|
+
puts 'I will add integration with Jekyll later, now I will install tonic-template'
|
47
|
+
Template.create
|
48
|
+
else
|
49
|
+
Template.create
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def are_you_in_repo?
|
54
|
+
check = sh('git status').to_s
|
55
|
+
if check =~ /Not a git repository/
|
56
|
+
abort "You are not in git repo. If you want to create tonic-template write `tonic new my_app`"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
39
60
|
def branch_exists?
|
40
61
|
branches = sh('git branch')
|
41
62
|
branches.lines.any? { |it| it =~ /gh-pages/ }
|
data/lib/tonic/version.rb
CHANGED
data/spec/tonic/tonic_spec.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'tonic'
|
2
|
+
|
3
|
+
describe Tonic do
|
4
|
+
context 'Tonic will' do
|
5
|
+
|
6
|
+
before :all do
|
7
|
+
system 'cd spec/dummy_git_repo'
|
8
|
+
end
|
9
|
+
|
10
|
+
it "" do
|
11
|
+
Tonic.activate([]).should =~ /not in root of your repo/
|
12
|
+
end
|
13
|
+
|
14
|
+
after :all do
|
15
|
+
system 'cd ...'
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
data/tonic.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.authors = ['gazay']
|
10
10
|
s.email = ['alex.gaziev@gmail.com']
|
11
11
|
s.homepage = "https://github.com/gazay/tonic"
|
12
|
-
s.summary = %q{Create
|
12
|
+
s.summary = %q{Create one-page apps easy with Sass, Haml/Compass, Coffee.}
|
13
13
|
s.description = %q{You don't need to write your github pages in html and css anymore - now it's simple to use your favorite technologies with tonic!}
|
14
14
|
|
15
15
|
s.rubyforge_project = "tonic"
|
@@ -19,6 +19,9 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib", "bin"]
|
21
21
|
|
22
|
+
s.add_dependency "middleman"
|
23
|
+
s.add_dependency "jekyll"
|
24
|
+
|
22
25
|
s.add_development_dependency "rspec"
|
23
26
|
s.add_development_dependency "rake"
|
24
27
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tonic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,9 +11,31 @@ bindir: bin
|
|
11
11
|
cert_chain: []
|
12
12
|
date: 2012-04-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: middleman
|
16
|
+
requirement: &70281059243480 !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: *70281059243480
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: jekyll
|
27
|
+
requirement: &70281059241580 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70281059241580
|
14
36
|
- !ruby/object:Gem::Dependency
|
15
37
|
name: rspec
|
16
|
-
requirement: &
|
38
|
+
requirement: &70281059239400 !ruby/object:Gem::Requirement
|
17
39
|
none: false
|
18
40
|
requirements:
|
19
41
|
- - ! '>='
|
@@ -21,10 +43,10 @@ dependencies:
|
|
21
43
|
version: '0'
|
22
44
|
type: :development
|
23
45
|
prerelease: false
|
24
|
-
version_requirements: *
|
46
|
+
version_requirements: *70281059239400
|
25
47
|
- !ruby/object:Gem::Dependency
|
26
48
|
name: rake
|
27
|
-
requirement: &
|
49
|
+
requirement: &70281059238320 !ruby/object:Gem::Requirement
|
28
50
|
none: false
|
29
51
|
requirements:
|
30
52
|
- - ! '>='
|
@@ -32,7 +54,7 @@ dependencies:
|
|
32
54
|
version: '0'
|
33
55
|
type: :development
|
34
56
|
prerelease: false
|
35
|
-
version_requirements: *
|
57
|
+
version_requirements: *70281059238320
|
36
58
|
description: You don't need to write your github pages in html and css anymore - now
|
37
59
|
it's simple to use your favorite technologies with tonic!
|
38
60
|
email:
|
@@ -69,7 +91,6 @@ files:
|
|
69
91
|
- template/assets/sass/_base.sass
|
70
92
|
- template/assets/sass/application.css.sass
|
71
93
|
- template/assets/templates/index.html.haml
|
72
|
-
- template/assets/templates/index.html.slim
|
73
94
|
- template/assets/templates/layout/layout.html.haml
|
74
95
|
- tonic.gemspec
|
75
96
|
homepage: https://github.com/gazay/tonic
|
@@ -96,7 +117,7 @@ rubyforge_project: tonic
|
|
96
117
|
rubygems_version: 1.8.17
|
97
118
|
signing_key:
|
98
119
|
specification_version: 3
|
99
|
-
summary: Create
|
120
|
+
summary: Create one-page apps easy with Sass, Haml/Compass, Coffee.
|
100
121
|
test_files:
|
101
122
|
- spec/tonic/fail_spec.rb
|
102
123
|
- spec/tonic/tonic_spec.rb
|
File without changes
|