locomotivecms_wagon 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. data/.gitignore +27 -0
  2. data/.rspec +2 -0
  3. data/Gemfile +8 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +68 -0
  6. data/Rakefile +57 -0
  7. data/TODO +57 -0
  8. data/bin/wagon +9 -0
  9. data/generators/blank/Gemfile.tt +20 -0
  10. data/generators/blank/app/content_types/.empty_directory +1 -0
  11. data/generators/blank/app/views/pages/404.liquid +11 -0
  12. data/generators/blank/app/views/pages/index.liquid +19 -0
  13. data/generators/blank/app/views/snippets/.empty_directory +1 -0
  14. data/generators/blank/config/deploy.yml +12 -0
  15. data/generators/blank/config/site.yml.tt +16 -0
  16. data/generators/blank/config/translations.yml +8 -0
  17. data/generators/blank/config.ru +3 -0
  18. data/generators/blank/data/.empty_directory +1 -0
  19. data/generators/blank/public/fonts/.empty_directory +1 -0
  20. data/generators/blank/public/images/.empty_directory +1 -0
  21. data/generators/blank/public/javascripts/.empty_directory +1 -0
  22. data/generators/blank/public/samples/.empty_directory +1 -0
  23. data/generators/blank/public/stylesheets/.empty_directory +1 -0
  24. data/generators/bootstrap/Gemfile.tt +20 -0
  25. data/generators/bootstrap/app/content_types/.empty_directory +1 -0
  26. data/generators/bootstrap/app/views/pages/404.liquid +13 -0
  27. data/generators/bootstrap/app/views/pages/404.liquid.haml +10 -0
  28. data/generators/bootstrap/app/views/pages/index.liquid +89 -0
  29. data/generators/bootstrap/app/views/pages/index.liquid.haml +72 -0
  30. data/generators/bootstrap/app/views/snippets/footer.liquid +3 -0
  31. data/generators/bootstrap/app/views/snippets/footer.liquid.haml +2 -0
  32. data/generators/bootstrap/config/deploy.yml +12 -0
  33. data/generators/bootstrap/config/site.yml.tt +16 -0
  34. data/generators/bootstrap/config/translations.yml +8 -0
  35. data/generators/bootstrap/config.ru +3 -0
  36. data/generators/bootstrap/data/.empty_directory +1 -0
  37. data/generators/bootstrap/public/fonts/FontAwesome.otf +0 -0
  38. data/generators/bootstrap/public/fonts/font-awesome-ie7.min.css +23 -0
  39. data/generators/bootstrap/public/fonts/font-awesome.css +469 -0
  40. data/generators/bootstrap/public/fonts/font-awesome.min.css +34 -0
  41. data/generators/bootstrap/public/fonts/fontawesome-webfont.eot +0 -0
  42. data/generators/bootstrap/public/fonts/fontawesome-webfont.ttf +0 -0
  43. data/generators/bootstrap/public/fonts/fontawesome-webfont.woff +0 -0
  44. data/generators/bootstrap/public/javascripts/bootstrap.js +2159 -0
  45. data/generators/bootstrap/public/javascripts/bootstrap.min.js +6 -0
  46. data/generators/bootstrap/public/samples/.empty_directory +1 -0
  47. data/generators/bootstrap/public/stylesheets/application.css.scss +39 -0
  48. data/generators/bootstrap/public/stylesheets/bootstrap-responsive.css +1092 -0
  49. data/generators/bootstrap/public/stylesheets/bootstrap-responsive.min.css +9 -0
  50. data/generators/bootstrap/public/stylesheets/bootstrap.css +5652 -0
  51. data/generators/bootstrap/public/stylesheets/bootstrap.min.css +726 -0
  52. data/generators/content_type/app/content_types/%name%.yml.tt +58 -0
  53. data/generators/content_type/data/%name%.yml.tt +24 -0
  54. data/generators/foundation/Gemfile.tt +20 -0
  55. data/generators/foundation/app/content_types/.empty_directory +1 -0
  56. data/generators/foundation/app/views/pages/404.liquid +13 -0
  57. data/generators/foundation/app/views/pages/404.liquid.haml +10 -0
  58. data/generators/foundation/app/views/pages/index.liquid +152 -0
  59. data/generators/foundation/app/views/pages/index.liquid.haml +130 -0
  60. data/generators/foundation/app/views/snippets/footer.liquid +16 -0
  61. data/generators/foundation/app/views/snippets/footer.liquid.haml +23 -0
  62. data/generators/foundation/config/deploy.yml +12 -0
  63. data/generators/foundation/config/site.yml.tt +16 -0
  64. data/generators/foundation/config/translations.yml +8 -0
  65. data/generators/foundation/config.ru +3 -0
  66. data/generators/foundation/data/.empty_directory +1 -0
  67. data/generators/foundation/public/fonts/.empty_directory +1 -0
  68. data/generators/foundation/public/javascripts/foundation/foundation.alerts.js +50 -0
  69. data/generators/foundation/public/javascripts/foundation/foundation.clearing.js +480 -0
  70. data/generators/foundation/public/javascripts/foundation/foundation.cookie.js +74 -0
  71. data/generators/foundation/public/javascripts/foundation/foundation.dropdown.js +130 -0
  72. data/generators/foundation/public/javascripts/foundation/foundation.forms.js +395 -0
  73. data/generators/foundation/public/javascripts/foundation/foundation.joyride.js +612 -0
  74. data/generators/foundation/public/javascripts/foundation/foundation.js +372 -0
  75. data/generators/foundation/public/javascripts/foundation/foundation.magellan.js +130 -0
  76. data/generators/foundation/public/javascripts/foundation/foundation.orbit.js +365 -0
  77. data/generators/foundation/public/javascripts/foundation/foundation.placeholder.js +159 -0
  78. data/generators/foundation/public/javascripts/foundation/foundation.reveal.js +270 -0
  79. data/generators/foundation/public/javascripts/foundation/foundation.section.js +272 -0
  80. data/generators/foundation/public/javascripts/foundation/foundation.tooltips.js +195 -0
  81. data/generators/foundation/public/javascripts/foundation/foundation.topbar.js +225 -0
  82. data/generators/foundation/public/javascripts/foundation.min.js +14 -0
  83. data/generators/foundation/public/javascripts/vendor/custom.modernizr.js +4 -0
  84. data/generators/foundation/public/javascripts/vendor/jquery.js +9597 -0
  85. data/generators/foundation/public/javascripts/vendor/zepto.js +1884 -0
  86. data/generators/foundation/public/samples/.empty_directory +1 -0
  87. data/generators/foundation/public/stylesheets/foundation.css +3818 -0
  88. data/generators/foundation/public/stylesheets/foundation.min.css +1 -0
  89. data/generators/foundation/public/stylesheets/normalize.css +396 -0
  90. data/generators/page/template.liquid.haml.tt +35 -0
  91. data/generators/page/template.liquid.tt +1 -0
  92. data/generators/snippet/template.liquid.haml.tt +4 -0
  93. data/generators/snippet/template.liquid.tt +4 -0
  94. data/lib/locomotive/wagon/cli.rb +238 -0
  95. data/lib/locomotive/wagon/exceptions.rb +35 -0
  96. data/lib/locomotive/wagon/generators/content_type.rb +47 -0
  97. data/lib/locomotive/wagon/generators/page.rb +63 -0
  98. data/lib/locomotive/wagon/generators/site/base.rb +30 -0
  99. data/lib/locomotive/wagon/generators/site/blank.rb +23 -0
  100. data/lib/locomotive/wagon/generators/site/bootstrap.rb +35 -0
  101. data/lib/locomotive/wagon/generators/site/foundation.rb +35 -0
  102. data/lib/locomotive/wagon/generators/site/unzip.rb +81 -0
  103. data/lib/locomotive/wagon/generators/site.rb +99 -0
  104. data/lib/locomotive/wagon/generators/snippet.rb +60 -0
  105. data/lib/locomotive/wagon/liquid/drops/base.rb +44 -0
  106. data/lib/locomotive/wagon/liquid/drops/content_entry.rb +48 -0
  107. data/lib/locomotive/wagon/liquid/drops/content_types.rb +121 -0
  108. data/lib/locomotive/wagon/liquid/drops/page.rb +36 -0
  109. data/lib/locomotive/wagon/liquid/drops/site.rb +21 -0
  110. data/lib/locomotive/wagon/liquid/errors.rb +7 -0
  111. data/lib/locomotive/wagon/liquid/filters/date.rb +98 -0
  112. data/lib/locomotive/wagon/liquid/filters/html.rb +154 -0
  113. data/lib/locomotive/wagon/liquid/filters/misc.rb +28 -0
  114. data/lib/locomotive/wagon/liquid/filters/resize.rb +18 -0
  115. data/lib/locomotive/wagon/liquid/filters/text.rb +50 -0
  116. data/lib/locomotive/wagon/liquid/filters/translate.rb +24 -0
  117. data/lib/locomotive/wagon/liquid/patches.rb +47 -0
  118. data/lib/locomotive/wagon/liquid/tags/consume.rb +58 -0
  119. data/lib/locomotive/wagon/liquid/tags/csrf.rb +34 -0
  120. data/lib/locomotive/wagon/liquid/tags/editable/base.rb +46 -0
  121. data/lib/locomotive/wagon/liquid/tags/editable/control.rb +19 -0
  122. data/lib/locomotive/wagon/liquid/tags/editable/file.rb +15 -0
  123. data/lib/locomotive/wagon/liquid/tags/editable/long_text.rb +15 -0
  124. data/lib/locomotive/wagon/liquid/tags/editable/short_text.rb +15 -0
  125. data/lib/locomotive/wagon/liquid/tags/editable.rb +5 -0
  126. data/lib/locomotive/wagon/liquid/tags/extends.rb +25 -0
  127. data/lib/locomotive/wagon/liquid/tags/google_analytics.rb +28 -0
  128. data/lib/locomotive/wagon/liquid/tags/inline_editor.rb +16 -0
  129. data/lib/locomotive/wagon/liquid/tags/locale_switcher.rb +106 -0
  130. data/lib/locomotive/wagon/liquid/tags/nav.rb +167 -0
  131. data/lib/locomotive/wagon/liquid/tags/paginate.rb +105 -0
  132. data/lib/locomotive/wagon/liquid/tags/seo.rb +74 -0
  133. data/lib/locomotive/wagon/liquid/tags/snippet.rb +44 -0
  134. data/lib/locomotive/wagon/liquid/tags/with_scope.rb +43 -0
  135. data/lib/locomotive/wagon/liquid.rb +19 -0
  136. data/lib/locomotive/wagon/listen.rb +57 -0
  137. data/lib/locomotive/wagon/logger.rb +54 -0
  138. data/lib/locomotive/wagon/misc/core_ext.rb +29 -0
  139. data/lib/locomotive/wagon/misc/dragonfly.rb +79 -0
  140. data/lib/locomotive/wagon/misc/httparty.rb +46 -0
  141. data/lib/locomotive/wagon/misc/i18n.rb +2 -0
  142. data/lib/locomotive/wagon/misc/will_paginate.rb +16 -0
  143. data/lib/locomotive/wagon/misc.rb +5 -0
  144. data/lib/locomotive/wagon/server/dynamic_assets.rb +31 -0
  145. data/lib/locomotive/wagon/server/entry_submission.rb +116 -0
  146. data/lib/locomotive/wagon/server/favicon.rb +17 -0
  147. data/lib/locomotive/wagon/server/locale.rb +42 -0
  148. data/lib/locomotive/wagon/server/logging.rb +32 -0
  149. data/lib/locomotive/wagon/server/middleware.rb +59 -0
  150. data/lib/locomotive/wagon/server/not_found.rb +19 -0
  151. data/lib/locomotive/wagon/server/page.rb +61 -0
  152. data/lib/locomotive/wagon/server/path.rb +34 -0
  153. data/lib/locomotive/wagon/server/renderer.rb +105 -0
  154. data/lib/locomotive/wagon/server/templatized_page.rb +32 -0
  155. data/lib/locomotive/wagon/server.rb +81 -0
  156. data/lib/locomotive/wagon/standalone_server.rb +28 -0
  157. data/lib/locomotive/wagon/version.rb +5 -0
  158. data/lib/locomotive/wagon.rb +163 -0
  159. data/locales/de.yml +156 -0
  160. data/locales/en.yml +177 -0
  161. data/locales/es.yml +132 -0
  162. data/locales/et.yml +153 -0
  163. data/locales/fr.yml +146 -0
  164. data/locales/it.yml +154 -0
  165. data/locales/nb.yml +190 -0
  166. data/locales/nl.yml +159 -0
  167. data/locales/pl.yml +202 -0
  168. data/locales/pt-BR.yml +138 -0
  169. data/locales/ru.yml +223 -0
  170. data/locomotivecms_wagon.gemspec +44 -0
  171. data/spec/integration/cassettes/pull.yml +590 -0
  172. data/spec/integration/cassettes/push.yml +810 -0
  173. data/spec/integration/integration_helper.rb +14 -0
  174. data/spec/integration/server_spec.rb +38 -0
  175. data/spec/integration/sites_spec.rb +29 -0
  176. data/spec/spec_helper.rb +12 -0
  177. data/spec/support/helpers.rb +13 -0
  178. metadata +544 -0
