j1_template_mde 2018.4.31 → 2018.4.32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/layout_metadata_generator.html +5 -6
  3. data/_includes/themes/j1/layouts/layout_shim_generator.html +20 -2
  4. data/_includes/themes/j1/layouts/layout_theme_generator.html +2 -2
  5. data/_includes/themes/j1/modules/connectors/{analytic/google → ad/custom-provider.html} +7 -16
  6. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +6 -6
  7. data/_includes/themes/j1/modules/connectors/ads +23 -8
  8. data/_includes/themes/j1/modules/connectors/analytic/custom-provider.html +32 -0
  9. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +38 -0
  10. data/_includes/themes/j1/modules/connectors/analytics +16 -17
  11. data/_includes/themes/j1/modules/connectors/comment/custom-provider.html +31 -0
  12. data/_includes/themes/j1/modules/connectors/comment/disqus.html +3 -3
  13. data/_includes/themes/j1/modules/connectors/comment/facebook.html +31 -0
  14. data/_includes/themes/j1/modules/connectors/comments +14 -12
  15. data/_includes/themes/j1/modules/connectors/sharing +3 -10
  16. data/_includes/themes/j1/modules/navigator/generator.html +17 -12
  17. data/_includes/themes/j1/modules/navigator/procedures/quicklinks.proc +37 -27
  18. data/_includes/themes/j1/modules/navigator/procedures/sidebar.proc +3 -3
  19. data/_includes/themes/j1/procedures/layouts/module_writer.proc +4 -4
  20. data/_includes/themes/j1/procedures/layouts/resource_writer.proc +6 -6
  21. data/lib/j1/version.rb +1 -1
  22. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.before_merge_added.rb +1267 -0
  23. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.update.web_cookie.rb +1333 -0
  24. data/lib/j1_app/j1_auth_manager/_unused/auth_manager_ui.2.erb +198 -0
  25. data/lib/j1_app/j1_auth_manager/_unused/auth_manager_ui.additional_inits.erb +254 -0
  26. data/lib/j1_app/j1_auth_manager/auth_manager.rb +361 -275
  27. data/lib/j1_app/j1_auth_manager/config.rb +9 -9
  28. data/lib/j1_app/j1_auth_manager/helpers.rb +60 -2
  29. data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.erb +123 -37
  30. data/lib/starter_web/Gemfile +1 -1
  31. data/lib/starter_web/_config.yml +42 -32
  32. data/lib/starter_web/_data/j1_config.yml +46 -56
  33. data/lib/starter_web/_data/j1_resources.yml +25 -5
  34. data/lib/starter_web/_data/layouts/default.yml +10 -0
  35. data/lib/starter_web/_data/modules/j1_cookie_consent.yml +120 -0
  36. data/lib/starter_web/_data/modules/j1_log4javascript.yml +24 -22
  37. data/lib/starter_web/_data/modules/j1_navigator.yml +61 -50
  38. data/lib/starter_web/_data/modules/j1_navigator_menu.yml +32 -11
  39. data/lib/starter_web/_data/tables/country.asciidoc +252 -0
  40. data/lib/starter_web/assets/data/_authclient.html +365 -0
  41. data/lib/starter_web/assets/data/authclient.html +213 -222
  42. data/lib/starter_web/assets/data/cookie_consent.html +261 -0
  43. data/lib/starter_web/assets/data/countries.json +974 -0
  44. data/lib/starter_web/assets/data/footer.html +17 -26
  45. data/lib/starter_web/assets/data/menu.html +20 -21
  46. data/lib/starter_web/assets/images/icons/j1/scalable/j1v2.svg +1 -1
  47. data/lib/starter_web/assets/images/master_header/admin-bootstrap.jpg +0 -0
  48. data/lib/starter_web/assets/images/pages/roundtrip/package.json +16 -16
  49. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.css +1313 -1219
  50. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  51. data/lib/starter_web/assets/themes/j1/core/css/uno.css +1251 -1219
  52. data/lib/starter_web/assets/themes/j1/core/css/uno.min.css +1 -1
  53. data/lib/starter_web/assets/themes/j1/core/css/vendor.css +72 -72
  54. data/lib/starter_web/assets/themes/j1/core/css/vendor.min.css +2 -2
  55. data/lib/starter_web/assets/themes/j1/core/js/adapter/algolia.js +1 -1
  56. data/lib/starter_web/assets/themes/j1/core/js/adapter/back2top.js +1 -1
  57. data/lib/starter_web/assets/themes/j1/core/js/adapter/bs_gallery.js +1 -1
  58. data/lib/starter_web/assets/themes/j1/core/js/adapter/cookie_consent.js +345 -0
  59. data/lib/starter_web/assets/themes/j1/core/js/adapter/custom.js +1 -1
  60. data/lib/starter_web/assets/themes/j1/core/js/adapter/lightbox.js +1 -1
  61. data/lib/starter_web/assets/themes/j1/core/js/adapter/logger.js +1 -1
  62. data/lib/starter_web/assets/themes/j1/core/js/adapter/master_header.js +1 -1
  63. data/lib/starter_web/assets/themes/j1/core/js/adapter/navigator.js +254 -190
  64. data/lib/starter_web/assets/themes/j1/core/js/adapter/scroller.js +1 -1
  65. data/lib/starter_web/assets/themes/j1/core/js/adapter/searcher.js +1 -1
  66. data/lib/starter_web/assets/themes/j1/core/js/adapter/stickybits.js +1 -1
  67. data/lib/starter_web/assets/themes/j1/core/js/adapter/switcher.js +1 -1
  68. data/lib/starter_web/assets/themes/j1/core/js/adapter/template.js +432 -97
  69. data/lib/starter_web/assets/themes/j1/core/js/adapter/toccer.js +1 -1
  70. data/lib/starter_web/assets/themes/j1/core/js/template.js +15 -15
  71. data/lib/starter_web/assets/themes/j1/core/js/template.js.map +1 -1
  72. data/lib/starter_web/assets/themes/j1/core/js/template.min.js +1 -1
  73. data/lib/starter_web/assets/themes/j1/extensions/cookiebar/js/cookiebar.js +277 -0
  74. data/lib/starter_web/assets/themes/j1/{core/js/adapter/cookiebar.js → extensions/cookiebar/js/j1cookiebar.js} +1 -1
  75. data/lib/starter_web/collections/_biography/becoming.adoc +1 -1
  76. data/lib/starter_web/collections/_biography/born-to-run.adoc +1 -1
  77. data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/attributes.asciidoc +0 -0
  78. data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/documents/100-docker-using-shared-folders.asciidoc +0 -0
  79. data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/documents/loop.sh +0 -0
  80. data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/tables/debug_variables.asciidoc +0 -0
  81. data/lib/starter_web/collections/posts/{premium → private}/series/_posts/2018-11-01-docker-using-shared-folders.adoc +0 -0
  82. data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/000_includes/attributes.asciidoc +0 -0
  83. data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/000_includes/tables/debug_variables.asciidoc +0 -0
  84. data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/2016-11-20-minneapolis.adoc +0 -0
  85. data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +0 -0
  86. data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/2016-11-26-columbia-river.adoc +1 -1
  87. data/lib/starter_web/collections/posts/public/featured/_posts/2019-04-12-about-cookies.adoc +175 -0
  88. data/lib/starter_web/collections/posts/public/{featured → jekyll}/_posts/2018-05-01-confusion-about-base-url.adoc +0 -0
  89. data/lib/starter_web/index.html +4 -1
  90. data/lib/starter_web/package.json +1 -1
  91. data/lib/starter_web/pages/{premium → private}/bookshelf/100_about_jekyll_collections.adoc +1 -1
  92. data/lib/starter_web/pages/{premium → private}/bookshelf/200_book_shelf_biography.adoc +1 -1
  93. data/lib/starter_web/pages/{premium → private}/bookshelf/300_book_shelf_fantasy.adoc +1 -1
  94. data/lib/starter_web/pages/{premium → private}/bookshelf/400_book_shelf_romance.adoc +1 -1
  95. data/lib/starter_web/pages/{private → protected}/TeamUp/000_includes/attributes.asciidoc +0 -0
  96. data/lib/starter_web/pages/{private → protected}/TeamUp/index.adoc +3 -3
  97. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/attributes.asciidoc +0 -0
  98. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/100_absolute_sizes.asciidoc +0 -0
  99. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/110_bs_grid_sizes.asciidoc +0 -0
  100. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/120_relative_sizes.asciidoc +0 -0
  101. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/200_rotate.asciidoc +0 -0
  102. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/300_flip.asciidoc +0 -0
  103. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/400_spin_pulsed.asciidoc +0 -0
  104. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/500_bw_color_palette.asciidoc +0 -0
  105. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/510_bs_color_palette.asciidoc +0 -0
  106. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/600_md_color_palette.asciidoc +0 -0
  107. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +0 -0
  108. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/602_md_color_palette_pink.asciidoc +0 -0
  109. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/100_bs_sizes.asciidoc +0 -0
  110. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/100_relative_sizes.asciidoc +0 -0
  111. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/200_rotate.asciidoc +0 -0
  112. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/300_flip.asciidoc +0 -0
  113. data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/400_spin_pulsed.asciidoc +0 -0
  114. data/lib/starter_web/pages/{private → protected}/previewer/justified_gallery.html +1 -1
  115. data/lib/starter_web/pages/{private → protected}/previewer/mdi_icons_preview.adoc +1 -1
  116. data/lib/starter_web/pages/{private → protected}/previewer/twitter_emoji_preview.adoc +1 -1
  117. data/lib/starter_web/pages/public/about/about_you.adoc +139 -0
  118. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +26 -15
  119. data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +2 -2
  120. data/lib/starter_web/pages/public/legal/en/100_impress.adoc +65 -53
  121. data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +11 -8
  122. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +46 -68
  123. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +72 -74
  124. data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +55 -0
  125. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +1 -1
  126. data/lib/starter_web/pages/public/start/roundtrip/700_extended_modals.adoc +71 -53
  127. metadata +60 -44
  128. data/_includes/themes/j1/modules/connectors/analytic/googleUA +0 -44
  129. data/lib/starter_web/_data/modules/j1_cookiebar.yml +0 -65
  130. data/lib/starter_web/_unused/package.json.new +0 -125
