gumdrop 0.2.16 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. data/ChangeLog.md +11 -1
  2. data/Rakefile +9 -1
  3. data/bin/gumdrop +3 -1
  4. data/lib/gumdrop.rb +45 -73
  5. data/lib/gumdrop/build.rb +92 -0
  6. data/lib/gumdrop/content.rb +3 -2
  7. data/lib/gumdrop/generator.rb +64 -7
  8. data/lib/gumdrop/logging.rb +35 -0
  9. data/lib/gumdrop/pager.rb +4 -4
  10. data/lib/gumdrop/server.rb +26 -10
  11. data/lib/gumdrop/template/default/Gemfile +4 -2
  12. data/lib/gumdrop/template/default/Rakefile +4 -1
  13. data/lib/gumdrop/template/default/config.ru +6 -2
  14. data/lib/gumdrop/template/default/lib/site.rb +15 -5
  15. data/lib/gumdrop/template/default/powrc +2 -0
  16. data/lib/gumdrop/version.rb +2 -2
  17. data/specs/content_spec.rb +31 -0
  18. data/specs/deferred_loader_spec.rb +31 -0
  19. data/specs/hash_object_spec.rb +31 -0
  20. metadata +19 -83
  21. data/lib/gumdrop/template/twitter/Gemfile +0 -28
  22. data/lib/gumdrop/template/twitter/Rakefile +0 -35
  23. data/lib/gumdrop/template/twitter/config.ru +0 -17
  24. data/lib/gumdrop/template/twitter/data/config.yml +0 -4
  25. data/lib/gumdrop/template/twitter/lib/site.rb +0 -43
  26. data/lib/gumdrop/template/twitter/lib/view_helpers.rb +0 -17
  27. data/lib/gumdrop/template/twitter/source/_sidebar.html.slim +0 -1
  28. data/lib/gumdrop/template/twitter/source/container-app.html.slim +0 -89
  29. data/lib/gumdrop/template/twitter/source/default.htaccess +0 -16
  30. data/lib/gumdrop/template/twitter/source/favicon.ico +0 -0
  31. data/lib/gumdrop/template/twitter/source/feed.xml.builder.txt +0 -23
  32. data/lib/gumdrop/template/twitter/source/fluid.html.slim +0 -134
  33. data/lib/gumdrop/template/twitter/source/hero.html.slim +0 -49
  34. data/lib/gumdrop/template/twitter/source/index.html.erb +0 -10
  35. data/lib/gumdrop/template/twitter/source/theme/screen.css.sass +0 -3
  36. data/lib/gumdrop/template/twitter/source/theme/scripts/app.js.coffee +0 -4
  37. data/lib/gumdrop/template/twitter/source/theme/scripts/jquery.js +0 -4
  38. data/lib/gumdrop/template/twitter/source/theme/styles/_tools.scss +0 -434
  39. data/lib/gumdrop/template/twitter/source/theme/templates/site.template.slim +0 -19
  40. data/lib/gumdrop/template/twitter/source/theme/twitter/LICENSE +0 -13
  41. data/lib/gumdrop/template/twitter/source/theme/twitter/Makefile +0 -30
  42. data/lib/gumdrop/template/twitter/source/theme/twitter/README.md +0 -115
  43. data/lib/gumdrop/template/twitter/source/theme/twitter/bootstrap-min.css +0 -330
  44. data/lib/gumdrop/template/twitter/source/theme/twitter/bootstrap.css +0 -2362
  45. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/css/docs.css +0 -317
  46. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/ico/bootstrap-apple-114x114.png +0 -0
  47. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/ico/bootstrap-apple-57x57.png +0 -0
  48. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/ico/bootstrap-apple-72x72.png +0 -0
  49. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/ico/favicon.ico +0 -0
  50. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/img/bird.png +0 -0
  51. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/img/browsers.png +0 -0
  52. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/img/example-diagram-01.png +0 -0
  53. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/img/example-diagram-02.png +0 -0
  54. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/img/example-diagram-03.png +0 -0
  55. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/img/grid-18px.png +0 -0
  56. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/img/twitter-logo-no-bird.png +0 -0
  57. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/js/application.js +0 -52
  58. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/js/google-code-prettify/prettify.css +0 -41
  59. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/assets/js/google-code-prettify/prettify.js +0 -28
  60. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/index.html +0 -1932
  61. data/lib/gumdrop/template/twitter/source/theme/twitter/docs/javascript.html +0 -676
  62. data/lib/gumdrop/template/twitter/source/theme/twitter/examples/container-app.html +0 -119
  63. data/lib/gumdrop/template/twitter/source/theme/twitter/examples/fluid.html +0 -126
  64. data/lib/gumdrop/template/twitter/source/theme/twitter/examples/hero.html +0 -79
  65. data/lib/gumdrop/template/twitter/source/theme/twitter/js/bootstrap-alerts.js +0 -104
  66. data/lib/gumdrop/template/twitter/source/theme/twitter/js/bootstrap-dropdown.js +0 -50
  67. data/lib/gumdrop/template/twitter/source/theme/twitter/js/bootstrap-modal.js +0 -238
  68. data/lib/gumdrop/template/twitter/source/theme/twitter/js/bootstrap-popover.js +0 -77
  69. data/lib/gumdrop/template/twitter/source/theme/twitter/js/bootstrap-scrollspy.js +0 -105
  70. data/lib/gumdrop/template/twitter/source/theme/twitter/js/bootstrap-tabs.js +0 -62
  71. data/lib/gumdrop/template/twitter/source/theme/twitter/js/bootstrap-twipsy.js +0 -307
  72. data/lib/gumdrop/template/twitter/source/theme/twitter/js/tests/index.html +0 -38
  73. data/lib/gumdrop/template/twitter/source/theme/twitter/js/tests/unit/bootstrap-alerts.js +0 -41
  74. data/lib/gumdrop/template/twitter/source/theme/twitter/js/tests/unit/bootstrap-dropdown.js +0 -52
  75. data/lib/gumdrop/template/twitter/source/theme/twitter/js/tests/unit/bootstrap-modal.js +0 -151
  76. data/lib/gumdrop/template/twitter/source/theme/twitter/js/tests/unit/bootstrap-popover.js +0 -76
  77. data/lib/gumdrop/template/twitter/source/theme/twitter/js/tests/unit/bootstrap-scrollspy.js +0 -31
  78. data/lib/gumdrop/template/twitter/source/theme/twitter/js/tests/unit/bootstrap-tabs.js +0 -49
  79. data/lib/gumdrop/template/twitter/source/theme/twitter/js/tests/unit/bootstrap-twipsy.js +0 -81
  80. data/lib/gumdrop/template/twitter/source/theme/twitter/js/tests/vendor/qunit.css +0 -232
  81. data/lib/gumdrop/template/twitter/source/theme/twitter/js/tests/vendor/qunit.js +0 -1510
  82. data/lib/gumdrop/template/twitter/source/theme/twitter/lib/bootstrap.less +0 -26
  83. data/lib/gumdrop/template/twitter/source/theme/twitter/lib/forms.less +0 -465
  84. data/lib/gumdrop/template/twitter/source/theme/twitter/lib/mixins.less +0 -217
  85. data/lib/gumdrop/template/twitter/source/theme/twitter/lib/patterns.less +0 -1005
  86. data/lib/gumdrop/template/twitter/source/theme/twitter/lib/reset.less +0 -141
  87. data/lib/gumdrop/template/twitter/source/theme/twitter/lib/scaffolding.less +0 -135
  88. data/lib/gumdrop/template/twitter/source/theme/twitter/lib/tables.less +0 -171
  89. data/lib/gumdrop/template/twitter/source/theme/twitter/lib/type.less +0 -187
  90. data/lib/gumdrop/template/twitter/source/theme/twitter/lib/variables.less +0 -60
