j1-template 2022.0.2 → 2022.0.6
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/modules/connectors/analytic/google-analytics.html +3 -13
- data/_includes/themes/j1/modules/connectors/comment/hyvor.html +4 -5
- data/_includes/themes/j1/procedures/global/create_bs_button.proc +4 -4
- data/_includes/themes/j1/procedures/posts/pager.proc +2 -2
- data/_layouts/default.html +3 -11
- data/assets/data/private.json +1 -5
- data/assets/data/quicklinks.html +62 -47
- data/assets/themes/j1/adapter/js/cookieConsent.js +18 -13
- data/assets/themes/j1/adapter/js/j1.js +17 -17
- data/assets/themes/j1/adapter/js/translator.js +10 -6
- data/assets/themes/j1/core/js/template.js +139 -65
- data/assets/themes/j1/core/js/template.min.js +5 -5
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/assets/themes/j1/modules/cryptoJS/js/aes.js +35 -0
- data/assets/themes/j1/modules/cryptoJS/js/aes.min.js +35 -0
- data/assets/themes/j1/modules/cryptoJS/js/hmac-md5.js +21 -0
- data/assets/themes/j1/modules/cryptoJS/js/hmac-ripemd160.js +31 -0
- data/assets/themes/j1/modules/cryptoJS/js/hmac-sha1.js +17 -0
- data/assets/themes/j1/modules/cryptoJS/js/hmac-sha224.js +19 -0
- data/assets/themes/j1/modules/cryptoJS/js/hmac-sha256.js +18 -0
- data/assets/themes/j1/modules/cryptoJS/js/hmac-sha3.js +21 -0
- data/assets/themes/j1/modules/cryptoJS/js/hmac-sha384.js +27 -0
- data/assets/themes/j1/modules/cryptoJS/js/hmac-sha512.js +25 -0
- data/assets/themes/j1/modules/cryptoJS/js/md5.js +19 -0
- data/assets/themes/j1/modules/cryptoJS/js/pbkdf2.js +19 -0
- data/assets/themes/j1/modules/cryptoJS/js/rabbit-legacy.js +36 -0
- data/assets/themes/j1/modules/cryptoJS/js/rabbit.js +36 -0
- data/assets/themes/j1/modules/cryptoJS/js/rc4.js +33 -0
- data/assets/themes/j1/modules/cryptoJS/js/ripemd160.js +29 -0
- data/assets/themes/j1/modules/cryptoJS/js/sha1.js +15 -0
- data/assets/themes/j1/modules/cryptoJS/js/sha224.js +17 -0
- data/assets/themes/j1/modules/cryptoJS/js/sha256.js +16 -0
- data/assets/themes/j1/modules/cryptoJS/js/sha3.js +19 -0
- data/assets/themes/j1/modules/cryptoJS/js/sha384.js +25 -0
- data/assets/themes/j1/modules/cryptoJS/js/sha512.js +23 -0
- data/assets/themes/j1/modules/cryptoJS/js/tripledes.js +51 -0
- data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.2.js +460 -0
- data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.js +379 -353
- data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.min.js +1 -1
- data/assets/themes/j1/modules/gtag-opt-in/js/gtag-opt-in.js +93 -1
- data/assets/themes/j1/modules/scroller/js/scroller.js +6 -6
- data/assets/themes/j1/modules/scroller/js/scroller.min.js +1 -1
- data/exe/j1 +6 -7
- data/lib/j1/commands/generate.rb +15 -16
- data/lib/j1/version.rb +3 -3
- data/lib/starter_web/Gemfile +7 -1
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/_defaults/private.yml +3 -2
- data/lib/starter_web/_data/builder/defaults/blog_navigator.yml +50 -44
- data/lib/starter_web/_data/modules/defaults/navigator.yml +31 -11
- data/lib/starter_web/_data/modules/translator.yml +3 -3
- data/lib/starter_web/_data/private.yml +3 -2
- data/lib/starter_web/_data/resources.yml +27 -2
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/encodeBase64.rb +46 -0
- data/lib/starter_web/_plugins/encryptAES.rb +53 -0
- data/lib/starter_web/_plugins/filters.rb +2 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/_plugins/minifyJSON.rb +2 -2
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +0 -21
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -0
- data/lib/starter_web/pages/public/blog/navigator/archive.html +1 -1
- data/lib/starter_web/pages/public/learn/quickstart.adoc +1 -1
- data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
- data/lib/starter_web/pages/public/legal/de/100_copyright.adoc +1 -1
- data/lib/starter_web/pages/public/legal/de/100_impress.adoc +1 -1
- data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +1 -1
- data/lib/starter_web/pages/public/legal/de/400_comment_policy.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/200_impress.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +1 -1
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +29 -5
- data/lib/j1/commands/help.rb +0 -32
- data/lib/j1/commands/module.rb +0 -69
@@ -15,4 +15,4 @@
|
|
15
15
|
# See: https://www.dotnetcurry.com/jquery/1069/authoring-jquery-plugins
|
16
16
|
# -----------------------------------------------------------------------------
|
17
17
|
*/
|
18
|
-
(function(e,c,a,g){var d="deeplAPI",f={api:"free",auth_key:"",source_lang:"auto",target_lang:"DE",max_chars:false,split_sentences:"1",preserve_formatting:"0",formality:"default",tag_handling:false,outline_detection:true,non_splitting_tags:false,splitting_tags:false,ignore_tags:false,onInit:function(){},onBeforeTranslation:function(){},onAfterTranslation:function(){}};function b(i,h){this.element=i;this.settings=e.extend({},f,h);this.settings.elementID="#"+this.element.id;this.xhr=new XMLHttpRequest();this.init(this.settings)}e.extend(b.prototype,{init:function(
|
18
|
+
(function(e,c,a,g){var d="deeplAPI",f={api:"free",auth_key:"",source_lang:"auto",target_lang:"DE",max_chars:false,split_sentences:"1",preserve_formatting:"0",formality:"default",tag_handling:false,outline_detection:true,non_splitting_tags:false,splitting_tags:false,ignore_tags:false,onInit:function(){},onBeforeTranslation:function(){},onAfterTranslation:function(){}};function b(i,h){this.element=i;this.settings=e.extend({},f,h);this.settings.elementID="#"+this.element.id;this.xhr=new XMLHttpRequest();this.init(this.settings)}e.extend(b.prototype,{init:function(q){var k=this;var o=log4javascript.getLogger("deeplAPI.init");var h="/assets/data/private.json";var i=q;var m;var p;var j;var l;o.info("\ninitialize: started");e.ajax({url:h,dataType:"text",success:function(r){p=atob(r);l=JSON.parse(p);m=l.translators.deepl.auth_key},error:function(r,t,s){o.error("\nfailed to retrieve JSON data from: "+h)}});var n=setInterval(function(){if(typeof m!=="undefined"){i.auth_key=m;k.translate(i);o.info("\ninitialize: finished");o.info("\ntranslate: started");clearInterval(n)}})},prepareXHR:function(h){if(h.api==="free"){this.xhr.open("POST","https://api-free.deepl.com/v2/translate",true)}else{if(h.api==="pro"){this.xhr.open("POST","https://api.deepl.com/v2/translate",true)}else{this.xhr.open("POST","https://api-free.deepl.com/v2/translate",true)}}this.xhr.setRequestHeader("Accept","*/*");this.xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")},prepareText:function(h){return h.split("\n")},translate:function(C){const H=log4javascript.getLogger("deeplAPI.translate");const n=4;const t=200;const u=["BG","CS","DA","DE","EL","EN-GB","EN-US","EN","ES","ET","FI","FR","HU","IT","JA","LT","LV","NL","PL","PT-PT","PT-BR","PT","RO","RU","SK","SL","SV","ZH"];const h=["DE","FR","IT","ES","NL","PL","PT","PT-BR","RU"];const r=["xml"];const w=C.targetElement;const q=e(w).length;const D="Translation failed.\nReason: ";const o="Translation skipped.\nReason: ";var y;var F;var v;var x={};x["400"]="Bad request. Please check error message and your parameters.";x["401"]="Authorization failed. Please supply a valid DeepL-Auth-Key.";x["403"]="Forbidden. The access to the requested resource is denied, because of insufficient access rights.";x["404"]="The requested resource could not be found.";x["413"]="The request size exceeds the limit.";x["415"]="The requested entries format specified in the Accept header is not supported.";x["429"]="Too many requests. Please wait and resend your request.";x["456"]="Quota exceeded. The maximum amount of glossaries has been reached.";x["500"]="Internal server error";x["503"]="Resource currently unavailable. Try again later.";x["529"]="Too many requests. Please wait and resend your request.";var l;var k="";var j="";var B="";var E="";var m;var G;if(q){y=(w.includes(".")||w.includes("#"))?w.substring(1):w;F=e(w).get(0).nodeName;if(F==="TEXTAREA"){B=this.element.value}else{if(F==="P"){j=this.element;B=e(w).text()}}v=B.length}else{H.error("\ntarget element does not exists: "+w);return false}if(C.max_char&&B.length>C.max_char){var s=B.substring(0,C.max_char-3);B=s+" ...";H.info("\nlimit for source text (max: "+C.max_char+") reached: "+B.length)}E=this.prepareText(B);this.prepareXHR(C);var p="";for(var A=0;A<E.length;A++){p+="&text="+E[A]}this.xhr.onload=function(){if(this.readyState===n){if(this.status===t){var I=JSON.parse(this.responseText);var J="";for(var K=0;K<I.translations.length;K++){J+=I.translations[K].text;J+="\n"}H.info("\ntranslation: finished");if(F==="TEXTAREA"){e(w).val(J)}else{if(F==="P"){e(w).text(J)}}}else{H.error("\nAPI returned "+this.status+": "+x[this.status])}}};m=this.settings.source_lang;G=this.settings.target_lang;if(this.settings.source_lang!=="auto"){this.settings.source_lang=(u.indexOf(this.settings.source_lang)>-1)?this.settings.source_lang:false}this.settings.target_lang=(u.indexOf(this.settings.target_lang)>-1)?this.settings.target_lang:false;if(!this.settings.auth_key||!this.settings.source_lang||!this.settings.target_lang){if(!this.settings.auth_key){l="NO AUTH key passed.";H.error("\ninvalid option found. "+l)}if(!this.settings.source_lang){l="WRONG source language passed: "+m;H.error("\ninvalid option found. "+l)}if(!this.settings.target_lang){l="WRONG target language passed: "+G;H.error("\ninvalid option found. "+l)}if(F==="TEXTAREA"){e(w).val(D+l)}else{if(F==="P"){e(w).text(D+l)}}return false}if(!v){l="NO text found for translation";if(F==="TEXTAREA"){e(w).val(o+l)}else{if(F==="P"){e(w).text(o+l)}}H.warn("\nno text found for translation");return false}if(this.settings.formality!=="default"){if(!(h.indexOf(this.settings.target_lang)>-1)){H.warn("\nwrong language found for formality setting: "+this.settings.target_lang)}this.settings.formality=(h.indexOf(this.settings.target_lang)>-1)?this.settings.formality:"default"}if(this.settings.tag_handling){var z=this.settings.tag_handling;this.settings.tag_handling=(r.indexOf(this.settings.tag_handling)>-1)?this.settings.tag_handling:false;if(this.settings.tag_handling){this.settings.non_splitting_tags=this.settings.non_splitting_tags?encodeURIComponent(this.settings.non_splitting_tags):false;this.settings.splitting_tags=this.settings.splitting_tags?encodeURIComponent(this.settings.splitting_tags):false;this.settings.ignore_tags=this.settings.ignore_tags?encodeURIComponent(this.settings.ignore_tags):false}else{H.error("\ninvalid option found for tag handling : "+z);H.warn("\ndisable option: tag_handling");if(this.settings.non_splitting_tags){H.warn("\ndisable option: "+this.settings.non_splitting_tags);this.settings.non_splitting_tags=false}if(this.settings.splitting_tags){H.warn("\ndisable option : "+this.settings.splitting_tags);this.settings.splitting_tags=false}if(this.settings.ignore_tags){H.warn("\ndisable option: "+this.settings.ignore_tags);this.settings.ignore_tags=false}}}else{if(this.settings.non_splitting_tags){H.warn("\ninvalid option found: "+this.settings.non_splitting_tags);this.settings.non_splitting_tags=false}if(this.settings.splitting_tags){H.warn("\ninvalid option found: "+this.settings.splitting_tags);this.settings.splitting_tags=false}if(this.settings.ignore_tags){H.warn("\ninvalid option found: "+this.settings.ignore_tags);this.settings.ignore_tags=false}}k="auth_key="+this.settings.auth_key;k+=(this.settings.source_lang!=="auto")?"&source_lang="+this.settings.source_lang:"";k+="&target_lang="+this.settings.target_lang;k+=(this.settings.formality!=="default")?"&formality="+this.settings.formality:"";k+=(this.settings.split_sentences)?"&split_sentences="+this.settings.formality:"";k+=(this.settings.tag_handling)?"&tag_handling="+this.settings.tag_handling:"&tag_handling=0";k+=(this.settings.tag_handling&&this.settings.non_splitting_tags)?"&non_splitting_tags="+this.settings.non_splitting_tags:"";k+=(this.settings.tag_handling&&this.settings.splitting_tags)?"&splitting_tags="+this.settings.splitting_tags:"";k+=(this.settings.tag_handling&&this.settings.ignore_tags)?"&ignore_tags="+this.settings.ignore_tags:"";k+=p;this.xhr.send(k)}});e.fn[d]=function(i){var h=arguments;if(i===g||typeof i==="object"){return this.each(function(){if(!e.data(this,"plugin_"+d)){e.data(this,"plugin_"+d,new b(this,i))}})}else{if(typeof i==="string"&&i[0]!=="_"&&i!=="init"){var j;this.each(function(){var k=e.data(this,"plugin_"+d);if(k instanceof b&&typeof k[i]==="function"){j=k[i].apply(k,Array.prototype.slice.call(h,1))}if(i==="destroy"){e.data(this,"plugin_"+d,null)}});return j!==g?j:this}}}})(jQuery,window,document);
|
@@ -12,4 +12,96 @@
|
|
12
12
|
# For details, see https://github.com/luciomartinez/gtag-opt-in/blob/main/LICENSE
|
13
13
|
# -----------------------------------------------------------------------------
|
14
14
|
*/
|
15
|
-
!function
|
15
|
+
!function (e, t) {
|
16
|
+
"object" == typeof exports && "object" == typeof module
|
17
|
+
? module.exports = t() : "function" == typeof define && define.amd ? define([], t)
|
18
|
+
: "object" == typeof exports ? exports.GTagOptIn = t() : e.GTagOptIn = t()
|
19
|
+
} (window, (function () {
|
20
|
+
return function (e) {
|
21
|
+
var t = {};
|
22
|
+
|
23
|
+
function n(r) {
|
24
|
+
if (t[r]) return t[r].exports;
|
25
|
+
var o = t[r] = {
|
26
|
+
i: r,
|
27
|
+
l: !1,
|
28
|
+
exports: {}
|
29
|
+
};
|
30
|
+
return e[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports
|
31
|
+
}
|
32
|
+
return n.m = e, n.c = t, n.d = function (e, t, r) {
|
33
|
+
n.o(e, t) || Object.defineProperty(e, t, {
|
34
|
+
enumerable: !0,
|
35
|
+
get: r
|
36
|
+
})
|
37
|
+
}, n.r = function (e) {
|
38
|
+
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
|
39
|
+
value: "Module"
|
40
|
+
}), Object.defineProperty(e, "__esModule", {
|
41
|
+
value: !0
|
42
|
+
})
|
43
|
+
}, n.t = function (e, t) {
|
44
|
+
if (1 & t && (e = n(e)), 8 & t) return e;
|
45
|
+
if (4 & t && "object" == typeof e && e && e.__esModule) return e;
|
46
|
+
var r = Object.create(null);
|
47
|
+
if (n.r(r), Object.defineProperty(r, "default", {
|
48
|
+
enumerable: !0,
|
49
|
+
value: e
|
50
|
+
}), 2 & t && "string" != typeof e)
|
51
|
+
for (var o in e) n.d(r, o, function (t) {
|
52
|
+
return e[t]
|
53
|
+
}.bind(null, o));
|
54
|
+
return r
|
55
|
+
}, n.n = function (e) {
|
56
|
+
var t = e && e.__esModule ? function () {
|
57
|
+
return e.default
|
58
|
+
} : function () {
|
59
|
+
return e
|
60
|
+
};
|
61
|
+
return n.d(t, "a", t), t
|
62
|
+
}, n.o = function (e, t) {
|
63
|
+
return Object.prototype.hasOwnProperty.call(e, t)
|
64
|
+
}, n.p = "", n(n.s = 0)
|
65
|
+
}([function (e, t, n) {
|
66
|
+
"use strict";
|
67
|
+
n.r(t), n.d(t, "register", (function () {
|
68
|
+
return i
|
69
|
+
})), n.d(t, "optIn", (function () {
|
70
|
+
return f
|
71
|
+
})), n.d(t, "optOut", (function () {
|
72
|
+
return a
|
73
|
+
}));
|
74
|
+
let r = !1,
|
75
|
+
o = void 0;
|
76
|
+
const i = e => {
|
77
|
+
u(e), o = e
|
78
|
+
},
|
79
|
+
u = e => {
|
80
|
+
if (!e) throw new Error("gtag-opt-in: invalid value passed to `register` method. Make sure to use a valid Analytics ID.")
|
81
|
+
},
|
82
|
+
a = () => {
|
83
|
+
d(), window["ga-disable-" + o] = !0
|
84
|
+
},
|
85
|
+
f = () => {
|
86
|
+
d(), c(), window["ga-disable-" + o] = !1
|
87
|
+
},
|
88
|
+
d = () => {
|
89
|
+
if (!o) throw new Error("gtag-opt-in: no value found for Analytics ID. Make sure to register before by calling the `register` method.")
|
90
|
+
},
|
91
|
+
c = () => {
|
92
|
+
r || (l(), r = !0)
|
93
|
+
},
|
94
|
+
l = () => {
|
95
|
+
const e = s();
|
96
|
+
p(e)
|
97
|
+
},
|
98
|
+
s = () => (window.dataLayer = window.dataLayer || [], function () {
|
99
|
+
dataLayer.push(arguments)
|
100
|
+
}),
|
101
|
+
p = e => {
|
102
|
+
e("js", new Date), e("config", o, {
|
103
|
+
anonymize_ip: !0
|
104
|
+
})
|
105
|
+
}
|
106
|
+
}])
|
107
|
+
}));
|
@@ -56,7 +56,7 @@
|
|
56
56
|
// -----------------------------------------------------------------------
|
57
57
|
init: function(options) {
|
58
58
|
var _this = this;
|
59
|
-
var logger = log4javascript.getLogger('');
|
59
|
+
var logger = log4javascript.getLogger('j1.scroller.core.init');
|
60
60
|
|
61
61
|
logger.info('\n' + 'initializing plugin: started');
|
62
62
|
logger.info('\n' + 'state: started');
|
@@ -169,7 +169,7 @@
|
|
169
169
|
// -------------------------------------------------------------------------
|
170
170
|
registerScrollEvent: function (options) {
|
171
171
|
var _this = this;
|
172
|
-
var logger = log4javascript.getLogger('');
|
172
|
+
var logger = log4javascript.getLogger('j1.scroller.core.registerScrollEvent');
|
173
173
|
|
174
174
|
// scroller type infiniteScroll
|
175
175
|
if (options.type === 'infiniteScroll') {
|
@@ -223,7 +223,7 @@
|
|
223
223
|
// -------------------------------------------------------------------------
|
224
224
|
getNewPost: function (options) {
|
225
225
|
var _this = this;
|
226
|
-
var logger = log4javascript.getLogger('');
|
226
|
+
var logger = log4javascript.getLogger('j1.scroller.core.getNewPost');
|
227
227
|
|
228
228
|
logger.info('\n' + 'trigger loading ');
|
229
229
|
|
@@ -283,7 +283,7 @@
|
|
283
283
|
// -------------------------------------------------------------------------
|
284
284
|
getChildItemsByAjaxHTML: function (options, HTMLText) {
|
285
285
|
var newHTML = document.createElement('html');
|
286
|
-
var logger = log4javascript.getLogger('');
|
286
|
+
var logger = log4javascript.getLogger('j1.scroller.core.getChildItemsByAjaxHTML');
|
287
287
|
|
288
288
|
logger.info('\n' + 'load new items');
|
289
289
|
newHTML.innerHTML = HTMLText;
|
@@ -297,7 +297,7 @@
|
|
297
297
|
// -------------------------------------------------------------------------
|
298
298
|
appendNewItems: function (items) {
|
299
299
|
var _this = this;
|
300
|
-
var logger = log4javascript.getLogger('');
|
300
|
+
var logger = log4javascript.getLogger('j1.scroller.core.appendNewItems');
|
301
301
|
var cookie_names = j1.getCookieNames();
|
302
302
|
var user_translate = j1.readCookie(cookie_names.user_translate);
|
303
303
|
|
@@ -326,7 +326,7 @@
|
|
326
326
|
// -------------------------------------------------------------------------
|
327
327
|
infoLastPage: function (options) {
|
328
328
|
var _this = this;
|
329
|
-
var logger = log4javascript.getLogger('');
|
329
|
+
var logger = log4javascript.getLogger('j1.scroller.core.infoLastPage');
|
330
330
|
|
331
331
|
logger.info('\n' + 'show: infoLastPage');
|
332
332
|
$('.page-scroll-last').show();
|
@@ -12,4 +12,4 @@
|
|
12
12
|
# For details, see https://jekyll.one
|
13
13
|
# -----------------------------------------------------------------------------
|
14
14
|
*/
|
15
|
-
(function(e,c,a,g){var d="scroller",f={type:"infiniteScroll",scrollOffset:100,elementScroll:false,firstPage:2,lastPage:false,infoLastPage:false,loadStatus:false,onInit:function(){},onBeforeLoad:function(){},onAfterLoad:function(){}};function b(i,h){this.element=i;this.settings=e.extend({},f,h);this.settings.elementID="#"+this.element.id;this.init(this.settings)}e.extend(b.prototype,{init:function(i){var m=this;var h=log4javascript.getLogger("");h.info("\ninitializing plugin: started");h.info("\nstate: started");if(i.elementScroll){m.scroller=m.element}else{m.scroller=c}if(i.loadStatus){var l='<div class="loader-ellips" style="display: none"> <span class="loader-ellips__dot"></span> <span class="loader-ellips__dot"></span> <span class="loader-ellips__dot"></span> <span class="loader-ellips__dot"></span> </div>';e(l).insertAfter(i.elementID)}if(i.infoLastPage){var j=i.lastPageInfo;e(j).insertAfter(i.elementID)}var k=setInterval(function(){if(j1.getState()==="finished"){if(i.type==="infiniteScroll"){h.info("\nprocessing mode: "+i.type);h.info("\nloading items from path: "+i.pagePath+"#");h.info("\nmonitoring element set to: "+this.scroller);m.registerScrollEvent(i)}if(i.type==="showOnScroll"){h.info("\nprocessing mode: "+i.type);h.info("\nloading items from path: "+i.pagePath+"#");h.info("\nmonitoring element set to: "+this.scroller);m.registerScrollEvent(i)}h.info("\ninitializing plugin: finished");h.info("\nstate: finished");clearInterval(k)}})},isInViewport:function(n,m){if(n.length==0){return}var j=jQuery(c);var q=j.scrollTop();var i=j.height();var k=q+i;var l=jQuery(n);var o=l.offset().top+m;var p=l.height();var h=o+p;return(o>=q&&o<k)||(h>q&&h<=k)||(p>i&&o<=q&&h>=k)},isBottomReached:function(s){var n=this;var h,p;var m=e(s.elementID).height();if(n.settings.elementScroll){var j=e(c);var r=j.scrollTop();var i=j.height();var l=r+i-s.scrollOffset;var k=e(s.elementID);var o=k.offset().top+m;var q=k.height();h=o+q;return(o>=r&&o<l)||(h>r&&h<=l)||(q>i&&o<=r&&h>=l)}else{return(c.innerHeight+c.pageYOffset+s.scrollOffset>=a.body.offsetHeight)}},registerScrollEvent:function(i){var j=this;var h=log4javascript.getLogger("");if(i.type==="infiniteScroll"){h.info("\nregister scroll event of type: "+i.type);j[i.id]=function(l){var k=j.settings;if(j.isBottomReached(k)){if(k.firstPage>k.lastPage){h.info("\nlast page detected on: "+k.lastPage);c.removeEventListener("scroll",j[k.id]);h.info("\nscroll event: removed");if(k.infoLastPage){j.infoLastPage(k)}return false}j.getNewPost(k)}};c.addEventListener("scroll",j[i.id]);h.info("\nscroll event: registered")}if(i.type==="showOnScroll"){h.info("\nregister scroll event of type: "+i.type);j[i.id]=function(k){if(j.isInViewport(e("#"+i.id),i.scrollOffset)){h.info("\nspecified container is in view: "+i.id);e("."+i.id).show(i.showDelay);h.info("\nremove eventHandler");c.removeEventListener("scroll",j[i.id])}};c.addEventListener("scroll",j[i.id])}},getNewPost:function(i){var k=this;var h=log4javascript.getLogger("");h.info("\ntrigger loading ");if(this.itemsLoaded===false){return false}this.itemsLoaded=false;if(i.loadStatus){h.info("\nshow: spinner");e(".loader-ellips").show()}var j=new XMLHttpRequest();j.onreadystatechange=function(){if(j.readyState==XMLHttpRequest.DONE){if(j.status==200){i.firstPage++;var l=k.getChildItemsByAjaxHTML(i,j.responseText);k.appendNewItems(l);h.info("\nloading new items: successful");if(i.loadStatus){h.info("\nhide: spinner");e(".loader-ellips").hide()}k.itemsLoaded=true}else{if(i.loadStatus){h.info("\nhide: spinner");e(".loader-ellips").hide()}h.error("\nloading new items failed, HTTP response: "+j.status);k.itemsLoaded=false}}};h.info("\nloading new items from path: "+i.pagePath+i.firstPage);j.open("GET",location.origin+i.pagePath+i.firstPage+"/index.html",true);j.send()},getChildItemsByAjaxHTML:function(j,i){var l=a.createElement("html");var h=log4javascript.getLogger("");h.info("\nload new items");l.innerHTML=i;var k=l.querySelectorAll(j.elementID+" > *");return k},appendNewItems:function(h){var l=this;var i=log4javascript.getLogger("");var k=j1.getCookieNames();var j=j1.readCookie(k.user_translate);i.info("\nappend new items");h.forEach(function(m){l.element.appendChild(m)});if(j.translationEnabled){i.info("\ntranslation enabled: "+j.translationEnabled);i.warn("\nskipped processing of dropcaps")}else{i.info("\npost processing: createDropCap");j1.core.createDropCap()}},infoLastPage:function(i){var j=this;var h=log4javascript.getLogger("");h.info("\nshow: infoLastPage");e(".page-scroll-last").show()}});e.fn[d]=function(h){return this.each(function(){if(!e.data(this,"plugin_"+d)){e.data(this,"plugin_"+d,new b(this,h))}})}})(jQuery,window,document);
|
15
|
+
(function(e,c,a,g){var d="scroller",f={type:"infiniteScroll",scrollOffset:100,elementScroll:false,firstPage:2,lastPage:false,infoLastPage:false,loadStatus:false,onInit:function(){},onBeforeLoad:function(){},onAfterLoad:function(){}};function b(i,h){this.element=i;this.settings=e.extend({},f,h);this.settings.elementID="#"+this.element.id;this.init(this.settings)}e.extend(b.prototype,{init:function(i){var m=this;var h=log4javascript.getLogger("j1.scroller.core.init");h.info("\ninitializing plugin: started");h.info("\nstate: started");if(i.elementScroll){m.scroller=m.element}else{m.scroller=c}if(i.loadStatus){var l='<div class="loader-ellips" style="display: none"> <span class="loader-ellips__dot"></span> <span class="loader-ellips__dot"></span> <span class="loader-ellips__dot"></span> <span class="loader-ellips__dot"></span> </div>';e(l).insertAfter(i.elementID)}if(i.infoLastPage){var j=i.lastPageInfo;e(j).insertAfter(i.elementID)}var k=setInterval(function(){if(j1.getState()==="finished"){if(i.type==="infiniteScroll"){h.info("\nprocessing mode: "+i.type);h.info("\nloading items from path: "+i.pagePath+"#");h.info("\nmonitoring element set to: "+this.scroller);m.registerScrollEvent(i)}if(i.type==="showOnScroll"){h.info("\nprocessing mode: "+i.type);h.info("\nloading items from path: "+i.pagePath+"#");h.info("\nmonitoring element set to: "+this.scroller);m.registerScrollEvent(i)}h.info("\ninitializing plugin: finished");h.info("\nstate: finished");clearInterval(k)}})},isInViewport:function(n,m){if(n.length==0){return}var j=jQuery(c);var q=j.scrollTop();var i=j.height();var k=q+i;var l=jQuery(n);var o=l.offset().top+m;var p=l.height();var h=o+p;return(o>=q&&o<k)||(h>q&&h<=k)||(p>i&&o<=q&&h>=k)},isBottomReached:function(s){var n=this;var h,p;var m=e(s.elementID).height();if(n.settings.elementScroll){var j=e(c);var r=j.scrollTop();var i=j.height();var l=r+i-s.scrollOffset;var k=e(s.elementID);var o=k.offset().top+m;var q=k.height();h=o+q;return(o>=r&&o<l)||(h>r&&h<=l)||(q>i&&o<=r&&h>=l)}else{return(c.innerHeight+c.pageYOffset+s.scrollOffset>=a.body.offsetHeight)}},registerScrollEvent:function(i){var j=this;var h=log4javascript.getLogger("j1.scroller.core.registerScrollEvent");if(i.type==="infiniteScroll"){h.info("\nregister scroll event of type: "+i.type);j[i.id]=function(l){var k=j.settings;if(j.isBottomReached(k)){if(k.firstPage>k.lastPage){h.info("\nlast page detected on: "+k.lastPage);c.removeEventListener("scroll",j[k.id]);h.info("\nscroll event: removed");if(k.infoLastPage){j.infoLastPage(k)}return false}j.getNewPost(k)}};c.addEventListener("scroll",j[i.id]);h.info("\nscroll event: registered")}if(i.type==="showOnScroll"){h.info("\nregister scroll event of type: "+i.type);j[i.id]=function(k){if(j.isInViewport(e("#"+i.id),i.scrollOffset)){h.info("\nspecified container is in view: "+i.id);e("."+i.id).show(i.showDelay);h.info("\nremove eventHandler");c.removeEventListener("scroll",j[i.id])}};c.addEventListener("scroll",j[i.id])}},getNewPost:function(i){var k=this;var h=log4javascript.getLogger("j1.scroller.core.getNewPost");h.info("\ntrigger loading ");if(this.itemsLoaded===false){return false}this.itemsLoaded=false;if(i.loadStatus){h.info("\nshow: spinner");e(".loader-ellips").show()}var j=new XMLHttpRequest();j.onreadystatechange=function(){if(j.readyState==XMLHttpRequest.DONE){if(j.status==200){i.firstPage++;var l=k.getChildItemsByAjaxHTML(i,j.responseText);k.appendNewItems(l);h.info("\nloading new items: successful");if(i.loadStatus){h.info("\nhide: spinner");e(".loader-ellips").hide()}k.itemsLoaded=true}else{if(i.loadStatus){h.info("\nhide: spinner");e(".loader-ellips").hide()}h.error("\nloading new items failed, HTTP response: "+j.status);k.itemsLoaded=false}}};h.info("\nloading new items from path: "+i.pagePath+i.firstPage);j.open("GET",location.origin+i.pagePath+i.firstPage+"/index.html",true);j.send()},getChildItemsByAjaxHTML:function(j,i){var l=a.createElement("html");var h=log4javascript.getLogger("j1.scroller.core.getChildItemsByAjaxHTML");h.info("\nload new items");l.innerHTML=i;var k=l.querySelectorAll(j.elementID+" > *");return k},appendNewItems:function(h){var l=this;var i=log4javascript.getLogger("j1.scroller.core.appendNewItems");var k=j1.getCookieNames();var j=j1.readCookie(k.user_translate);i.info("\nappend new items");h.forEach(function(m){l.element.appendChild(m)});if(j.translationEnabled){i.info("\ntranslation enabled: "+j.translationEnabled);i.warn("\nskipped processing of dropcaps")}else{i.info("\npost processing: createDropCap");j1.core.createDropCap()}},infoLastPage:function(i){var j=this;var h=log4javascript.getLogger("j1.scroller.core.infoLastPage");h.info("\nshow: infoLastPage");e(".page-scroll-last").show()}});e.fn[d]=function(h){return this.each(function(){if(!e.data(this,"plugin_"+d)){e.data(this,"plugin_"+d,new b(this,h))}})}})(jQuery,window,document);
|
data/exe/j1
CHANGED
@@ -7,18 +7,17 @@ require 'j1'
|
|
7
7
|
require 'mercenary'
|
8
8
|
|
9
9
|
Mercenary.program(:j1) do |p|
|
10
|
-
|
11
10
|
p.version J1::VERSION
|
12
|
-
p.description 'J1 Template
|
11
|
+
p.description 'J1 Template is a gem-based Template made for Jekyll'
|
13
12
|
p.syntax 'j1 <subcommand> [options]'
|
14
13
|
|
15
14
|
p.command(:generate) do |c|
|
16
|
-
c.syntax 'generate PATH' # do not include the program name or super commands
|
17
15
|
c.description 'Generates a starter site scaffold in PATH'
|
18
|
-
c.
|
19
|
-
c.option
|
20
|
-
c.option
|
21
|
-
c.option
|
16
|
+
c.syntax 'generate PATH'
|
17
|
+
c.option 'force', '--force', ' Force a site to be created even the PATH already exists'
|
18
|
+
c.option 'skip-bundle', '--skip-bundle', ' Skip bundle install'
|
19
|
+
c.option 'skip-patches', '--skip-patches', ' Skip install any PATCHES buildin with J1'
|
20
|
+
c.option 'system', '--system', ' Run "bundle install" for the Ruby SYSTEM gem folder'
|
22
21
|
c.action do |args, options|
|
23
22
|
J1::Commands::Generate.process(args, options)
|
24
23
|
end
|
data/lib/j1/commands/generate.rb
CHANGED
@@ -6,21 +6,20 @@ module J1
|
|
6
6
|
module Commands
|
7
7
|
class Generate < Command
|
8
8
|
class << self
|
9
|
-
def init_with_program(prog)
|
10
|
-
|
11
|
-
prog.command(:generate) do |c|
|
12
|
-
c.syntax 'generate PATH'
|
13
|
-
c.description 'Generates a starter site scaffold in PATH'
|
14
|
-
c.option 'force', '--force', 'Force a site to be created even the PATH already exists'
|
15
|
-
c.option 'skip-bundle', '--skip-bundle', "Skip 'bundle install'"
|
16
|
-
c.option "skip-_patches", "--skip-_patches", "Skip to install any PATCHES buildin with J1"
|
17
|
-
c.option "system", "--system", "Run 'bundle install' for the Ruby SYSTEM gem folder"
|
18
|
-
c.action do |args, options|
|
19
|
-
J1::Commands::Generate.process(args, options)
|
20
|
-
end
|
21
|
-
end
|
22
9
|
|
23
|
-
|
10
|
+
# def init_with_program(prog)
|
11
|
+
# prog.command(:generate) do |c|
|
12
|
+
# c.description 'Generates a starter site scaffold in PATH'
|
13
|
+
# c.syntax 'generate PATH'
|
14
|
+
# c.option 'force', '--force', 'Force a site to be created even the PATH already exists'
|
15
|
+
# c.option 'skip-bundle', '--skip-bundle', 'Skip bundle install'
|
16
|
+
# c.option 'skip-patches', '--skip-patches', 'Skip install any PATCHES buildin with J1'
|
17
|
+
# c.option 'system', '--system', 'Run "bundle install" for the Ruby SYSTEM gem folder'
|
18
|
+
# c.action do |args, options|
|
19
|
+
# J1::Commands::Generate.process(args, options)
|
20
|
+
# end
|
21
|
+
# end
|
22
|
+
# end
|
24
23
|
|
25
24
|
def is_windows?
|
26
25
|
RbConfig::CONFIG["host_os"] =~ %r!mswin|mingw|cygwin!i
|
@@ -93,10 +92,10 @@ module J1
|
|
93
92
|
def after_install(path, options = {})
|
94
93
|
unless options['skip-bundle']
|
95
94
|
bundle_install(path, options)
|
96
|
-
unless options['skip-
|
95
|
+
unless options['skip-patches']
|
97
96
|
patch_install(options)
|
98
97
|
else
|
99
|
-
J1.logger.info "Install
|
98
|
+
J1.logger.info "Install build-in patches skipped ..."
|
100
99
|
end
|
101
100
|
end
|
102
101
|
unless options['force']
|
data/lib/j1/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
module J1
|
2
|
-
VERSION = '2022.0.
|
3
|
-
end
|
1
|
+
module J1
|
2
|
+
VERSION = '2022.0.6'
|
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', '~> 2022.0.
|
56
|
+
gem 'j1-template', '~> 2022.0.6'
|
57
57
|
|
58
58
|
# ------------------------------------------------------------------------------
|
59
59
|
# PRODUCTION: Gem needed for the Jekyll and J1 prod environment
|
@@ -168,6 +168,12 @@ end
|
|
168
168
|
# gem 'passenger', '>= 5.3'
|
169
169
|
gem 'puma', '>= 5.5.2'
|
170
170
|
|
171
|
+
# ------------------------------------------------------------------------------
|
172
|
+
# OpenSSL provides SSL, TLS and general purpose cryptography. Used to
|
173
|
+
# encrypt 'private' data
|
174
|
+
#
|
175
|
+
gem 'openssl'
|
176
|
+
|
171
177
|
# ------------------------------------------------------------------------------
|
172
178
|
# If J1 is transformed into a (Rack and Sinatra based) Web
|
173
179
|
# application, the site can be secured using user authentication
|
data/lib/starter_web/_config.yml
CHANGED
@@ -53,7 +53,7 @@ environment: development
|
|
53
53
|
# ------------------------------------------------------------------------------
|
54
54
|
# Sets the build version of J1 Template Gem
|
55
55
|
#
|
56
|
-
version: 2022.0.
|
56
|
+
version: 2022.0.6
|
57
57
|
|
58
58
|
# version
|
59
59
|
# ------------------------------------------------------------------------------
|
@@ -23,8 +23,9 @@
|
|
23
23
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
24
24
|
global:
|
25
25
|
|
26
|
-
# used
|
27
|
-
|
26
|
+
# used for OpenSSL AES encryption
|
27
|
+
# secretkey MUST be 32 bytes (AES|CBC)
|
28
|
+
secretkey: <your-secret-string>
|
28
29
|
|
29
30
|
|
30
31
|
# ==============================================================================
|
@@ -154,8 +154,8 @@ defaults:
|
|
154
154
|
en: Next
|
155
155
|
de: Nächster
|
156
156
|
back:
|
157
|
-
en:
|
158
|
-
de:
|
157
|
+
en: Navigator
|
158
|
+
de: Navigator
|
159
159
|
first:
|
160
160
|
en: First
|
161
161
|
de: Erster
|
@@ -220,9 +220,9 @@ defaults:
|
|
220
220
|
headline: Preview
|
221
221
|
description: >
|
222
222
|
All articles are reverse ordered by date. The current articles are displayed
|
223
|
-
first. From the FAB button <a href="#
|
223
|
+
first. From the FAB button <a href="#" class="btn-fab-floating btn-small btn-md-blue">
|
224
224
|
<i class="mdi mdi-plus"></i>FAB button</a> you can reach a table of contents
|
225
|
-
<a href="#
|
225
|
+
<a href="#" class="btn-fab-floating btn-small btn-md-blue">
|
226
226
|
<i class="mdi mdi-wrap mdi-"></i>open_mmenu_toc</a> of all available articles
|
227
227
|
in the same order. To preview older posts, use the button <b>Older Posts</b> from
|
228
228
|
the Preview Bar. For newer posts use the button <b>Newer Posts</b> for more recent
|
@@ -231,10 +231,10 @@ defaults:
|
|
231
231
|
headline: Vorschau
|
232
232
|
description: >
|
233
233
|
Alle Artikel sind in umgekehrter Reihenfolge ihres Erscheinens
|
234
|
-
gruppiert. Aktuellere Beiträge werden zuerst angezeigt. Über den
|
235
|
-
<a href="#
|
234
|
+
gruppiert. Aktuellere Beiträge werden zuerst angezeigt. Über den FAB-Button
|
235
|
+
<a href="#" class="btn-fab-floating btn-small btn-md-blue">
|
236
236
|
<i class="mdi mdi-plus"></i>FAB button</a> erreichen Sie ein
|
237
|
-
Inhaltsverzeichnis <a href="#
|
237
|
+
Inhaltsverzeichnis <a href="#" class="btn-fab-floating btn-small btn-md-blue">
|
238
238
|
<i class="mdi mdi-wrap mdi-"></i>open_mmenu_toc</a> über alle verfübaren Artikel
|
239
239
|
in gleicher Reihenfolge. Zur Anzeige älterer Artikel, verwenden Sie die Schältfläche
|
240
240
|
<b>Ältere Beiträge</b>. Für jüngere Posts klicken Sie auf die Schältfläche
|
@@ -256,7 +256,7 @@ defaults:
|
|
256
256
|
btn-md-blue raised-z5" aria-label="fab-button">
|
257
257
|
<i class="mdi mdi-wrap"></i></button> of all available
|
258
258
|
articles in the same order.
|
259
|
-
<br
|
259
|
+
<br><br>
|
260
260
|
From the navigation bar, <b>Navigator</b> takes you back to the
|
261
261
|
<b>main page</b> of the Navigator. Articles ordered by <b>category</b>
|
262
262
|
can be found in the view <b>By Category</b>. To search for posts
|
@@ -266,15 +266,15 @@ defaults:
|
|
266
266
|
description: >
|
267
267
|
Auf dieser Seite finden Sie alle Artikel aus dem <b>Archiv</b> der
|
268
268
|
Blog-Beiträge. Die Artikel sind in umgekehrter Reihenfolge ihres Erscheinens
|
269
|
-
gruppiert. Aktuellere Beiträge werden zuerst angezeigt. Über den
|
269
|
+
gruppiert. Aktuellere Beiträge werden zuerst angezeigt. Über den FAB-Button
|
270
270
|
<button type="button" class="btn-fab-floating btn-small btn-md-blue raised-z5"
|
271
|
-
aria-label="fab-button"
|
272
|
-
Inhaltsverzeichnis <button type="button" class="btn-fab-floating btn-small
|
273
|
-
|
274
|
-
in gleicher Reihenfolge.
|
275
|
-
<br
|
276
|
-
In der
|
277
|
-
des Navigators. Artikel nach ihrer Kategorie sind über die Seite
|
271
|
+
aria-label="fab-button"> <i class="mdi mdi-plus"></i></button> erreichen Sie ein
|
272
|
+
Inhaltsverzeichnis <button type="button" class="btn-fab-floating btn-small btn-md-blue
|
273
|
+
raised-z5" aria-label="fab-button"> <i class="mdi mdi-wrap"></i></button>
|
274
|
+
über alle verfübaren Artikel in gleicher Reihenfolge.
|
275
|
+
<br><br>
|
276
|
+
In der Navigationszeile gelangen Sie über <b>Navigator</b> zurück zur
|
277
|
+
<b>Hauptseite</b> des Navigators. Artikel nach ihrer Kategorie sind über die Seite
|
278
278
|
<b>Nach Kategorie</b> zu finden. Um Beiträge im Archiv nach <b>Datum</b>
|
279
279
|
zu durchsuchen, rufen Sie die Anzeige <b>Nach Datum</b> auf.
|
280
280
|
|
@@ -295,27 +295,31 @@ defaults:
|
|
295
295
|
btn-md-blue raised-z5" aria-label="fab-button">
|
296
296
|
<i class="mdi mdi-wrap"></i></button> of all available articles
|
297
297
|
in the same order.
|
298
|
-
<br
|
298
|
+
<br><br>
|
299
299
|
From the navigation bar, <b>Navigator</b> takes you back to the
|
300
300
|
<b>main page</b> of the Navigator. To search for articles in the
|
301
301
|
archive by date, go for the view <b>By Date</b>. All articles in
|
302
302
|
reverse order of appearance can be found in the view <b>All Posts</b>.
|
303
|
+
|
303
304
|
de:
|
304
305
|
headline: Artikel nach Kategorie
|
305
306
|
description: >
|
306
307
|
Auf dieser Seite finden Sie alle Artikel aus dem <b>Archiv</b> der
|
307
308
|
Blog-Beiträge. Die Artikel sind nach <b>Kategorie</b> gruppiert.
|
308
|
-
Über den
|
309
|
-
|
310
|
-
|
311
|
-
|
309
|
+
Über den FAB-Button
|
310
|
+
<button type="button" class="btn-fab-floating btn-small btn-md-blue raised-z5"
|
311
|
+
aria-label="fab-button"> <i class="mdi mdi-plus"></i></button>
|
312
|
+
erreichen Sie ein Inhaltsverzeichnis
|
313
|
+
<button type="button" class="btn-fab-floating btn-small btn-md-blue
|
314
|
+
raised-z5" aria-label="fab-button"> <i class="mdi mdi-wrap"></i></button>
|
312
315
|
über alle verfübaren Artikel in gleicher Reihenfolge.
|
313
|
-
<br
|
314
|
-
In der
|
315
|
-
des Navigators. Um Artikel im Archiv nach <b>Datum</b>
|
316
|
-
rufen Sie die Anzeige <b>Nach Datum</b> auf. Alle Artikel
|
317
|
-
Reihenfolge ihres Erscheinens sind in der Ansicht
|
318
|
-
zu finden.
|
316
|
+
<br><br>
|
317
|
+
In der Navigationszeile gelangen Sie über <b>Navigator</b> zurück zur
|
318
|
+
<b>Hauptseite</b> des Navigators. Um Artikel im Archiv nach <b>Datum</b>
|
319
|
+
zu durchsuchen, rufen Sie die Anzeige <b>Nach Datum</b> auf. Alle Artikel
|
320
|
+
in umgekehrter Reihenfolge ihres Erscheinens sind in der Ansicht
|
321
|
+
<b>Alle Beiträge</b> zu finden.
|
322
|
+
|
319
323
|
date_view:
|
320
324
|
page_text:
|
321
325
|
enabled: true
|
@@ -332,7 +336,7 @@ defaults:
|
|
332
336
|
btn-md-blue raised-z5" aria-label="fab-button">
|
333
337
|
<i class="mdi mdi-wrap"></i></button> of all available articles
|
334
338
|
in the same order.
|
335
|
-
<br
|
339
|
+
<br><br>
|
336
340
|
From the navigation bar, <b>Navigator</b> takes you back to the
|
337
341
|
<b>main page</b> of the Navigator. To search for articles in the
|
338
342
|
archive by category, go for the view <b>By Category</b>. All articles
|
@@ -342,15 +346,16 @@ defaults:
|
|
342
346
|
description: >
|
343
347
|
Auf dieser Seite finden Sie alle Artikel aus dem <b>Archiv</b> der
|
344
348
|
Blog-Beiträge. Die Artikel sind nach <b>Datum</b> gruppiert.
|
345
|
-
Über den
|
349
|
+
Über den FAB-Button <button type="button" class="btn-fab-floating
|
346
350
|
btn-small btn-md-blue raised-z5" aria-label="fab-button">
|
347
351
|
<i class="mdi mdi-plus"></i></button> erreichen Sie ein
|
348
352
|
Inhaltsverzeichnis <button type="button" class="btn-fab-floating btn-small
|
349
|
-
btn-md-blue raised-z5" aria-label="fab-button">
|
353
|
+
btn-md-blue raised-z5" aria-label="fab-button">
|
354
|
+
<i class="mdi mdi-wrap"></i></button> über alle verfübaren Artikel
|
350
355
|
in gleicher Reihenfolge.
|
351
|
-
<br
|
352
|
-
In der
|
353
|
-
des Navigators. Um Artikel im Archiv nach <b>Kategorien</b> zu durchsuchen,
|
356
|
+
<br><br>
|
357
|
+
In der Navigationszeile gelangen Sie über <b>Navigator</b> zurück zur
|
358
|
+
<b>Hauptseite</b> des Navigators. Um Artikel im Archiv nach <b>Kategorien</b> zu durchsuchen,
|
354
359
|
rufen Sie die Anzeige <b>Nach Kategorie</b> auf. Alle Artikel in umgekehrter
|
355
360
|
Reihenfolge ihres Erscheinens sind in der Ansicht <b>Alle Beiträge</b>
|
356
361
|
zu finden.
|
@@ -363,12 +368,13 @@ defaults:
|
|
363
368
|
description: >
|
364
369
|
On this page you will find all articles from the <b>archive</b>
|
365
370
|
of the blog posts. The articles are grouped by <b>Tag</b>.
|
366
|
-
From the FAB button <
|
367
|
-
|
368
|
-
|
369
|
-
<
|
371
|
+
From the FAB button <button type="button" class="btn-fab-floating
|
372
|
+
btn-small btn-md-blue raised-z5" aria-label="fab-button">
|
373
|
+
<i class="mdi mdi-plus"></i></button> you can reach a
|
374
|
+
table of contents <button type="button" class="btn-fab-floating btn-small
|
375
|
+
btn-md-blue raised-z5" aria-label="fab-button"> of all available articles
|
370
376
|
in the same order.
|
371
|
-
<br
|
377
|
+
<br><br>
|
372
378
|
From the navigation bar, <b>Navigator</b> takes you back to the
|
373
379
|
<b>main page</b> of the Navigator. To search for articles in the
|
374
380
|
archive by <b>category</b>, go for the view <b>By Category</b>.
|
@@ -379,17 +385,17 @@ defaults:
|
|
379
385
|
description: >
|
380
386
|
Auf dieser Seite finden Sie alle Artikel aus dem <b>Archiv</b> der
|
381
387
|
Blog-Beiträge. Die Artikel sind nach <b>Tag</b> gruppiert.
|
382
|
-
Über den
|
388
|
+
Über den FAB-Button <button type="button" class="btn-fab-floating
|
383
389
|
btn-small btn-md-blue raised-z5" aria-label="fab-button">
|
384
390
|
<i class="mdi mdi-plus"></i></button> erreichen Sie ein
|
385
391
|
Inhaltsverzeichnis <button type="button" class="btn-fab-floating btn-small
|
386
392
|
btn-md-blue raised-z5" aria-label="fab-button"> über alle verfübaren Artikel
|
387
393
|
in gleicher Reihenfolge.
|
388
|
-
<br
|
389
|
-
In der
|
390
|
-
des Navigators. Um Artikel im Archiv nach <b>Kategorien</b>
|
391
|
-
rufen Sie die Anzeige <b>Nach Kategorie</b> auf. Alle Artikel
|
392
|
-
Reihenfolge ihres Erscheinens sind in der Ansicht <b>Alle Beiträge</b>
|
394
|
+
<br><br>
|
395
|
+
In der Navigationszeile gelangen Sie über <b>Navigator</b> zurück zur
|
396
|
+
<b>Hauptseite</b> des Navigators. Um Artikel im Archiv nach <b>Kategorien</b>
|
397
|
+
zu durchsuchen, rufen Sie die Anzeige <b>Nach Kategorie</b> auf. Alle Artikel
|
398
|
+
in umgekehrter Reihenfolge ihres Erscheinens sind in der Ansicht <b>Alle Beiträge</b>
|
393
399
|
zu finden.
|
394
400
|
|
395
401
|
# ------------------------------------------------------------------------------
|
@@ -166,33 +166,53 @@ defaults:
|
|
166
166
|
icon_color_hover: rgba(255, 255, 255, 0.9) # rgba-lighten-900
|
167
167
|
icon_size: mdi-2x
|
168
168
|
|
169
|
-
|
170
|
-
|
171
|
-
translate_icon: google-translate
|
172
|
-
|
173
|
-
translator_icon: flag-variant
|
174
|
-
|
175
|
-
toc_icon: wrap
|
176
|
-
|
169
|
+
# Link buttons
|
170
|
+
# --------------------------------------------------------------------------
|
177
171
|
home_icon: home-variant
|
178
172
|
home_url: none
|
179
|
-
|
180
|
-
r_text_sizer: false
|
181
|
-
r_text_icon: format-text # format-color-text format-annotation-plus
|
173
|
+
home_label: Home
|
182
174
|
|
183
175
|
back_icon: subdirectory-arrow-left
|
184
176
|
back_url: none
|
177
|
+
back_label: Page back
|
185
178
|
|
186
179
|
disqus_icon: disqus
|
187
180
|
disqus_url: none
|
181
|
+
disqus_label: Disqus
|
182
|
+
|
188
183
|
github_icon: github-circle
|
189
184
|
github_url: none
|
185
|
+
github_label: Github
|
186
|
+
|
190
187
|
patreon_icon: patreon
|
191
188
|
patreon_url: none
|
189
|
+
patreon_label: Patreon
|
190
|
+
|
192
191
|
facebook_icon: facebook
|
193
192
|
facebook_url: none
|
193
|
+
facebook_label: Facebook
|
194
|
+
|
194
195
|
twitter_icon: twitter
|
195
196
|
twitter_url: none
|
197
|
+
twitter_label: Twitter
|
198
|
+
|
199
|
+
# Action buttons
|
200
|
+
# --------------------------------------------------------------------------
|
201
|
+
quicksearch_icon: magnify
|
202
|
+
quicksearch_action: quicksearch
|
203
|
+
quicksearch_label: Search
|
204
|
+
|
205
|
+
cookies_icon: cookie
|
206
|
+
cookies_action: cookie-consent
|
207
|
+
cookies_label: Cookie Consent
|
208
|
+
|
209
|
+
translate_icon: google-translate
|
210
|
+
translate_action: translate
|
211
|
+
translate_label: Google Translate
|
212
|
+
|
213
|
+
r_text_icon: false # format-text
|
214
|
+
r_text_action: rtext
|
215
|
+
r_text_label: Text Resizer
|
196
216
|
|
197
217
|
# ----------------------------------------------------------------------------
|
198
218
|
# NavTopsearch
|