@@ -47,8 +47,8 @@ module J1App
47
47
 
48
48
  def self.permissions
49
49
  permission_profile = {
50
- :private => [],
51
- :premium => []
50
+ :protected => [],
51
+ :private => []
52
52
  }
53
53
 
54
54
  active_providers = auth_config['providers']['activated']
@@ -88,11 +88,11 @@ module J1App
88
88
 
89
89
  # def self.provider_url(arg)
90
90
  # provider_url = {
91
- # 'patreon' => auth_config['provider']['home_url']['patreon'],
92
- # 'disqus' => auth_config['provider']['home_url']['disqus'],
93
- # 'facebook' => auth_config['provider']['home_url']['facebook'],
94
- # 'github' => auth_config['provider']['home_url']['github'],
95
- # 'twitter' => auth_config['provider']['home_url']['twitter']
91
+ # 'patreon' => auth_config['provider']['provider_url']['patreon'],
92
+ # 'disqus' => auth_config['provider']['provider_url']['disqus'],
93
+ # 'facebook' => auth_config['provider']['provider_url']['facebook'],
94
+ # 'github' => auth_config['provider']['provider_url']['github'],
95
+ # 'twitter' => auth_config['provider']['provider_url']['twitter']
96
96
  # }
97
97
  # provider_url[arg]