@@ -1,28 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gem "i18n"
4
- gem "sinatra"
5
- gem "active_support"
6
- gem "rake"
7
- gem "gumdrop"
8
-
9
- # Add your dependencies here:
10
-
11
- gem "slim"
12
- gem "sass"
13
- gem "less"
14
- gem "coffee-script"
15
-
16
-
17
- # For markdown support, a couple of options:
18
- # gem "rdiscount"
19
- gem 'maruku'
20
-
21
- # For template support:
22
- # gem "less"
23
- # gem "haml"
24
-
25
- # For xml generation support:
26
- # gem 'builder'
27
-
28
- # gem 'jsmin'
@@ -1,35 +0,0 @@
1
- require 'rubygems'
2
- require "bundler/setup"
3
- require 'gumdrop'
4
-
5
- # For the SYNC task
6
- USER='user'
7
- SERVER='server.com'
8
- FOLDER="~/#{SERVER}"
9
-
10
- desc "Build source files into output_dir"
11
- task :build do
12
- system("bundle exec gumdrop -b")
13
- end
14
-
15
- desc "Run development server"
16
- task :serve do
17
- system("bundle exec gumdrop -s")
18
- end
19
-
20
- desc "Syncs with public server using rsync (if configured)"
21
- task :sync do
22
- cmd= "rsync -avz --delete output/ #{USER}@#{SERVER}:#{FOLDER}"
23
- puts "Running:\n#{cmd}\n"
24
- system(cmd)
25
- puts "Done."
26
- end
27
-
28
- desc "Outputs the Gumdrop version"
29
- task :version do
30
- puts Gumdrop::VERSION
31
- end
32
-
33
- task :default do
34
- puts `rake -T`
35
- end
@@ -1,17 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
-
11
- require 'gumdrop'
12
-
13
- Gumdrop.config.auto_run= false
14
- Gumdrop.config.force_reload= false
15
- Gumdrop.run :dry_run=>true
16
-
17
- run Gumdrop::Server
@@ -1,4 +0,0 @@
1
- title: My Site
2
- tagline: My home on thar intarwebs!
3
- author: Matt McCray
4
- url: http://www.mysite.com
@@ -1,43 +0,0 @@
1
- # Any specialized code for your site goes here...
2
-
3
- puts "Build: #{Gumdrop.data.config.title} (gumdrop v#{Gumdrop::VERSION})"
4
-
5
- if defined? Encoding
6
- Encoding.default_internal = Encoding.default_external = "UTF-8"
7
- else
8
- $KCODE = "UTF-8"
9
- end
10
-
11
- require 'slim'
12
- Slim::Engine.set_default_options :pretty => true
13
-
14
- skip "theme/twitter/lib"
15
- skip "theme/twitter/docs"
16
- skip "theme/twitter/examples"
17
- skip "theme/twitter/Makefile"
18
- skip "theme/twitter/README"
19
-
20
- # Example of using a content filter to compress CoffeeScript/JS output
21
- # require 'jsmin'
22
- # content_filter do |content, info|
23
- # if info.ext == '.js'
24
- # puts " Compress: #{info.filename}"
25
- # JSMin.minify content
26
- # else
27
- # content
28
- # end
29
- # end
30
-
31
-
32
- # Example site-level generator
33
- # generate do
34
- #
35
- # page "about.html", :template=>'about', :passthru=>'Available in the template' # requires a about.template.XX file
36
- #
37
- # # Maybe for a tumblr-like pager
38
- # pager= Gumdrop.data.pager_for :posts, :base_path=>'posts/page', :page_size=>5
39
- # pager.each do |page|
40
- # page "#{page.uri}.html", :template=>'post_page', :posts=>page.items, :pager=>pager, :current_page=>pager.current_page
41
- # end
42
- #
43
- # end
@@ -1,17 +0,0 @@
1
- module Gumdrop::ViewHelpers
2
-
3
- # Calculate the years for a copyright
4
- def copyright_years(start_year, divider="–")
5
- end_year = Date.today.year
6
- if start_year == end_year
7
- "#{start_year}"
8
- else
9
- "#{start_year}#{divider}#{end_year}"
10
- end
11
- end
12
-
13
- #
14
- # Your custom helpers go here!
15
- #
16
-
17
- end
@@ -1 +0,0 @@
1
- p I'm the SIDEBAR!
@@ -1,89 +0,0 @@
1
- css:
2
- /* Override some defaults */
3
- html, body {
4
- background-color: #eee;
5
- }
6
- body {
7
- padding-top: 40px; /* 40px to make the container go all the way to the bottom of the topbar */
8
- }
9
- .container > footer p {
10
- text-align: center; /* center align it with the container */
11
- }
12
- .container {
13
- width: 820px; /* downsize our container to make the content feel a bit tighter and more cohesive. NOTE: this removes two full columns from the grid, meaning you only go to 14 columns and not 16. */
14
- }
15
-
16
- /* The white background content wrapper */
17
- .content {
18
- background-color: #fff;
19
- padding: 20px;
20
- margin: 0 -20px; /* negative indent the amount of the padding to maintain the grid system */
21
- -webkit-border-radius: 0 0 6px 6px;
22
- -moz-border-radius: 0 0 6px 6px;
23
- border-radius: 0 0 6px 6px;
24
- -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15);
25
- -moz-box-shadow: 0 1px 2px rgba(0,0,0,.15);
26
- box-shadow: 0 1px 2px rgba(0,0,0,.15);
27
- }
28
-
29
- /* Page header tweaks */
30
- .page-header {
31
- background-color: #f5f5f5;
32
- padding: 20px 20px 10px;
33
- margin: -20px -20px 20px;
34
- }
35
-
36
- /* Styles you shouldn't keep as they are for displaying this base example only */
37
- .content .span10,
38
- .content .span4 {
39
- min-height: 500px;
40
- }
41
- /* Give a quick and non-cross-browser friendly divider */
42
- .content .span4 {
43
- margin-left: 0;
44
- padding-left: 19px;
45
- border-left: 1px solid #eee;
46
- }
47
-
48
- .topbar .btn {
49
- border: 0;
50
- }
51
-
52
-
53
- .topbar
54
- .fill
55
- .container
56
- a.brand[href="#"]
57
- | Project name
58
- ul.nav
59
- li.active
60
- a[href="#"]
61
- | Home
62
- li
63
- a[href="#about"]
64
- | About
65
- li
66
- a[href="#contact"]
67
- | Contact
68
- form.pull-right[action=""]
69
- input.input-small[type="text" placeholder="Username"]
70
- input.input-small[type="password" placeholder="Password"]
71
- button.btn[type="submit"]
72
- | Sign in
73
- .container
74
- .content
75
- .page-header
76
- h1
77
- | Page name
78
- small
79
- | Supporting text or tagline
80
- .row
81
- .span10
82
- h2
83
- | Main content
84
- .span4
85
- h3
86
- | Secondary content
87
- footer
88
- p
89
- | © Company 2011
@@ -1,16 +0,0 @@
1
- # For clean urls
2
- DirectoryIndex index.html
3
-
4
- <IfModule mod_rewrite.c>
5
- RewriteEngine On
6
- RewriteBase /
7
-
8
- # Do not do anything for already existing files and folders
9
- RewriteCond %{REQUEST_FILENAME} -f [OR]
10
- RewriteCond %{REQUEST_FILENAME} -d
11
- RewriteRule .+ - [L]
12
-
13
- # add .html file extension (if such file does exist)
14
- RewriteCond %{DOCUMENT_ROOT}/$1\.html -f
15
- RewriteRule ^(.+[^/])/?$ $1.html [L,QSA]
16
- </IfModule>
@@ -1,23 +0,0 @@
1
- xml.instruct!
2
- xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do
3
- xml.title data.config.title
4
- xml.subtitle data.config.tagline
5
- xml.id data.config.url
6
- xml.link "href" => data.config.url
7
- xml.link "href" => "#{data.config.url}/feed.xml", "rel" => "self"
8
- xml.updated data.blog.first.date.to_time.iso8601
9
- xml.author { xml.name data.config.author }
10
-
11
- data.blog.each do |post|
12
- xml.entry do
13
- url= "#{data.config.url}/posts/#{post.slug}"
14
- xml.title post.title
15
- xml.link "rel" => "alternate", "href" => url
16
- xml.id url
17
- xml.published post.date.to_time.iso8601
18
- xml.updated post.date.to_time.iso8601
19
- xml.author { xml.name data.config.author }
20
- xml.content post.body, "type" => "html"
21
- end
22
- end
23
- end
@@ -1,134 +0,0 @@
1
- css:
2
- body {
3
- padding-top: 60px;
4
- }
5
-
6
- .topbar
7
- .topbar-inner
8
- .container-fluid
9
- a.brand[href="#"]
10
- | Project name
11
- ul.nav
12
- li.active
13
- a[href="#"]
14
- | Home
15
- li
16
- a[href="#about"]
17
- | About
18
- li
19
- a[href="#contact"]
20
- | Contact
21
- p.pull-right
22
- | Logged in as
23
- a[href="#"]
24
- | username
25
- .container-fluid
26
- .sidebar
27
- .well
28
- h5
29
- | Sidebar
30
- ul
31
- li
32
- a[href="#"]
33
- | Link
34
- li
35
- a[href="#"]
36
- | Link
37
- li
38
- a[href="#"]
39
- | Link
40
- li
41
- a[href="#"]
42
- | Link
43
- h5
44
- | Sidebar
45
- ul
46
- li
47
- a[href="#"]
48
- | Link
49
- li
50
- a[href="#"]
51
- | Link
52
- li
53
- a[href="#"]
54
- | Link
55
- li
56
- a[href="#"]
57
- | Link
58
- li
59
- a[href="#"]
60
- | Link
61
- li
62
- a[href="#"]
63
- | Link
64
- h5
65
- | Sidebar
66
- ul
67
- li
68
- a[href="#"]
69
- | Link
70
- li
71
- a[href="#"]
72
- | Link
73
- .content
74
- .hero-unit
75
- h1
76
- | Hello, world!
77
- p
78
- | Vestibulum id ligula porta felis euismod semper. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
79
- p
80
- a.btn.primary.large
81
- | Learn more »
82
- .row
83
- .span6
84
- h2
85
- | Heading
86
- p
87
- | Etiam porta sem malesuada magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
88
- p
89
- a.btn[href="#"]
90
- | View details »
91
- .span5
92
- h2
93
- | Heading
94
- p
95
- | Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.
96
- p
97
- a.btn[href="#"]
98
- | View details »
99
- .span5
100
- h2
101
- | Heading
102
- p
103
- | Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
104
- p
105
- a.btn[href="#"]
106
- | View details »
107
- hr
108
- .row
109
- .span6
110
- h2
111
- | Heading
112
- p
113
- | Etiam porta sem malesuada magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
114
- p
115
- a.btn[href="#"]
116
- | View details »
117
- .span5
118
- h2
119
- | Heading
120
- p
121
- | Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.
122
- p
123
- a.btn[href="#"]
124
- | View details »
125
- .span5
126
- h2
127
- | Heading
128
- p
129
- | Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
130
- p
131
- a.btn[href="#"]
132
- | View details »
133
- footer
134
- p &copy; Company 2011
@@ -1,49 +0,0 @@
1
- css:
2
- body {
3
- padding-top: 60px;
4
- }
5
-
6
- div class="topbar"
7
- div class="fill"
8
- div class="container"
9
- a class="brand" href="#" Project name
10
- ul class="nav"
11
- li class="active"
12
- a href="#" Home
13
- li
14
- a href="#about" About
15
- li
16
- a href="#contact" Contact
17
-
18
-
19
-
20
-
21
- div class="container"
22
-
23
- /! Main hero unit for a primary marketing message or call to action
24
- div class="hero-unit"
25
- h1 Hello, world!
26
- p Vestibulum id ligula porta felis euismod semper. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
27
- p
28
- a class="btn primary large" Learn more &raquo;
29
-
30
- /! Example row of columns
31
- div class="row"
32
- div class="span6"
33
- h2 Heading
34
- p Etiam porta sem malesuada magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
35
- p
36
- a class="btn" href="#" View details &raquo;
37
- div class="span5"
38
- h2 Heading
39
- p Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.
40
- p
41
- a class="btn" href="#" View details &raquo;
42
- div class="span5"
43
- h2 Heading
44
- p Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
45
- p
46
- a class="btn" href="#" View details &raquo;
47
-
48
- footer
49
- p &copy; Company 2011