data/.gitignore ADDED
@@ -0,0 +1,27 @@
1
+ .DS_Store
2
+ tests
3
+ .sass-cache
4
+ .rbenv-gemsets
5
+ /site
6
+ *.gem
7
+ *.rbc
8
+ .bundle
9
+ .config
10
+ .yardoc
11
+ Gemfile.lock
12
+ InstalledFiles
13
+ _yardoc
14
+ coverage
15
+ doc/
16
+ lib/bundler/man
17
+ pkg
18
+ rdoc
19
+ spec/reports
20
+ test/tmp
21
+ test/version_tmp
22
+ tmp
23
+
24
+ /.rbenv-gemsets
25
+ /.sass-cache/
26
+
27
+ /tests
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --colour
2
+ --backtrace
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in wagon.gemspec
4
+ gemspec
5
+
6
+ # gem 'locomotivecms_mounter', path: '../gems/mounter', require: false
7
+
8
+ gem 'rb-fsevent', '~> 0.9.1'
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Didier Lafforgue
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,68 @@
1
+ # LocomotiveCMS::Wagon
2
+
3
+ The LocomotiveCMS wagon is a site generator for the LocomotiveCMS engine powered by all the efficient and modern HTML development tools (Haml, SASS, Compass, Less).
4
+
5
+ (TO BE COMPLETED)
6
+
7
+ ## Developers / Alpha users / Contributors
8
+
9
+ The push/pull functionalities require to have the edge version of the engine (master branch).
10
+ Also, please, keep in mind, that is nearly an alpha version so it is not stable enough to be used in production.
11
+
12
+ ### Get the development of the mounter
13
+
14
+ $ git clone git://github.com/locomotivecms/mounter.git
15
+
16
+ Note: If you want to contribute, you may consider to fork it instead
17
+
18
+ ### Get the source of the wagon
19
+
20
+ $ git clone git://github.com/locomotivecms/wagon.git
21
+ $ cd wagon
22
+ $ git checkout wip
23
+
24
+ Note: Again, if you want to contribute, you may consider to fork it instead
25
+
26
+ Modify the Gemfile to change the link to the *mounter* gem which should point to your local installation of the mounter.
27
+
28
+ $ bundle install
29
+
30
+ ### Test it
31
+
32
+ #### Run the server with a default site
33
+
34
+ $ bundle exec bin/wagon server <path to the mounter gem>/spec/fixtures/default
35
+
36
+ #### Push a site (WIP)
37
+
38
+ $ bundle exec bin/wagon push <path to your LocomotiveCMS local site> <url of your remote LocomotiveCMS site> <email of your admin account> <password>
39
+
40
+ #### Pull a site (Not tested yet)
41
+
42
+ $ bundle exec bin/wagon pull <url of your remote LocomotiveCMS site> <email of your admin account> <password>
43
+
44
+ ## Contributing
45
+
46
+ 1. Fork it
47
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
48
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
49
+ 4. Push to the branch (`git push origin my-new-feature`)
50
+ 5. Create new Pull Request
51
+
52
+ ## Installation (TODO)
53
+
54
+ Add this line to your application's Gemfile:
55
+
56
+ gem 'locomotive_wagon'
57
+
58
+ And then execute:
59
+
60
+ $ bundle
61
+
62
+ Or install it yourself as:
63
+
64
+ $ gem install locomotive_wagon
65
+
66
+ ## Usage
67
+
68
+ TODO: Write usage instructions here
data/Rakefile ADDED
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env rake
2
+ # encoding: utf-8
3
+
4
+ require 'rubygems'
5
+ require 'bundler/setup'
6
+
7
+ require 'rake'
8
+ require 'vcr'
9
+ require 'rspec'
10
+ require 'rspec/core/rake_task'
11
+ require 'rubygems/package_task'
12
+
13
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
14
+
15
+ require 'locomotive/wagon'
16
+ require 'locomotive/wagon/version'
17
+
18
+ gemspec = eval(File.read('locomotivecms_wagon.gemspec'))
19
+ Gem::PackageTask.new(gemspec) do |pkg|
20
+ pkg.gem_spec = gemspec
21
+ end
22
+
23
+ desc 'build the gem and release it to rubygems.org'
24
+ task release: :gem do
25
+ sh "gem push pkg/locomotivecms_wagon-#{gemspec.version}.gem"
26
+ end
27
+
28
+ namespace :development do
29
+ desc 'create vcr cassettes'
30
+ task :bootstrap do
31
+ VCR.configure do |c|
32
+ c.cassette_library_dir = File.expand_path(File.dirname(__FILE__) + '/spec/integration/cassettes')
33
+ c.hook_into :webmock # or :fakeweb
34
+ c.allow_http_connections_when_no_cassette = true
35
+ end
36
+
37
+ FileUtils.rm_rf(File.join(File.dirname(__FILE__), 'site'))
38
+ VCR.use_cassette('pull') do
39
+ exit unless Locomotive::Wagon.clone('site', {'host' => 'http://locomotive.engine.dev:3000'}, 'email' => 'admin@locomotivecms.com', 'password' => 'locomotive')
40
+ end
41
+
42
+ Locomotive::Wagon.push('site', {'host' => 'http://locomotive.engine.dev:3000'}, 'email' => 'admin@locomotivecms.com', 'password' => 'locomotive', 'force' => true, 'data' => true)
43
+ end
44
+ end
45
+
46
+ RSpec::Core::RakeTask.new('spec:unit') do |spec|
47
+ spec.pattern = 'spec/unit/**/*_spec.rb'
48
+
49
+ end
50
+
51
+ RSpec::Core::RakeTask.new('spec:integration') do |spec|
52
+ spec.pattern = 'spec/integration/**/*_spec.rb'
53
+ end
54
+
55
+ task spec: ['spec:integration']
56
+
57
+ task default: :spec
data/TODO ADDED
@@ -0,0 +1,57 @@
1
+ *** REQUIREMENTS ***
2
+
3
+ x templatized page
4
+ x localized page
5
+ x dragonfly
6
+ - listen:
7
+ x content types and content entries / site
8
+ - make it work for other platforms (linux, windows)
9
+ x post content entry
10
+ x liquid assigns: sessions (rack)
11
+ x I18n keys
12
+ x fr/en
13
+ x other locales
14
+ x static js/css assets (non coffeescript or sass files) are not reloaded if got changed.
15
+ x content types / liquid
16
+ x group_contents_by
17
+ x select_names
18
+ x params to launch the thin server (port, address ?)
19
+ - commands:
20
+ ! create
21
+ ! sites
22
+ x blank
23
+ x twitter bootstrap + HAML
24
+ ? localized
25
+ ? boilerplate
26
+ ! copy Bundler / Gemfile (pending)
27
+ x content types
28
+ x definitions
29
+ x data (Faker)
30
+ x page
31
+ x snippet
32
+ - push:
33
+ x option to select to push only some parts (pages, ...etc)
34
+ x --force option
35
+ - more tests
36
+ - pull
37
+ - translations (Rod)
38
+ - version checkings:
39
+ - wagon when running it
40
+ - engine when pushing a site
41
+ - nice error page (replace the default exception middleware) to display:
42
+ - liquid errors
43
+ - other exceptions
44
+ - nice logs
45
+
46
+ - tests (Rod/Did)
47
+
48
+ - refactoring:
49
+ x generators/sites -> generators/site
50
+ x list is only for site generators
51
+ x move the call to the CC generator directly in the wagon.rb file
52
+
53
+ *** FEATURES ***
54
+
55
+ - toolbar to:
56
+ - push a whole site / page(s) / snippet(s) / ....
57
+ - create / update a content type
data/bin/wagon ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # needed if you launch it without bundler
4
+ $:.unshift(File.expand_path(File.dirname(__FILE__) + '/../lib'))
5
+
6
+ require 'locomotive/wagon'
7
+ require 'locomotive/wagon/cli'
8
+
9
+ Locomotive::Wagon::CLI::Main.start
@@ -0,0 +1,20 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # ruby '1.9.3'
4
+
5
+ gem 'locomotivecms_wagon', '<%= config[:version] -%>'
6
+
7
+ group :development do
8
+ # Mac OS X
9
+ gem 'rb-fsevent', '~> 0.9.1', :require => RUBY_PLATFORM.include?('darwin') && 'rb-fsevent'
10
+
11
+ # TODO: Linux
12
+
13
+ # TODO: Windows
14
+ end
15
+
16
+ group :misc do
17
+ # Add your extra gems here
18
+ # gem 'susy', require: 'susy'
19
+ # gem 'redcarpet', require: 'redcarpet'
20
+ end
@@ -0,0 +1 @@
1
+ .empty_directory
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: Page not found
3
+ published: false
4
+ ---
5
+ {% extends index %}
6
+
7
+ {% block 'main' %}
8
+
9
+ <p>Page not found</p>
10
+
11
+ {% endblock %}
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: Home page
3
+ published: true
4
+ ---
5
+ <!DOCTYPE html>
6
+ <html lang="en">
7
+ <head>
8
+ <meta charset="utf-8">
9
+ <title>{{ site.name }}</title>
10
+ <meta name="keywords" value="{{ site.meta_keywords }}" />
11
+ <meta name="description" value="{{ site.meta_description }}" />
12
+ </head>
13
+ <body>
14
+ <h1>{{ page.title }}</h1>
15
+ {% block 'main' %}
16
+ <p>Lorem ipsum....</p>
17
+ {% endblock %}
18
+ </body>
19
+ </html>
@@ -0,0 +1 @@
1
+ .empty_directory
@@ -0,0 +1,12 @@
1
+ development:
2
+ host: dev.example.com
3
+ email: john@doe.net
4
+ password: apassword
5
+ staging:
6
+ host: staging.example.com
7
+ email: john@doe.net
8
+ password: apassword
9
+ production:
10
+ host: www.example.com
11
+ email: john@doe.net
12
+ password: apassword
@@ -0,0 +1,16 @@
1
+ # TODO: explain it
2
+ name: <%= config[:name] %>
3
+
4
+ # TODO: explain it
5
+ # subdomain: sample
6
+
7
+ # TODO: explain it
8
+ # domains: [www.example.com, example.com]
9
+
10
+ # TODO: explain it
11
+ locales: [en]
12
+
13
+ # TODO: explain it
14
+ seo_title: <%= @name %>
15
+ meta_keywords: "some meta keywords"
16
+ meta_description: "some meta description"
@@ -0,0 +1,8 @@
1
+ # Your translations go here. To be used with the 'translate' liquid filter
2
+ # Example:
3
+ # {{ 'hello_world' | translate }}
4
+ #
5
+
6
+ # hello_world:
7
+ # en: Hello world !
8
+ # fr: Bonjour le monde !
@@ -0,0 +1,3 @@
1
+ require 'locomotive/wagon/standalone_server'
2
+
3
+ run Locomotive::Wagon::StandaloneServer.new(File.expand_path('.'))
@@ -0,0 +1 @@
1
+ .empty_directory
@@ -0,0 +1 @@
1
+ .empty_directory
@@ -0,0 +1 @@
1
+ .empty_directory
@@ -0,0 +1 @@
1
+ .empty_directory
@@ -0,0 +1 @@
1
+ .empty_directory
@@ -0,0 +1 @@
1
+ .empty_directory
@@ -0,0 +1,20 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # ruby '1.9.3'
4
+
5
+ gem 'locomotivecms_wagon', '<%= config[:version] -%>'
6
+
7
+ group :development do
8
+ # Mac OS X
9
+ gem 'rb-fsevent', '~> 0.9.1', :require => RUBY_PLATFORM.include?('darwin') && 'rb-fsevent'
10
+
11
+ # TODO: Linux
12
+
13
+ # TODO: Windows
14
+ end
15
+
16
+ group :misc do
17
+ # Add your extra gems here
18
+ # gem 'susy', require: 'susy'
19
+ # gem 'redcarpet', require: 'redcarpet'
20
+ end
@@ -0,0 +1 @@
1
+ .empty_directory
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: Page not found
3
+ published: true
4
+ ---
5
+ {% extends index %}
6
+
7
+ {% block 'main' %}
8
+
9
+ <div class="jumbotron">
10
+ <h1>Arrggggh, page not found</h1>
11
+ </div>
12
+
13
+ {% endblock %}
@@ -0,0 +1,10 @@
1
+ ---
2
+ title: Page not found
3
+ published: true
4
+ ---
5
+ {% extends index %}
6
+
7
+ {% block 'main' %}
8
+ .jumbotron
9
+ %h1 Arrggggh, page not found
10
+ {% endblock %}
@@ -0,0 +1,89 @@
1
+ ---
2
+ title: Home page
3
+ published: true
4
+ ---
5
+ <!DOCTYPE html>
6
+ <html lang="en">
7
+ <head>
8
+ <meta charset="utf-8">
9
+ <title>{{ page.title }}</title>
10
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
11
+ <meta name="description" content="{{ site.meta_description }}">
12
+ <meta name="keywords" content="{{ site.meta_keywords }}">
13
+
14
+ <!-- Le styles -->
15
+ {{ 'bootstrap.css' | stylesheet_tag }}
16
+ {{ 'bootstrap-responsive.css' | stylesheet_tag }}
17
+ {{ 'application.css' | stylesheet_tag }}
18
+
19
+ <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
20
+ <!--[if lt IE 9]>
21
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
22
+ <![endif]-->
23
+ </head>
24
+
25
+ <body>
26
+
27
+ <div class="container-narrow">
28
+
29
+ <div class="masthead">
30
+ <ul class="nav nav-pills pull-right">
31
+ <li class="active"><a href="/">Home</a></li>
32
+ <li><a href="/about">About</a></li>
33
+ <li><a href="/contact">Contact</a></li>
34
+ </ul>
35
+ <h3 class="muted">{{ site.name }}</h3>
36
+ </div>
37
+
38
+ <hr>
39
+
40
+ {% block 'main' %}
41
+
42
+ <div class="jumbotron">
43
+ <h1>Super awesome marketing speak!</h1>
44
+ <p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
45
+ <a class="btn btn-large btn-success" href="#">Sign up today</a>
46
+ </div>
47
+
48
+ <hr>
49
+
50
+ <div class="row-fluid marketing">
51
+ <div class="span6">
52
+ <h4>Subheading</h4>
53
+ <p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>
54
+
55
+ <h4>Subheading</h4>
56
+ <p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>
57
+
58
+ <h4>Subheading</h4>
59
+ <p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
60
+ </div>
61
+
62
+ <div class="span6">
63
+ <h4>Subheading</h4>
64
+ <p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>
65
+
66
+ <h4>Subheading</h4>
67
+ <p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>
68
+
69
+ <h4>Subheading</h4>
70
+ <p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
71
+ </div>
72
+ </div>
73
+
74
+ {% endblock %}
75
+
76
+ <hr>
77
+
78
+ {% include footer %}
79
+
80
+ </div> <!-- /container -->
81
+
82
+ <!-- Le javascript
83
+ ================================================== -->
84
+ <!-- Placed at the end of the document so the pages load faster -->
85
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
86
+ {{ 'bootstrap.js' | javascript_tag }}
87
+
88
+ </body>
89
+ </html>
@@ -0,0 +1,72 @@
1
+ ---
2
+ title: Home page
3
+ published: true
4
+ ---
5
+ !!!
6
+ %html{:lang => "en"}
7
+ %head
8
+ %meta{:charset => "utf-8"}
9
+
10
+ %title {{ page.title }}
11
+
12
+ %meta{:content => "width=device-width, initial-scale=1.0", :name => "viewport"}
13
+ %meta{:content => "{{ site.meta_description }}", :name => "description"}
14
+ %meta{:content => "{{ site.meta_keywords }}", :name => "keywords"}
15
+
16
+ / Le styles
17
+ {{ 'bootstrap.css' | stylesheet_tag }}
18
+ {{ 'bootstrap-responsive.css' | stylesheet_tag }}
19
+ {{ 'application.css' | stylesheet_tag }}
20
+
21
+ / HTML5 shim, for IE6-8 support of HTML5 elements
22
+ /[if lt IE 9]
23
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
24
+ %body
25
+
26
+ .container-narrow
27
+ .masthead
28
+ %ul.nav.nav-pills.pull-right
29
+ %li.active
30
+ %a{:href => "/"} Home
31
+ %li
32
+ %a{:href => "/about"} About
33
+ %li
34
+ %a{:href => "/contact"} Contact
35
+ %h3.muted {{ site.name }}
36
+
37
+ %hr
38
+
39
+ {% block 'main' %}
40
+ .jumbotron
41
+ %h1 Super awesome marketing speak!
42
+ %p.lead Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
43
+ %a.btn.btn-large.btn-success{:href => "#"} Sign up today
44
+
45
+ %hr
46
+
47
+ .row-fluid.marketing
48
+ .span6
49
+ %h4 Subheading
50
+ %p Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.
51
+ %h4 Subheading
52
+ %p Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.
53
+ %h4 Subheading
54
+ %p Maecenas sed diam eget risus varius blandit sit amet non magna.
55
+ .span6
56
+ %h4 Subheading
57
+ %p Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.
58
+ %h4 Subheading
59
+ %p Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.
60
+ %h4 Subheading
61
+ %p Maecenas sed diam eget risus varius blandit sit amet non magna.
62
+ {% endblock %}
63
+ %hr
64
+
65
+ {% include footer %}
66
+ / /container
67
+ /
68
+ Le javascript
69
+ \==================================================
70
+ / Placed at the end of the document so the pages load faster
71
+ %script{:src => "//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"}
72
+ {{ 'bootstrap.js' | javascript_tag }}
@@ -0,0 +1,3 @@
1
+ <div class="footer">
2
+ <p>&copy; Company {{ now | localized_date: '%Y' }} </p>
3
+ </div>
@@ -0,0 +1,2 @@
1
+ .footer
2
+ %p &copy; Company {{ now | localized_date: '%Y' }}
@@ -0,0 +1,12 @@
1
+ development:
2
+ host: dev.example.com
3
+ email: john@doe.net
4
+ password: apassword
5
+ staging:
6
+ host: staging.example.com
7
+ email: john@doe.net
8
+ password: apassword
9
+ production:
10
+ host: www.example.com
11
+ email: john@doe.net
12
+ password: apassword
@@ -0,0 +1,16 @@
1
+ # TODO: explain it
2
+ name: <%= config[:name] %>
3
+
4
+ # TODO: explain it
5
+ # subdomain: sample
6
+
7
+ # TODO: explain it
8
+ # domains: [www.example.com, example.com]
9
+
10
+ # TODO: explain it
11
+ locales: [en]
12
+
13
+ # TODO: explain it
14
+ seo_title: <%= @name %>
15
+ meta_keywords: "some meta keywords"
16
+ meta_description: "some meta description"
@@ -0,0 +1,8 @@
1
+ # Your translations go here. To be used with the 'translate' liquid filter
2
+ # Example:
3
+ # {{ 'hello_world' | translate }}
4
+ #
5
+
6
+ # hello_world:
7
+ # en: Hello world !
8
+ # fr: Bonjour le monde !
@@ -0,0 +1,3 @@
1
+ require 'locomotive/wagon/standalone_server'
2
+
3
+ run Locomotive::Wagon::StandaloneServer.new(File.expand_path('.'))
@@ -0,0 +1 @@
1
+ .empty_directory