98
98
  # end
@@ -132,8 +132,8 @@ module J1App
132
132
 
133
133
  # def self.permissions_old
134
134
  # permission_profile = {
135
- # :private => [],
136
- # :premium => []
135
+ # :protected => [],
136
+ # :private => []
137
137
  # }
138
138
  #
139
139
  # provider_permissions = auth_config['provider']['permission']
@@ -80,5 +80,63 @@ module J1App
80
80
  # end
81
81
  # end
82
82
 
83
- end
84
- end
83
+ # --------------------------------------------------------------------------
84
+ # merge: merge two hashes (input <- hash)
85
+ #
86
+ # Example:
87
+ # {% assign nav_bar_options = nav_bar_default | merge: nav_bar_config %}
88
+ # --------------------------------------------------------------------------
89
+ def merge(input, hash)
90
+ unless input.respond_to?(:to_hash)
91
+ raise ArgumentError.new("merge filter requires hash arguments: arg_input")
92
+ end
93
+ # if hash to merge is NOT a hash or empty return first hash (input)
94
+ unless hash.respond_to?(:to_hash)
95
+ input
96
+ end
97
+ if hash.nil? || hash.empty?
98
+ input
99
+ else
100
+ merged = input.dup
101
+ hash.each do |k, v|
102
+ merged[k] = v
103
+ end
104
+ merged
105
+ end
106
+ end
107
+
108
+ # --------------------------------------------------------------------------
109
+ # writeCookie:
110
+ #
111
+ # Example:
112
+ #
113
+ # --------------------------------------------------------------------------
114
+ def writeCookie(name, data)
115
+ session_encoded = Base64.encode64(data)
116
+ response.set_cookie(
117
+ name,
118
+ domain: false,
119
+ value: session_encoded.to_s,
120
+ path: '/'
121
+ )
122
+ end
123
+
124
+ # --------------------------------------------------------------------------
125
+ # readCookie:
126
+ #
127
+ # Example:
128
+ #
129
+ # --------------------------------------------------------------------------
130
+ def readCookie(name)
131
+ if env['HTTP_COOKIE'].include? name
132
+ session_encoded = request.cookies[name]
133
+ session_decoded = Base64.decode64(session_encoded)
134
+ session_data = JSON.parse(session_decoded)
135
+ return session_data
136
+ else
137
+ return {}
138
+ end
139
+ end
140
+
141
+ end # END helpers
142
+ end # END module
@@ -2,9 +2,7 @@
2
2
  <html lang="en">
