cmor_core_frontend 0.0.8.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +19 -0
  4. data/lib/cmor/core/frontend/configuration.rb +11 -0
  5. data/lib/cmor/core/frontend/engine.rb +9 -0
  6. data/lib/cmor/core/frontend/gemspec.rb +41 -0
  7. data/lib/cmor/core/frontend/version.rb +9 -0
  8. data/lib/cmor/core/frontend.rb +10 -0
  9. data/lib/cmor_core_frontend.rb +5 -0
  10. data/lib/generators/cmor/core/frontend/bootstrap4/bootstrap4_generator.rb +31 -0
  11. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/images/frontend/logos/square.svg +34 -0
  12. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/javascripts/frontend/application/keep.js +0 -0
  13. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/javascripts/frontend/application.js +4 -0
  14. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/javascripts/frontend.js +1 -0
  15. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/stylesheets/frontend/application/fonts.css +3 -0
  16. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/stylesheets/frontend/application/layout.css +3 -0
  17. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/stylesheets/frontend/application.css +6 -0
  18. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/stylesheets/frontend/vendor/modern-business.css +27 -0
  19. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/stylesheets/frontend.css +3 -0
  20. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/controllers/frontend/application_controller.rb +22 -0
  21. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/view_helpers/frontend/application_view_helper.rb +62 -0
  22. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_about_us.html.haml +8 -0
  23. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_call_to_action.html.haml +5 -0
  24. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_inline_gallery.html.haml +6 -0
  25. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_our_team.html.haml +29 -0
  26. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_pricing.html.haml +37 -0
  27. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_target_groups.html.haml +27 -0
  28. data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/layouts/frontend/application.html.haml +62 -0
  29. data/lib/generators/cmor/core/frontend/bootstrap4/templates/config/initializers/assets.rb +4 -0
  30. data/lib/generators/cmor/core/frontend/bootstrap4/templates/config/locales/de.yml +9 -0
  31. data/lib/generators/cmor/core/frontend/bootstrap4/templates/config/locales/en.yml +9 -0
  32. data/lib/generators/cmor/core/frontend/bootstrap4/templates/config/routes.rb +3 -0
  33. data/lib/generators/cmor/core/frontend/bootstrap4/templates/frontend.gemspec +18 -0
  34. data/lib/generators/cmor/core/frontend/bootstrap4/templates/lib/frontend/engine.rb +6 -0
  35. data/lib/generators/cmor/core/frontend/bootstrap4/templates/lib/frontend/version.rb +4 -0
  36. data/lib/generators/cmor/core/frontend/bootstrap4/templates/lib/frontend.rb +5 -0
  37. data/lib/generators/cmor/core/frontend/install/install_generator.rb +28 -0
  38. data/lib/generators/cmor/core/frontend/install/templates/frontend_controller.rb +2 -0
  39. data/lib/generators/cmor/core/frontend/install/templates/initializer.rb +2 -0
  40. data/lib/generators/cmor/core/frontend/navigation/navigation_generator.rb +70 -0
  41. data/lib/generators/cmor/core/frontend/new/new_generator.rb +80 -0
  42. data/lib/generators/cmor/core/frontend/new/templates/Gemfile +15 -0
  43. data/lib/generators/cmor/core/frontend/new/templates/Guardfile +82 -0
  44. data/lib/generators/cmor/core/frontend/new/templates/MIT-LICENSE +20 -0
  45. data/lib/generators/cmor/core/frontend/new/templates/README.md +28 -0
  46. data/lib/generators/cmor/core/frontend/new/templates/Rakefile +19 -0
  47. data/lib/generators/cmor/core/frontend/new/templates/app/assets/config/foo_bar_manifest.js +1 -0
  48. data/lib/generators/cmor/core/frontend/new/templates/app/assets/javascripts/foo_bar/application/keep.js +0 -0
  49. data/lib/generators/cmor/core/frontend/new/templates/app/assets/javascripts/foo_bar/application.js +2 -0
  50. data/lib/generators/cmor/core/frontend/new/templates/app/assets/javascripts/foo_bar.js +2 -0
  51. data/lib/generators/cmor/core/frontend/new/templates/app/assets/stylesheets/foo_bar/application/keep.css +0 -0
  52. data/lib/generators/cmor/core/frontend/new/templates/app/assets/stylesheets/foo_bar/application.css +3 -0
  53. data/lib/generators/cmor/core/frontend/new/templates/app/assets/stylesheets/foo_bar.css +3 -0
  54. data/lib/generators/cmor/core/frontend/new/templates/app/controllers/foo_bar/application_controller.rb +5 -0
  55. data/lib/generators/cmor/core/frontend/new/templates/app/view_helpers/foo_bar/application_view_helper.rb +4 -0
  56. data/lib/generators/cmor/core/frontend/new/templates/bin/rails +25 -0
  57. data/lib/generators/cmor/core/frontend/new/templates/config/locales/de.yml +1 -0
  58. data/lib/generators/cmor/core/frontend/new/templates/config/locales/en.yml +1 -0
  59. data/lib/generators/cmor/core/frontend/new/templates/config/routes.rb +2 -0
  60. data/lib/generators/cmor/core/frontend/new/templates/foo_bar.gemspec +50 -0
  61. data/lib/generators/cmor/core/frontend/new/templates/initialize_dummy.sh +31 -0
  62. data/lib/generators/cmor/core/frontend/new/templates/lib/foo_bar/configuration.rb +9 -0
  63. data/lib/generators/cmor/core/frontend/new/templates/lib/foo_bar/engine.rb +5 -0
  64. data/lib/generators/cmor/core/frontend/new/templates/lib/foo_bar/version.rb +1 -0
  65. data/lib/generators/cmor/core/frontend/new/templates/lib/foo_bar.rb +6 -0
  66. data/lib/generators/cmor/core/frontend/new/templates/lib/generators/foo_bar/install/install_generator.rb +25 -0
  67. data/lib/generators/cmor/core/frontend/new/templates/lib/generators/foo_bar/install/templates/initializer.rb +7 -0
  68. data/lib/generators/cmor/core/frontend/new/templates/lib/generators/foo_bar/install/templates/routes.source +3 -0
  69. data/lib/generators/cmor/core/frontend/new/templates/lib/tasks/foo_bar_tasks.rake +4 -0
  70. data/lib/generators/cmor/core/frontend/new/templates/spec/lib/foo_bar/version_spec.rb +5 -0
  71. data/lib/generators/cmor/core/frontend/new/templates/spec/rails_helper.rb +62 -0
  72. data/lib/generators/cmor/core/frontend/new/templates/spec/spec_helper.rb +98 -0
  73. data/lib/generators/cmor/core/frontend/new/templates/spec/support/capybara.rb +1 -0
  74. data/lib/generators/cmor/core/frontend/new/templates/spec/support/factory_bot.rb +9 -0
  75. data/lib/generators/cmor/core/frontend/new/templates/spec/support/rao-shoulda_matchers.rb +5 -0
  76. data/lib/generators/cmor/core/frontend/resource_controller/resource_controller_generator.rb +46 -0
  77. data/lib/generators/cmor/core/frontend/resource_controller/templates/resource_controller.rb +18 -0
  78. data/lib/generators/cmor/core/frontend/resources_controller/resources_controller_generator.rb +54 -0
  79. data/lib/generators/cmor/core/frontend/resources_controller/templates/resources_controller.rb +18 -0
  80. data/lib/generators/cmor/core/frontend/service_controller/service_controller_generator.rb +42 -0
  81. data/lib/generators/cmor/core/frontend/service_controller/templates/service_controller.rb +18 -0
  82. metadata +403 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 61dcc47211ace03b4c5f12c8d2c7f3cee8f6267b8b310cbdb83d03b608e10f32
