tonic 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/.travis.yml +11 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +33 -0
- data/README.md +54 -0
- data/Rakefile +9 -0
- data/bin/tonic +12 -0
- data/lib/tonic.rb +65 -0
- data/lib/tonic/shell.rb +44 -0
- data/lib/tonic/version.rb +5 -0
- data/spec/tonic/fail_spec.rb +7 -0
- data/spec/tonic/tonic_spec.rb +0 -0
- data/template/Gemfile +12 -0
- data/template/Gemfile.lock +4 -0
- data/template/Rakefile +9 -0
- data/template/assets/coffee/application.coffee +0 -0
- data/template/assets/sass/application.css.sass +0 -0
- data/template/assets/templates/index.html.haml +0 -0
- data/template/assets/templates/index.html.slim +0 -0
- data/tonic.gemspec +24 -0
- metadata +91 -0
data/.travis.yml
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 1.8.7
|
4
|
+
- 1.9.2
|
5
|
+
- 1.9.3
|
6
|
+
- jruby-18mode # JRuby in 1.8 mode
|
7
|
+
- jruby-19mode # JRuby in 1.9 mode
|
8
|
+
- rbx-18mode
|
9
|
+
- rbx-19mode
|
10
|
+
# uncomment this line if your project needs to run something other than `rake`:
|
11
|
+
# script: bundle exec rspec spec
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
tonic (0.0.1)
|
5
|
+
github
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: http://rubygems.org/
|
9
|
+
specs:
|
10
|
+
addressable (2.2.7)
|
11
|
+
github (0.7.2)
|
12
|
+
highline (~> 1.6)
|
13
|
+
json_pure (~> 1.5.1)
|
14
|
+
launchy (~> 2.0.2)
|
15
|
+
text-format (= 1.0.0)
|
16
|
+
text-hyphen (= 1.0.0)
|
17
|
+
highline (1.6.11)
|
18
|
+
json_pure (1.5.4)
|
19
|
+
spruz (~> 0.2.8)
|
20
|
+
launchy (2.0.5)
|
21
|
+
addressable (~> 2.2.6)
|
22
|
+
rake (0.9.2.2)
|
23
|
+
spruz (0.2.13)
|
24
|
+
text-format (1.0.0)
|
25
|
+
text-hyphen (~> 1.0.0)
|
26
|
+
text-hyphen (1.0.0)
|
27
|
+
|
28
|
+
PLATFORMS
|
29
|
+
ruby
|
30
|
+
|
31
|
+
DEPENDENCIES
|
32
|
+
rake
|
33
|
+
tonic!
|
data/README.md
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
# Tonic gem — add some tonus for your github pages
|
2
|
+
|
3
|
+
## This gem not ready yet! I'll tell you here with travis-ci, when you can try it.
|
4
|
+
|
5
|
+
## I tell you - this is pre-beta. There are no tests!!! Watch it but don't use it yet ;)
|
6
|
+
|
7
|
+
### Build Status 
|
8
|
+
|
9
|
+
If you want to edit your github pages for your projects with Haml/Slim/Sass/Coffee - this gem for you
|
10
|
+
|
11
|
+
## An example of typical use
|
12
|
+
|
13
|
+
At first, if you don't want have mess with editing your gh-pages,
|
14
|
+
or you already have them and don't want to change something -
|
15
|
+
this gem not for you. Tell friends about it and forget about it until you change your mind.
|
16
|
+
|
17
|
+
You need to create github page for your gem/app/script. You had till today two options:
|
18
|
+
|
19
|
+
1. You can push 'Autogenerate github page' button in admin area of your repo
|
20
|
+
2. You can manualy create branch gh-pages, fill it with html content and push to github
|
21
|
+
|
22
|
+
Both of them very easy and in first option you can choose one of many beautiful themes for your page.
|
23
|
+
But if you want to change something in styles or html or js - you should write and edit files as is -
|
24
|
+
html in html, css in css, js in js.
|
25
|
+
|
26
|
+
## But we both know what we want!
|
27
|
+
|
28
|
+
We want to use all that sugar around this technologies. We want haml, we want sass and coffee.
|
29
|
+
And we don't want to create whole rake app manualy to make dreams true.
|
30
|
+
|
31
|
+
So I want to present you this gem. You should only install it:
|
32
|
+
|
33
|
+
```bash
|
34
|
+
$ gem install tonic
|
35
|
+
```
|
36
|
+
|
37
|
+
And then just two commands:
|
38
|
+
|
39
|
+
```bash
|
40
|
+
$ cd path/to/your/github/repo
|
41
|
+
$ tonic
|
42
|
+
```
|
43
|
+
|
44
|
+
This command will create for this git repo new branch gh-pages with tonic-template
|
45
|
+
and run `bundle install`.
|
46
|
+
|
47
|
+
Tonic-template contains inside directory assets, gemfile with required gems and rakefile.
|
48
|
+
|
49
|
+
## Rakefile contains two tasks: :build and :watch.
|
50
|
+
|
51
|
+
If you want just build your ready page in haml/sass/coffee from assets directory - run :build.
|
52
|
+
|
53
|
+
If you in development mode - run :watch and look at your files in public directory,
|
54
|
+
how they change when you change templates.
|
data/Rakefile
ADDED
data/bin/tonic
ADDED
data/lib/tonic.rb
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'github'
|
2
|
+
|
3
|
+
module Tonic
|
4
|
+
class << self
|
5
|
+
|
6
|
+
def activate
|
7
|
+
raise "I told you - it's not working yet. Bear a little patience"
|
8
|
+
if branch_exists?
|
9
|
+
raise 'You shall no pass. First you should delete gh-pages branch'
|
10
|
+
end
|
11
|
+
|
12
|
+
create_branch
|
13
|
+
remove_all_files
|
14
|
+
copy_template
|
15
|
+
commit_changes
|
16
|
+
end
|
17
|
+
|
18
|
+
def push_pages
|
19
|
+
raise "I told you - it's not working yet. Bear a little patience"
|
20
|
+
if in_gh_pages_branch?
|
21
|
+
sh 'git push -f origin gh-pages'
|
22
|
+
else
|
23
|
+
puts 'Forget about it bro'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def in_gh_pages_branch?
|
30
|
+
branches = sh('git branch')
|
31
|
+
branches.lines.any? { |it| it =~ /\* gh-pages/ }
|
32
|
+
end
|
33
|
+
|
34
|
+
def branch_exists?
|
35
|
+
branches = sh('git branch')
|
36
|
+
branches.lines.any? { |it| it =~ /gh-pages/ }
|
37
|
+
end
|
38
|
+
|
39
|
+
# TODO: Later I will think about how to do it through github-gem properly
|
40
|
+
def create_branch
|
41
|
+
sh 'git branch gh-pages'
|
42
|
+
sh 'git checkout gh-pages'
|
43
|
+
end
|
44
|
+
|
45
|
+
def remove_all_files
|
46
|
+
sh 'rm -rf ./*'
|
47
|
+
end
|
48
|
+
|
49
|
+
def commit_changes
|
50
|
+
sh "git add ."
|
51
|
+
sh "git commit -am 'Init github pages'"
|
52
|
+
end
|
53
|
+
|
54
|
+
def copy_template
|
55
|
+
path = File.expand_path('../../template', __FILE__)
|
56
|
+
puts path
|
57
|
+
sh "cp -r #{path}/* ./"
|
58
|
+
end
|
59
|
+
|
60
|
+
def sh(*command)
|
61
|
+
Tonic::Shell.run(*command)
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
data/lib/tonic/shell.rb
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# Implementation of sh from github-gem
|
2
|
+
# https://github.com/defunkt/github-gem
|
3
|
+
|
4
|
+
module Tonic
|
5
|
+
class Shell < String
|
6
|
+
|
7
|
+
attr_reader :error
|
8
|
+
attr_reader :out
|
9
|
+
|
10
|
+
def self.run(*command)
|
11
|
+
self.new(*command).run
|
12
|
+
end
|
13
|
+
|
14
|
+
def initialize(*command)
|
15
|
+
@command = command
|
16
|
+
end
|
17
|
+
|
18
|
+
def run
|
19
|
+
out = err = nil
|
20
|
+
Open3.popen3(*@command) do |_, pout, perr|
|
21
|
+
out = pout.read.strip
|
22
|
+
err = perr.read.strip
|
23
|
+
end
|
24
|
+
|
25
|
+
replace @error = err unless err.empty?
|
26
|
+
replace @out = out unless out.empty?
|
27
|
+
|
28
|
+
self
|
29
|
+
end
|
30
|
+
|
31
|
+
def command
|
32
|
+
@command.join(' ')
|
33
|
+
end
|
34
|
+
|
35
|
+
def error?
|
36
|
+
!!@error
|
37
|
+
end
|
38
|
+
|
39
|
+
def out?
|
40
|
+
!!@out
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
File without changes
|
data/template/Gemfile
ADDED
data/template/Rakefile
ADDED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/tonic.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "tonic/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "tonic"
|
7
|
+
s.version = Tonic::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ['gazay']
|
10
|
+
s.email = ['alex.gaziev@gmail.com']
|
11
|
+
s.homepage = "https://github.com/gazay/tonic"
|
12
|
+
s.summary = %q{Create github pages easy with Sass, Haml/Slim, Coffee.}
|
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
|
+
|
15
|
+
s.rubyforge_project = "tonic"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib", "bin"]
|
21
|
+
s.add_dependency "github"
|
22
|
+
|
23
|
+
s.add_development_dependency "rake"
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tonic
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- gazay
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-04-03 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: github
|
16
|
+
requirement: &70289778259320 !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: *70289778259320
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rake
|
27
|
+
requirement: &70289778258520 !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: *70289778258520
|
36
|
+
description: You don't need to write your github pages in html and css anymore - now
|
37
|
+
it's simple to use your favorite technologies with tonic!
|
38
|
+
email:
|
39
|
+
- alex.gaziev@gmail.com
|
40
|
+
executables:
|
41
|
+
- tonic
|
42
|
+
extensions: []
|
43
|
+
extra_rdoc_files: []
|
44
|
+
files:
|
45
|
+
- .travis.yml
|
46
|
+
- Gemfile
|
47
|
+
- Gemfile.lock
|
48
|
+
- README.md
|
49
|
+
- Rakefile
|
50
|
+
- bin/tonic
|
51
|
+
- lib/tonic.rb
|
52
|
+
- lib/tonic/shell.rb
|
53
|
+
- lib/tonic/version.rb
|
54
|
+
- spec/tonic/fail_spec.rb
|
55
|
+
- spec/tonic/tonic_spec.rb
|
56
|
+
- template/Gemfile
|
57
|
+
- template/Gemfile.lock
|
58
|
+
- template/Rakefile
|
59
|
+
- template/assets/coffee/application.coffee
|
60
|
+
- template/assets/sass/application.css.sass
|
61
|
+
- template/assets/templates/index.html.haml
|
62
|
+
- template/assets/templates/index.html.slim
|
63
|
+
- tonic.gemspec
|
64
|
+
homepage: https://github.com/gazay/tonic
|
65
|
+
licenses: []
|
66
|
+
post_install_message:
|
67
|
+
rdoc_options: []
|
68
|
+
require_paths:
|
69
|
+
- lib
|
70
|
+
- bin
|
71
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
|
+
none: false
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
requirements: []
|
84
|
+
rubyforge_project: tonic
|
85
|
+
rubygems_version: 1.8.17
|
86
|
+
signing_key:
|
87
|
+
specification_version: 3
|
88
|
+
summary: Create github pages easy with Sass, Haml/Slim, Coffee.
|
89
|
+
test_files:
|
90
|
+
- spec/tonic/fail_spec.rb
|
91
|
+
- spec/tonic/tonic_spec.rb
|