3
3
 
4
4
  <head>
5
-
6
5
  <meta charset="utf-8">
7
-
8
6
  <title>AuthManager</title>
9
7
  <meta name="description" content="J1 Template">
10
8
  <meta name="author" content="jelyll-one">
@@ -13,27 +11,27 @@
13
11
  <link rel="stylesheet" type="text/css" href="/assets/themes/j1/core/css/vendor.css">
14
12
  <script src="/assets/themes/j1/core/js/template.js"></script>
15
13
  <script src="/assets/themes/j1/core/js/adapter/template.js"></script>
16
-
17
14
  </head>
18
15
 
19
16
  <body class="r-text-300">
20
17
 
21
- <!-- Modal Central Success Demo -->
18
+ <!-- Modal Central Success -->
22
19
  <div id="centralModalInfo" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
23
20
  <div class="modal-dialog modal-notify modal-<%= @info_type %>" role="document">
24
21
  <!-- Content -->
25
22
  <div class="modal-content">
26
23
  <!--Header-->
27
24
  <div class="modal-header">
28
- <p class="lead"><%= @modal_title %></p>
25
+ <p class="lead">
26
+ <i class="mdi mdi-2x mdi-dark mdi-<%= @modal_icon %>"></i>
27
+ <%= @modal_title %></p>
29
28
  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
30
- <i class="mdi mdi-close mdi-light mdi-48px"></i>
29
+ <i class="mdi mdi-dark mdi-48px mdi-close"></i>
31
30
  </button>
32
31
  </div>
33
32
  <!-- Body -->
34
33
  <div class="modal-body">
35
34
  <div class="text-center">
36
- <i class="mdi mdi-4x mdi-<%= @modal_icon %> mdi-rotateIn mb-1"></i>
37
35
  <p style="text-align: justify"><%= @modal_description %></p>