4
+ data.tar.gz: 5fa1a8b40dfe235c37a5f0b56b2cfec4b2db9f4248941a207548d0e95dd2522d
5
+ SHA512:
6
+ metadata.gz: adc89e65c9338f4a3f2a14e7bfb7152a420a020a2b82b6edfed216e0e556cc72c93a8a637e67476d7d1f1f6ad0dc04ee7bd1b82fc67bc23b95707522e743e06c
7
+ data.tar.gz: 5717277e89f6cb7e467c55286cda9fe6289904223c9cf44f13054d35cdc9eed3bd726f396ba3f0fbe5db9094290a261d65d1cccfab89b20799252d2a5f4a7b4c
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2019 Roberto Vasquez Angel
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,19 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Cmor::Core::Frontend'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ Bundler::GemHelper.install_tasks
18
+
19
+ require 'rails/dummy/tasks'
@@ -0,0 +1,11 @@
1
+ module Cmor
2
+ module Core
3
+ module Frontend
4
+ module Configuration
5
+ def configure
6
+ yield self
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ module Cmor
2
+ module Core
3
+ module Frontend
4
+ class Engine < ::Rails::Engine
5
+ isolate_namespace Cmor::Core::Frontend
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,41 @@
1
+ module Cmor
2
+ module Core
3
+ module Frontend
4
+ class Gemspec
5
+ def self.defaults(s)
6
+ s.version = ::Cmor::VERSION
7
+ s.authors = ["Roberto Vasquez Angel"]
8
+ s.email = ["roberto@vasquez-angel.de"]
9
+ s.homepage = "https://github.com/content-management-on-rails"
10
+ s.license = "MIT"
11
+
12
+ s.files = Dir["{app,config,db,lib,spec}/**/*", "MIT-LICENSE", "Rakefile", "README.md"]
13
+
14
+ s.add_dependency "rails", ">= 5.2.0"
15
+ # s.add_dependency "cmor", "= #{Cmor::VERSION}"
16
+ s.add_dependency "cmor_core", "= #{Cmor::VERSION}"
17
+ s.add_dependency "cmor_core_frontend", "= #{Cmor::VERSION}" unless s.files.include?("lib/cmor/core/frontend.rb")
18
+
19
+ s.add_development_dependency "sqlite3", '~> 1.3.6'
20
+
21
+ s.add_development_dependency 'capybara'
22
+ s.add_development_dependency 'coveralls'
23
+ s.add_development_dependency 'git_log_generator'
24
+ s.add_development_dependency 'guard-bundler'
25
+ s.add_development_dependency 'guard-rails'
26
+ s.add_development_dependency 'guard-rspec'
27
+ s.add_development_dependency 'pry-rails'
28
+ s.add_development_dependency 'rao-shoulda_matchers'
29
+ s.add_development_dependency 'rails-dummy'
30
+ s.add_development_dependency 'rails-i18n'
31
+ s.add_development_dependency 'rspec-rails'
32
+ s.add_development_dependency 'factory_bot_rails' # This has to be after rspec-rails
33
+ s.add_development_dependency 'rubocop'
34
+ s.add_development_dependency 'shoulda-matchers'
35
+ s.add_development_dependency 'simplecov'
36
+ s.add_development_dependency 'simplecov-console'
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,9 @@
1
+ require 'cmor/version'
2
+
3
+ module Cmor
4
+ module Core
5
+ module Frontend
6
+ VERSION = ::Cmor::VERSION
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ require 'cmor/core/frontend/configuration'
2
+ require 'cmor/core/frontend/engine'
3
+
4
+ module Cmor
5
+ module Core
6
+ module Frontend
7
+ extend Configuration
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,5 @@
1
+ require 'cmor'
2
+ require 'cmor_core'
3
+ require 'rails_eu_gdpr'
4
+
5
+ require 'cmor/core/frontend'
@@ -0,0 +1,31 @@
1
+ module Cmor
2
+ module Core
3
+ module Frontend
4
+ module Generators
5
+ class Bootstrap4Generator < Rails::Generators::Base
6
+ desc 'Generates a frontend engine with bootstrap 4 layout'
7
+
8
+ source_root File.expand_path('../templates', __FILE__)
9
+
10
+ def install_eu_gdpr
11
+ generate "eu_gdpr:install"
12
+ end
13
+
14
+ def generate_engine
15
+ empty_directory 'engines/frontend'
16
+ templates_dir = "#{__dir__}/templates/"
17
+ Dir.glob("#{templates_dir}**/*").each do |f|
18
+ next unless File.file?(f)
19
+ f.gsub!(templates_dir, '')
20
+ copy_file f, "engines/frontend/#{f}"
21
+ end
22
+ end
23
+
24
+ def add_engine_to_gemfile
25
+ append_to_file 'Gemfile', "\r\ngem 'frontend', path: './engines/frontend'"
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="219.292px" height="219.285px" viewBox="0 0 219.292 219.285" enable-background="new 0 0 219.292 219.285"
6
+ xml:space="preserve">
7
+ <g>
8
+ <path fill="#6D6E71" d="M44.513,219.285C19.967,219.285,0,199.315,0,174.771L0.002,44.513C0.002,19.969,19.973,0,44.516,0h130.255
9
+ c24.546,0,44.518,19.967,44.518,44.512l0.004,130.26c0,24.544-19.971,44.514-44.517,44.514H44.513z"/>
10
+ <path fill="#FFFFFF" d="M44.513,213.724c-21.478,0-38.948-17.475-38.948-38.952L5.566,44.513c0-21.477,17.472-38.949,38.949-38.949
11
+ l130.255-0.002c21.479,0,38.956,17.473,38.956,38.95l0.001,130.26c0,21.478-17.474,38.952-38.952,38.952H44.513z"/>
12
+ <path fill="#3B5EAB" d="M34.457,80.616l-9.985-7.09l-2.265,2.265L20.448,75.3c-4.674-15.95,6.562-26.54,6.562-26.54
13
+ s10.595-11.244,26.535-6.559l0.482,1.766l-2.256,2.257l7.094,9.981c0,0,9.02-0.323,13.85,4.508l0.965-0.967
14
+ c0,0,0.61,0.368,1.624,1.052l61.28-49.671H44.516c-18.36,0-33.385,15.023-33.385,33.384l-0.001,68.308l25.881-20.979
15
+ C34.244,86.947,34.457,80.616,34.457,80.616z"/>
16
+ <path fill="#313071" d="M178.393,163.52c0-17.386,12.972-31.74,29.771-33.935l-0.005-85.073c0-18.363-15.022-33.383-33.388-33.383
17
+ h-14.519L96.381,80.813c1.77,2.421,2.585,3.899,2.585,3.899L97.6,86.079c0,0,4.186,7.263,3.95,12.65l19.881,13.451
18
+ c0,0,0.242,0.89-1.047,3.626l12.403,17.723l6.368-1.539l16.659,26.334l0.652,2.575l-17.323,17.32l-2.578-0.648l-26.321-16.659
19
+ l1.519-6.363l-17.709-12.408c-2.743,1.289-3.637,1.053-3.637,1.053l-13.428-19.897c-5.407,0.243-12.653-3.948-12.653-3.948
20
+ l-1.376,1.373c0,0-0.736-0.406-2.003-1.254l-49.83,54.368v0.937c0,18.361,15.021,33.385,33.386,33.385h130.263
21
+ c10.479,0,19.86-4.895,25.993-12.504C187.706,190.826,178.393,178.262,178.393,163.52z"/>
22
+ <g>
23
+ <path fill="#FFFFFF" d="M62.96,120.721l1.376-1.373c0,0,7.246,4.191,12.653,3.948l13.428,19.897c0,0,0.894,0.236,3.637-1.053
24
+ l17.709,12.408l-1.519,6.363l26.321,16.659l2.578,0.648l17.323-17.32l-0.652-2.575l-16.659-26.334l-6.368,1.539l-12.403-17.723
25
+ c1.289-2.736,1.047-3.626,1.047-3.626L101.55,98.729c0.235-5.387-3.95-12.65-3.95-12.65l1.366-1.368c0,0-0.815-1.478-2.585-3.899
26
+ l63.871-69.684h-23.668L75.304,60.8c-1.014-0.684-1.624-1.052-1.624-1.052l-0.965,0.967c-4.83-4.831-13.85-4.508-13.85-4.508
27
+ l-7.094-9.981l2.256-2.257l-0.482-1.766C37.604,37.517,27.01,48.76,27.01,48.76S15.774,59.35,20.448,75.3l1.759,0.491l2.265-2.265
28
+ l9.985,7.09c0,0-0.213,6.332,2.554,11.227L11.13,112.821l-0.003,61.014l49.83-54.368C62.224,120.314,62.96,120.721,62.96,120.721z
29
+ "/>
30
+ <path fill="#FFFFFF" d="M208.163,129.585c-16.799,2.194-29.771,16.549-29.771,33.935c0,14.742,9.313,27.307,22.376,32.133
31
+ c4.616-5.73,7.395-12.993,7.395-20.881V129.585z"/>
32
+ </g>
33
+ </g>
34
+ </svg>
@@ -0,0 +1,4 @@
1
+ //= require rails-ujs
2
+ //= require eu_gdpr
3
+ //= require blueimp-gallery
4
+ //= require_tree ./application
@@ -0,0 +1,6 @@
1
+ /*
2
+ *= require eu_gdpr
3
+ *= require blueimp-gallery
4
+ *= require_tree ./vendor
5
+ *= require_tree ./application
6
+ */
@@ -0,0 +1,27 @@
1
+ /*!
2
+ * Start Bootstrap - Modern Business (https://startbootstrap.com/template-overviews/modern-business)
3
+ * Copyright 2013-2019 Start Bootstrap
4
+ * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-logomodern-business-nav/blob/master/LICENSE)
5
+ */
6
+ body {
7
+ padding-top: 56px;
8
+ }
9
+
10
+ .carousel-item {
11
+ /* height: 65vh;
12
+ min-height: 300px; */
13
+ max-height: 100vh;
14
+ background: no-repeat center center scroll;
15
+ -webkit-background-size: cover;
16
+ -moz-background-size: cover;
17
+ -o-background-size: cover;
18
+ background-size: cover;
19
+ }
20
+
21
+ .portfolio-item {
22
+ margin-bottom: 30px;
23
+ }
24
+
25
+ header .carousel {
26
+ margin-top: -56px;
27
+ }
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require frontend/application
3
+ */
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Frontend
4
+ class ApplicationController < ActionController::Base
5
+ include Cmor::UserArea::Controller::RedirectBackConcern
6
+ include Cmor::UserArea::Controller::CurrentUserConcern
7
+
8
+ view_helper Cmor::Cms::ApplicationViewHelper, as: :cms_helper
9
+ view_helper Cmor::Cms::PageViewHelper, as: :cms_page_helper
10
+ view_helper Cmor::Cms::NavigationViewHelper, as: :cms_navigation_helper
11
+ view_helper Cmor::Carousels::ApplicationViewHelper, as: :carousels_helper
12
+ view_helper Cmor::Core::MarkupViewHelper, as: :markup_helper
13
+ view_helper Twitter::Bootstrap::Components::Rails::V4::ViewHelper, as: :bootstrap_helper
14
+ view_helper Frontend::ApplicationViewHelper, as: :frontend_helper
15
+ view_helper Blueimp::Gallery::ApplicationViewHelper, as: :blueimp_gallery_helper
16
+ view_helper EuGdpr::ApplicationViewHelper, as: :eu_gdpr_helper
17
+ view_helper Cmor::UserArea::ApplicationViewHelper, as: :user_area_helper
18
+ view_helper Cmor::Links::ApplicationViewHelper, as: :links_helper
19
+
20
+ helper Twitter::Bootstrap::Components::Rails::V4::ComponentsHelper
21
+ end
22
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Frontend
4
+ class ApplicationViewHelper < Rao::ViewHelper::Base
5
+ def call_to_action
6
+ c.render partial: "frontend/application_view_helper/call_to_action"
7
+ end
8
+
9
+ # Renders images as inline gallery with lightbox.
10
+ #
11
+ # Usage:
12
+ #
13
+ # = frontend_helper(self).inline_gallery(Post.first.images, id: "first_post_images", variant_options: { resize: "700x450" })
14
+ #
15
+ # @images: array of ActiveStorage assets (images).
16
+ def inline_gallery(images, options = {})
17
+ return if images.nil? || images.empty?
18
+
19
+ variant_options = options.delete(:variant_options) || { resize: "960x540" }
20
+ id = options.delete(:id) || "inline-gallery-#{rand(36**8).to_s(36)}"
21
+ c.render partial: 'frontend/application_view_helper/inline_gallery', locals: { id: id, images: images, variant_options: variant_options }
22
+ end
23
+
24
+ def target_groups
25
+ c.render partial: 'frontend/application_view_helper/target_groups'
26
+ end
27
+
28
+ def pricing
29
+ c.render partial: 'frontend/application_view_helper/pricing'
30
+ end
31
+
32
+ def about_us
33
+ c.render partial: 'frontend/application_view_helper/about_us'
34
+ end
35
+
36
+ def our_team
37
+ c.render partial: 'frontend/application_view_helper/our_team'
38
+ end
39
+
40
+ def copyright_message
41
+ c.t('site.copyright_message', owner: c.t('site.owner'), to: Time.zone.now.year)
42
+ end
43
+
44
+ def home_title
45
+ c.t('.home')
46
+ end
47
+
48
+ def main_logo_url
49
+ "https://placeholder.pics/svg/36x36"
50
+ end
51
+
52
+ def body_html
53
+ { class: body_classes }
54
+ end
55
+
56
+ private
57
+
58
+ def body_classes
59
+ [].compact.join(' ')
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,8 @@
1
+ .row
2
+ .col-lg-6
3
+ %img.img-fluid.rounded.mb-4{:alt => "", :src => "http://placehold.it/750x450"}/
4
+ .col-lg-6
5
+ %h2 About Modern Business
6
+ %p Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sed voluptate nihil eum consectetur similique? Consectetur, quod, incidunt, harum nisi dolores delectus reprehenderit voluptatem perferendis dicta dolorem non blanditiis ex fugiat.
7
+ %p Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe, magni, aperiam vitae illum voluptatum aut sequi impedit non velit ab ea pariatur sint quidem corporis eveniet. Odit, temporibus reprehenderit dolorum!
8
+ %p Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et, consequuntur, modi mollitia corporis ipsa voluptate corrupti eum ratione ex ea praesentium quibusdam? Aut, in eum facere corrupti necessitatibus perspiciatis quis?
@@ -0,0 +1,5 @@
1
+ .row.mb-4
2
+ .col-md-8
3
+ %p Lorem ipsum dolor sit amet, consectetur adipisicing elit. Molestias, expedita, saepe, vero rerum deleniti beatae veniam harum neque nemo praesentium cum alias asperiores commodi.
4
+ .col-md-4
5
+ = link_to("Call to Action", cmor_contact.root_path, class: 'btn btn-lg btn-primary btn-block')
@@ -0,0 +1,6 @@
1
+ .inline-gallery{ id: id }
2
+ .row
3
+ - images.each do |image|
4
+ .col-6.col-md-4.col-lg-3
5
+ %a{ href: main_app.url_for(image), data: { gallery: id } }
6
+ %img{ class: 'img-fluid mb-4', src: main_app.url_for(image.variant(variant_options)) }/
@@ -0,0 +1,29 @@
1
+ %h2 Our Team
2
+ .row
3
+ .col-lg-4.mb-4
4
+ .card.h-100.text-center
5
+ %img.card-img-top{:alt => "", :src => "http://placehold.it/750x450"}/
6
+ .card-body
7
+ %h4.card-title Team Member
8
+ %h6.card-subtitle.mb-2.text-muted Position
9
+ %p.card-text Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus aut mollitia eum ipsum fugiat odio officiis odit.
10
+ .card-footer
11
+ %a{:href => "#"} name@example.com
12
+ .col-lg-4.mb-4
13
+ .card.h-100.text-center
14
+ %img.card-img-top{:alt => "", :src => "http://placehold.it/750x450"}/
15
+ .card-body
16
+ %h4.card-title Team Member
17
+ %h6.card-subtitle.mb-2.text-muted Position
18
+ %p.card-text Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus aut mollitia eum ipsum fugiat odio officiis odit.
19
+ .card-footer
20
+ %a{:href => "#"} name@example.com
21
+ .col-lg-4.mb-4
22
+ .card.h-100.text-center
23
+ %img.card-img-top{:alt => "", :src => "http://placehold.it/750x450"}/
24
+ .card-body
25
+ %h4.card-title Team Member
26
+ %h6.card-subtitle.mb-2.text-muted Position
27
+ %p.card-text Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus aut mollitia eum ipsum fugiat odio officiis odit.
28
+ .card-footer
29
+ %a{:href => "#"} name@example.com
@@ -0,0 +1,37 @@
1
+ .row
2
+ .col-lg-4.mb-4
3
+ .card.h-100
4
+ %h3.card-header Basic
5
+ .card-body
6
+ .display-4 $19.99
7
+ .font-italic per month
8
+ %ul.list-group.list-group-flush
9
+ %li.list-group-item Cras justo odio
10
+ %li.list-group-item Dapibus ac facilisis in
11
+ %li.list-group-item Vestibulum at eros
12
+ %li.list-group-item
13
+ %a.btn.btn-primary{:href => "#"} Sign Up!
14
+ .col-lg-4.mb-4
15
+ .card.card-outline-primary.h-100
16
+ %h3.card-header.bg-primary.text-white Plus
17
+ .card-body
18
+ .display-4 $39.99
19
+ .font-italic per month
20
+ %ul.list-group.list-group-flush
21
+ %li.list-group-item Cras justo odio
22
+ %li.list-group-item Dapibus ac facilisis in
23
+ %li.list-group-item Vestibulum at eros
24
+ %li.list-group-item
25
+ %a.btn.btn-primary{:href => "#"} Sign Up!
26
+ .col-lg-4.mb-4
27
+ .card.h-100
28
+ %h3.card-header Ultra
29
+ .card-body
30
+ .display-4 $159.99
31
+ .font-italic per month
32
+ %ul.list-group.list-group-flush
33
+ %li.list-group-item Cras justo odio
34
+ %li.list-group-item Dapibus ac facilisis in
35
+ %li.list-group-item Vestibulum at eros
36
+ %li.list-group-item
37
+ %a.btn.btn-primary{:href => "#"} Sign Up!
@@ -0,0 +1,27 @@
1
+ .row
2
+ .col-lg-4.col-sm-6.portfolio-item
3
+ .card.h-100
4
+ %a{:href => "#"}
5
+ %img.card-img-top{:alt => "", :src => "http://placehold.it/700x400"}/
6
+ .card-body
7
+ %h4.card-title
8
+ %a{:href => "/de/tischfussball-fuer-newcomer"} Newcomer
9
+ %p.card-text Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur eum quasi sapiente nesciunt? Voluptatibus sit, repellat sequi itaque deserunt, dolores in, nesciunt, illum tempora ex quae? Nihil, dolorem!
10
+
11
+ .col-lg-4.col-sm-6.portfolio-item
12
+ .card.h-100
13
+ %a{:href => "/de/tischfussball-fuer-kneipenkickerer"}
14
+ %img.card-img-top{:alt => "", :src => "http://placehold.it/700x400"}/
15
+ .card-body
16
+ %h4.card-title
17
+ %a{:href => "#"} Kneipenkickerer
18
+ %p.card-text Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur eum quasi sapiente nesciunt? Voluptatibus sit, repellat sequi itaque deserunt, dolores in, nesciunt, illum tempora ex quae? Nihil, dolorem!
19
+
20
+ .col-lg-4.col-sm-6.portfolio-item
21
+ .card.h-100
22
+ %a{:href => "/de/tischfussball-fuer-vereinsspieler"}
23
+ %img.card-img-top{:alt => "", :src => "http://placehold.it/700x400"}/
24
+ .card-body
25
+ %h4.card-title
26
+ %a{:href => "#"} Liagspieler
27
+ %p.card-text Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur eum quasi sapiente nesciunt? Voluptatibus sit, repellat sequi itaque deserunt, dolores in, nesciunt, illum tempora ex quae? Nihil, dolorem!
@@ -0,0 +1,62 @@
1
+ !!!
2
+ %html{ lang: I18n.locale }
3
+ %head
4
+ %meta{:charset => "utf-8"}/
5
+ %meta{:content => "width=device-width, initial-scale=1, shrink-to-fit=no", :name => "viewport"}/
6
+ %meta{:content => "", :name => "description"}/
7
+ %meta{:content => "", :name => "author"}/
8
+ %title= cms_helper(self).title
9
+
10
+ / Rails meta tags
11
+ = csrf_meta_tags
12
+ = csp_meta_tag
13
+
14
+ / Bootstrap core CSS
15
+ %link{href: "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css", rel: "stylesheet", integrity: "sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T", crossorigin: "anonymous"}
16
+ / Custom styles for this template
17
+ = stylesheet_link_tag 'frontend/application', media: 'all', 'data-turbolinks-track': 'reload'
18
+ / Fonts
19
+ %link{:href => "https://fonts.googleapis.com/css?family=Poppins", :rel => "stylesheet"}/
20
+ / Font Awesome Icons
21
+ %link{:crossorigin => "anonymous", :href => "https://use.fontawesome.com/releases/v5.8.1/css/all.css", :integrity => "sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf", :rel => "stylesheet"}/
22
+ / jQuery JS
23
+ %script{:crossorigin => "anonymous", :integrity => "sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=", :src => "https://code.jquery.com/jquery-3.3.1.min.js"}
24
+ / Bootstrap core JavaScript
25
+ %script{src: "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js", integrity: "sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C8PRhcEn3czEjhAO9o", crossorigin: "anonymous"}
26
+ / Frontend Javascript
27
+ = javascript_include_tag 'frontend/application', 'data-turbolinks-track': 'reload'
28
+ %body{ frontend_helper(self).body_html }
29
+ / Navigation
30
+ %nav.navbar.fixed-top.navbar-expand-lg.navbar-dark.bg-dark.fixed-top
31
+ .container
32
+ = link_to("/#{I18n.locale}", class: 'navbar-brand') do
33
+ = image_tag(frontend_helper(self).main_logo_url)
34
+ = frontend_helper(self).home_title
35
+ %button.navbar-toggler.navbar-toggler-right{"aria-controls" => "navbarResponsive", "aria-expanded" => "false", "aria-label" => "Toggle navigation", "data-target" => "#navbarResponsive", "data-toggle" => "collapse", :type => "button"}
36
+ %span.navbar-toggler-icon
37
+ #navbarResponsive.collapse.navbar-collapse
38
+ = cms_navigation_helper(self).render(:main, renderer: :list, container_css_class: 'navbar-nav ml-auto', selected_class: 'active', item_html: { class: 'nav-item' }, link_html: { class: 'nav-link' })
39
+ = user_area_helper(self).render_navigation(dropdown: false)
40
+
41
+ %header
42
+ - if cms_page_helper(self).home?
43
+ = carousels_helper(self).render_carousel(:main, variant_options: { combine_options: { resize: "1920x1080^", gravity: 'center', crop: "1920x1080+0+0" } })
44
+
45
+ / Page Content
46
+ .container
47
+ .mb-4.mt-4
48
+ = yield
49
+
50
+
51
+ / /.container
52
+ / Footer
53
+ %footer.py-5.bg-light
54
+ .container
55
+ = links_helper(self).render_footer
56
+ %footer.py-5.bg-dark
57
+ .container
58
+ %p.m-0.text-center.text-white
59
+ = frontend_helper(self).copyright_message
60
+ / /.container
61
+ = blueimp_gallery_helper(self).prepare_modal
62
+ = eu_gdpr_helper(self).render_cookie_consent_banner
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ Rails.application.config.assets.precompile += %w( frontend.css frontend.js )
4
+ Rails.application.config.assets.precompile += %w( frontend/logos/square.svg )
@@ -0,0 +1,9 @@
1
+ de:
2
+ layouts:
3
+ frontend:
4
+ application:
5
+ home: "Jane Does' Webseite"
6
+ site:
7
+ owner: "Jane Doe"
8
+ copyright_message: "Copyright © %{owner} 2009 - %{to}"
9
+ primary_title: "Jane Does' Webseite - %{subtitle}"
@@ -0,0 +1,9 @@
1
+ en:
2
+ layouts:
3
+ frontend:
4
+ application:
5
+ home: "Jane Does' Website"
6
+ site:
7
+ owner: "Jane Doe"
8
+ copyright_message: "Copyright © %{owner} 2009 - %{to}"
9
+ primary_title: "Jane Does' Website - %{subtitle}"
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+ Frontend::Engine.routes.draw do
3
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ $:.push File.expand_path("../lib", __FILE__)
4
+
5
+ # Maintain your gem's version:
6
+ require "frontend/version"
7
+
8
+ # Describe your gem and declare its dependencies:
9
+ Gem::Specification.new do |s|
10
+ s.name = "frontend"
11
+ s.version = Frontend::VERSION
12
+ s.authors = ["Jane Doe"]
13
+ s.email = ["jane.doe@domain.local"]
14
+ s.summary = "The default cmor frontend with bootstrap 4."
15
+ s.license = "MIT"
16
+
17
+ s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"]
18
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ module Frontend
3
+ class Engine < ::Rails::Engine
4
+ isolate_namespace Frontend
5
+ end
6
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+ module Frontend
3
+ VERSION = "0.0.1".freeze
4
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+ require "frontend/engine"
3
+
4
+ module Frontend
5
+ end