cmor_core_frontend 0.0.8.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +19 -0
- data/lib/cmor/core/frontend/configuration.rb +11 -0
- data/lib/cmor/core/frontend/engine.rb +9 -0
- data/lib/cmor/core/frontend/gemspec.rb +41 -0
- data/lib/cmor/core/frontend/version.rb +9 -0
- data/lib/cmor/core/frontend.rb +10 -0
- data/lib/cmor_core_frontend.rb +5 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/bootstrap4_generator.rb +31 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/images/frontend/logos/square.svg +34 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/javascripts/frontend/application/keep.js +0 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/javascripts/frontend/application.js +4 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/javascripts/frontend.js +1 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/stylesheets/frontend/application/fonts.css +3 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/stylesheets/frontend/application/layout.css +3 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/stylesheets/frontend/application.css +6 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/stylesheets/frontend/vendor/modern-business.css +27 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/stylesheets/frontend.css +3 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/controllers/frontend/application_controller.rb +22 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/view_helpers/frontend/application_view_helper.rb +62 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_about_us.html.haml +8 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_call_to_action.html.haml +5 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_inline_gallery.html.haml +6 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_our_team.html.haml +29 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_pricing.html.haml +37 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/frontend/application_view_helper/_target_groups.html.haml +27 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/views/layouts/frontend/application.html.haml +62 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/config/initializers/assets.rb +4 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/config/locales/de.yml +9 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/config/locales/en.yml +9 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/config/routes.rb +3 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/frontend.gemspec +18 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/lib/frontend/engine.rb +6 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/lib/frontend/version.rb +4 -0
- data/lib/generators/cmor/core/frontend/bootstrap4/templates/lib/frontend.rb +5 -0
- data/lib/generators/cmor/core/frontend/install/install_generator.rb +28 -0
- data/lib/generators/cmor/core/frontend/install/templates/frontend_controller.rb +2 -0
- data/lib/generators/cmor/core/frontend/install/templates/initializer.rb +2 -0
- data/lib/generators/cmor/core/frontend/navigation/navigation_generator.rb +70 -0
- data/lib/generators/cmor/core/frontend/new/new_generator.rb +80 -0
- data/lib/generators/cmor/core/frontend/new/templates/Gemfile +15 -0
- data/lib/generators/cmor/core/frontend/new/templates/Guardfile +82 -0
- data/lib/generators/cmor/core/frontend/new/templates/MIT-LICENSE +20 -0
- data/lib/generators/cmor/core/frontend/new/templates/README.md +28 -0
- data/lib/generators/cmor/core/frontend/new/templates/Rakefile +19 -0
- data/lib/generators/cmor/core/frontend/new/templates/app/assets/config/foo_bar_manifest.js +1 -0
- data/lib/generators/cmor/core/frontend/new/templates/app/assets/javascripts/foo_bar/application/keep.js +0 -0
- data/lib/generators/cmor/core/frontend/new/templates/app/assets/javascripts/foo_bar/application.js +2 -0
- data/lib/generators/cmor/core/frontend/new/templates/app/assets/javascripts/foo_bar.js +2 -0
- data/lib/generators/cmor/core/frontend/new/templates/app/assets/stylesheets/foo_bar/application/keep.css +0 -0
- data/lib/generators/cmor/core/frontend/new/templates/app/assets/stylesheets/foo_bar/application.css +3 -0
- data/lib/generators/cmor/core/frontend/new/templates/app/assets/stylesheets/foo_bar.css +3 -0
- data/lib/generators/cmor/core/frontend/new/templates/app/controllers/foo_bar/application_controller.rb +5 -0
- data/lib/generators/cmor/core/frontend/new/templates/app/view_helpers/foo_bar/application_view_helper.rb +4 -0
- data/lib/generators/cmor/core/frontend/new/templates/bin/rails +25 -0
- data/lib/generators/cmor/core/frontend/new/templates/config/locales/de.yml +1 -0
- data/lib/generators/cmor/core/frontend/new/templates/config/locales/en.yml +1 -0
- data/lib/generators/cmor/core/frontend/new/templates/config/routes.rb +2 -0
- data/lib/generators/cmor/core/frontend/new/templates/foo_bar.gemspec +50 -0
- data/lib/generators/cmor/core/frontend/new/templates/initialize_dummy.sh +31 -0
- data/lib/generators/cmor/core/frontend/new/templates/lib/foo_bar/configuration.rb +9 -0
- data/lib/generators/cmor/core/frontend/new/templates/lib/foo_bar/engine.rb +5 -0
- data/lib/generators/cmor/core/frontend/new/templates/lib/foo_bar/version.rb +1 -0
- data/lib/generators/cmor/core/frontend/new/templates/lib/foo_bar.rb +6 -0
- data/lib/generators/cmor/core/frontend/new/templates/lib/generators/foo_bar/install/install_generator.rb +25 -0
- data/lib/generators/cmor/core/frontend/new/templates/lib/generators/foo_bar/install/templates/initializer.rb +7 -0
- data/lib/generators/cmor/core/frontend/new/templates/lib/generators/foo_bar/install/templates/routes.source +3 -0
- data/lib/generators/cmor/core/frontend/new/templates/lib/tasks/foo_bar_tasks.rake +4 -0
- data/lib/generators/cmor/core/frontend/new/templates/spec/lib/foo_bar/version_spec.rb +5 -0
- data/lib/generators/cmor/core/frontend/new/templates/spec/rails_helper.rb +62 -0
- data/lib/generators/cmor/core/frontend/new/templates/spec/spec_helper.rb +98 -0
- data/lib/generators/cmor/core/frontend/new/templates/spec/support/capybara.rb +1 -0
- data/lib/generators/cmor/core/frontend/new/templates/spec/support/factory_bot.rb +9 -0
- data/lib/generators/cmor/core/frontend/new/templates/spec/support/rao-shoulda_matchers.rb +5 -0
- data/lib/generators/cmor/core/frontend/resource_controller/resource_controller_generator.rb +46 -0
- data/lib/generators/cmor/core/frontend/resource_controller/templates/resource_controller.rb +18 -0
- data/lib/generators/cmor/core/frontend/resources_controller/resources_controller_generator.rb +54 -0
- data/lib/generators/cmor/core/frontend/resources_controller/templates/resources_controller.rb +18 -0
- data/lib/generators/cmor/core/frontend/service_controller/service_controller_generator.rb +42 -0
- data/lib/generators/cmor/core/frontend/service_controller/templates/service_controller.rb +18 -0
- 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,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,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>
|
File without changes
|
data/lib/generators/cmor/core/frontend/bootstrap4/templates/app/assets/javascripts/frontend.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
//= require frontend/application
|
@@ -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,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,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,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
|