38
36
  </div>
39
37
  </div>
@@ -45,7 +43,7 @@
45
43
  <!-- END Content -->
46
44
  </div>
47
45
  </div>
48
- <!-- END Central Success Demo -->
46
+ <!-- END Central Success -->
49
47
 
50
48
 
51
49
  <!-- Modal TopInfo -->
@@ -53,6 +51,7 @@
53
51
  <div class="modal-dialog modal-frame modal-top modal-notify modal-info" role="document">
54
52
  <!-- Content -->
55
53
  <div class="modal-content">
54
+
56
55
  <!-- Body -->
57
56
  <div class="modal-body">
58
57
  <div class="row px-4">
@@ -61,7 +60,8 @@
61
60
  <div class="row px-4">
62
61
  <a type="button" id="okButton" class="btn btn-primary-modal mr-2" data-dismiss="modal"><%= @modal_ok_text %></a>
63
62
  </div>
64
- </div>
63
+ </div> <!-- END Body -->
64
+
65
65
  </div>
66
66
  <!-- END Content -->
67
67
  </div>
@@ -73,76 +73,162 @@
73
73
  <div class="modal-dialog modal-lg modal-notify modal-info" role="document">
74
74
  <!-- Content -->
75
75
  <div class="modal-content">
76
+
76
77
  <!--Header-->
77
78
  <div class="modal-header">
78
- <p class="lead"><%= @modal_title %></p>
79
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
80
- <i class="mdi mdi-close mdi-light mdi-48px"></i>
81
- </button>
79
+ <p class="lead">
80
+ <i class="mdi mdi-2x mdi-dark mdi-account"></i>
81
+ <%= @modal_title %>
82
+ </p>
83
+ <!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
84
+ <i class="mdi mdi-dark mdi-48px mdi-close"></i>
85
+ </button> -->
82
86
  </div>
87
+
83
88
  <!-- Body -->
84
89
  <div class="modal-body">
85
90
  <div class="text-center">
86
- <i class="mdi mdi-4x mdi-<%= @modal_icon %> mdi-rotateIn mb-1"></i>
87
91
  <p style="text-align: justify"><%= @modal_description %></p>
88
92
  </div>
89
93
  <img src="<%= @modal_image %>" alt="<%= @modal_title %>" class="img-fluid">
90
94
  </div>
95
+
91
96
  <!-- Footer -->
92
- <div class="modal-footer">
97
+ <div class="modal-footer justify-content-center">
93
98
  <a type="button" id="signInButton" class="btn btn-primary-modal mr-2" data-dismiss="modal">
94
99
  <i class="mdi mdi-18px mdi-dark mdi-login"></i>
95
100
  <%= @modal_agreed_text %>
96
101
  </a>
97
- <a type="button" id="exitButton" class="btn btn-outline-secondary-modal" data-dismiss="modal">
102
+ <a type="button" id="exitButton" class="btn btn-outline-modal" data-dismiss="modal">
103
+ <i class="mdi mdi-18px mdi-dark mdi-close"></i>
98
104
  <%= @modal_disagreed_text %>
99
105
  </a>
100
106
  </div>
101
- </div>
102
- <!-- END Content -->
107
+
108
+ </div> <!-- END Content -->
103
109
  </div>
104
110
  </div>
105
111
  <!-- END Modal SignInProtectedContent -->
106
112
 
