tramway-landing 3.2.0.3 → 3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9049dba4967149cb1ee00c67192845a31730ca9421a416f5d3244bbc148cdace
4
- data.tar.gz: 9791a682642002981bf6d07ba7156ec323df728a65ee209318179a90de8ce48f
3
+ metadata.gz: a7c9610e7ca9a06693e66b7d02d8085dcf88c2ec1e4d3f0e2822d80406165e17
4
+ data.tar.gz: fd346a2b77c95906b9cee5a40df1d053806cfc94c6eff6d344aec1646c9e25fd
5
5
  SHA512:
6
- metadata.gz: cf3e443a1a10e4d29f9fce38308e254aa10d83e9397f68e0a4aec9e317f13bc75c59c011355e343129694536a1794658cc71532d66e8b6f43ea5b6ec0709496c
7
- data.tar.gz: 924a4a230033865f9c0a52994c1639ce33c0e684f23506e4aba8f96171c616ad91138c0594c485ce2c6ab6068724f5395e2964c278c02b2f6968d80e24bf507c
6
+ metadata.gz: bbbdb675f71c7b04d040e9e7dc78a707247916d0076b646bdacdb12c948e19b9f5f69a303a53032c4c79b5bde2de0b586e48acf23bdcae9018afc174fd41d827
7
+ data.tar.gz: e7ee9cfed8732ebbd60ea3df48a612d3e9405ebedfcc794a09697651d9dd7750cfcd61153befc78432e23b81cc707d1fc4e598084e8a6801656f770a30f3749b
@@ -0,0 +1,3 @@
1
+ class Tramway::Landing::ToolDecorator < Tramway::Core::ApplicationDecorator
2
+ delegate_attributes :title, :account_id
3
+ end
@@ -0,0 +1,10 @@
1
+ class Admin::Tramway::Landing::ToolForm < Tramway::Core::ApplicationForm
2
+ properties :title, :account_id
3
+
4
+ def initialize(object)
5
+ super(object).tap do
6
+ form_properties title: :default,
7
+ account_id: :string
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,7 @@
1
+ class Tramway::Landing::Tool < Tramway::Core::ApplicationRecord
2
+ enumerize :title, in: [ :google_tag_manager, :google_analytics, :yandex_direct ]
3
+
4
+ def with_body_fragment?
5
+ title.google_tag_manager?
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ = render 'layouts/tramway/landing/meta'
2
+ %title
3
+ = yield(:title).present? ? yield(:title) : @application.title
4
+ = stylesheet_link_tag 'tramway/landing/application', media: 'all'
5
+ = javascript_include_tag 'tramway/landing/application'
6
+ = javascript_include_tag 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js', integrity: 'sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl', crossorigin: 'anonymous'
7
+ = javascript_include_tag 'https://code.jquery.com/jquery-3.2.1.slim.min.js', integrity: 'sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN', crossorigin: 'anonymous'
8
+ = javascript_include_tag 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', integrity: 'sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q', crossorigin: 'anonymous'
9
+ = csrf_meta_tags
10
+ - if @application&.favicon.present?
11
+ = favicon_link_tag @application.favicon
12
+ - ::Tramway::Landing.head_content.each do |content|
13
+ - self.instance_exec &content
14
+ - @tools.each do |tool|
15
+ = render "layouts/tramway/landing/tools/#{tool.title}_head", account_id: tool.account_id
@@ -1,20 +1,11 @@
1
1
  !!!
2
2
  %html
3
3
  %head
