lepidoptera 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY.md +7 -0
- data/Rakefile +1 -1
- data/heroku_generators/sinatra/INFO +9 -7
- data/lepidoptera.gemspec +26 -4
- data/lib/base.rb +2 -1
- data/lib/butterfly.rb +1 -1
- data/sinatra_generators/base/INFO +20 -0
- data/sinatra_generators/base/base_generator.rb +62 -0
- data/sinatra_generators/base/templates/Gemfile +10 -0
- data/sinatra_generators/base/templates/app.rb +30 -0
- data/sinatra_generators/base/templates/config.ru +2 -0
- data/sinatra_generators/base/templates/public/css/main.css +7 -0
- data/sinatra_generators/base/templates/public/js/app.js +5 -0
- data/sinatra_generators/base/templates/views/index.haml +2 -0
- data/sinatra_generators/base/templates/views/layouts/default.haml +21 -0
- data/sinatra_generators/base/templates/views/style.sass +35 -0
- data/sinatra_generators/datamapper/INFO +20 -0
- data/sinatra_generators/datamapper/datamapper_generator.rb +65 -0
- data/sinatra_generators/datamapper/templates/Gemfile +16 -0
- data/sinatra_generators/datamapper/templates/app.rb +44 -0
- data/sinatra_generators/datamapper/templates/config/database.rb +10 -0
- data/sinatra_generators/datamapper/templates/config.ru +2 -0
- data/sinatra_generators/datamapper/templates/models.rb +16 -0
- data/sinatra_generators/datamapper/templates/public/css/main.css +7 -0
- data/sinatra_generators/datamapper/templates/public/js/app.js +5 -0
- data/sinatra_generators/datamapper/templates/views/index.haml +9 -0
- data/sinatra_generators/datamapper/templates/views/layouts/default.haml +21 -0
- data/sinatra_generators/datamapper/templates/views/style.sass +43 -0
- metadata +26 -4
data/HISTORY.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## Version 0.3.0, released 08.11.2010
|
2
|
+
|
3
|
+
Lepidoptera allows now to generate a stub for a new code generator in a dot-folder.
|
4
|
+
|
5
|
+
* [ADD] create a generator stub with the --new option.
|
6
|
+
|
7
|
+
|
1
8
|
## Version 0.2.0, released 07.11.2010
|
2
9
|
|
3
10
|
Due to a naming conflict with [an other project][1], I changed the name of the project and of the gem from __butterfly__ to __lepidoptera__, which is etymological the same.
|
data/Rakefile
CHANGED
@@ -11,7 +11,7 @@ begin
|
|
11
11
|
gemspec.name = "lepidoptera"
|
12
12
|
gemspec.version = Butterfly::VERSION
|
13
13
|
gemspec.summary = "a life-enhancing code generator for everyday use"
|
14
|
-
gemspec.description = "Lepidoptera is a
|
14
|
+
gemspec.description = "Lepidoptera is a simple and easy to extend code generator for common every day projects."
|
15
15
|
gemspec.email = "thomduerr@gmail.com"
|
16
16
|
gemspec.homepage = "http://github.com/thomd/lepidoptera/"
|
17
17
|
gemspec.authors = ["Thomas Duerr"]
|
@@ -1,10 +1,12 @@
|
|
1
|
-
|
2
|
-
deploy sinatra project on heroku
|
1
|
+
======================================
|
2
|
+
deploy sinatra project on heroku:
|
3
3
|
|
4
4
|
<% if !gitinit then %>
|
5
|
-
|
6
|
-
|
5
|
+
git init
|
6
|
+
[do your work...]
|
7
7
|
<% end %>
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
heroku create <%= name %>
|
9
|
+
git push heroku master
|
10
|
+
heroku open
|
11
|
+
======================================
|
12
|
+
|
data/lepidoptera.gemspec
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{lepidoptera}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Thomas Duerr"]
|
12
|
-
s.date = %q{2010-11-
|
12
|
+
s.date = %q{2010-11-19}
|
13
13
|
s.default_executable = %q{lep}
|
14
|
-
s.description = %q{Lepidoptera is a
|
14
|
+
s.description = %q{Lepidoptera is a simple and easy to extend code generator for common every day projects.}
|
15
15
|
s.email = %q{thomduerr@gmail.com}
|
16
16
|
s.executables = ["lep"]
|
17
17
|
s.extra_rdoc_files = [
|
@@ -48,7 +48,29 @@ Gem::Specification.new do |s|
|
|
48
48
|
"lib/stub_generators/stub/stub_generator.rb",
|
49
49
|
"lib/stub_generators/stub/templates/generator-type_INFO",
|
50
50
|
"lib/stub_generators/stub/templates/generator-type_README.txt",
|
51
|
-
"lib/stub_generators/stub/templates/generator-type_generator.rb"
|
51
|
+
"lib/stub_generators/stub/templates/generator-type_generator.rb",
|
52
|
+
"sinatra_generators/base/INFO",
|
53
|
+
"sinatra_generators/base/base_generator.rb",
|
54
|
+
"sinatra_generators/base/templates/Gemfile",
|
55
|
+
"sinatra_generators/base/templates/app.rb",
|
56
|
+
"sinatra_generators/base/templates/config.ru",
|
57
|
+
"sinatra_generators/base/templates/public/css/main.css",
|
58
|
+
"sinatra_generators/base/templates/public/js/app.js",
|
59
|
+
"sinatra_generators/base/templates/views/index.haml",
|
60
|
+
"sinatra_generators/base/templates/views/layouts/default.haml",
|
61
|
+
"sinatra_generators/base/templates/views/style.sass",
|
62
|
+
"sinatra_generators/datamapper/INFO",
|
63
|
+
"sinatra_generators/datamapper/datamapper_generator.rb",
|
64
|
+
"sinatra_generators/datamapper/templates/Gemfile",
|
65
|
+
"sinatra_generators/datamapper/templates/app.rb",
|
66
|
+
"sinatra_generators/datamapper/templates/config.ru",
|
67
|
+
"sinatra_generators/datamapper/templates/config/database.rb",
|
68
|
+
"sinatra_generators/datamapper/templates/models.rb",
|
69
|
+
"sinatra_generators/datamapper/templates/public/css/main.css",
|
70
|
+
"sinatra_generators/datamapper/templates/public/js/app.js",
|
71
|
+
"sinatra_generators/datamapper/templates/views/index.haml",
|
72
|
+
"sinatra_generators/datamapper/templates/views/layouts/default.haml",
|
73
|
+
"sinatra_generators/datamapper/templates/views/style.sass"
|
52
74
|
]
|
53
75
|
s.homepage = %q{http://github.com/thomd/lepidoptera/}
|
54
76
|
s.rdoc_options = ["--charset=UTF-8"]
|
data/lib/base.rb
CHANGED
@@ -4,7 +4,7 @@ module Butterfly
|
|
4
4
|
# extend Base class wwith base functionality for all butterfly generators
|
5
5
|
class Base < RubiGen::Base
|
6
6
|
|
7
|
-
attr_reader :name, :author, :gitinit
|
7
|
+
attr_reader :name, :author, :gitinit, :date
|
8
8
|
|
9
9
|
def initialize(runtime_args, runtime_options = {})
|
10
10
|
super
|
@@ -12,6 +12,7 @@ module Butterfly
|
|
12
12
|
@name = base_name
|
13
13
|
@author = ENV['USER']
|
14
14
|
@gitinit = runtime_options[:gitinit]
|
15
|
+
@date = Time.now.strftime("%Y-%m-%d")
|
15
16
|
end
|
16
17
|
|
17
18
|
# do some final things after generation
|
data/lib/butterfly.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
=====================================================
|
2
|
+
install gems:
|
3
|
+
$ bundle install
|
4
|
+
|
5
|
+
start sinatra application on localhost:
|
6
|
+
$ rackup config.rb
|
7
|
+
|
8
|
+
deploy sinatra project on heroku:
|
9
|
+
<% if !gitinit then %>
|
10
|
+
$ git init
|
11
|
+
[do your work...]
|
12
|
+
<% end %>
|
13
|
+
$ heroku create <%= name %>
|
14
|
+
$ git push heroku master
|
15
|
+
$ heroku open
|
16
|
+
======================================================
|
17
|
+
Documentation can be found at http://www.sinatrarb.com
|
18
|
+
|
19
|
+
|
20
|
+
|
@@ -0,0 +1,62 @@
|
|
1
|
+
class BaseGenerator < Butterfly::Base
|
2
|
+
|
3
|
+
def manifest
|
4
|
+
record do |m|
|
5
|
+
|
6
|
+
# Create a directory including any missing parent directories.
|
7
|
+
# Always skips directories which exist.
|
8
|
+
m.directory "public/css"
|
9
|
+
m.directory "public/images"
|
10
|
+
m.directory "public/js"
|
11
|
+
m.directory "views/layouts"
|
12
|
+
|
13
|
+
# Generate a file using an ERuby template.
|
14
|
+
# Looks up and evaluates a template by name and writes the result.
|
15
|
+
#
|
16
|
+
# The ERB template uses explicit trim mode to best control the
|
17
|
+
# proliferation of whitespace in generated code. <%- trims leading
|
18
|
+
# whitespace; -%> trims trailing whitespace including one newline.
|
19
|
+
#
|
20
|
+
# A hash of template options may be passed as the last argument.
|
21
|
+
# The options accepted by the file are accepted as well as :assigns,
|
22
|
+
# a hash of variable bindings. Example:
|
23
|
+
# template 'foo', 'bar', :assigns => { :action => 'view' }
|
24
|
+
#
|
25
|
+
# Template is implemented in terms of file. It calls file with a
|
26
|
+
# block which takes a file handle and returns its rendered contents.
|
27
|
+
m.template "app.rb", "#{@name}_app.rb"
|
28
|
+
|
29
|
+
m.template_copy_each %w(
|
30
|
+
config.ru
|
31
|
+
views/layouts/default.haml
|
32
|
+
)
|
33
|
+
|
34
|
+
# Copy a file from source to destination with collision checking.
|
35
|
+
#
|
36
|
+
# The file_options hash accepts :chmod and :shebang and :collision options.
|
37
|
+
# :chmod sets the permissions of the destination file:
|
38
|
+
# file 'config/empty.log', 'log/test.log', :chmod => 0664
|
39
|
+
# :shebang sets the #!/usr/bin/ruby line for scripts
|
40
|
+
# file 'bin/generate.rb', 'script/generate', :chmod => 0755, :shebang => '/usr/bin/env ruby'
|
41
|
+
# :collision sets the collision option only for the destination file:
|
42
|
+
# file 'settings/server.yml', 'config/server.yml', :collision => :skip
|
43
|
+
#
|
44
|
+
# Collisions are handled by checking whether the destination file
|
45
|
+
# exists and either skipping the file, forcing overwrite, or asking
|
46
|
+
# the user what to do.
|
47
|
+
# m.file "models.rb", "models.rb"
|
48
|
+
|
49
|
+
# Copy files from source to destination using the same path and name
|
50
|
+
m.file_copy_each %w(
|
51
|
+
Gemfile
|
52
|
+
public/css/main.css
|
53
|
+
public/js/app.js
|
54
|
+
views/index.haml
|
55
|
+
views/style.sass
|
56
|
+
)
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'sinatra/base'
|
3
|
+
require 'haml'
|
4
|
+
require 'sass'
|
5
|
+
|
6
|
+
class <%= name.camelize %>App < Sinatra::Base
|
7
|
+
|
8
|
+
set :root, File.dirname(__FILE__)
|
9
|
+
set :public, Proc.new { File.join(root, "public") }
|
10
|
+
set :views, Proc.new { File.join(root, "views") }
|
11
|
+
set :haml, :format => :html5, :layout => :'layouts/default'
|
12
|
+
set :sass, :style => :expanded
|
13
|
+
enable :sessions
|
14
|
+
|
15
|
+
helpers do
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
get '/' do
|
20
|
+
haml :index
|
21
|
+
end
|
22
|
+
|
23
|
+
# stylesheet
|
24
|
+
get '/style.css' do
|
25
|
+
headers 'Content-Type' => 'text/css; charset=utf-8'
|
26
|
+
sass :style
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/* reset.css */
|
2
|
+
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}
|
3
|
+
article,aside,dialog,figure,footer,header,nav,section{display:block;margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
|
4
|
+
|
5
|
+
/* base.css */
|
6
|
+
body{font:13px/1.5 'Helvetica Neue',Arial,sans-serif}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}li{margin-left:30px}p,dl,hr,h1,h2,h3,h4,h5,h6,ol,ul,pre,table,address,fieldset{margin-bottom:20px}
|
7
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
!!!
|
2
|
+
%html{:lang => "en"}
|
3
|
+
%head
|
4
|
+
%meta{:charset => "UTF-8"}/
|
5
|
+
|
6
|
+
%title <%= name %>
|
7
|
+
|
8
|
+
%link{:rel => 'stylesheet', :href => "/css/main.css"}
|
9
|
+
%link{:rel => 'stylesheet', :href => "/style.css"}
|
10
|
+
|
11
|
+
%script{:src => "http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"}
|
12
|
+
%script{:src => "/js/app.js"}
|
13
|
+
|
14
|
+
%body
|
15
|
+
%section
|
16
|
+
%header
|
17
|
+
%h1 <%= name.camelize %>
|
18
|
+
%nav
|
19
|
+
%a{:href => '/'} home
|
20
|
+
= yield
|
21
|
+
%footer <%= date %>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
$viewport_width: 960px
|
2
|
+
$pad: 10px
|
3
|
+
$default_rounding: 6px
|
4
|
+
|
5
|
+
=rounding($rounding: $default_rounding)
|
6
|
+
-moz-border-radius: $rounding
|
7
|
+
-webkit-border-radius: $rounding
|
8
|
+
border-radius: $rounding
|
9
|
+
|
10
|
+
|
11
|
+
section
|
12
|
+
width: $viewport_width
|
13
|
+
margin: 10px auto
|
14
|
+
header
|
15
|
+
background: #EEE
|
16
|
+
float: left
|
17
|
+
width: $viewport_width - 2*$pad
|
18
|
+
padding: $pad
|
19
|
+
+rounding
|
20
|
+
nav
|
21
|
+
float: right
|
22
|
+
margin-top: 6px
|
23
|
+
a
|
24
|
+
font-size: 16px
|
25
|
+
color: #0088FF
|
26
|
+
h1
|
27
|
+
float: left
|
28
|
+
margin: 0
|
29
|
+
p
|
30
|
+
clear: both
|
31
|
+
padding: $pad
|
32
|
+
footer
|
33
|
+
background: #EEE
|
34
|
+
padding: $pad
|
35
|
+
+rounding
|
@@ -0,0 +1,20 @@
|
|
1
|
+
=====================================================
|
2
|
+
install gems:
|
3
|
+
$ bundle install
|
4
|
+
|
5
|
+
start sinatra application on localhost:
|
6
|
+
$ rackup config.rb
|
7
|
+
|
8
|
+
deploy sinatra project on heroku:
|
9
|
+
<% if !gitinit then %>
|
10
|
+
$ git init
|
11
|
+
[do your work...]
|
12
|
+
<% end %>
|
13
|
+
$ heroku create <%= name %>
|
14
|
+
$ git push heroku master
|
15
|
+
$ heroku open
|
16
|
+
======================================================
|
17
|
+
Documentation can be found at
|
18
|
+
http://www.sinatrarb.com
|
19
|
+
http://datamapper.org
|
20
|
+
|
@@ -0,0 +1,65 @@
|
|
1
|
+
class DatamapperGenerator < Butterfly::Base
|
2
|
+
|
3
|
+
def manifest
|
4
|
+
record do |m|
|
5
|
+
|
6
|
+
# Create a directory including any missing parent directories.
|
7
|
+
# Always skips directories which exist.
|
8
|
+
m.directory "config"
|
9
|
+
m.directory "public/css"
|
10
|
+
m.directory "public/images"
|
11
|
+
m.directory "public/js"
|
12
|
+
m.directory "views/layouts"
|
13
|
+
|
14
|
+
# Generate a file using an ERuby template.
|
15
|
+
# Looks up and evaluates a template by name and writes the result.
|
16
|
+
#
|
17
|
+
# The ERB template uses explicit trim mode to best control the
|
18
|
+
# proliferation of whitespace in generated code. <%- trims leading
|
19
|
+
# whitespace; -%> trims trailing whitespace including one newline.
|
20
|
+
#
|
21
|
+
# A hash of template options may be passed as the last argument.
|
22
|
+
# The options accepted by the file are accepted as well as :assigns,
|
23
|
+
# a hash of variable bindings. Example:
|
24
|
+
# template 'foo', 'bar', :assigns => { :action => 'view' }
|
25
|
+
#
|
26
|
+
# Template is implemented in terms of file. It calls file with a
|
27
|
+
# block which takes a file handle and returns its rendered contents.
|
28
|
+
m.template "app.rb", "#{@name}_app.rb"
|
29
|
+
|
30
|
+
m.template_copy_each %w(
|
31
|
+
config.ru
|
32
|
+
views/layouts/default.haml
|
33
|
+
config/database.rb
|
34
|
+
)
|
35
|
+
|
36
|
+
# Copy a file from source to destination with collision checking.
|
37
|
+
#
|
38
|
+
# The file_options hash accepts :chmod and :shebang and :collision options.
|
39
|
+
# :chmod sets the permissions of the destination file:
|
40
|
+
# file 'config/empty.log', 'log/test.log', :chmod => 0664
|
41
|
+
# :shebang sets the #!/usr/bin/ruby line for scripts
|
42
|
+
# file 'bin/generate.rb', 'script/generate', :chmod => 0755, :shebang => '/usr/bin/env ruby'
|
43
|
+
# :collision sets the collision option only for the destination file:
|
44
|
+
# file 'settings/server.yml', 'config/server.yml', :collision => :skip
|
45
|
+
#
|
46
|
+
# Collisions are handled by checking whether the destination file
|
47
|
+
# exists and either skipping the file, forcing overwrite, or asking
|
48
|
+
# the user what to do.
|
49
|
+
# m.file "models.rb", "models.rb"
|
50
|
+
|
51
|
+
# Copy files from source to destination using the same path and name
|
52
|
+
m.file_copy_each %w(
|
53
|
+
models.rb
|
54
|
+
Gemfile
|
55
|
+
public/css/main.css
|
56
|
+
public/js/app.js
|
57
|
+
views/index.haml
|
58
|
+
views/style.sass
|
59
|
+
)
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# All Environment
|
4
|
+
gem "haml", "3.0.23"
|
5
|
+
gem "sinatra", "1.1.0"
|
6
|
+
gem "dm-core", "1.0.2"
|
7
|
+
gem "dm-validations", "1.0.2"
|
8
|
+
gem "dm-sqlite-adapter", "1.0.2"
|
9
|
+
gem "dm-migrations", "1.0.2"
|
10
|
+
gem "data_objects", "0.10.2"
|
11
|
+
gem "do_sqlite3", "0.10.2"
|
12
|
+
|
13
|
+
# Development Environment
|
14
|
+
group :development do
|
15
|
+
# gem 'thin', "1.2.7"
|
16
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'sinatra/base'
|
3
|
+
require File.dirname(__FILE__) + "/config/database"
|
4
|
+
require 'haml'
|
5
|
+
require 'sass'
|
6
|
+
|
7
|
+
class <%= name.camelize %>App < Sinatra::Base
|
8
|
+
|
9
|
+
set :root, File.dirname(__FILE__)
|
10
|
+
set :public, Proc.new { File.join(root, "public") }
|
11
|
+
set :views, Proc.new { File.join(root, "views") }
|
12
|
+
set :haml, :format => :html5, :layout => :'layouts/default'
|
13
|
+
set :sass, :style => :expanded
|
14
|
+
enable :sessions
|
15
|
+
|
16
|
+
helpers do
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
get '/' do
|
21
|
+
@items = Item.all
|
22
|
+
haml :index
|
23
|
+
end
|
24
|
+
|
25
|
+
post '/create' do
|
26
|
+
Item.create(
|
27
|
+
:item => params[:item],
|
28
|
+
:created_at => Time.now
|
29
|
+
)
|
30
|
+
redirect '/'
|
31
|
+
end
|
32
|
+
|
33
|
+
get '/delete/:id' do
|
34
|
+
Item.get(params[:id]).destroy
|
35
|
+
redirect '/'
|
36
|
+
end
|
37
|
+
|
38
|
+
# stylesheet
|
39
|
+
get '/style.css' do
|
40
|
+
headers 'Content-Type' => 'text/css; charset=utf-8'
|
41
|
+
sass :style
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# data-mapper models
|
2
|
+
#
|
3
|
+
# for documentation: http://datamapper.org/getting-started
|
4
|
+
#
|
5
|
+
require 'dm-core'
|
6
|
+
require 'dm-validations'
|
7
|
+
|
8
|
+
class Item
|
9
|
+
include DataMapper::Resource
|
10
|
+
|
11
|
+
property :id, Serial
|
12
|
+
property :item, String
|
13
|
+
property :created_at, DateTime
|
14
|
+
|
15
|
+
validates_presence_of :item
|
16
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/* reset.css */
|
2
|
+
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}
|
3
|
+
article,aside,dialog,figure,footer,header,nav,section{display:block;margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
|
4
|
+
|
5
|
+
/* base.css */
|
6
|
+
body{font:13px/1.5 'Helvetica Neue',Arial,sans-serif}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}li{margin-left:30px}p,dl,hr,h1,h2,h3,h4,h5,h6,ol,ul,pre,table,address,fieldset{margin-bottom:20px}
|
7
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
!!!
|
2
|
+
%html{:lang => "en"}
|
3
|
+
%head
|
4
|
+
%meta{:charset => "UTF-8"}/
|
5
|
+
|
6
|
+
%title <%= name %>
|
7
|
+
|
8
|
+
%link{:rel => 'stylesheet', :href => "/css/main.css"}
|
9
|
+
%link{:rel => 'stylesheet', :href => "/style.css"}
|
10
|
+
|
11
|
+
%script{:src => "http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"}
|
12
|
+
%script{:src => "/js/app.js"}
|
13
|
+
|
14
|
+
%body
|
15
|
+
%section
|
16
|
+
%header
|
17
|
+
%h1 <%= name.camelize %>
|
18
|
+
%nav
|
19
|
+
%a{:href => '/'} home
|
20
|
+
= yield
|
21
|
+
%footer <%= date %>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
$viewport_width: 960px
|
2
|
+
$pad: 10px
|
3
|
+
$default_rounding: 6px
|
4
|
+
|
5
|
+
=rounding($rounding: $default_rounding)
|
6
|
+
-moz-border-radius: $rounding
|
7
|
+
-webkit-border-radius: $rounding
|
8
|
+
border-radius: $rounding
|
9
|
+
|
10
|
+
|
11
|
+
section
|
12
|
+
width: $viewport_width
|
13
|
+
margin: 10px auto
|
14
|
+
header
|
15
|
+
background: #EEE
|
16
|
+
float: left
|
17
|
+
width: $viewport_width - 2*$pad
|
18
|
+
padding: $pad
|
19
|
+
+rounding
|
20
|
+
nav
|
21
|
+
float: right
|
22
|
+
margin-top: 6px
|
23
|
+
a
|
24
|
+
font-size: 16px
|
25
|
+
color: #08F
|
26
|
+
h1
|
27
|
+
float: left
|
28
|
+
margin: 0
|
29
|
+
.content
|
30
|
+
clear: both
|
31
|
+
padding: $pad
|
32
|
+
ul
|
33
|
+
li
|
34
|
+
margin: 0
|
35
|
+
font-size: 16px
|
36
|
+
a
|
37
|
+
color: #08F
|
38
|
+
input
|
39
|
+
font-size: 14px
|
40
|
+
footer
|
41
|
+
background: #EEE
|
42
|
+
padding: $pad
|
43
|
+
+rounding
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 1
|
9
|
+
version: 0.3.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Thomas Duerr
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-11-
|
17
|
+
date: 2010-11-19 00:00:00 +01:00
|
18
18
|
default_executable: lep
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -62,7 +62,7 @@ dependencies:
|
|
62
62
|
version: 1.4.0
|
63
63
|
type: :development
|
64
64
|
version_requirements: *id003
|
65
|
-
description: Lepidoptera is a
|
65
|
+
description: Lepidoptera is a simple and easy to extend code generator for common every day projects.
|
66
66
|
email: thomduerr@gmail.com
|
67
67
|
executables:
|
68
68
|
- lep
|
@@ -102,6 +102,28 @@ files:
|
|
102
102
|
- lib/stub_generators/stub/templates/generator-type_INFO
|
103
103
|
- lib/stub_generators/stub/templates/generator-type_README.txt
|
104
104
|
- lib/stub_generators/stub/templates/generator-type_generator.rb
|
105
|
+
- sinatra_generators/base/INFO
|
106
|
+
- sinatra_generators/base/base_generator.rb
|
107
|
+
- sinatra_generators/base/templates/Gemfile
|
108
|
+
- sinatra_generators/base/templates/app.rb
|
109
|
+
- sinatra_generators/base/templates/config.ru
|
110
|
+
- sinatra_generators/base/templates/public/css/main.css
|
111
|
+
- sinatra_generators/base/templates/public/js/app.js
|
112
|
+
- sinatra_generators/base/templates/views/index.haml
|
113
|
+
- sinatra_generators/base/templates/views/layouts/default.haml
|
114
|
+
- sinatra_generators/base/templates/views/style.sass
|
115
|
+
- sinatra_generators/datamapper/INFO
|
116
|
+
- sinatra_generators/datamapper/datamapper_generator.rb
|
117
|
+
- sinatra_generators/datamapper/templates/Gemfile
|
118
|
+
- sinatra_generators/datamapper/templates/app.rb
|
119
|
+
- sinatra_generators/datamapper/templates/config.ru
|
120
|
+
- sinatra_generators/datamapper/templates/config/database.rb
|
121
|
+
- sinatra_generators/datamapper/templates/models.rb
|
122
|
+
- sinatra_generators/datamapper/templates/public/css/main.css
|
123
|
+
- sinatra_generators/datamapper/templates/public/js/app.js
|
124
|
+
- sinatra_generators/datamapper/templates/views/index.haml
|
125
|
+
- sinatra_generators/datamapper/templates/views/layouts/default.haml
|
126
|
+
- sinatra_generators/datamapper/templates/views/style.sass
|
105
127
|
has_rdoc: true
|
106
128
|
homepage: http://github.com/thomd/lepidoptera/
|
107
129
|
licenses: []
|