113
+ <!-- Modal Central CookieConsent -->
114
+ <div id="centralCookieConsent" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
115
+ <div class="modal-dialog modal-notify modal-<%= @info_type %>" role="document">
116
+ <!-- Content -->
117
+ <div class="modal-content">
118
+ <!--Header-->
119
+ <div class="modal-header">
120
+ <p class="lead">
121
+ <i class="mdi mdi-2x mdi-dark mdi-account"></i>
122
+ <%= @modal_title %>
123
+ </p>
124
+ <!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
125
+ <i class="mdi mdi-dark mdi-48px mdi-close"></i>
126
+ </button> -->
127
+ </div>
128
+ <!-- Body -->
129
+ <div class="modal-body">
130
+ <div class="text-center">
131
+ <p style="text-align: justify"><%= @modal_description %></p>
132
+ </div>
133
+ </div>
134
+ <!-- Footer -->
135
+ <div class="modal-footer justify-content-center">
136
+ <a type="button" id="acceptCookiesButton" class="btn btn-primary-modal mr-2" data-dismiss="modal">
137
+ <i class="mdi mdi-18px mdi-dark mdi-<%= @modal_icon %>"></i>
138
+ <%= @modal_agreed_text %>
139
+ </a>
140
+ <a type="button" id="declineCookiesButton" class="btn btn-outline-modal" data-dismiss="modal">
141
+ <i class="mdi mdi-18px mdi-dark mdi-close"></i>
142
+ <%= @modal_disagreed_text %>
143
+ </a>
144
+ </div>
145
+ <!-- END Content -->
146
+ </div>
147
+ </div>
148
+ <!-- END Central CookieConsent -->
149
+
107
150
  </body>
108
151
 
109
152
  <script>
153
+
110
154
  var route;
111
155
  var provider;
156
+ var user_state;
112
157
 
113
- logger = log4javascript.getLogger("j1.Navigator"); // Setup logger
158
+ // Setup logger
159
+ var logger;
160
+ var allModalButtons = document.querySelectorAll('a.btn');
114
161
 
115
162
  var signIn = {
116
163
  provider: "<%= @provider %>",
117
- do: false
164
+ do: "unset"
118
165
  }
119
166
 
