tonka 0.0.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.
Files changed (3) hide show
  1. data/bin/tonka +5 -0
  2. data/lib/tonka.rb +112 -0
  3. metadata +48 -0
data/bin/tonka ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'tonka'
4
+ options = ARGV
5
+ Tonka.new(options)
data/lib/tonka.rb ADDED
@@ -0,0 +1,112 @@
1
+ # make index page.
2
+ class Tonka
3
+
4
+ attr_accessor :options, :site_name, :action
5
+
6
+ def initialize(options=[])
7
+ @options = options || ARGV
8
+ if !@options[0].nil?
9
+
10
+ parse_options(@options)
11
+
12
+ else
13
+ display_usage
14
+ end
15
+ end
16
+
17
+ def make_directories(site_name)
18
+ if !Dir.exist? site_name
19
+ Dir.mkdir site_name
20
+ Dir.mkdir "#{site_name}/stylesheets"
21
+ Dir.mkdir "#{site_name}/javascripts"
22
+
23
+ puts "#{site_name} was successfully created!"
24
+ else
25
+ puts "a '#{site_name}' directory already exists!"
26
+ display_usage
27
+ end
28
+ end
29
+
30
+ def make_files(site_name)
31
+ Tonka::HTML.new(site_name,@options)
32
+ Tonka::CSS.new(site_name,@options)
33
+ Tonka::JS.new(site_name,@options)
34
+ end
35
+
36
+ def parse_options(options=[])
37
+
38
+ @action = @options[0]
39
+
40
+ case @action
41
+
42
+ when "build"
43
+ #handles the 'build' command
44
+
45
+ @site_name = @options[1] || 'sites'
46
+
47
+ jquery = true if @options[2] == '-jquery'
48
+ css_reset = true if @options[2] == '-jquery'
49
+
50
+ make_directories(@site_name)
51
+ make_files(@site_name)
52
+
53
+ when "destroy"
54
+ #handles the 'build' command
55
+
56
+ @site_name = @options[1] || 'sites'
57
+
58
+ system("rm -rf #{@site_name}")
59
+
60
+ when "add"
61
+ #handles the 'build' command
62
+
63
+ else
64
+ puts "Oops! I don't know that one."
65
+ display_usage
66
+ end
67
+ end
68
+
69
+ def display_usage
70
+ puts "usage: tonka <action> SITE_NAME [-options] BODY_TEXT\n\nThe most common actions:\n\nbuild\s\t\t\tbuilds a basic static site with the name passed in as SITE_NAME\n\nThe most common options:\n\n-jquery \t\tadds jquery to index.html file.\n-css_reset \t\tadds css resetters to style.css file."
71
+ end
72
+
73
+ end
74
+
75
+ class Tonka::HTML
76
+ #CSS processing module
77
+ attr_accessor :layout
78
+
79
+ def initialize(site_name,options=[])
80
+ site_name = site_name
81
+ body = options[3] || ""
82
+ jquery = true if options[2] == "-jquery"
83
+ index_html = File.new("#{site_name}/index.html","w")
84
+ @layout = "<!DOCTYPE html>\n<html>\n<head>\n<title>#{site_name}</title>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/stylesheets/style.css\" />\n<script type=\"text/javascripts\" src=\"/javascripts/scripts.js\"></script>#{ "\n<script type=\"text/javascripts\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js\"></script>" if jquery == true }\n</head>\n<body>\n#{ body+"\n" }\</body>\n</html>"
85
+ index_html.puts @layout
86
+ index_html.close
87
+ end
88
+ end
89
+
90
+ class Tonka::CSS
91
+ #CSS processing module
92
+ attr_accessor :layout
93
+
94
+ def initialize(site_name,options=[])
95
+ style_css = File.new("#{site_name}/stylesheets/style.css","w")
96
+ style_css_content = "/* html5doctor.com Reset v1.6.1 - http://cssreset.com */\nhtml,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}"
97
+ style_css.puts style_css_content
98
+ style_css.close
99
+ end
100
+ end
101
+
102
+ class Tonka::JS
103
+ #CSS processing module
104
+ attr_accessor :layout
105
+
106
+ def initialize(site_name,options=[])
107
+ scripts_js = File.new("#{site_name}/javascripts/scripts.js","w")
108
+ scripts_js_content = "console.log('feed me javascripts')"
109
+ scripts_js.puts scripts_js_content
110
+ scripts_js.close
111
+ end
112
+ end
metadata ADDED
@@ -0,0 +1,48 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tonka
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Omar Delarosa
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-09-07 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: A static site builder.
15
+ email: thedelarosa@gmail.com
16
+ executables:
17
+ - tonka
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/tonka.rb
22
+ - bin/tonka
23
+ homepage: http://rubygems.org/gems/tonka
24
+ licenses:
25
+ - MIT
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ requirements: []
43
+ rubyforge_project:
44
+ rubygems_version: 1.8.25
45
+ signing_key:
46
+ specification_version: 3
47
+ summary: Tonka!
48
+ test_files: []