j1-template 2020.0.1 → 2020.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +22 -18
  3. data/_includes/themes/j1/layouts/content_generator_collection.html +15 -12
  4. data/_includes/themes/j1/layouts/content_generator_page.html +16 -17
  5. data/_includes/themes/j1/layouts/content_generator_post.html +19 -24
  6. data/_includes/themes/j1/modules/navigator/generator.html +62 -40
  7. data/assets/data/menu.html +6 -5
  8. data/assets/data/mmenu.html +455 -0
  9. data/assets/data/{sidebar.html → mmenu_sidebar.html} +24 -18
  10. data/assets/data/mmenu_toc.html +45 -0
  11. data/assets/data/quicklinks.html +9 -4
  12. data/assets/data/ssm.html +227 -0
  13. data/assets/error_pages/HTTP204.html +3 -3
  14. data/assets/themes/j1/core/css/bootstrap.css +116 -93
  15. data/assets/themes/j1/core/css/bootstrap.min.css +4 -4
  16. data/assets/themes/j1/core/css/globals.css +1 -1
  17. data/assets/themes/j1/core/css/theme_extensions.css +186 -96
  18. data/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  19. data/assets/themes/j1/core/css/uno.css +186 -96
  20. data/assets/themes/j1/core/css/uno.min.css +1 -1
  21. data/assets/themes/j1/core/css/vendor.css +130 -104
  22. data/assets/themes/j1/core/css/vendor.min.css +4 -4
  23. data/assets/themes/j1/core/js/template.js +296 -24
  24. data/assets/themes/j1/core/js/template.js.map +1 -1
  25. data/assets/themes/j1/core/js/template.min.js +1 -1
  26. data/lib/j1/version.rb +1 -1
  27. data/lib/j1_app/j1_auth_manager/auth_manager.rb +21 -17
  28. data/lib/j1_app/j1_auth_manager/config.rb +13 -9
  29. data/lib/j1_app/j1_site_manager/static_site.rb +1 -1
  30. data/lib/starter_web/Gemfile +2 -2
  31. data/lib/starter_web/_config.yml +12 -139
  32. data/lib/starter_web/_data/modules/authentication.yml +1 -1
  33. data/lib/starter_web/_data/modules/defaults/navigator.yml +25 -24
  34. data/lib/starter_web/_data/modules/defaults/ssm.yml +50 -0
  35. data/lib/starter_web/_data/modules/defaults/toccer.yml +14 -15
  36. data/lib/starter_web/_data/modules/navigator.yml +164 -97
  37. data/lib/starter_web/_data/modules/ssm.yml +133 -0
  38. data/lib/starter_web/_data/modules/toccer.yml +20 -62
  39. data/lib/starter_web/_data/resources.yml +74 -51
  40. data/lib/starter_web/_data/template_settings.yml +13 -13
  41. data/lib/starter_web/_plugins/uglify.rb +41 -0
  42. data/lib/starter_web/apps/public/{cc → cc/cc.yml} +0 -0
  43. data/lib/starter_web/apps/public/cc/index.adoc +107 -0
  44. data/lib/starter_web/assets/images/modules/icons/j1/{j1..ico → j1.ico} +0 -0
  45. data/lib/starter_web/assets/themes/j1/adapter/js/algolia.js +321 -0
  46. data/lib/starter_web/assets/themes/j1/adapter/js/attic.js +4 -4
  47. data/lib/starter_web/assets/themes/j1/adapter/js/carousel.js +3 -3
  48. data/lib/starter_web/assets/themes/j1/adapter/js/framer.js +3 -3
  49. data/lib/starter_web/assets/themes/j1/adapter/js/j1.js +19 -60
  50. data/lib/starter_web/assets/themes/j1/adapter/js/mmenu.js +452 -0
  51. data/lib/starter_web/assets/themes/j1/adapter/js/navigator.js +50 -50
  52. data/lib/starter_web/assets/themes/j1/adapter/js/ssm.js +498 -0
  53. data/lib/starter_web/assets/themes/j1/adapter/js/themer.js +1 -1
  54. data/lib/starter_web/assets/themes/j1/adapter/js/toccer.js +40 -43
  55. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/mmenu-light.css +384 -0
  56. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/mmenu-light.min.css +384 -0
  57. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/themes/uno.css +153 -0
  58. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/css/themes/uno.min.css +153 -0
  59. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.js +11 -0
  60. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.min.js +11 -0
  61. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.polyfills.js +118 -0
  62. data/lib/starter_web/assets/themes/j1/extensions/mmenu-light/js/mmenu-light.polyfills.min.js +118 -0
  63. data/lib/starter_web/collections/posts/public/{jekyll → featured}/_posts/2018-05-01-confusion-about-base-url.adoc +0 -0
  64. data/lib/starter_web/package.json +1 -1
  65. data/lib/starter_web/pages/public/learn/floating_sidebar.adoc +199 -0
  66. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +2 -2
  67. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +2 -2
  68. data/lib/starter_web/pages/public/learn/whats_up.adoc +12 -11
  69. data/lib/starter_web/pages/public/legal/en/500_support.adoc +1 -1
  70. data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/200_rotate.asciidoc +1 -1
  71. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +2 -3
  72. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +3 -3
  73. data/lib/starter_web/pages/public/site_search.adoc +196 -0
  74. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  75. data/lib/starter_web/utilsrv/package.json +1 -1
  76. metadata +26 -13
  77. data/assets/themes/j1/core/css/globals.scss +0 -28
  78. data/lib/starter_web/_data/modules/back2top.yml +0 -40
  79. data/lib/starter_web/_data/modules/defaults/back2top.yml +0 -147
  80. data/lib/starter_web/_data/modules/defaults/smooth_scroll.yml +0 -169
  81. data/lib/starter_web/_data/modules/smooth_scroll.yml +0 -169
  82. data/lib/starter_web/assets/themes/j1/adapter/js/back2top.js +0 -227
  83. data/lib/starter_web/assets/themes/j1/adapter/js/scroller.js +0 -177