4
- = render 'layouts/tramway/landing/meta'
5
- %title
6
- = yield(:title).present? ? yield(:title) : @application.title
7
- = stylesheet_link_tag 'tramway/landing/application', media: 'all'
8
- = javascript_include_tag 'tramway/landing/application'
9
- = javascript_include_tag 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js', integrity: 'sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl', crossorigin: 'anonymous'
10
- = javascript_include_tag 'https://code.jquery.com/jquery-3.2.1.slim.min.js', integrity: 'sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN', crossorigin: 'anonymous'
11
- = javascript_include_tag 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', integrity: 'sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q', crossorigin: 'anonymous'
12
- = csrf_meta_tags
13
- - if @application&.favicon.present?
14
- = favicon_link_tag @application.favicon
15
- - ::Tramway::Landing.head_content.each do |content|
16
- - self.instance_exec &content
4
+ = render 'layouts/tramway/landing/head'
17
5
  %body{ class: @application&.name }
6
+ - @tools.each do |tool|
7
+ - if tool.with_body_fragment?
8
+ = render "layouts/tramway/landing/tools/#{tool.title}_body", account_id: tool.account_id
18
9
  = stylesheet_link_tag 'https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.4.5/css/mdb.min.css'
19
10
  = javascript_include_tag 'https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.4.5/js/mdb.js'
20
11
  = javascript_include_tag 'https://cdn.rawgit.com/CezarLuiz0/anchor.js/master/dist/anchor.min.js'
@@ -0,0 +1,4 @@
1
+ / Google Tag Manager (noscript)
2
+ %noscript
3
+ %iframe{height: "0", src: "https://www.googletagmanager.com/ns.html?id=#{account_id}", style: "display:none;visibility:hidden", width: "0"}
4
+ / End Google Tag Manager (noscript)
@@ -0,0 +1,8 @@
1
+ / Google Tag Manager
2
+ :javascript
3
+ (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
4
+ new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
5
+ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
6
+ 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
7
+ })(window,document,'script','dataLayer','#{account_id}');
8
+ / End Google Tag Manager
@@ -2,6 +2,7 @@ ru:
2
2
  activerecord:
3
3
  models:
4
4
  tramway/landing/block: Блок
5
+ tramway/landing/tool: Инструмент
5
6
  attributes:
6
7
  tramway/landing/block:
7
8
  name: Название
@@ -26,6 +27,9 @@ ru:
26
27
  tramway/landing/form:
27
28
  title: Название формы
28
29
  form_name: Класс формы
30
+ tramway/landing/tool:
31
+ title: Выберите сервис
32
+ account_id: ID в системе
29
33
  cases:
30
34
  tramway/landing/block:
31
35
  plural: Блоки
@@ -33,6 +37,9 @@ ru:
33
37
  tramway/landing/form:
34
38
  plural: Публичные формы
35
39
  genitive: публичную форму
40
+ tramway/landing/tool:
41
+ plural: Инструменты
42
+ genitive: инструмент
36
43
  enumerize:
37
44
  tramway/landing/block:
38
45
  block_type:
@@ -54,4 +61,4 @@ ru:
54
61
  not_exist: Отсутствует
55
62
  errors:
56
63
  messages:
57
- extension_whitelist_error: неверный формата, расширение файла должно быть jpg, jpeg, gif или png.
64
+ extension_whitelist_error: неверный формата, расширение файла должно быть jpg, jpeg, gif или png.
@@ -26,6 +26,7 @@ module Tramway::Landing::Generators
26
26
  add_values_to_tramway_landing_blocks
27
27
  add_page_id_to_tramway_landing_blocks
28
28
  create_tramway_landing_forms
29
+ create_tramway_landing_tools
29
30
  ]
30
31
 
31
32
  migrations.each do |migration|
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateTramwayLandingTools < ActiveRecord::Migration[5.1]
4
+ def change
5
+ create_table :tramway_landing_tools do |t|
6
+ t.text :title
7
+ t.text :account_id
8
+ t.jsonb :options
9
+ t.text :state, default: :active
10
+
11
+ t.timestamps
12
+ end
13
+ end
14
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Landing
5
- VERSION = '3.2.0.3'
5
+ VERSION = '3.3'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-landing
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0.3
4
+ version: '3.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - moshinaan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-04 00:00:00.000000000 Z
11
+ date: 2021-02-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Landing Engine for your Rails projects
14
14
  email:
@@ -38,20 +38,25 @@ files:
38
38
  - app/decorators/tramway/landing/form_decorator.rb
39
39
  - app/decorators/tramway/landing/navbar/link_decorator.rb
40
40
  - app/decorators/tramway/landing/navbar_decorator.rb
41
+ - app/decorators/tramway/landing/tool_decorator.rb
41
42
  - app/forms/admin/tramway/landing/block_form.rb
42
43
  - app/forms/admin/tramway/landing/form_form.rb
44
+ - app/forms/admin/tramway/landing/tool_form.rb
43
45
  - app/helpers/tramway/landing/application_helper.rb
44
46
  - app/jobs/tramway/landing/application_job.rb
45
47
  - app/mailers/tramway/landing/application_mailer.rb
46
48
  - app/models/tramway/landing/application_record.rb
47
49
  - app/models/tramway/landing/block.rb
48
50
  - app/models/tramway/landing/form.rb
51
+ - app/models/tramway/landing/tool.rb
49
52
  - app/uploaders/tramway/landing/photo_versions.rb
53
+ - app/views/layouts/tramway/landing/_head.html.haml
50
54
  - app/views/layouts/tramway/landing/_meta.html.haml
51
55
  - app/views/layouts/tramway/landing/_navbar.html.haml
52
- - app/views/layouts/tramway/landing/_yandex_metrika.html.haml
53
56
  - app/views/layouts/tramway/landing/application.html.haml
54
57
  - app/views/layouts/tramway/landing/navbar/_link.html.haml
58
+ - app/views/layouts/tramway/landing/tools/_google_tag_manager_body.html.haml
59
+ - app/views/layouts/tramway/landing/tools/_google_tag_manager_head.html.haml
55
60
  - app/views/tramway/landing/blocks/block_types/_cards.html.haml
56
61
  - app/views/tramway/landing/blocks/block_types/_contacts.html.haml
57
62
  - app/views/tramway/landing/blocks/block_types/_features.html.haml
@@ -94,6 +99,7 @@ files:
94
99
  - lib/tramway/landing/generates/templates/add_view_name_to_tramway_landing_blocks.rb
95
100
  - lib/tramway/landing/generates/templates/create_tramway_landing_blocks.rb
96
101
  - lib/tramway/landing/generates/templates/create_tramway_landing_forms.rb
102
+ - lib/tramway/landing/generates/templates/create_tramway_landing_tools.rb
97
103
  - lib/tramway/landing/version.rb
98
104
  homepage: https://github.com/kalashnikovisme/tramway-landing
99
105
  licenses:
@@ -1,30 +0,0 @@
1
- / Yandex.Metrika counter
2
- :javascript
3
- (function (d, w, c) {
4
- (w[c] = w[c] || []).push(function() {
5
- try {
6
- w.yaCounter49054148 = new Ya.Metrika({
7
- id:49054148,
8
- clickmap:true,
9
- trackLinks:true,
10
- accurateTrackBounce:true,
11
- webvisor:true
12
- });
13
- } catch(e) { }
14
- });
15
-
16
- var n = d.getElementsByTagName("script")[0],
17
- s = d.createElement("script"),
18
- f = function () { n.parentNode.insertBefore(s, n); };
19
- s.type = "text/javascript";
20
- s.async = true;
21
- s.src = "https://mc.yandex.ru/metrika/watch.js";
22
-
23
- if (w.opera == "[object Opera]") {
24
- d.addEventListener("DOMContentLoaded", f, false);
25
- } else { f(); }
26
- })(document, window, "yandex_metrika_callbacks");
27
- %noscript
28
- %div
29
- %img{alt: "", src: "https://mc.yandex.ru/watch/49054148", style: "position:absolute; left:-9999px;"}/
30
- / /Yandex.Metrika counter