j1-template 2021.1.25 → 2021.1.26
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +1 -1
- data/assets/data/panel.html +6 -5
- data/assets/themes/j1/adapter/js/infiniteScroll.js +15 -1
- data/assets/themes/j1/adapter/js/j1scroll.js +207 -0
- data/assets/themes/j1/modules/infiniteScroll/js/infiniteScroll.js +6 -0
- data/assets/themes/j1/modules/j1Scroll/css/theme/uno.css +150 -0
- data/assets/themes/j1/modules/j1Scroll/css/theme/uno.min.css +15 -0
- data/assets/themes/j1/modules/j1Scroll/js/j1scroll.js +188 -0
- data/assets/themes/j1/modules/showOnScroll/js/showOnScroll.js +13 -0
- data/lib/j1/version.rb +3 -3
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/resources.yml +26 -0
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +1 -1
- data/lib/starter_web/index.html +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/infinite-scroll-tester-5.adoc +119 -0
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1703f00fa05ea4dba6a66583457e9f61a83d6eb297c45a851a36580c881c3e12
|
4
|
+
data.tar.gz: b1bccaba5d098d37ebabf850fb8a0822f0e732cb08fd4b25bc91917183cdfa0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f312280734a292e956db13c8d631d4baa8ba41641dba6505b1d5ecdf840a1f3a9dbbd7a633f891003b73672be94212fbe2cdae2f2a5c9746cfd3db91eb7997da
|
7
|
+
data.tar.gz: 06f98ff4a16cf472d8ed71c290473a96a1e2e23c6a9f2084c8c2d8ab6f4d01445708c7901372868eae6d02058330d804dd630f0a8145480cfd2fbc3d4a2575bc
|
@@ -294,7 +294,7 @@
|
|
294
294
|
{% endif %}
|
295
295
|
<h3 class="card-header bg-primary notoc">{{post.title}}</h3>
|
296
296
|
<!-- Body|Excerpt -->
|
297
|
-
<div class="card-body r-text-300">
|
297
|
+
<div class="card-body r-text-300 mt-3">
|
298
298
|
{{post.excerpt|truncatewords: truncate_words}}
|
299
299
|
</div>
|
300
300
|
<!-- End Body|Excerpt -->
|
data/assets/data/panel.html
CHANGED
@@ -539,7 +539,7 @@ exclude_from_search: true
|
|
539
539
|
{% endif %}
|
540
540
|
<h3 class="card-header bg-primary notoc">{{post.title}}</h3>
|
541
541
|
<!-- Body|Excerpt -->
|
542
|
-
<div class="card-body r-text-300">
|
542
|
+
<div class="card-body r-text-300 mt-4">
|
543
543
|
{% comment %} {{post.excerpt|truncatewords: 50|replace:'...',' ...'|remove:'<div class="paragraph">'|remove:'</div>'|remove:'<p>'|remove:'</p>'}} {% endcomment %}
|
544
544
|
{{post.excerpt|truncatewords: truncate_words}}
|
545
545
|
</div>
|
@@ -640,7 +640,8 @@ exclude_from_search: true
|
|
640
640
|
<!-- End recent posts -->
|
641
641
|
{% endfor %}
|
642
642
|
|
643
|
-
|
643
|
+
<!-- jadams: Currently not used -->
|
644
|
+
<!-- div class="row page-load-status">
|
644
645
|
<div class="loader-ellips infinite-scroll-request">
|
645
646
|
<span class="loader-ellips__dot"></span>
|
646
647
|
<span class="loader-ellips__dot"></span>
|
@@ -648,11 +649,11 @@ exclude_from_search: true
|
|
648
649
|
<span class="loader-ellips__dot"></span>
|
649
650
|
</div>
|
650
651
|
<p class="infinite-scroll-last">{{infinite_scroll_last}} <a href="/pages/public/blog/navigator/">Blog Navigator</a></p>
|
651
|
-
</div
|
652
|
+
</div -->
|
652
653
|
|
653
|
-
|
654
|
+
<!-- div class="row page-scroll-last">
|
654
655
|
<p class="infinite-scroll-last">{{infinite_scroll_last}} <a href="/pages/public/blog/navigator/">Blog Navigator</a></p>
|
655
|
-
</div
|
656
|
+
</div -->
|
656
657
|
|
657
658
|
</div>
|
658
659
|
<!-- END container -->
|
@@ -108,7 +108,7 @@ j1.adapter['infiniteScroll'] = (function (j1, window) {
|
|
108
108
|
|
109
109
|
// Add data attribute for tablesaw to all tables of a page
|
110
110
|
var dependencies_met_page_ready = setInterval (function (options) {
|
111
|
-
var lastPage =
|
111
|
+
var lastPage = 3;
|
112
112
|
|
113
113
|
if ( j1.getState() === 'finished' ) {
|
114
114
|
var logger = log4javascript.getLogger('j1.infiniteScroll');
|
@@ -129,6 +129,11 @@ j1.adapter['infiniteScroll'] = (function (j1, window) {
|
|
129
129
|
// var article_height = document.getElementById('home_news_panel-scroll-item').clientHeight;
|
130
130
|
// var scrollThreshold = (article_height -200) * -1;
|
131
131
|
|
132
|
+
// infiniteScroll options
|
133
|
+
//
|
134
|
+
// elementScroll: true,
|
135
|
+
// elementScroll: "#home_news_panel-scroll-group",
|
136
|
+
|
132
137
|
$('#home_news_panel-scroll-group').infiniteScroll({
|
133
138
|
path: getPosts,
|
134
139
|
append: '#home_news_panel-scroll-item',
|
@@ -160,6 +165,12 @@ j1.adapter['infiniteScroll'] = (function (j1, window) {
|
|
160
165
|
var log_text = `\n loaded data from path: ${path}`;
|
161
166
|
logger.info(log_text);
|
162
167
|
|
168
|
+
var log_text = "\n initialize backdrops on load";
|
169
|
+
logger.info(log_text);
|
170
|
+
|
171
|
+
// initialize backdrops
|
172
|
+
j1.core.createDropCap();
|
173
|
+
|
163
174
|
//var elm = document.getElementById("home_news_panel-scroll-group");
|
164
175
|
//
|
165
176
|
// var ww = $(window).width();
|
@@ -184,6 +195,9 @@ j1.adapter['infiniteScroll'] = (function (j1, window) {
|
|
184
195
|
logger.info(log_text);
|
185
196
|
});
|
186
197
|
|
198
|
+
var log_text = '\n' + 'infiniteScroll finished for init';
|
199
|
+
logger.info(log_text);
|
200
|
+
|
187
201
|
clearInterval(dependencies_met_page_ready);
|
188
202
|
}
|
189
203
|
});
|
@@ -0,0 +1,207 @@
|
|
1
|
+
---
|
2
|
+
regenerate: true
|
3
|
+
---
|
4
|
+
|
5
|
+
{% capture cache %}
|
6
|
+
|
7
|
+
{% comment %}
|
8
|
+
# -----------------------------------------------------------------------------
|
9
|
+
# ~/assets/themes/j1/adapter/js/j1Scroll.js
|
10
|
+
# Liquid template to adapt j1Scroll
|
11
|
+
#
|
12
|
+
# Product/Info:
|
13
|
+
# https://jekyll.one
|
14
|
+
# Copyright (C) 2021 Juergen Adams
|
15
|
+
#
|
16
|
+
# J1 Template is licensed under the MIT License.
|
17
|
+
# For details, see https://jekyll.one
|
18
|
+
# -----------------------------------------------------------------------------
|
19
|
+
# Test data:
|
20
|
+
# {{ liquid_var | debug }}
|
21
|
+
# -----------------------------------------------------------------------------
|
22
|
+
{% endcomment %}
|
23
|
+
|
24
|
+
/*
|
25
|
+
# -----------------------------------------------------------------------------
|
26
|
+
# ~/assets/themes/j1/adapter/js/j1Scroll.js
|
27
|
+
# J1 Adapter for j1Scroll
|
28
|
+
#
|
29
|
+
# Product/Info:
|
30
|
+
# https://jekyll.one
|
31
|
+
#
|
32
|
+
# Copyright (C) 2021 Juergen Adams
|
33
|
+
#
|
34
|
+
# J1 Template is licensed under the MIT License.
|
35
|
+
# For details, see https://jekyll.one
|
36
|
+
# -----------------------------------------------------------------------------
|
37
|
+
# Adapter generated: {{site.time}}
|
38
|
+
# -----------------------------------------------------------------------------
|
39
|
+
*/
|
40
|
+
|
41
|
+
// -----------------------------------------------------------------------------
|
42
|
+
// ESLint shimming
|
43
|
+
// -----------------------------------------------------------------------------
|
44
|
+
/* eslint indent: "off" */
|
45
|
+
// -----------------------------------------------------------------------------
|
46
|
+
'use strict';
|
47
|
+
|
48
|
+
{% comment %} Main
|
49
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
50
|
+
j1.adapter['j1Scroll'] = (function (j1, window) {
|
51
|
+
|
52
|
+
{% comment %} Set global variables
|
53
|
+
------------------------------------------------------------------------------ {% endcomment %}
|
54
|
+
var environment = '{{environment}}';
|
55
|
+
var user_agent = platform.ua;
|
56
|
+
var moduleOptions = {};
|
57
|
+
var _this;
|
58
|
+
var logger;
|
59
|
+
var logText;
|
60
|
+
|
61
|
+
// ---------------------------------------------------------------------------
|
62
|
+
// Helper functions
|
63
|
+
// ---------------------------------------------------------------------------
|
64
|
+
function sleep(milliseconds) {
|
65
|
+
var start = new Date().getTime();
|
66
|
+
for (var i = 0; i < 1e7; i++) {
|
67
|
+
if ((new Date().getTime() - start) > milliseconds){
|
68
|
+
break;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
return;
|
72
|
+
}
|
73
|
+
|
74
|
+
// ---------------------------------------------------------------------------
|
75
|
+
// Main object
|
76
|
+
// ---------------------------------------------------------------------------
|
77
|
+
return {
|
78
|
+
|
79
|
+
// -------------------------------------------------------------------------
|
80
|
+
// Initializer
|
81
|
+
// -------------------------------------------------------------------------
|
82
|
+
init: function (options) {
|
83
|
+
|
84
|
+
// -----------------------------------------------------------------------
|
85
|
+
// globals
|
86
|
+
// -----------------------------------------------------------------------
|
87
|
+
_this = j1.adapter.j1Scroll;
|
88
|
+
logger = log4javascript.getLogger('j1.adapter.j1Scroll');
|
89
|
+
|
90
|
+
// initialize state flag
|
91
|
+
_this.setState('started');
|
92
|
+
logger.info('\n' + 'state: ' + _this.getState());
|
93
|
+
logger.info('\n' + 'module is being initialized');
|
94
|
+
|
95
|
+
// -----------------------------------------------------------------------
|
96
|
+
// Default module settings
|
97
|
+
// -----------------------------------------------------------------------
|
98
|
+
var settings = $.extend({
|
99
|
+
module_name: 'j1.adapter.j1Scroll',
|
100
|
+
generated: '{{site.time}}'
|
101
|
+
}, options);
|
102
|
+
|
103
|
+
// -----------------------------------------------------------------------
|
104
|
+
// j1Scroll initializer
|
105
|
+
// -----------------------------------------------------------------------
|
106
|
+
var log_text = '\n' + 'j1Scroll is being initialized';
|
107
|
+
logger.info(log_text);
|
108
|
+
|
109
|
+
var dependencies_met_page_ready = setInterval (function (options) {
|
110
|
+
if (j1.getState() === 'finished') {
|
111
|
+
var log_text = '\n' + 'j1Scroll is being initialized';
|
112
|
+
logger.info(log_text);
|
113
|
+
|
114
|
+
var postWrapperId = '#home_news_panel-scroll-group';
|
115
|
+
var paginatePath = '/assets/data/news_panel_posts/page';
|
116
|
+
|
117
|
+
// status: '.page-scroll-last',
|
118
|
+
|
119
|
+
$(postWrapperId).j1Scroll({
|
120
|
+
type: 'infiniteScroll',
|
121
|
+
path: paginatePath,
|
122
|
+
elementScroll: false,
|
123
|
+
scrollThreshold: 300,
|
124
|
+
checkLastPage: true,
|
125
|
+
status: true,
|
126
|
+
onInit: function(){}, // Callback after plugin has loaded
|
127
|
+
beforeContentLoaded: function(link){}, // Callback before new content is loaded
|
128
|
+
afterContentLoaded: function(html){} // Callback after new content has been loaded
|
129
|
+
});
|
130
|
+
|
131
|
+
$('.list-group').on( 'load.j1Scroll', function( event, body, path, response ) {
|
132
|
+
var logger = log4javascript.getLogger('j1.adapter.infiniteScroll');
|
133
|
+
var log_text = `\n loaded data from path: ${path}`;
|
134
|
+
logger.info(log_text);
|
135
|
+
|
136
|
+
var log_text = "\n initialize backdrops on load";
|
137
|
+
logger.info(log_text);
|
138
|
+
|
139
|
+
// initialize backdrops
|
140
|
+
j1.core.createDropCap();
|
141
|
+
|
142
|
+
});
|
143
|
+
|
144
|
+
$('.list-group').on( 'request.j1Scroll', function( event, path, fetchPromise ) {
|
145
|
+
var logger = log4javascript.getLogger('j1.adapter.infiniteScroll');
|
146
|
+
var log_text = `\n request for the next page to be loaded from path: ${path}`;
|
147
|
+
logger.info(log_text);
|
148
|
+
});
|
149
|
+
|
150
|
+
clearInterval(dependencies_met_page_ready);
|
151
|
+
}
|
152
|
+
});
|
153
|
+
}, // END init
|
154
|
+
|
155
|
+
// -------------------------------------------------------------------------
|
156
|
+
// messageHandler: MessageHandler for J1 CookieConsent module
|
157
|
+
// Manage messages send from other J1 modules
|
158
|
+
// -------------------------------------------------------------------------
|
159
|
+
messageHandler: function (sender, message) {
|
160
|
+
var json_message = JSON.stringify(message, undefined, 2);
|
161
|
+
|
162
|
+
logText = '\n' + 'received message from ' + sender + ': ' + json_message;
|
163
|
+
logger.debug(logText);
|
164
|
+
|
165
|
+
// -----------------------------------------------------------------------
|
166
|
+
// Process commands|actions
|
167
|
+
// -----------------------------------------------------------------------
|
168
|
+
if (message.type === 'command' && message.action === 'module_initialized') {
|
169
|
+
//
|
170
|
+
// Place handling of command|action here
|
171
|
+
//
|
172
|
+
logger.info('\n' + message.text);
|
173
|
+
}
|
174
|
+
|
175
|
+
//
|
176
|
+
// Place handling of other command|action here
|
177
|
+
//
|
178
|
+
|
179
|
+
return true;
|
180
|
+
}, // END messageHandler
|
181
|
+
|
182
|
+
// -------------------------------------------------------------------------
|
183
|
+
// setState()
|
184
|
+
// Sets the current (processing) state of the module
|
185
|
+
// -------------------------------------------------------------------------
|
186
|
+
setState: function (stat) {
|
187
|
+
_this.state = stat;
|
188
|
+
}, // END setState
|
189
|
+
|
190
|
+
// -------------------------------------------------------------------------
|
191
|
+
// getState()
|
192
|
+
// Returns the current (processing) state of the module
|
193
|
+
// -------------------------------------------------------------------------
|
194
|
+
getState: function () {
|
195
|
+
return _this.state;
|
196
|
+
} // END getState
|
197
|
+
|
198
|
+
}; // END return
|
199
|
+
})(j1, window);
|
200
|
+
|
201
|
+
{% endcapture %}
|
202
|
+
{% if production %}
|
203
|
+
{{ cache | minifyJS }}
|
204
|
+
{% else %}
|
205
|
+
{{ cache | strip_empty_lines }}
|
206
|
+
{% endif %}
|
207
|
+
{% assign cache = nil %}
|
@@ -1095,6 +1095,9 @@ Object.assign( InfiniteScroll.defaults, {
|
|
1095
1095
|
// elementScroll: null,
|
1096
1096
|
} );
|
1097
1097
|
|
1098
|
+
// jadams
|
1099
|
+
// create watchDog
|
1100
|
+
//
|
1098
1101
|
InfiniteScroll.create.scrollWatch = function() {
|
1099
1102
|
// events
|
1100
1103
|
this.pageScrollHandler = this.onPageScroll.bind( this );
|
@@ -1140,6 +1143,9 @@ proto.onPageScroll = InfiniteScroll.throttle( function() {
|
|
1140
1143
|
}
|
1141
1144
|
} );
|
1142
1145
|
|
1146
|
+
// jadams
|
1147
|
+
// calculate distances
|
1148
|
+
//
|
1143
1149
|
proto.getBottomDistance = function() {
|
1144
1150
|
let bottom, scrollY;
|
1145
1151
|
if ( this.options.elementScroll ) {
|
@@ -0,0 +1,150 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/themes/j1/modules/infiniteScroll/css/uno.css
|
4
|
+
# Provides styles for J1 Module infiniteScroll
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
#
|
9
|
+
# Copyright (C) 2021 Juergen Adams
|
10
|
+
#
|
11
|
+
# J1 Template is licensed under the MIT License.
|
12
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
13
|
+
# -----------------------------------------------------------------------------
|
14
|
+
*/
|
15
|
+
|
16
|
+
/* multi-color bottom line (currently not used)
|
17
|
+
-------------------------------------------------------------------------------- */
|
18
|
+
/*
|
19
|
+
h2 {
|
20
|
+
border-bottom-width: 1px;
|
21
|
+
border-bottom-style: dotted;
|
22
|
+
border-bottom-color: lightgray;
|
23
|
+
}
|
24
|
+
|
25
|
+
span {
|
26
|
+
border-bottom-width: 1px;
|
27
|
+
border-bottom-style: dotted;
|
28
|
+
border-bottom-color: brown;
|
29
|
+
display: inline-block;
|
30
|
+
margin: 0 0 -1px 0;
|
31
|
+
padding: 10px 3px;
|
32
|
+
}
|
33
|
+
*/
|
34
|
+
|
35
|
+
/* groups and items
|
36
|
+
-------------------------------------------------------------------------------- */
|
37
|
+
.list-group-item {
|
38
|
+
width: 96%;
|
39
|
+
margin-right: 1% !important;
|
40
|
+
}
|
41
|
+
|
42
|
+
/* Media breakpoints */
|
43
|
+
@media only screen and (min-width: 576px) {
|
44
|
+
.list-group-item.items-auto {
|
45
|
+
width: 48.3%; }
|
46
|
+
.list-group-item.items-1 {
|
47
|
+
width: 96%; }
|
48
|
+
.list-group-item.items-2 {
|
49
|
+
width: 48.3%; }
|
50
|
+
.list-group-item.items-3 {
|
51
|
+
width: 48.3%; }
|
52
|
+
.list-group-item.items-4 {
|
53
|
+
width: 48.3%; } }
|
54
|
+
|
55
|
+
@media only screen and (min-width: 768px) {
|
56
|
+
.list-group-item.items-auto {
|
57
|
+
width: 31.333%; }
|
58
|
+
.list-group-item.items-1 {
|
59
|
+
width: 96%; }
|
60
|
+
.list-group-item.items-2 {
|
61
|
+
width: 48.3%; }
|
62
|
+
.list-group-item.items-3 {
|
63
|
+
width: 48.3%; }
|
64
|
+
.list-group-item.items-4 {
|
65
|
+
width: 48.3%; } }
|
66
|
+
|
67
|
+
@media only screen and (min-width: 992px) {
|
68
|
+
.list-group-item.items-auto {
|
69
|
+
width: 23.8%; }
|
70
|
+
.list-group-item.items-1 {
|
71
|
+
width: 96%; }
|
72
|
+
.list-group-item.items-2 {
|
73
|
+
width: 48.3%;
|
74
|
+
}
|
75
|
+
.list-group-item.items-3 {
|
76
|
+
width: 31.333%; }
|
77
|
+
.list-group-item.items-4 {
|
78
|
+
width: 23.8%; } }
|
79
|
+
|
80
|
+
|
81
|
+
/* controls
|
82
|
+
-------------------------------------------------------------------------------- */
|
83
|
+
.page-load-status, .page-scroll-last {
|
84
|
+
display: none; /* hidden by default */
|
85
|
+
padding-top: .5rem;
|
86
|
+
border-top: 1px dotted #212121;
|
87
|
+
/* text-align: center; */
|
88
|
+
color: #777;
|
89
|
+
}
|
90
|
+
|
91
|
+
span.infinite-scroll-last {
|
92
|
+
border-bottom-width: 1px;
|
93
|
+
border-bottom-style: dotted;
|
94
|
+
border-bottom-color: #212121;
|
95
|
+
display: inline-block;
|
96
|
+
margin: 0 0 -1px 0;
|
97
|
+
padding: 10px 3px;
|
98
|
+
}
|
99
|
+
|
100
|
+
/* spinner
|
101
|
+
-------------------------------------------------------------------------------- */
|
102
|
+
.loader-ellips {
|
103
|
+
font-size: 20px; /* change size here */
|
104
|
+
position: relative;
|
105
|
+
width: 4em;
|
106
|
+
height: 1em;
|
107
|
+
margin: 10px auto;
|
108
|
+
}
|
109
|
+
|
110
|
+
.loader-ellips__dot {
|
111
|
+
display: block;
|
112
|
+
width: 1em;
|
113
|
+
height: 1em;
|
114
|
+
border-radius: 0.5em;
|
115
|
+
background: #555; /* change color here */
|
116
|
+
position: absolute;
|
117
|
+
animation-duration: 0.5s;
|
118
|
+
animation-timing-function: ease;
|
119
|
+
animation-iteration-count: infinite;
|
120
|
+
}
|
121
|
+
|
122
|
+
.loader-ellips__dot:nth-child(1),
|
123
|
+
.loader-ellips__dot:nth-child(2) {
|
124
|
+
left: 0;
|
125
|
+
}
|
126
|
+
.loader-ellips__dot:nth-child(3) { left: 1.5em; }
|
127
|
+
.loader-ellips__dot:nth-child(4) { left: 3em; }
|
128
|
+
|
129
|
+
@keyframes reveal {
|
130
|
+
from { transform: scale(0.001); }
|
131
|
+
to { transform: scale(1); }
|
132
|
+
}
|
133
|
+
|
134
|
+
@keyframes slide {
|
135
|
+
to { transform: translateX(1.5em) }
|
136
|
+
}
|
137
|
+
|
138
|
+
.loader-ellips__dot:nth-child(1) {
|
139
|
+
animation-name: reveal;
|
140
|
+
}
|
141
|
+
|
142
|
+
.loader-ellips__dot:nth-child(2),
|
143
|
+
.loader-ellips__dot:nth-child(3) {
|
144
|
+
animation-name: slide;
|
145
|
+
}
|
146
|
+
|
147
|
+
.loader-ellips__dot:nth-child(4) {
|
148
|
+
animation-name: reveal;
|
149
|
+
animation-direction: reverse;
|
150
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/themes/j1/modules/infiniteScroll/css/uno.min.css
|
4
|
+
# Provides styles for J1 Module infiniteScroll
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
#
|
9
|
+
# Copyright (C) 2021 Juergen Adams
|
10
|
+
#
|
11
|
+
# J1 Template is licensed under the MIT License.
|
12
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
13
|
+
# -----------------------------------------------------------------------------
|
14
|
+
*/
|
15
|
+
.list-group-item{width:96%;margin-right:1%!important}@media only screen and (min-width:576px){.list-group-item.items-auto{width:48.3%}.list-group-item.items-1{width:96%}.list-group-item.items-2{width:48.3%}.list-group-item.items-3{width:48.3%}.list-group-item.items-4{width:48.3%}}@media only screen and (min-width:768px){.list-group-item.items-auto{width:31.333%}.list-group-item.items-1{width:96%}.list-group-item.items-2{width:48.3%}.list-group-item.items-3{width:48.3%}.list-group-item.items-4{width:48.3%}}@media only screen and (min-width:992px){.list-group-item.items-auto{width:23.8%}.list-group-item.items-1{width:96%}.list-group-item.items-2{width:48.3%}.list-group-item.items-3{width:31.333%}.list-group-item.items-4{width:23.8%}}.page-load-status,.page-scroll-last{display:none;padding-top:.5rem;border-top:1px dotted #212121;color:#777}span.infinite-scroll-last{border-bottom-width:1px;border-bottom-style:dotted;border-bottom-color:#212121;display:inline-block;margin:0 0 -1px 0;padding:10px 3px}.loader-ellips{font-size:20px;position:relative;width:4em;height:1em;margin:10px auto}.loader-ellips__dot{display:block;width:1em;height:1em;border-radius:.5em;background:#555;position:absolute;animation-duration:.5s;animation-timing-function:ease;animation-iteration-count:infinite}.loader-ellips__dot:nth-child(1),.loader-ellips__dot:nth-child(2){left:0}.loader-ellips__dot:nth-child(3){left:1.5em}.loader-ellips__dot:nth-child(4){left:3em}@keyframes reveal{from{transform:scale(0.001)}to{transform:scale(1)}}@keyframes slide{to{transform:translateX(1.5em)}}.loader-ellips__dot:nth-child(1){animation-name:reveal}.loader-ellips__dot:nth-child(2),.loader-ellips__dot:nth-child(3){animation-name:slide}.loader-ellips__dot:nth-child(4){animation-name:reveal;animation-direction:reverse}
|
@@ -0,0 +1,188 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/themes/j1/modules/j1Scroll/js/j1scroll.js
|
4
|
+
# J1 core module for j1scroll
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
#
|
9
|
+
# Copyright (C) 2021 Juergen Adams
|
10
|
+
#
|
11
|
+
# J1 Template is licensed under the MIT License.
|
12
|
+
# For details, see https://jekyll.one
|
13
|
+
# -----------------------------------------------------------------------------
|
14
|
+
*/
|
15
|
+
|
16
|
+
// the semi-colon before function invocation is a SAFETY method against
|
17
|
+
// concatenated scripts and/or other plugins which may NOT be closed
|
18
|
+
// properly.
|
19
|
+
//
|
20
|
+
;(function($, window, document, undefined) {
|
21
|
+
|
22
|
+
'use strict';
|
23
|
+
|
24
|
+
// undefined is used here as the undefined global variable in ECMAScript 3 is
|
25
|
+
// mutable (ie. it can be changed by someone else). undefined isn't really being
|
26
|
+
// passed in so we can ensure the value of it is truly undefined. In ES5, undefined
|
27
|
+
// can no longer be modified.
|
28
|
+
|
29
|
+
// window and document are passed through as local variable rather than global
|
30
|
+
// as this (slightly) quickens the resolution process and can be more efficiently
|
31
|
+
// minified (especially when both are regularly referenced in your plugin).
|
32
|
+
|
33
|
+
// Create the defaults once
|
34
|
+
var pluginName = 'j1Scroll',
|
35
|
+
defaults = {
|
36
|
+
type: 'infiniteScroll',
|
37
|
+
scrollThreshold: 100,
|
38
|
+
elementScroll: false,
|
39
|
+
pNum: 2,
|
40
|
+
pMaxNum: 6,
|
41
|
+
enable: true,
|
42
|
+
};
|
43
|
+
|
44
|
+
// Plugin constructor
|
45
|
+
function Plugin (element, options) {
|
46
|
+
this.element = element;
|
47
|
+
this.settings = $.extend( {}, defaults, options);
|
48
|
+
this.settings.elementID = this.element["id"]
|
49
|
+
this._defaults = defaults;
|
50
|
+
this._name = pluginName;
|
51
|
+
|
52
|
+
// call the initializer
|
53
|
+
this.init(this.settings);
|
54
|
+
}
|
55
|
+
|
56
|
+
// Avoid Plugin.prototype conflicts
|
57
|
+
//
|
58
|
+
$.extend(Plugin.prototype, {
|
59
|
+
// -----------------------------------------------------------------------
|
60
|
+
// init: initializer
|
61
|
+
//
|
62
|
+
// -----------------------------------------------------------------------
|
63
|
+
init: function(options) {
|
64
|
+
var logger = log4javascript.getLogger('j1.core.j1Scroll');
|
65
|
+
|
66
|
+
if ( this.settings.elementScroll ) {
|
67
|
+
this.scroller = this.element;
|
68
|
+
} else {
|
69
|
+
this.scroller = window;
|
70
|
+
}
|
71
|
+
|
72
|
+
logger.info('\n' + 'initializing core module: started');
|
73
|
+
logger.info('\n' + 'state: started');
|
74
|
+
|
75
|
+
// initialize infinite scroll
|
76
|
+
if ( options.type === 'infiniteScroll') {
|
77
|
+
this.detectScroll(options);
|
78
|
+
}
|
79
|
+
},
|
80
|
+
// -----------------------------------------------------------------------
|
81
|
+
// bottomReached: detect final scroll position
|
82
|
+
//
|
83
|
+
// -----------------------------------------------------------------------
|
84
|
+
isBottomReached: function (options) {
|
85
|
+
var _this = this;
|
86
|
+
let bottom, scrollY;
|
87
|
+
var clientHeight = $('#' + options.elementID).height();
|
88
|
+
|
89
|
+
if ( _this.settings.elementScroll ) {
|
90
|
+
var $window = $(window);
|
91
|
+
var viewport_top = $window.scrollTop();
|
92
|
+
var viewport_height = $window.height();
|
93
|
+
var viewport_bottom = viewport_top + viewport_height;
|
94
|
+
var $elm = $('#' + options.elementID);
|
95
|
+
var top = $elm.offset().top + clientHeight;
|
96
|
+
var height = $elm.height();
|
97
|
+
// bottom = top + height - options.scrollThreshold
|
98
|
+
bottom = top + height;
|
99
|
+
|
100
|
+
return (top >= viewport_top && top < viewport_bottom) ||
|
101
|
+
(bottom > viewport_top && bottom <= viewport_bottom) ||
|
102
|
+
(height > viewport_height && top <= viewport_top && bottom >= viewport_bottom);
|
103
|
+
} else {
|
104
|
+
return (window.innerHeight + window.pageYOffset + options.scrollThreshold >= document.body.offsetHeight);
|
105
|
+
}
|
106
|
+
},
|
107
|
+
// -----------------------------------------------------------------------
|
108
|
+
// detectScroll: EventHandler to load new items for infinite scroll
|
109
|
+
// if final scroll position reached
|
110
|
+
// -----------------------------------------------------------------------
|
111
|
+
detectScroll: function (options) {
|
112
|
+
var _this = this;
|
113
|
+
var logger = log4javascript.getLogger('j1.core.j1Scroll.detectScroll');
|
114
|
+
|
115
|
+
logger.info('\n' + 'detectScroll: started');
|
116
|
+
|
117
|
+
window.onscroll = function (ev) {
|
118
|
+
var bottomReached = _this.isBottomReached(options);
|
119
|
+
if (bottomReached) _this.getNewPost(options);
|
120
|
+
};
|
121
|
+
},
|
122
|
+
// -----------------------------------------------------------------------
|
123
|
+
// getNewPost: load/append new items
|
124
|
+
//
|
125
|
+
// -----------------------------------------------------------------------
|
126
|
+
getNewPost: function (options) {
|
127
|
+
var _this = this;
|
128
|
+
|
129
|
+
if (options.pNum >= options.pMaxNum ) {
|
130
|
+
return;
|
131
|
+
}
|
132
|
+
if (this.enable === false) return false;
|
133
|
+
this.enable = false;
|
134
|
+
var xmlhttp = new XMLHttpRequest();
|
135
|
+
xmlhttp.onreadystatechange = function () {
|
136
|
+
if (xmlhttp.readyState == XMLHttpRequest.DONE) {
|
137
|
+
if (xmlhttp.status == 200) {
|
138
|
+
options.pNum++;
|
139
|
+
var childItems = _this.getChildItemsByAjaxHTML(options, xmlhttp.responseText);
|
140
|
+
_this.appendNewItems(childItems);
|
141
|
+
}
|
142
|
+
return _this.enable = true;
|
143
|
+
}
|
144
|
+
};
|
145
|
+
xmlhttp.open("GET", location.origin + options.path + options.pNum + '/index.html', true);
|
146
|
+
xmlhttp.send();
|
147
|
+
},
|
148
|
+
// -----------------------------------------------------------------------
|
149
|
+
// getChildItemsByAjaxHTML:
|
150
|
+
//
|
151
|
+
// -----------------------------------------------------------------------
|
152
|
+
getChildItemsByAjaxHTML: function (options, HTMLText) {
|
153
|
+
var newHTML = document.createElement('html');
|
154
|
+
|
155
|
+
newHTML.innerHTML = HTMLText;
|
156
|
+
var childItems = newHTML.querySelectorAll('#' + options.elementID + ' > *');
|
157
|
+
return childItems;
|
158
|
+
},
|
159
|
+
// -----------------------------------------------------------------------
|
160
|
+
// appendNewItems:
|
161
|
+
//
|
162
|
+
// -----------------------------------------------------------------------
|
163
|
+
appendNewItems: function (items) {
|
164
|
+
var _this = this;
|
165
|
+
|
166
|
+
items.forEach(function (item) {
|
167
|
+
_this.element.appendChild(item);
|
168
|
+
});
|
169
|
+
|
170
|
+
// initialize backdrops
|
171
|
+
j1.core.createDropCap();
|
172
|
+
}
|
173
|
+
|
174
|
+
}); // END prototype
|
175
|
+
|
176
|
+
// lightweight plugin wrapper around the constructor,
|
177
|
+
// preventing multiple instantiations
|
178
|
+
//
|
179
|
+
$.fn [pluginName] = function(options) {
|
180
|
+
return this.each(function() {
|
181
|
+
if (!$.data( this, "plugin_" + pluginName)) {
|
182
|
+
$.data(this, "plugin_" +
|
183
|
+
pluginName, new Plugin(this, options));
|
184
|
+
}
|
185
|
+
});
|
186
|
+
};
|
187
|
+
|
188
|
+
})(jQuery, window, document);
|
@@ -38,6 +38,19 @@ $(document).ready( function() {
|
|
38
38
|
var yOffset = 500;
|
39
39
|
var logger = log4javascript.getLogger('j1.core.showOnScroll');
|
40
40
|
|
41
|
+
// var eventHandler_news_panel = function (event) {
|
42
|
+
// var clientHeight = $('#home_news_panel-scroll-group').height();
|
43
|
+
// var inViewport = isInViewport ($('#home_news_panel-scroll-group'), clientHeight);
|
44
|
+
//
|
45
|
+
// if (inViewport) {
|
46
|
+
// logger.info('\n' + 'The specified container end reached: home_news_panel-scroll-group');
|
47
|
+
// //console.log('The specified container is in view.');
|
48
|
+
// // $(".home_service_panel").show(showDelay);
|
49
|
+
// // window.removeEventListener('scroll', eventHandler_news_panel);
|
50
|
+
// }
|
51
|
+
// }
|
52
|
+
// window.addEventListener('scroll', eventHandler_news_panel);
|
53
|
+
|
41
54
|
var eventHandler_service_panel = function (event) {
|
42
55
|
if (isInViewport ($('#home_service_panel'), yOffset)) {
|
43
56
|
logger.info('\n' + 'The specified container is in view: home_service_panel');
|
data/lib/j1/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
module J1
|
2
|
-
VERSION = '2021.1.
|
3
|
-
end
|
1
|
+
module J1
|
2
|
+
VERSION = '2021.1.26'
|
3
|
+
end
|
data/lib/starter_web/Gemfile
CHANGED
@@ -53,7 +53,7 @@ gem 'jekyll', '~> 4.2'
|
|
53
53
|
|
54
54
|
# Theme Rubies, default: J1 Template (NOT used for the development system)
|
55
55
|
#
|
56
|
-
gem 'j1-template', '~> 2021.1.
|
56
|
+
gem 'j1-template', '~> 2021.1.26'
|
57
57
|
|
58
58
|
# ------------------------------------------------------------------------------
|
59
59
|
# PRODUCTION: Gem needed for the Jekyll and J1 prod environment
|
data/lib/starter_web/_config.yml
CHANGED
@@ -53,7 +53,7 @@ environment: production
|
|
53
53
|
# ------------------------------------------------------------------------------
|
54
54
|
# Sets the build version of J1 Template Gem
|
55
55
|
#
|
56
|
-
version: 2021.1.
|
56
|
+
version: 2021.1.26
|
57
57
|
|
58
58
|
# version
|
59
59
|
# ------------------------------------------------------------------------------
|
@@ -1303,5 +1303,31 @@ resources:
|
|
1303
1303
|
files: []
|
1304
1304
|
js: [ modules/showOnScroll/js/showOnScroll ]
|
1305
1305
|
init_function: []
|
1306
|
+
|
1307
|
+
# ----------------------------------------------------------------------------
|
1308
|
+
# j1Scroll
|
1309
|
+
# NOTE: https://github.com/jquery-boilerplate/jquery-boilerplate
|
1310
|
+
#
|
1311
|
+
- name: j1Scroll
|
1312
|
+
resource:
|
1313
|
+
id: j1scroll
|
1314
|
+
enabled: true
|
1315
|
+
comment: j1Scroll
|
1316
|
+
region: head
|
1317
|
+
layout: [ all ]
|
1318
|
+
required: ondemand # always | ondemand
|
1319
|
+
preload: false # property currently unused
|
1320
|
+
script_load: defer
|
1321
|
+
dependencies: false
|
1322
|
+
pass_init_data: false
|
1323
|
+
data:
|
1324
|
+
css: [ modules/j1Scroll/css/theme/uno ]
|
1325
|
+
files: [
|
1326
|
+
modules/j1Scroll/js/j1scroll.js,
|
1327
|
+
adapter/js/j1scroll.js
|
1328
|
+
]
|
1329
|
+
js: []
|
1330
|
+
init_function: [ j1.adapter.j1Scroll.init ]
|
1331
|
+
|
1306
1332
|
# ------------------------------------------------------------------------------
|
1307
1333
|
# END config
|
@@ -423,7 +423,7 @@ end::tables[]
|
|
423
423
|
// -----------------------------------------------------------------------------
|
424
424
|
tag::products[]
|
425
425
|
:j1--license: MIT License
|
426
|
-
:j1--version: 2021.1.
|
426
|
+
:j1--version: 2021.1.26
|
427
427
|
:j1--site-name: Jekyll One
|
428
428
|
end::products[]
|
429
429
|
|
data/lib/starter_web/index.html
CHANGED
@@ -0,0 +1,119 @@
|
|
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
|
+
fam_menu_id: page_ctrl_simple
|
15
|
+
|
16
|
+
permalink: /pages/public/learn/scroller-5/
|
17
|
+
regenerate: false
|
18
|
+
|
19
|
+
resources: [ j1scroll, showonscroll ]
|
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
|
56
|
+
// -----------------------------------------------------------------------------
|
57
|
+
|
58
|
+
== Infinite scroll example 5
|
59
|
+
|
60
|
+
lorem:sentences[5]
|
61
|
+
|
62
|
+
++++
|
63
|
+
<div class="noClass">
|
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
|
+
++++
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: j1-template
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2021.1.
|
4
|
+
version: 2021.1.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- juergen_jekyll_one
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -384,6 +384,7 @@ files:
|
|
384
384
|
- assets/themes/j1/adapter/js/framer.js
|
385
385
|
- assets/themes/j1/adapter/js/infiniteScroll.js
|
386
386
|
- assets/themes/j1/adapter/js/j1.js
|
387
|
+
- assets/themes/j1/adapter/js/j1scroll.js
|
387
388
|
- assets/themes/j1/adapter/js/justifiedGallery.js
|
388
389
|
- assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js
|
389
390
|
- assets/themes/j1/adapter/js/lightbox.js
|
@@ -545,6 +546,9 @@ files:
|
|
545
546
|
- assets/themes/j1/modules/infiniteScroll/css/theme/uno.min.css
|
546
547
|
- assets/themes/j1/modules/infiniteScroll/js/infiniteScroll.js
|
547
548
|
- assets/themes/j1/modules/infiniteScroll/js/infiniteScroll.min.js
|
549
|
+
- assets/themes/j1/modules/j1Scroll/css/theme/uno.css
|
550
|
+
- assets/themes/j1/modules/j1Scroll/css/theme/uno.min.css
|
551
|
+
- assets/themes/j1/modules/j1Scroll/js/j1scroll.js
|
548
552
|
- assets/themes/j1/modules/jquery/css/jqueryUI/theme.css
|
549
553
|
- assets/themes/j1/modules/jquery/css/jqueryUI/theme.min.css
|
550
554
|
- assets/themes/j1/modules/jquery/js/jquery-3.5.1.min.map
|
@@ -1326,6 +1330,7 @@ files:
|
|
1326
1330
|
- lib/starter_web/favicon.ico
|
1327
1331
|
- lib/starter_web/index.html
|
1328
1332
|
- lib/starter_web/package.json
|
1333
|
+
- lib/starter_web/pages/infinite-scroll-tester-5.adoc
|
1329
1334
|
- lib/starter_web/pages/private/readme
|
1330
1335
|
- lib/starter_web/pages/protected/readme
|
1331
1336
|
- lib/starter_web/pages/public/about/about_site.adoc
|