@@ -0,0 +1,153 @@
1
+ /*
2
+ # -----------------------------------------------------------------------------
3
+ # ~/assets/themes/j1/extensions/mmenu-light/css/theme/uno.css
4
+ # Provides MobileMenu styles for J1 Theme Uno
5
+ #
6
+ # Product/Info:
7
+ # https://jekyll.one
8
+ #
9
+ # Copyright (C) 2020 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
+
17
+ /*
18
+ jadams, 2020-06-20: CSS/Offset to the NAV bar should be calculated
19
+ at runtime as a dyn style
20
+ */
21
+
22
+ /* CSS overwrites
23
+ ----------------------------------------------------------------------------- */
24
+
25
+ /* Drawer */
26
+ /* .mm-ocd {
27
+ top: 80px; /* jadams, 2020-06-20: offset to the NAV bar */
28
+ } */
29
+
30
+ .mm-ocd--left .mm-ocd__content {
31
+ background-color: #212121;
32
+ }
33
+
34
+ .mm-ocd--right .mm-ocd__content {
35
+ background-color: #212121;
36
+ }
37
+
38
+ /* Responsive */
39
+ /* jadams, 2020-07-02: media query for MMenu
40
+ --------------------------------------------------------------------------------
41
+ NOTE: For unknown reason, style "mm-ocd--left" is NOT applied correctly
42
+ like "mm-ocd--right" what cause the wrong background-color
43
+ As a workaround, the background-color is added to the media
44
+ queries as well (but MUST be removed if fixed!!!)
45
+ -------------------------------------------------------------------------------- */
46
+
47
+ /* Large desktop */
48
+ @media only screen and (min-width: 1200px) {
49
+ .mm-ocd {
50
+ top: 80px; /* drawer top offset to NAV bar */
51
+ }
52
+ .mm-ocd__content {
53
+ background-color: #212121;
54
+ }
55
+ }
56
+
57
+ /* Desktop */
58
+ @media only screen and (min-width: 992px) {
59
+ .mm-ocd {
60
+ top: 80px; /* drawer top offset to NAV bar */
61
+ }
62
+ .mm-ocd__content {
63
+ background-color: #212121;
64
+ }
65
+ }
66
+
67
+ /* Desktop 2 (intermediate|responsive size) */
68
+ @media only screen and (min-width: 768px) and (max-width: 992px) {
69
+ .mm-ocd {
70
+ top: 68px; /* drawer top offset to NAV bar */
71
+ }
72
+ .mm-ocd__content {
73
+ background-color: #212121;
74
+ }
75
+ }
76
+ /* Landscape iPad, 768px */
77
+ @media only screen and (min-width: 576px) and (max-width: 768px){
78
+ .mm-ocd {
79
+ top: 68px; /* drawer top offset to NAV bar */
80
+ }
81
+ .mm-ocd__content {
82
+ background-color: #212121;
83
+ }
84
+ }
85
+
86
+ /* Small devices (landscape phones, up to 576px) */
87
+ @media only screen and (max-width: 576px) {
88
+ .mm-ocd {
89
+ top: 68px; /* drawer top offset to NAV bar */
90
+ }
91
+ .mm-ocd__content {
92
+ background-color: #212121;
93
+ }
94
+ }
95
+
96
+ /* Navigator */
97
+ .mm-spn.mm-spn--navbar:after {
98
+ text-align: left; /* jadams, 2020-06-20: set menu title to the left */
99
+ font-size: x-large; /* jadams, 2020-06-20: increase size of the menu title */
100
+ }
101
+
102
+ /* Themes */
103
+ /* jadams, 2020-06-20: set j1 template colors (dark theme) */
104
+ .mm-spn.mm-spn--dark {
105
+ color: #e3e3e3;
106
+ background: #191919
107
+ }
108
+
109
+ /* Sidebar
110
+ ----------------------------------------------------------------------------- */
111
+ .mm-side {
112
+ margin: 1.5rem;
113
+ }
114
+
115
+ .mm-side .widget {
116
+ position: relative;
117
+ z-index: 1;
118
+ margin-bottom: 25px
119
+ }
120
+
121
+ .mm-side .widget .title {
122
+ color: #fff;
123
+ margin-bottom: 15px;
124
+ border-left: 3px solid #204a87;
125
+ padding-left: 5px
126
+ }
127
+
128
+ .mm-side .widget .heading {
129
+ text-align: left;
130
+ color: #eee;
131
+ font-size: 18px;
132
+ text-transform: uppercase;
133
+ position: relative;
134
+ margin-bottom: 10px;
135
+ padding-bottom: 10px
136
+ }
137
+
138
+ .mm-side .widget ul.link {
139
+ font-family: Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;
140
+ font-size: 14px;
141
+ padding: 0;
142
+ margin: 0;
143
+ list-style: none
144
+ }
145
+
146
+ .mm-side .widget ul.link li a {
147
+ color: #aaa
148
+ }
149
+
150
+ .mm-side .widget ul.link li a:focus,.mm-side .widget ul.link li a:hover {
151
+ color: #fafafa;
152
+ text-decoration: none
153
+ }
@@ -0,0 +1,11 @@
1
+ /*!
2
+ * Mmenu Light
3
+ * mmenujs.com/mmenu-light v3.0.5
4
+ *
5
+ * Copyright (c) Fred Heusschen
6
+ * www.frebsite.nl
7
+ *
8
+ * License: CC-BY-4.0
9
+ * http://creativecommons.org/licenses/by/4.0/
10
+ */
11
+ !function(t){var e={};function n(i){if(e[i])return e[i].exports;var s=e[i]={i:i,l:!1,exports:{}};return t[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(i,s,function(e){return t[e]}.bind(null,s));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";n.r(e);var i=function(){function t(t){var e=this;this.listener=function(t){(t.matches?e.matchFns:e.unmatchFns).forEach((function(t){t()}))},this.toggler=window.matchMedia(t),this.toggler.addListener(this.listener),this.matchFns=[],this.unmatchFns=[]}return t.prototype.add=function(t,e){this.matchFns.push(t),this.unmatchFns.push(e),(this.toggler.matches?t:e)()},t}(),s=function(t){return Array.prototype.slice.call(t)},o=function(t,e){return s((e||document).querySelectorAll(t))},r=("ontouchstart"in window||navigator.msMaxTouchPoints,navigator.userAgent.indexOf("MSIE")>-1||navigator.appVersion.indexOf("Trident/")>-1),a="mm-spn",c=function(){function t(t,e,n,i,s){this.node=t,this.title=e,this.slidingSubmenus=i,this.selectedClass=n,this.node.classList.add(a),r&&(this.slidingSubmenus=!1),this.node.classList.add(a+"--"+s),this.node.classList.add(a+"--"+(this.slidingSubmenus?"navbar":"vertical")),this._setSelectedl(),this._initAnchors()}return Object.defineProperty(t.prototype,"prefix",{get:function(){return a},enumerable:!0,configurable:!0}),t.prototype.openPanel=function(t){var e=t.parentElement;if(this.slidingSubmenus){var n=t.dataset.mmSpnTitle;e===this.node?this.node.classList.add(a+"--main"):(this.node.classList.remove(a+"--main"),n||s(e.children).forEach((function(t){t.matches("a, span")&&(n=t.textContent)}))),n||(n=this.title),this.node.dataset.mmSpnTitle=n,o("."+a+"--open",this.node).forEach((function(t){t.classList.remove(a+"--open"),t.classList.remove(a+"--parent")})),t.classList.add(a+"--open"),t.classList.remove(a+"--parent");for(var i=t.parentElement.closest("ul");i;)i.classList.add(a+"--open"),i.classList.add(a+"--parent"),i=i.parentElement.closest("ul")}else{var r=t.matches("."+a+"--open");o("."+a+"--open",this.node).forEach((function(t){t.classList.remove(a+"--open")})),t.classList[r?"remove":"add"](a+"--open");for(var c=t.parentElement.closest("ul");c;)c.classList.add(a+"--open"),c=c.parentElement.closest("ul")}},t.prototype._setSelectedl=function(){var t=o("."+this.selectedClass,this.node),e=t[t.length-1],n=null;e&&(n=e.closest("ul")),n||(n=this.node.querySelector("ul")),this.openPanel(n)},t.prototype._initAnchors=function(){var t=this;this.node.addEventListener("click",(function(e){var n=e.target,i=!1;(i=(i=(i=i||function(t){return!!t.matches("a")}(n))||function(e){var n;return!!(n=e.closest("span")?e.parentElement:!!e.closest("li")&&e)&&(s(n.children).forEach((function(e){e.matches("ul")&&t.openPanel(e)})),!0)}(n))||function(e){var n=o("."+a+"--open",e),i=n[n.length-1];if(i){var s=i.parentElement.closest("ul");if(s)return t.openPanel(s),!0}return!1}(n))&&e.stopImmediatePropagation()}))},t}(),d="mm-ocd",u=function(){function t(t,e){var n=this;void 0===t&&(t=null),this.wrapper=document.createElement("div"),this.wrapper.classList.add(""+d),this.wrapper.classList.add(d+"--"+e),this.content=document.createElement("div"),this.content.classList.add(d+"__content"),this.wrapper.append(this.content),this.backdrop=document.createElement("div"),this.backdrop.classList.add(d+"__backdrop"),this.wrapper.append(this.backdrop),document.body.append(this.wrapper),t&&this.content.append(t);var i=function(t){n.close(),t.stopImmediatePropagation()};this.backdrop.addEventListener("touchstart",i,{passive:!0}),this.backdrop.addEventListener("mousedown",i,{passive:!0})}return Object.defineProperty(t.prototype,"prefix",{get:function(){return d},enumerable:!0,configurable:!0}),t.prototype.open=function(){this.wrapper.classList.add(d+"--open"),document.body.classList.add(d+"-opened")},t.prototype.close=function(){this.wrapper.classList.remove(d+"--open"),document.body.classList.remove(d+"-opened")},t}(),l=function(){function t(t,e){void 0===e&&(e="all"),this.menu=t,this.toggler=new i(e)}return t.prototype.navigation=function(t){var e=this;if(!this.navigator){var n=(t=t||{}).title,i=void 0===n?"Menu":n,s=t.selectedClass,o=void 0===s?"Selected":s,r=t.slidingSubmenus,a=void 0===r||r,d=t.theme,u=void 0===d?"light":d;this.navigator=new c(this.menu,i,o,a,u),this.toggler.add((function(){return e.menu.classList.add(e.navigator.prefix)}),(function(){return e.menu.classList.remove(e.navigator.prefix)}))}return this.navigator},t.prototype.offcanvas=function(t){var e=this;if(!this.drawer){var n=(t=t||{}).position,i=void 0===n?"left":n;this.drawer=new u(null,i);var s=document.createComment("original menu location");this.menu.after(s),this.toggler.add((function(){e.drawer.content.append(e.menu)}),(function(){e.drawer.close(),s.after(e.menu)}))}return this.drawer},t}();e.default=l;window.MmenuLight=l}]);
@@ -0,0 +1,11 @@
1
+ /*!
2
+ * Mmenu Light
3
+ * mmenujs.com/mmenu-light v3.0.5
4
+ *
5
+ * Copyright (c) Fred Heusschen
6
+ * www.frebsite.nl
7
+ *
8
+ * License: CC-BY-4.0
9
+ * http://creativecommons.org/licenses/by/4.0/
10
+ */
11
+ !function(t){var e={};function n(i){if(e[i])return e[i].exports;var s=e[i]={i:i,l:!1,exports:{}};return t[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(i,s,function(e){return t[e]}.bind(null,s));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";n.r(e);var i=function(){function t(t){var e=this;this.listener=function(t){(t.matches?e.matchFns:e.unmatchFns).forEach((function(t){t()}))},this.toggler=window.matchMedia(t),this.toggler.addListener(this.listener),this.matchFns=[],this.unmatchFns=[]}return t.prototype.add=function(t,e){this.matchFns.push(t),this.unmatchFns.push(e),(this.toggler.matches?t:e)()},t}(),s=function(t){return Array.prototype.slice.call(t)},o=function(t,e){return s((e||document).querySelectorAll(t))},r=("ontouchstart"in window||navigator.msMaxTouchPoints,navigator.userAgent.indexOf("MSIE")>-1||navigator.appVersion.indexOf("Trident/")>-1),a="mm-spn",c=function(){function t(t,e,n,i,s){this.node=t,this.title=e,this.slidingSubmenus=i,this.selectedClass=n,this.node.classList.add(a),r&&(this.slidingSubmenus=!1),this.node.classList.add(a+"--"+s),this.node.classList.add(a+"--"+(this.slidingSubmenus?"navbar":"vertical")),this._setSelectedl(),this._initAnchors()}return Object.defineProperty(t.prototype,"prefix",{get:function(){return a},enumerable:!0,configurable:!0}),t.prototype.openPanel=function(t){var e=t.parentElement;if(this.slidingSubmenus){var n=t.dataset.mmSpnTitle;e===this.node?this.node.classList.add(a+"--main"):(this.node.classList.remove(a+"--main"),n||s(e.children).forEach((function(t){t.matches("a, span")&&(n=t.textContent)}))),n||(n=this.title),this.node.dataset.mmSpnTitle=n,o("."+a+"--open",this.node).forEach((function(t){t.classList.remove(a+"--open"),t.classList.remove(a+"--parent")})),t.classList.add(a+"--open"),t.classList.remove(a+"--parent");for(var i=t.parentElement.closest("ul");i;)i.classList.add(a+"--open"),i.classList.add(a+"--parent"),i=i.parentElement.closest("ul")}else{var r=t.matches("."+a+"--open");o("."+a+"--open",this.node).forEach((function(t){t.classList.remove(a+"--open")})),t.classList[r?"remove":"add"](a+"--open");for(var c=t.parentElement.closest("ul");c;)c.classList.add(a+"--open"),c=c.parentElement.closest("ul")}},t.prototype._setSelectedl=function(){var t=o("."+this.selectedClass,this.node),e=t[t.length-1],n=null;e&&(n=e.closest("ul")),n||(n=this.node.querySelector("ul")),this.openPanel(n)},t.prototype._initAnchors=function(){var t=this;this.node.addEventListener("click",(function(e){var n=e.target,i=!1;(i=(i=(i=i||function(t){return!!t.matches("a")}(n))||function(e){var n;return!!(n=e.closest("span")?e.parentElement:!!e.closest("li")&&e)&&(s(n.children).forEach((function(e){e.matches("ul")&&t.openPanel(e)})),!0)}(n))||function(e){var n=o("."+a+"--open",e),i=n[n.length-1];if(i){var s=i.parentElement.closest("ul");if(s)return t.openPanel(s),!0}return!1}(n))&&e.stopImmediatePropagation()}))},t}(),d="mm-ocd",u=function(){function t(t,e){var n=this;void 0===t&&(t=null),this.wrapper=document.createElement("div"),this.wrapper.classList.add(""+d),this.wrapper.classList.add(d+"--"+e),this.content=document.createElement("div"),this.content.classList.add(d+"__content"),this.wrapper.append(this.content),this.backdrop=document.createElement("div"),this.backdrop.classList.add(d+"__backdrop"),this.wrapper.append(this.backdrop),document.body.append(this.wrapper),t&&this.content.append(t);var i=function(t){n.close(),t.stopImmediatePropagation()};this.backdrop.addEventListener("touchstart",i,{passive:!0}),this.backdrop.addEventListener("mousedown",i,{passive:!0})}return Object.defineProperty(t.prototype,"prefix",{get:function(){return d},enumerable:!0,configurable:!0}),t.prototype.open=function(){this.wrapper.classList.add(d+"--open"),document.body.classList.add(d+"-opened")},t.prototype.close=function(){this.wrapper.classList.remove(d+"--open"),document.body.classList.remove(d+"-opened")},t}(),l=function(){function t(t,e){void 0===e&&(e="all"),this.menu=t,this.toggler=new i(e)}return t.prototype.navigation=function(t){var e=this;if(!this.navigator){var n=(t=t||{}).title,i=void 0===n?"Menu":n,s=t.selectedClass,o=void 0===s?"Selected":s,r=t.slidingSubmenus,a=void 0===r||r,d=t.theme,u=void 0===d?"light":d;this.navigator=new c(this.menu,i,o,a,u),this.toggler.add((function(){return e.menu.classList.add(e.navigator.prefix)}),(function(){return e.menu.classList.remove(e.navigator.prefix)}))}return this.navigator},t.prototype.offcanvas=function(t){var e=this;if(!this.drawer){var n=(t=t||{}).position,i=void 0===n?"left":n;this.drawer=new u(null,i);var s=document.createComment("original menu location");this.menu.after(s),this.toggler.add((function(){e.drawer.content.append(e.menu)}),(function(){e.drawer.close(),s.after(e.menu)}))}return this.drawer},t}();e.default=l;window.MmenuLight=l}]);
@@ -0,0 +1,118 @@
1
+ // Source: https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach
2
+ if (window.NodeList && !NodeList.prototype.forEach) {
3
+ NodeList.prototype.forEach = function(callback, thisArg) {
4
+ thisArg = thisArg || window;
5
+ for (var i = 0; i < this.length; i++) {
6
+ callback.call(thisArg, this[i], i, this);
7
+ }
8
+ };
9
+ }
10
+
11
+ // Source: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches
12
+ if (!Element.prototype.matches) {
13
+ Element.prototype.matches =
14
+ Element.prototype.matchesSelector ||
15
+ Element.prototype.mozMatchesSelector ||
16
+ Element.prototype.msMatchesSelector ||
17
+ Element.prototype.oMatchesSelector ||
18
+ Element.prototype.webkitMatchesSelector ||
19
+ function(s) {
20
+ var matches = (
21
+ this.document || this.ownerDocument
22
+ ).querySelectorAll(s),
23
+ i = matches.length;
24
+ while (--i >= 0 && matches.item(i) !== this) {}
25
+ return i > -1;
26
+ };
27
+ }
28
+
29
+ // Source: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
30
+ if (!Element.prototype.matches) {
31
+ Element.prototype.matches =
32
+ Element.prototype.msMatchesSelector ||
33
+ Element.prototype.webkitMatchesSelector;
34
+ }
35
+
36
+ if (!Element.prototype.closest) {
37
+ Element.prototype.closest = function(s) {
38
+ var el = this;
39
+
40
+ do {
41
+ if (el.matches(s)) return el;
42
+ el = el.parentElement || el.parentNode;
43
+ } while (el !== null && el.nodeType === 1);
44
+ return null;
45
+ };
46
+ }
47
+
48
+ // from: https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/after()/after().md
49
+ (function(arr) {
50
+ arr.forEach(function(item) {
51
+ if (item.hasOwnProperty('after')) {
52
+ return;
53
+ }
54
+ Object.defineProperty(item, 'after', {
55
+ configurable: true,
56
+ enumerable: true,
57
+ writable: true,
58
+ value: function after() {
59
+ var argArr = Array.prototype.slice.call(arguments),
60
+ docFrag = document.createDocumentFragment();
61
+
62
+ argArr.forEach(function(argItem) {
63
+ var isNode = argItem instanceof Node;
64
+ docFrag.appendChild(
65
+ isNode
66
+ ? argItem
67
+ : document.createTextNode(String(argItem))
68
+ );
69
+ });
70
+
71
+ this.parentNode.insertBefore(docFrag, this.nextSibling);
72
+ }
73
+ });
74
+ });
75
+ })([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
76
+
77
+ // Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/append()/append().md
78
+ (function(arr) {
79
+ arr.forEach(function(item) {
80
+ if (item.hasOwnProperty('append')) {
81
+ return;
82
+ }
83
+ Object.defineProperty(item, 'append', {
84
+ configurable: true,
85
+ enumerable: true,
86
+ writable: true,
87
+ value: function append() {
88
+ var argArr = Array.prototype.slice.call(arguments),
89
+ docFrag = document.createDocumentFragment();
90
+
91
+ argArr.forEach(function(argItem) {
92
+ var isNode = argItem instanceof Node;
93
+ docFrag.appendChild(
94
+ isNode
95
+ ? argItem
96
+ : document.createTextNode(String(argItem))
97
+ );
98
+ });
99
+
100
+ this.appendChild(docFrag);
101
+ }
102
+ });
103
+ });
104
+ })([Element.prototype, Document.prototype, DocumentFragment.prototype]);
105
+
106
+ // from: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
107
+ (function() {
108
+ if (typeof window.Event === 'function') return false;
109
+
110
+ function Event(event, params) {
111
+ params = params || { bubbles: false, cancelable: false };
112
+ var evt = document.createEvent('Event');
113
+ evt.initEvent(event, params.bubbles, params.cancelable);
114
+ return evt;
115
+ }
116
+
117
+ window.Event = Event;
118
+ })();
@@ -0,0 +1,118 @@
1
+ // Source: https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach
2
+ if (window.NodeList && !NodeList.prototype.forEach) {
3
+ NodeList.prototype.forEach = function(callback, thisArg) {
4
+ thisArg = thisArg || window;
5
+ for (var i = 0; i < this.length; i++) {
6
+ callback.call(thisArg, this[i], i, this);
7
+ }
8
+ };
9
+ }
10
+
11
+ // Source: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches
12
+ if (!Element.prototype.matches) {
13
+ Element.prototype.matches =
14
+ Element.prototype.matchesSelector ||
15
+ Element.prototype.mozMatchesSelector ||
16
+ Element.prototype.msMatchesSelector ||
17
+ Element.prototype.oMatchesSelector ||
18
+ Element.prototype.webkitMatchesSelector ||
19
+ function(s) {
20
+ var matches = (
21
+ this.document || this.ownerDocument
22
+ ).querySelectorAll(s),
23
+ i = matches.length;
24
+ while (--i >= 0 && matches.item(i) !== this) {}
25
+ return i > -1;
26
+ };
27
+ }
28
+
29
+ // Source: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
30
+ if (!Element.prototype.matches) {
31
+ Element.prototype.matches =
32
+ Element.prototype.msMatchesSelector ||
33
+ Element.prototype.webkitMatchesSelector;
34
+ }
35
+
36
+ if (!Element.prototype.closest) {
37
+ Element.prototype.closest = function(s) {
38
+ var el = this;
39
+
40
+ do {
41
+ if (el.matches(s)) return el;
42
+ el = el.parentElement || el.parentNode;
43
+ } while (el !== null && el.nodeType === 1);
44
+ return null;
45
+ };
46
+ }
47
+
48
+ // from: https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/after()/after().md
49
+ (function(arr) {
50
+ arr.forEach(function(item) {
51
+ if (item.hasOwnProperty('after')) {
52
+ return;
53
+ }
54
+ Object.defineProperty(item, 'after', {
55
+ configurable: true,
56
+ enumerable: true,
57
+ writable: true,
58
+ value: function after() {
59
+ var argArr = Array.prototype.slice.call(arguments),
60
+ docFrag = document.createDocumentFragment();
61
+
62
+ argArr.forEach(function(argItem) {
63
+ var isNode = argItem instanceof Node;
64
+ docFrag.appendChild(
65
+ isNode
66
+ ? argItem
67
+ : document.createTextNode(String(argItem))
68
+ );
69
+ });
70
+
71
+ this.parentNode.insertBefore(docFrag, this.nextSibling);
72
+ }
73
+ });
74
+ });
75
+ })([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
76
+
77
+ // Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/append()/append().md
78
+ (function(arr) {
79
+ arr.forEach(function(item) {
80
+ if (item.hasOwnProperty('append')) {
81
+ return;
82
+ }
83
+ Object.defineProperty(item, 'append', {
84
+ configurable: true,
85
+ enumerable: true,
86
+ writable: true,
87
+ value: function append() {
88
+ var argArr = Array.prototype.slice.call(arguments),
89
+ docFrag = document.createDocumentFragment();
90
+
91
+ argArr.forEach(function(argItem) {
92
+ var isNode = argItem instanceof Node;
93
+ docFrag.appendChild(
94
+ isNode
95
+ ? argItem
96
+ : document.createTextNode(String(argItem))
97
+ );
98
+ });
99
+
100
+ this.appendChild(docFrag);
101
+ }
102
+ });
103
+ });
104
+ })([Element.prototype, Document.prototype, DocumentFragment.prototype]);
105
+
106
+ // from: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
107
+ (function() {
108
+ if (typeof window.Event === 'function') return false;
109
+
110
+ function Event(event, params) {
111
+ params = params || { bubbles: false, cancelable: false };
112
+ var evt = document.createEvent('Event');
113
+ evt.initEvent(event, params.bubbles, params.cancelable);
114
+ return evt;
115
+ }
116
+
117
+ window.Event = Event;
118
+ })();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "j1_starter",
4
- "version": "2020.0.1",
4
+ "version": "2020.0.6",
5
5
  "description": "J1 Template starter Web",
6
6
  "homepage": "https://your.site",
7
7
  "author": {
@@ -0,0 +1,199 @@
1
+ ---
2
+ title: Floating SideBar
3
+ tagline: where to go
4
+ description: Where to go
5
+
6
+ tags: [ Page, Roundtrip ]
7
+ index: [ Start, Template, Whats, Up, Readme, TL;DR ]
8
+ categories: [ pages ]
9
+
10
+ permalink: /pages/public/learn/fsb/
11
+ regenerate: false
12
+
13
+ resources: [ lightbox ]
14
+ resource_options:
15
+ - attic:
16
+ padding_top: 400
17
+ padding_bottom: 50
18
+ opacity: 0.5
19
+ slides:
20
+ - url: /assets/images/modules/attics/runner-1920x1200-bw.jpg
21
+ alt: Photo by Alexander Redl on Unsplash
22
+ badge:
23
+ type: unsplash
24
+ author: Alexander Redl
25
+ href: https://unsplash.com/@alexanderredl
26
+ ---
27
+
28
+ // Enable the Liquid Preprocessor
29
+ // -----------------------------------------------------------------------------
30
+ :page-liquid:
31
+
32
+
33
+ // Set other global page attributes here
34
+ // -----------------------------------------------------------------------------
35
+ //:my-asciidoc-attribute:
36
+
37
+ // Load Liquid procedures
38
+ // -----------------------------------------------------------------------------
39
+ {% capture set_env_entry_document %}themes/{{site.template.name}}/procedures/global/set_env_entry_document.proc{%endcapture%}
40
+
41
+
42
+ // Initialize entry document environmental attributes
43
+ // -----------------------------------------------------------------------------
44
+ {% include {{set_env_entry_document}} %}
45
+
46
+ // Load tag, url and data attributes
47
+ // -----------------------------------------------------------------------------
48
+ // include::{includedir}/attributes.asciidoc[tag=tags]
49
+ // include::{includedir}/attributes.asciidoc[tag=urls]
50
+ // include::{includedir}/attributes.asciidoc[tag=data]
51
+
52
+ // Set local page attributes
53
+ // -----------------------------------------------------------------------------
54
+ // :images-dir: {imagesdir}/path/to/page/images
55
+
56
+
57
+ // Page content
58
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59
+
60
+ // Include sub-documents
61
+ // -----------------------------------------------------------------------------
62
+
63
+ ++++
64
+ <div class="sidebar">
65
+ <div class="floating-div">
66
+ <p>This "floating div" could be a form, a call to action, an ad,
67
+ or whatever other content you want to float in sidebar as the user
68
+ scrolls up and down the page.
69
+ </p>
70
+ </div>
71
+ </div>
72
+ ++++
73
+
74
+ Welcome to the pages of J1 Template. If your here first time,
75
+ hopefully you get on that page first. For sure, there is no better
76
+ place to step in.
77
+
78
+ Having a menu system is great. We hope the the navigator module of J1 will
79
+ support you to explore this site, find what your are looking for. The site
80
+ of J1 has grown over the last month a lot. Many documents were seeking for
81
+ a home. And we have really a bunch of them.
82
+
83
+ To get better orientated, the site is organized for *natural reading*. As we
84
+ use the English language for our international vistors (we are German),
85
+ *natural reading* means for a western language, reading from the left to the
86
+ right (LTR), and from top to down a page. The same to all menus, sections
87
+ and pages.
88
+
89
+ To read the site it is recommended to go for LTR. Other languages, other
90
+ countries and cultures go for RTL, but currently we've *no* support for RTL
91
+ implemented.
92
+
93
+ For that reason, it was a good decision to start from here.
94
+
95
+ == Whats up
96
+
97
+ First of all, you've started already! The important first step in to find
98
+ your way to Jekyll is done. Congratiulations.
99
+
100
+ The *Learn* section contains all you need to learn what Jekyll and J1 can do
101
+ for your website. For your new static web - if you like.
102
+
103
+ With this section you'll find a:
104
+
105
+ . *Roundtrip* to show some of the main features of the template system
106
+ *J1*.
107
+
108
+ . *Kickstarter* are Tutorials. The most important one to start is *Web in a Day*.
109
+ This tutorial guides you through all the steps to build a website using
110
+ the template system Jekyll One - your site using Jekyll and the template J1.
111
+
112
+ == Where to go
113
+
114
+ You should go for the *Roundtrip* first. See what you will get. As an overview
115
+ of some of the main features of *J1*. The roundtrip is a *visual* tour. No
116
+ technical stuff, nothing academic.
117
+
118
+ Let's go more deeper and make things real - and your hands dirty. We
119
+ recomment to work on the Kickstarter *Web in a Day*. A nice one-day journey
120
+ diving into the world of Jekyll. You'll learn a lot and at the end of that day
121
+ you know what Jekyll, static webs and the template system J1 is all about.
122
+
123
+ You're welcome!
124
+
125
+ If you like, continue by walking through the roundtrip examples
126
+ link:/pages/public/learn/roundtrip/present_images/[by starting the tour here].
127
+
128
+ ++++
129
+ <style>
130
+
131
+ .sidebar {
132
+ width:33.33%;
133
+ float:left;
134
+ padding: 0 10px;
135
+ }
136
+
137
+ .floating-div {
138
+ background-color: #333;
139
+ padding: 10px 50px;
140
+ color:#EEE;
141
+ font-size: 20px;
142
+ margin-top:10px;
143
+ position: absolute;
144
+ right: -40px;
145
+ }
146
+
147
+ .sticky {
148
+ position: fixed;
149
+ top: 150px;
150
+ right:-40px;
151
+ margin: 0;
152
+ width:calc(33.33% - 25px);
153
+ }
154
+
155
+ .abs {
156
+ position: absolute;
157
+ bottom: 10px;
158
+ right:10px;
159
+ width:calc(33.33% - 20px);
160
+ }
161
+ </style>
162
+
163
+ <script>
164
+ $(document).ready(function() {
165
+ var dependencies_met_core = setInterval(function() {
166
+ if (j1.getState() == 'finished') {
167
+ // variables
168
+ var main_content = $('.js-toc-content');
169
+ var m = $(main_content).offset().top;
170
+ var topPosition = $('.floating-div').offset().top - 10;
171
+ var floatingDivHeight = $('.floating-div').outerHeight();
172
+ var footer = $('#j1_footer');
173
+ var footerFromTop = $('#j1_footer').offset().top;
174
+ var absPosition = footerFromTop - floatingDivHeight - 20;
175
+ var win = $(window);
176
+ var floatingDiv = $('.floating-div');
177
+
178
+ win.scroll(function() {
179
+ if (window.matchMedia('(min-width: 768px)').matches) {
180
+ if ((win.scrollTop() > topPosition) && (win.scrollTop() < absPosition)) {
181
+ floatingDiv.addClass('sticky');
182
+ floatingDiv.removeClass('abs');
183
+
184
+ } else if ((win.scrollTop() > topPosition) && (win.scrollTop() > absPosition)) {
185
+ floatingDiv.removeClass('sticky');
186
+ floatingDiv.addClass('abs');
187
+
188
+ } else {
189
+ floatingDiv.removeClass('sticky');
190
+ floatingDiv.removeClass('abs');
191
+ }
192
+ }
193
+ });
194
+ clearInterval(dependencies_met_core);
195
+ }
196
+ }, 25);
197
+ });
198
+ </script>
199
+ ++++