j1-template 2022.0.9 → 2022.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/ads/google_ad_content_home.html +11 -0
  3. data/_includes/themes/j1/modules/ads/google_ad_top_home.html +11 -0
  4. data/apps/public/cc/index.adoc +0 -1
  5. data/assets/data/article_navigator/index.html +0 -1
  6. data/assets/data/news_panel_posts/index.html +0 -1
  7. data/assets/error_pages/HTTP445.html +5 -4
  8. data/assets/error_pages/HTTP446.html +2 -2
  9. data/assets/error_pages/HTTP447.html +110 -0
  10. data/assets/error_pages/HTTP448.html +111 -0
  11. data/assets/themes/j1/adapter/js/advertising.js +416 -0
  12. data/assets/themes/j1/adapter/js/cookieConsent.js +8 -3
  13. data/assets/themes/j1/adapter/js/framer.js +0 -3
  14. data/assets/themes/j1/adapter/js/j1.js +6 -2
  15. data/assets/themes/j1/adapter/js/rouge.js +1 -1
  16. data/assets/themes/j1/adapter/js/scroller.js +1 -1
  17. data/assets/themes/j1/adapter/js/translator.js +15 -15
  18. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +6 -0
  19. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  20. data/assets/themes/j1/modules/advertising/js/google/adInitializer.js +117 -0
  21. data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.2.js +1 -1
  22. data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.js +1 -1
  23. data/assets/themes/j1/modules/scroller/js/scroller.js +1 -1
  24. data/lib/j1/version.rb +1 -1
  25. data/lib/starter_web/Gemfile +1 -1
  26. data/lib/starter_web/_config.yml +1 -5
  27. data/lib/starter_web/_data/layouts/default.yml +7 -7
  28. data/lib/starter_web/_data/layouts/home.yml +24 -0
  29. data/lib/starter_web/_data/modules/advertising.yml +137 -10
  30. data/lib/starter_web/_data/modules/cookies.yml +1 -1
  31. data/lib/starter_web/_data/modules/defaults/advertising.yml +105 -0
  32. data/lib/starter_web/_data/resources.yml +24 -0
  33. data/lib/starter_web/_includes/attributes.asciidoc +1 -1
  34. data/lib/starter_web/_includes/themes/j1/modules/ads/google_ad_content_home.html +11 -0
  35. data/lib/starter_web/_includes/themes/j1/modules/ads/google_ad_top_home.html +11 -0
  36. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  37. data/lib/starter_web/index.html +0 -1
  38. data/lib/starter_web/package.json +1 -1
  39. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +0 -1
  40. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +0 -1
  41. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +0 -1
  42. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +0 -1
  43. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +0 -1
  44. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +0 -1
  45. data/lib/starter_web/pages/public/blog/navigator/archive.html +0 -1
  46. data/lib/starter_web/pages/public/blog/navigator/index.html +0 -1
  47. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +4 -3
  48. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.ads.asciidoc +265 -0
  49. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.no_ads.asciidoc +237 -0
  50. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +62 -0
  51. data/lib/starter_web/pages/public/learn/roundtrip/_includes/google-ad.js +130 -0
  52. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +0 -1
  53. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +0 -1
  54. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +0 -1
  55. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  56. data/lib/starter_web/utilsrv/package.json +1 -1
  57. metadata +14 -47
  58. data/_includes/themes/j1/modules/connectors/ad/custom-provider.html +0 -30
  59. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +0 -62
  60. data/_includes/themes/j1/modules/connectors/ads +0 -56
  61. data/lib/starter_web/pages/_test_pages/100_side-bar-tester.adoc +0 -244
  62. data/lib/starter_web/pages/_test_pages/_includes/attributes.asciidoc +0 -110
  63. data/lib/starter_web/pages/_test_pages/_includes/documents/100_gistblock.asciidoc +0 -28
  64. data/lib/starter_web/pages/_test_pages/_includes/documents/410_bottom_info.asciidoc +0 -14
  65. data/lib/starter_web/pages/_test_pages/_includes/documents/410_bottom_left_warning.asciidoc +0 -11
  66. data/lib/starter_web/pages/_test_pages/_includes/documents/410_bottom_right_danger.asciidoc +0 -11
  67. data/lib/starter_web/pages/_test_pages/_includes/documents/410_central_success.asciidoc +0 -11
  68. data/lib/starter_web/pages/_test_pages/_includes/documents/410_full_height_left_info.asciidoc +0 -11
  69. data/lib/starter_web/pages/_test_pages/_includes/documents/410_full_height_right_success.asciidoc +0 -11
  70. data/lib/starter_web/pages/_test_pages/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -47
  71. data/lib/starter_web/pages/_test_pages/_includes/documents/410_top_info.asciidoc +0 -11
  72. data/lib/starter_web/pages/_test_pages/_includes/documents/410_top_left_info.asciidoc +0 -11
  73. data/lib/starter_web/pages/_test_pages/_includes/documents/410_top_right_success.asciidoc +0 -11
  74. data/lib/starter_web/pages/_test_pages/_includes/documents/419_advanced_modals_demo.asciidoc +0 -337
  75. data/lib/starter_web/pages/_test_pages/_includes/documents/tables/bs_modal_examples.asciidoc +0 -47
  76. data/lib/starter_web/pages/_test_pages/accordion-01-tester.adoc +0 -220
  77. data/lib/starter_web/pages/_test_pages/accordion-02-tester.adoc +0 -177
  78. data/lib/starter_web/pages/_test_pages/accordion-03-tester.adoc +0 -148
  79. data/lib/starter_web/pages/_test_pages/attribute-changes-01-tester.adoc +0 -226
  80. data/lib/starter_web/pages/_test_pages/backdrop-tester.adoc +0 -109
  81. data/lib/starter_web/pages/_test_pages/button-tester-1.adoc +0 -127
  82. data/lib/starter_web/pages/_test_pages/card-tester.adoc +0 -128
  83. data/lib/starter_web/pages/_test_pages/cookieConsent.adoc +0 -96
  84. data/lib/starter_web/pages/_test_pages/deepl.0.adoc +0 -258
  85. data/lib/starter_web/pages/_test_pages/deepl.adoc +0 -204
  86. data/lib/starter_web/pages/_test_pages/desandro-button.adoc +0 -171
  87. data/lib/starter_web/pages/_test_pages/desandro.adoc +0 -147
  88. data/lib/starter_web/pages/_test_pages/flipcard-1-tester.adoc +0 -308
  89. data/lib/starter_web/pages/_test_pages/formular-01-tester.adoc +0 -167
  90. data/lib/starter_web/pages/_test_pages/formular-02-tester.adoc +0 -727
  91. data/lib/starter_web/pages/_test_pages/google-translate-tester.0.adoc +0 -113
  92. data/lib/starter_web/pages/_test_pages/google-translate-tester.1.adoc +0 -231
  93. data/lib/starter_web/pages/_test_pages/google-translate-tester.3.adoc +0 -149
  94. data/lib/starter_web/pages/_test_pages/google-translate-tester.4.adoc +0 -237
  95. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester-2.adoc +0 -183
  96. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester-3.adoc +0 -235
  97. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester-4.adoc +0 -222
  98. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester-5.adoc +0 -119
  99. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester.1.adoc +0 -236
  100. data/lib/starter_web/pages/_test_pages/infinite-scroll-tester.adoc +0 -225
  101. data/lib/starter_web/pages/_test_pages/list-group-tester.adoc +0 -265
  102. data/lib/starter_web/pages/_test_pages/tictok.adoc +0 -127
@@ -1,237 +0,0 @@
1
- ---
2
- title: Tester
3
- tagline: google translate
4
- date: 2020-11-03 00:00:00 +100
5
- description: >
6
- Welcome to the preview page focussing on the image module. This page
7
- shows some valuable features of the J1 Template to manage your image-based
8
- content using lightboxes, carousels (slider), and galleries.
9
-
10
- categories: [ Testpages ]
11
- tags: [ Example ]
12
-
13
- comments: false
14
- fab_menu_id: page_ctrl_simple
15
-
16
- permalink: /pages/public/learn/gtrans-4/
17
- regenerate: false
18
-
19
- resources: [
20
- clipboard, rouge, carousel, lightbox,
21
- justifiedGallery, lightGallery
22
- ]
23
- resource_options:
24
- - attic:
25
- padding_top: 400
26
- padding_bottom: 50
27
- opacity: 0.5
28
- slides:
29
- - url: /assets/images/pages/roundtrip/images-1920x1280-bw.jpg
30
- alt: Photo by Ricardo Gomez Angel on Unsplash
31
- badge:
32
- type: unsplash
33
- author: Ricardo Gomez Angel
34
- href: https://unsplash.com/@ripato/portfolio
35
- ---
36
-
37
- // Page Initializer
38
- // =============================================================================
39
- // Enable the Liquid Preprocessor
40
- :page-liquid:
41
-
42
- // Set (local) page attributes here
43
- // -----------------------------------------------------------------------------
44
- // :page--attr: <attr-value>
45
- :images-dir: {imagesdir}/pages/roundtrip/100_present_images
46
-
47
- // Load Liquid procedures
48
- // -----------------------------------------------------------------------------
49
- {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
50
-
51
- // Load page attributes
52
- // -----------------------------------------------------------------------------
53
- {% include {{load_attributes}} scope="global" %}
54
-
55
- // Page content
56
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57
-
58
- // Include sub-documents (if any)
59
- // -----------------------------------------------------------------------------
60
-
61
- ++++
62
- <div class="ct-topbar">
63
- <div class="container">
64
- <ul class="list-unstyled list-inline ct-topbar__list">
65
- <li class="ct-language">Language <i class="fa fa-arrow-down"></i>
66
- <ul class="list-unstyled ct-language__dropdown">
67
- <li><a href="#void" class="lang-select" src-lang="en" dest-lang="en"><i class="flag-icon flag-icon-us rectangle size-md" alt="USA"></i></a> American English</li>
68
- <li><a href="#void" class="lang-select" src-lang="en" dest-lang="de"><i class="flag-icon flag-icon-de rectangle size-md" alt="GERMANY"></i></a> German</li>
69
- <li><a href="#void" class="lang-select" src-lang="en" dest-lang="es"><i class="flag-icon flag-icon-es rectangle size-md" alt="SPAIN"></i></a> Spanish</li>
70
- <li><a href="#void" class="lang-select" src-lang="en" dest-lang="fr"><i class="flag-icon flag-icon-fr rectangle size-md" alt="FRANCE"></i></a> French</li>
71
- <li><a href="#void" class="lang-select" src-lang="remove"> Stop translation </a> </li>
72
- </ul>
73
- </li>
74
- </ul>
75
- </div>
76
- </div>
77
- ++++
78
-
79
- Machine translation (MT) transfers information from one language to another
80
- by a computer without human intervention. NMT is the most advanced method
81
- of computer-generated translations. Thanks to autonomous learning based on
82
- artificial intelligence.
83
-
84
- == Neural Machine Translation
85
-
86
- Neural Machine Translation (NMT) works on a completely different principle
87
- than previous statistics-based or rule-based machine translation methods.
88
- The NMT uses a large neural network based on the human brain model with
89
- the help of artificial intelligence.
90
-
91
- The NMT is the most advanced method of computer-generated translations.
92
- Thanks to autonomous learning based on artificial intelligence, Big Data,
93
- and Deep Learning, this method has made enormous progress in the last recent
94
- years. Nowadays, neural machine translation programs can be used as a basis
95
- for professional translations.
96
-
97
- Neural algorithms can generate accurate translations as well as *learn* a
98
- language. This technology improves the quality of the translated data
99
- continuously. For the NMT to work well, it must be trained to be used.
100
- Training means that a large amount of data feeds the algorithms to
101
- improve the reliability of the final results.
102
-
103
- == Translation with Deepl
104
-
105
- _Deepl_ offers one of the best NMT engines worldwide. The translater can be
106
- used online or by an application (app) installed on a computer locally.
107
- The third option to translate is the cloud-based service offered
108
- by the *Deepl API* to be integrated into custom apps or websites, for example.
109
-
110
- J1 integrates the cloud-based translator service for the *Free* service and
111
- professional translations using the *Pro* system. The current API *version V2*
112
- supports the translation of more than 25 languages vice versa.
113
-
114
- Try the translator with _Jekyll One_ and _Deepl_ on your own!
115
-
116
-
117
- ++++
118
- <style>
119
-
120
- /* hide the suggestion box */
121
- #goog-gt-tt, .goog-te-balloon-frame {
122
- display: none !important;
123
- }
124
- .goog-text-highlight {
125
- background: none !important;
126
- box-shadow: none !important;
127
- }
128
-
129
- /* hide the powered by */
130
- .goog-logo-link {display: none !important;}
131
- .goog-te-gadget {height: 28px !important; overflow: hidden;}
132
-
133
- /* remove the top frame */
134
- /* body{ top: 0 !important;}
135
- .goog-te-banner-frame{display: none !important;} */
136
-
137
- </style>
138
- ++++
139
-
140
- ++++
141
- <script>
142
-
143
- var gtranslate = true;
144
- var srcLang = 'en';
145
-
146
- function googleTranslateElementInit() {
147
- new google.translate.TranslateElement({
148
- pageLanguage: 'en',
149
- layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT
150
- },
151
- 'google_translate_element'
152
- );
153
- }
154
-
155
- // Set a Cookie
156
- function setCookie(options) {
157
- var defaults = {
158
- name: '',
159
- path: '/',
160
- expires: 0,
161
- domain: 'localhost'
162
- };
163
- var settings = $.extend(defaults, options);
164
-
165
- let date = new Date();
166
- date.setTime(date.getTime() + (settings.expires * 24 * 60 * 60 * 1000));
167
- const expires = "expires=" + date.toUTCString();
168
- // document.cookie = cName + "=" + cValue + "; " + expires + "; path=/";
169
- document.cookie = settings.name + "=" + settings.data + "; " + expires + "; path=/";
170
- // document.cookie = settings.name + '=' + settings.data + '; ' + expires + '; path=' + settings.path + '"';
171
- // document.cookie = settings.name + '=' + settings.data + '; path=' + settings.path + '"';
172
- }
173
-
174
- // ---------------------------------------------------------------------------
175
- // Manage events
176
- // ---------------------------------------------------------------------------
177
- window.onload = function (event) {
178
- var cookie_names = j1.getCookieNames();
179
- var date = new Date();
180
- var timestamp_now = date.toISOString();
181
- var user_state = j1.readCookie(cookie_names.user_state);
182
- var user_consent = j1.readCookie(cookie_names.user_consent);
183
- var head = document.getElementsByTagName('head')[0];
184
- var script = document.createElement('script');
185
- var thisURI = window.location.href
186
-
187
- // set script details for google-translate
188
- script.id = 'google-translate';
189
- script.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
190
-
191
- // set current TS to cookie
192
- user_state.last_session_ts = timestamp_now;
193
-
194
- // enable|disable google-translate
195
- if (!user_consent.personalization || !gtranslate) {
196
- user_state.gtranslate = 'disabled';
197
- cookie_written = j1.writeCookie({
198
- name: cookie_names.user_state,
199
- data: user_state,
200
- expires: 0
201
- });
202
- j1.removeCookie({name: 'googtrans'});
203
- } else {
204
- user_state.gtranslate = 'enabled';
205
- cookie_written = j1.writeCookie({
206
- name: cookie_names.user_state,
207
- data: user_state,
208
- expires: 365
209
- });
210
- head.appendChild(script);
211
- }
212
- }; // END onload
213
-
214
- $('.lang-select').click(function() {
215
- var cookie_names = j1.getCookieNames();
216
- var srcLang = $(this).attr('src-lang');
217
- var destLang = $(this).attr('dest-lang');
218
- // var thisURI = decodeURIComponent($(this).attr('href'));
219
- var transCode = '/' + srcLang + '/' + destLang;
220
-
221
- // location.reload();
222
- // j1.writeCookie({
223
- // name: 'googtrans',
224
- // data: transCode
225
- // });
226
-
227
- setCookie({
228
- name: 'googtrans',
229
- data: transCode
230
- });
231
- // window.location = thisURI;
232
- window.location = window.location.pathname;
233
- location.reload();
234
- });
235
-
236
- </script>
237
- ++++
@@ -1,183 +0,0 @@
1
- ---
2
- title: Tester
3
- tagline: infinite scroll
4
- date: 2020-11-03 00:00:00 +100
5
- description: >
6
- Welcome to the preview page focussing on the image module. This page
7
- shows some valuable features of the J1 Template to manage your image-based
8
- content using lightboxes, carousels (slider), and galleries.
9
-
10
- categories: [ Testpages ]
11
- tags: [ Example ]
12
-
13
- pagination:
14
- enabled: true
15
- per_page: 2
16
- permalink: /page:num/
17
-
18
- comments: false
19
- fab_menu_id: page_ctrl_simple
20
-
21
- permalink: /pages/public/learn/scroller-2/
22
- regenerate: false
23
-
24
- resources: [ j1Scroller ]
25
- resource_options:
26
- - attic:
27
- padding_top: 400
28
- padding_bottom: 50
29
- opacity: 0.5
30
- slides:
31
- - url: /assets/images/pages/roundtrip/images-1920x1280-bw.jpg
32
- alt: Photo by Ricardo Gomez Angel on Unsplash
33
- badge:
34
- type: unsplash
35
- author: Ricardo Gomez Angel
36
- href: https://unsplash.com/@ripato/portfolio
37
- ---
38
-
39
- // Page Initializer
40
- // =============================================================================
41
- // Enable the Liquid Preprocessor
42
- :page-liquid:
43
-
44
- // Set (local) page attributes here
45
- // -----------------------------------------------------------------------------
46
- // :page--attr: <attr-value>
47
- :images-dir: {imagesdir}/pages/roundtrip/100_present_images
48
-
49
- // Load Liquid procedures
50
- // -----------------------------------------------------------------------------
51
- {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
52
-
53
- // Load page attributes
54
- // -----------------------------------------------------------------------------
55
- {% include {{load_attributes}} scope="global" %}
56
-
57
- {% comment %} language detection|i18n
58
- -------------------------------------------------------------------------------- {% endcomment %}
59
- {% if site.language == "en" %}
60
- {% assign language = "en" %}
61
- {% elsif site.language == "de"%}
62
- {% assign language = "de" %}
63
- {% else %}
64
- {% assign language = "en" %}
65
- {% endif %}
66
-
67
- {% if language == "en" %}
68
- {% assign readmore_text = "read" %}
69
- {% assign infinite_scroll_last = "More articles can be found with the" %}
70
- {% endif %}
71
-
72
- {% if language == "de" %}
73
- {% assign readmore_text = "lesen" %}
74
- {% assign infinite_scroll_last = "Weitere Artikel finden Sie im" %}
75
- {% endif %}
76
-
77
- // Page content
78
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79
-
80
- // Include sub-documents (if any)
81
- // -----------------------------------------------------------------------------
82
-
83
- == Infinite scroll example 2
84
-
85
- lorem:sentences[5]
86
-
87
- ++++
88
- <div class="card--group" id="card-wrapper">
89
- {% for post in site.posts %}
90
- <a href="{{ post.url | relative_url }}">
91
- <div class="card">
92
- <div class="card__header">
93
- <h3 class="card__header__title">{{ post.title | escape }}</h3>
94
- </div>
95
- <div class="card__body">
96
- {{ post.excerpt }}
97
- </div>
98
- </div>
99
- </a>
100
- {% endfor %}
101
- </div>
102
- ++++
103
-
104
- ++++
105
- <script>
106
-
107
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
108
-
109
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
110
-
111
- var j1Scroller = function () {
112
- function j1Scroller(path, wrapperId) {
113
- _classCallCheck(this, j1Scroller);
114
-
115
- if (path === undefined || wrapperId === undefined) throw Error('no parameter.');
116
- this.path = path;
117
- this.pNum = 2;
118
- this.wNode = document.getElementById(wrapperId);
119
- this.wrapperId = wrapperId;
120
- this.enable = true;
121
-
122
- this.detectScroll();
123
- }
124
-
125
- _createClass(j1Scroller, [{
126
- key: 'detectScroll',
127
- value: function detectScroll() {
128
- var _this = this;
129
-
130
- window.onscroll = function (ev) {
131
- if (window.innerHeight + window.pageYOffset >= document.body.offsetHeight) _this.getNewPost();
132
- };
133
- }
134
- }, {
135
- key: 'getNewPost',
136
- value: function getNewPost() {
137
- var _this2 = this;
138
-
139
- if (this.enable === false) return false;
140
- this.enable = false;
141
- var xmlhttp = new XMLHttpRequest();
142
- xmlhttp.onreadystatechange = function () {
143
- if (xmlhttp.readyState == XMLHttpRequest.DONE) {
144
- if (xmlhttp.status == 200) {
145
- _this2.pNum++;
146
- var childItems = _this2.getChildItemsByAjaxHTML(xmlhttp.responseText);
147
- _this2.appendNewItems(childItems);
148
- }
149
- return _this2.enable = true;
150
- }
151
- };
152
- xmlhttp.open("GET", location.origin + this.path + this.pNum + '/index.html', true);
153
- xmlhttp.send();
154
- }
155
- }, {
156
- key: 'getChildItemsByAjaxHTML',
157
- value: function getChildItemsByAjaxHTML(HTMLText) {
158
- var newHTML = document.createElement('html');
159
- newHTML.innerHTML = HTMLText;
160
- var childItems = newHTML.querySelectorAll('#' + this.wrapperId + ' > *');
161
- return childItems;
162
- }
163
- }, {
164
- key: 'appendNewItems',
165
- value: function appendNewItems(items) {
166
- var _this3 = this;
167
-
168
- items.forEach(function (item) {
169
- _this3.wNode.appendChild(item);
170
- });
171
- }
172
- }]);
173
-
174
- return j1Scroller;
175
- }();
176
-
177
-
178
- var postWrapperId = 'card-wrapper';
179
- var paginatePath = '/pages/public/learn/scroller-2/page'
180
- new j1Scroller(paginatePath, postWrapperId);
181
-
182
- </script>
183
- ++++
@@ -1,235 +0,0 @@
1
- ---
2
- title: Tester
3
- tagline: infinite scroll
4
- date: 2020-11-03 00:00:00 +100
5
- description: >
6
- Welcome to the preview page focussing on the image module. This page
7
- shows some valuable features of the J1 Template to manage your image-based
8
- content using lightboxes, carousels (slider), and galleries.
9
-
10
- categories: [ Testpages ]
11
- tags: [ Example ]
12
-
13
- comments: false
14
- fab_menu_id: page_ctrl_simple
15
-
16
- permalink: /pages/public/learn/scroller-3/
17
- regenerate: false
18
-
19
- resources: [ j1scroll ]
20
- resource_options:
21
- - attic:
22
- padding_top: 400
23
- padding_bottom: 50
24
- opacity: 0.5
25
- slides:
26
- - url: /assets/images/pages/roundtrip/images-1920x1280-bw.jpg
27
- alt: Photo by Ricardo Gomez Angel on Unsplash
28
- badge:
29
- type: unsplash
30
- author: Ricardo Gomez Angel
31
- href: https://unsplash.com/@ripato/portfolio
32
- ---
33
-
34
- // Page Initializer
35
- // =============================================================================
36
- // Enable the Liquid Preprocessor
37
- :page-liquid:
38
-
39
- // Set (local) page attributes here
40
- // -----------------------------------------------------------------------------
41
- // :page--attr: <attr-value>
42
- :images-dir: {imagesdir}/pages/roundtrip/100_present_images
43
-
44
- // Load Liquid procedures
45
- // -----------------------------------------------------------------------------
46
- {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
47
-
48
- // Load page attributes
49
- // -----------------------------------------------------------------------------
50
- {% include {{load_attributes}} scope="global" %}
51
-
52
- // Page content
53
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54
-
55
- // Include sub-documents (if any)
56
- // -----------------------------------------------------------------------------
57
-
58
- == Infinite scroll example 3
59
-
60
- lorem:sentences[5]
61
-
62
- ++++
63
- <div class="row">
64
- <ul id="home_news_panel-scroll-group" class="list-group list-group-horizontal align-items-stretch flex-wrap">
65
- <!-- [INFO ] [j1.assets.data.panel.html ] [ write post items ] -->
66
- <li id="home_news_panel-scroll-item" class="list-group-item items-2 p-0">
67
- <article class="card card-same-height raised-z3 mb-3">
68
- <img class="img-fluid img-object--cover g-height-200" src="/assets/images/modules/attics/katie-moum-1920x1280.jpg" alt="Welcome">
69
- <h3 class="card-header bg-primary notoc">Welcome</h3>
70
- <!-- Body|Excerpt -->
71
- <div class="card-body r-text-300 mt-4">
72
- <div class="paragraph dropcap">
73
- <p class="dropcap"><span class="j1-dropcap">A</span>ll you’re doing at the end of the day is writing your content, and the J1
74
- Template does all the tricky things: putting out HTML, Javascript, and CSS.
75
- As a result, the site creation process gets out of your way.</p>
76
- </div>
77
- <div class="paragraph">
78
- <p><strong>Sounds fun, isn’t it</strong>?</p>
79
- </div>
80
- </div>
81
- <!-- End Body|Excerpt -->
82
- <div class="card-footer r-text-200">
83
- <div class="card-footer-text">
84
- <i class="mdi mdi-calendar-blank md-grey-600 mr-1"></i>2021 March, 28
85
- </div>
86
- <a class="card-link text-muted text-lowercase" href="/posts/public/featured/info/2021/03/28/welcome-to-j1/">
87
- read · jekyll for everyone
88
- </a>
89
- </div>
90
- </article>
91
- </li>
92
- <li id="home_news_panel-scroll-item" class="list-group-item items-2 p-0">
93
-
94
- <article class="card card-same-height raised-z3 mb-3">
95
- <img class="img-fluid img-object--cover g-height-200" src="/assets/images/modules/attics/runner-1920x1200.jpg" alt="J1 Template">
96
- <h3 class="card-header bg-primary notoc">J1 Template</h3>
97
- <!-- Body|Excerpt -->
98
- <div class="card-body r-text-300 mt-4">
99
- <div class="paragraph dropcap">
100
- <p class="dropcap"><span class="j1-dropcap">T</span>he template system was initially developed to create a simple but fully
101
- configurable website creation toolset for document servers. Document servers
102
- provide websites or other content formats like PDF, projects, software
103
- documentation, or similar approaches.</p>
104
- </div>
105
- </div>
106
- <!-- End Body|Excerpt -->
107
- <div class="card-footer r-text-200">
108
- <div class="card-footer-text">
109
- <i class="mdi mdi-calendar-blank md-grey-600 mr-1"></i>2021 March, 3
110
- </div>
111
- <a class="card-link text-muted text-lowercase" href="/posts/public/featured/knowledge/2021/03/03/about-j1/">
112
- read · first version is out
113
- </a>
114
- </div>
115
- </article>
116
- </li>
117
- </ul>
118
- </div>
119
- ++++
120
-
121
- ++++
122
- <script>
123
-
124
- var _createClass = function () {
125
- function defineProperties(target, props) {
126
- for (var i = 0; i < props.length; i++) {
127
- var descriptor = props[i];
128
- descriptor.enumerable = descriptor.enumerable || false;
129
- descriptor.configurable = true;
130
- if ("value" in descriptor) descriptor.writable = true;
131
- Object.defineProperty(target, descriptor.key, descriptor);
132
- }
133
- }
134
- return function (Constructor, protoProps, staticProps) {
135
- if (protoProps) defineProperties(Constructor.prototype, protoProps);
136
- if (staticProps) defineProperties(Constructor, staticProps);
137
- return Constructor;
138
- };
139
- }();
140
-
141
- // function _classCallCheck(instance, Constructor) {
142
- // if (!(instance instanceof Constructor)) {
143
- // throw new TypeError("Cannot call a class as a function");
144
- // }
145
- // }
146
-
147
- var j1Scroller = function () {
148
- function j1Scroller(path, wrapperId) {
149
- // _classCallCheck(this, j1Scroller);
150
-
151
- if (path === undefined || wrapperId === undefined) throw Error('no parameter.');
152
- this.path = path;
153
- this.pNum = 2;
154
- this.pMaxNum = 6;
155
- this.wNode = document.getElementById(wrapperId);
156
- this.wrapperId = wrapperId;
157
- this.enable = true;
158
-
159
- this.detectScroll();
160
- }
161
-
162
- _createClass(j1Scroller, [{
163
- key: 'detectScroll',
164
- value: function detectScroll() {
165
- var _this = this;
166
-
167
- window.onscroll = function (ev) {
168
- if (window.innerHeight + window.pageYOffset >= document.body.offsetHeight) _this.getNewPost();
169
- };
170
- }
171
- }, {
172
- key: 'getNewPost',
173
- value: function getNewPost() {
174
- var _this = this;
175
- if (_this.pNum >= this.pMaxNum ) {
176
- return;
177
- }
178
- if (this.enable === false) return false;
179
- this.enable = false;
180
- var xmlhttp = new XMLHttpRequest();
181
- xmlhttp.onreadystatechange = function () {
182
- if (xmlhttp.readyState == XMLHttpRequest.DONE) {
183
- if (xmlhttp.status == 200) {
184
- _this.pNum++;
185
- var childItems = _this.getChildItemsByAjaxHTML(xmlhttp.responseText);
186
- _this.appendNewItems(childItems);
187
- }
188
- return _this.enable = true;
189
- }
190
- };
191
- xmlhttp.open("GET", location.origin + this.path + this.pNum + '/index.html', true);
192
- xmlhttp.send();
193
- }
194
- }, {
195
- key: 'getChildItemsByAjaxHTML',
196
- value: function getChildItemsByAjaxHTML(HTMLText) {
197
- var newHTML = document.createElement('html');
198
- newHTML.innerHTML = HTMLText;
199
- var childItems = newHTML.querySelectorAll('#' + this.wrapperId + ' > *');
200
- return childItems;
201
- }
202
- }, {
203
- key: 'appendNewItems',
204
- value: function appendNewItems(items) {
205
- var _this = this;
206
-
207
- items.forEach(function (item) {
208
- _this.wNode.appendChild(item);
209
- });
210
- }
211
- }]);
212
-
213
- return j1Scroller;
214
- }();
215
-
216
- $(function() {
217
- var dependencies_met_page_ready = setInterval (function (options) {
218
- if (j1.getState() === 'finished') {
219
-
220
- var postWrapperId = 'home_news_panel-scroll-group';
221
- var paginatePath = '/assets/data/news_panel_posts/page';
222
-
223
- new j1Scroller(paginatePath, postWrapperId);
224
-
225
- $("#home_news_panel-scroll-group").j1Scroll({
226
- propertyName: "a custom value"
227
- });
228
-
229
- clearInterval(dependencies_met_page_ready);
230
- }
231
- });
232
- });
233
-
234
- </script>
235
- ++++