120
- $(window).on('load', function(){
121
- $("#<%= @modal %>").modal("show")
167
+ var cookiesAccepted = {
168
+ do: "unset"
169
+ }
170
+
171
+ // Manage button click events for all modals
172
+ // See: https://www.nickang.com/add-event-listener-for-loop-problem-in-javascript/
173
+ // -----------------------------------------------------------------
174
+ $(document).on('shown.bs.modal','#<%= @modal %>', function () {
175
+ console.log('J1AuthManager: entered modal SHOWN from <%= @modal %>');
176
+
177
+ allModalButtons.forEach(function(button, index) {
178
+ button.addEventListener('click', function() {
179
+ // Modal topFullCookieConsent
180
+ // -----------------------------------------------------------
181
+ if (this.id === "acceptCookiesButton") {
182
+ cookiesAccepted.do = true;
183
+ user_state = j1.getWebSessionCookie();
184
+ user_state.cookies_accepted = 'accepted';
185
+ j1.setWebSessionCookie(user_state);
186
+ }
187
+ if (this.id === "declineCookiesButton") {
188
+ cookiesAccepted.do = false;
189
+ }
190
+ if (this.id === "okButton") {
191
+ signIn.do = true;
192
+ }
193
+ if (this.id === "signInButton") {
194
+ signIn.do = true;
195
+ } else {
196
+ signIn.do = false;
197
+ }
198
+ });
199
+ });
200
+
201
+ return;
122
202
  });
123
203
 
124
- $("a.btn").click(function() {
125
- if (this.id === "okButton") {
126
- signIn.do = true;
127
- }
128
- if (this.id === "signInButton") {
129
- signIn.do = true;
130
- } else {
131
- signIn.do = false;
132
- }
204
+ $(window).on('load', function() {
205
+ $("#<%= @modal %>").modal("show")
133
206
  });
134
207
 
135
- $("#<%= @modal %>").on('hidden.bs.modal', function() {
208
+ $(document).on('hide.bs.modal','#<%= @modal %>', function () {
209
+ console.log('J1AuthManager: entered modal HIDE from <%= @modal %>');
210
+ user_state = j1.getWebSessionCookie();
211
+ // Manage SignIn
212
+ // -----------------------------------------------------------------------
136
213
  if (signIn.do == true) {
214
+ var route = "<%= @route %>"
215
+ console.log('J1AuthManager: pass to ' + route);
216
+ window.location.href = route;
217
+ } else if (signIn.do == false) {
218
+ // TODO: How to manage page requested
219
+ // window.location.href = user_state.requested_page; // cause dead loop
220
+ window.location.href = '/';
221
+ }
222
+ // Cookies
223
+ // -----------------------------------------------------------------------
224
+ if (cookiesAccepted.do == true) {
137
225
  var route = "<%= @route %>"
138
226
  window.location.href = route;
139
- } else {
140
- // TODO: How to manage last/current page if protected
141
- j1_user_state = j1.getUserStateCookie();
142
- //window.location.href = j1_user_state.last_page;
143
- //window.location.href = j1_user_state.current_page;
227
+ } else if (cookiesAccepted.do == false) {
144
228
  window.location.href = '/';
145
229
  }
230
+ // pass to "window.location.href"
231
+ return;
146
232
  });
147
233
  </script>
148
234
 
@@ -46,7 +46,7 @@ gem 'jekyll', '~> 3.8.5'
46
46
  # Theme Rubies
47
47
  # Default: J1 Template
48
48
  #
49
- gem 'j1_template_mde', '~> 2018.4.31'
49
+ gem 'j1_template_mde', '~> 2018.4.32'
50
50
 
51
51
  # --------------------------------------------------------------------
52
52
  # PRODUCTION: Gem needed for the Jekyll and J1 prod environment
@@ -60,7 +60,7 @@ environment: development
60
60
  # anything here because version information is bumped-in by
61
61
  # the build process
62
62
  #
63
- version: 2018.4.31
63
+ version: 2018.4.32
64
64
 
65
65
 
66
66
  # ==============================================================================
@@ -547,80 +547,82 @@ algolia:
547
547
  j1_auth:
548
548
  enabled: false
549
549
  ssl: false
550
+ update_user_state: true
550
551
 
551
552
  content:
552
553
  public:
553
554
  - \W*((?i)assets(?-i))\W*
554
555
  - \W*((?i)public(?-i))\W*
556
+ protected:
557
+ - \W*((?i)protected(?-i))\W*
555
558
  private:
556
559
  - \W*((?i)private(?-i))\W*
557
- premium:
558
- - \W*((?i)premium(?-i))\W*
559
560
 
560
561
  providers:
561
562
  activated: [ disqus ]
562
563
 
563
564
  disqus:
564
- home_url: https://disqus.com
565
- product_url: http://localhost:5000
565
+ provider_url: https://disqus.com
566
566
  strategy: member
567
567
  scope: []
568
568
  users: [ all ]
569
- permissions: [ private ]
569
+ permissions: [ protected, private ]
570
570
  data_fields: []
571
571
  conditions:
572
+ protected:
573
+ enabled: true
574
+ users:
575
+ blacklist: []
572
576
  private:
573
577
  enabled: true
574
578
  users:
579
+ whitelist: [ all ]
575
580
  blacklist: []
576
581
 
577
582
  # facebook:
578
- # home_url: https://facebook.com
579
- # product_url: http://localhost:5000
583
+ # provider_url: https://facebook.com
580
584
  # strategy: member
581
585
  # scope: []
582
586
  # users: [ all ]
583
- # permissions: [ private ]
587
+ # permissions: [ protected ]
584
588
  # data_fields: []
585
589
  # conditions:
586
- # private:
590
+ # protected:
587
591
  # enabled: true
588
592
  # users:
589
593
  # whitelist: [ all ]
590
594
  # blacklist: []
591
595
  #
592
596
  # github:
593
- # home_url: https://github.com
594
- # product_url: http://localhost:5000
597
+ # provider_url: https://github.com
595
598
  # strategy: member
596
599
  # scope: []
597
600
  # users: [ all ]
598
- # permissions: [ private ]
601
+ # permissions: [ protected ]
599
602
  # data_fields: []
600
603
  # conditions:
601
- # private:
604
+ # protected:
602
605
  # enabled: true
603
606
  # users:
604
607
  # whitelist: [ all ]
605
608
  # blacklist: []
606
609
  #
607
610
  # patreon:
608
- # home_url: https://patreon.com
609
- # product_url: http://localhost:5000
611
+ # provider_url: https://patreon.com
610
612
  # strategy: member
611
613
  # scope: [ users, pledges-to-me ]
612
614
  # users: [ all ]
613
- # permissions: [ private, premium ]
615
+ # permissions: [ protected, private ]
614
616
  # data_fields: [
615
617
  # email, name, first_name, nickname,
616
618
  # amount_cents, created_at, declined_since
617
619
  # ]
618
620
  # conditions:
619
- # private:
621
+ # protected:
620
622
  # enabled: true
621
623
  # users:
622
624
  # blacklist: []
623
- # premium:
625
+ # private:
624
626
  # enabled: true
625
627
  # users:
626
628
  # whitelist: [ juergen_adams ]
@@ -638,15 +640,14 @@ j1_auth:
638
640
  # state: paid
639
641
  #
640
642
  # twitter:
641
- # home_url: https://twitter.com
642
- # product_url: http://localhost:5000
643
+ # provider_url: https://twitter.com
643
644
  # strategy: member
644
645
  # scope: []
645
646
  # users: [ all ]
646
- # permissions: [ private, premium ]
647
+ # permissions: [ protected ]
647
648
  # data_fields: []
648
649
  # conditions:
649
- # private:
650
+ # protected:
650
651
  # enabled: true
651
652
  # users:
652
653
  # blacklist: []
@@ -756,7 +757,8 @@ defaults:
756
757
  author: J1 Team
757
758
  toc: true
758
759
  resources: toccer
759
- adsense: false
760
+ analytics: false
761
+ advertising: false
760
762
  comments: false
761
763
  scrollbar: false
762
764
  indexed: true
@@ -794,7 +796,8 @@ defaults:
794
796
  author: J1 Team
795
797
  toc: true
796
798
  resources: toccer
797
- adsense: true
799
+ analytics: false
800
+ advertising: false
798
801
  comments: true
799
802
 
800
803
  robots:
@@ -828,7 +831,8 @@ defaults:
828
831
  author: J1 Team
829
832
  toc: true
830
833
  resources: toccer
831
- adsense: true
834
+ analytics: false
835
+ advertising: false
832
836
  comments: true
833
837
 
834
838
  robots:
@@ -859,7 +863,8 @@ defaults:
859
863
  author: J1 Team
860
864
  toc: true
861
865
  resources: toccer
862
- adsense: true
866
+ analytics: false
867
+ advertising: false
863
868
  comments: true
864
869
 
865
870
  robots:
@@ -891,7 +896,8 @@ defaults:
891
896
  resources: toccer
892
897
  toc: true
893
898
  resources: toccer
894
- adsense: true
899
+ analytics: false
900
+ advertising: false
895
901
  comments: false
896
902
 
897
903
  robots:
@@ -921,7 +927,8 @@ defaults:
921
927
 
922
928
  values:
923
929
  layout: page
924
- adsense: true
930
+ analytics: false
931
+ advertising: false
925
932
  scrollbar: false
926
933
 
927
934
  robots:
@@ -937,7 +944,8 @@ defaults:
937
944
 
938
945
  values:
939
946
  layout: page
940
- adsense: true
947
+ analytics: false
948
+ advertising: false
941
949
  scrollbar: false
942
950
 
943
951
  robots:
@@ -953,7 +961,8 @@ defaults:
953
961
 
954
962
  values:
955
963
  layout: page
956
- adsense: true
964
+ analytics: false
965
+ advertising: false
957
966
  scrollbar: false
958
967
 
959
968
  # --------------------------------------------------------
@@ -965,7 +974,8 @@ defaults:
965
974
 
966
975
  values:
967
976
  layout: page
968
- adsense: true
977
+ analytics: false
978
+ advertising: false
969
979
  scrollbar: false
970
980
 
971
981
  robots: