j1-template 2021.1.21 → 2021.1.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_article_navigator.html +177 -0
  3. data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +413 -0
  4. data/_includes/themes/j1/modules/connectors/survey/custom-provider.html +30 -0
  5. data/_includes/themes/j1/modules/connectors/survey/jotform.html +32 -0
  6. data/_includes/themes/j1/modules/connectors/surveys +58 -0
  7. data/_includes/themes/j1/procedures/global/attributes_loader.proc +4 -0
  8. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +4 -4
  9. data/_layouts/article_navigator.html +62 -0
  10. data/_layouts/news_panel_posts.html +62 -0
  11. data/assets/data/article_navigator/index.html +63 -0
  12. data/assets/data/banner.html +2 -2
  13. data/assets/data/news_panel_posts/index.html +47 -0
  14. data/assets/data/panel.html +143 -53
  15. data/assets/error_pages/HTTP204.html +3 -1
  16. data/assets/error_pages/HTTP400.html +3 -1
  17. data/assets/error_pages/HTTP401.html +3 -1
  18. data/assets/error_pages/HTTP403.html +3 -1
  19. data/assets/error_pages/HTTP404.html +3 -1
  20. data/assets/error_pages/HTTP444.html +3 -1
  21. data/assets/error_pages/HTTP500.html +3 -1
  22. data/assets/error_pages/HTTP501.html +3 -1
  23. data/assets/error_pages/HTTP502.html +3 -1
  24. data/assets/error_pages/HTTP503.html +6 -2
  25. data/assets/themes/j1/adapter/js/infiniteScroll.js +245 -0
  26. data/assets/themes/j1/adapter/js/j1.js +17 -0
  27. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +767 -673
  28. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  29. data/assets/themes/j1/core/css/vendor.css +187 -0
  30. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  31. data/assets/themes/j1/core/js/template.js +1 -1
  32. data/assets/themes/j1/core/js/template.js.map +1 -1
  33. data/assets/themes/j1/core/js/template.min.js +1 -1
  34. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  35. data/assets/themes/j1/modules/infiniteScroll/css/theme/uno.css +150 -0
  36. data/assets/themes/j1/modules/infiniteScroll/css/theme/uno.min.css +15 -0
  37. data/assets/themes/j1/modules/infiniteScroll/js/infiniteScroll.js +1909 -0
  38. data/assets/themes/j1/modules/infiniteScroll/js/infiniteScroll.min.js +17 -0
  39. data/assets/themes/j1/modules/showOnScroll/js/showOnScroll.js +61 -0
  40. data/assets/themes/j1/modules/showOnScroll/js/showOnScroll.min.js +15 -0
  41. data/lib/j1/version.rb +1 -1
  42. data/lib/starter_web/Gemfile +1 -1
  43. data/lib/starter_web/_config.yml +2 -2
  44. data/lib/starter_web/_data/blocks/banner.yml +6 -6
  45. data/lib/starter_web/_data/blocks/defaults/panel.1.yml +256 -0
  46. data/lib/starter_web/_data/blocks/defaults/panel.2.yml +250 -0
  47. data/lib/starter_web/_data/blocks/defaults/panel.yml +9 -14
  48. data/lib/starter_web/_data/blocks/footer.yml +2 -2
  49. data/lib/starter_web/_data/blocks/panel.yml +360 -176
  50. data/lib/starter_web/_data/layouts/article_navigator.yml +168 -0
  51. data/lib/starter_web/_data/layouts/default.yml +1 -1
  52. data/lib/starter_web/_data/layouts/home.yml +16 -9
  53. data/lib/starter_web/_data/layouts/news_panel_posts.yml +168 -0
  54. data/lib/starter_web/_data/modules/defaults/infiniteScroll.yml +73 -0
  55. data/lib/starter_web/_data/modules/infiniteScroll.yml +66 -0
  56. data/lib/starter_web/_data/resources.yml +43 -0
  57. data/lib/starter_web/_includes/attributes.asciidoc +10 -1
  58. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  59. data/lib/starter_web/assets/images/modules/attics/alexander-shatov-1920x1280.jpg +0 -0
  60. data/lib/starter_web/assets/images/modules/attics/franck-1920x12800.jpg +0 -0
  61. data/lib/starter_web/assets/images/modules/attics/rirri-1920x1280.jpg +0 -0
  62. data/lib/starter_web/assets/images/pages/posts/adrien-olichon-1920x1280.jpg +0 -0
  63. data/lib/starter_web/assets/images/pages/posts/alejandro-barba-1920x1280.jpg +0 -0
  64. data/lib/starter_web/assets/images/pages/posts/andre-francois-mckenzie-1920x1280.jpg +0 -0
  65. data/lib/starter_web/assets/images/pages/posts/andreas-steger-1920x1280.jpg +0 -0
  66. data/lib/starter_web/assets/images/pages/posts/ansgar-scheffold-1920x1280.jpg +0 -0
  67. data/lib/starter_web/assets/images/pages/posts/ben-white-1920x1280.jpg +0 -0
  68. data/lib/starter_web/assets/images/pages/posts/craig-sybert-1920x1280.jpg +0 -0
  69. data/lib/starter_web/assets/images/pages/posts/danielle-cerullo-1920x1280.jpg +0 -0
  70. data/lib/starter_web/assets/images/pages/posts/deb-dowd-1920x1280.jpg +0 -0
  71. data/lib/starter_web/assets/images/pages/posts/halgatewood-1920x1280.jpg +0 -0
  72. data/lib/starter_web/assets/images/pages/posts/hans-eiskonen-1920x1280.jpg +0 -0
  73. data/lib/starter_web/assets/images/pages/posts/ian-barsby-1920x1280.jpg +0 -0
  74. data/lib/starter_web/assets/images/pages/posts/ivan-aleksic-1920x1280.jpg +0 -0
  75. data/lib/starter_web/assets/images/pages/posts/markus-krisetya-1920x1280.jpg +0 -0
  76. data/lib/starter_web/assets/images/pages/posts/markus-spiske-6-1920x1280.jpg +0 -0
  77. data/lib/starter_web/assets/images/pages/posts/markus-winkler-1920x1280.jpg +0 -0
  78. data/lib/starter_web/assets/images/pages/posts/markus-winkler-2-1920x1280.jpg +0 -0
  79. data/lib/starter_web/assets/images/pages/posts/michelle-cassar-1920x1280.jpg +0 -0
  80. data/lib/starter_web/assets/images/pages/posts/mika-baumeister-1920x1280.jpg +0 -0
  81. data/lib/starter_web/assets/images/pages/posts/science-in-hd-1920x1280.jpg +0 -0
  82. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +1 -0
  83. data/lib/starter_web/collections/posts/public/featured/_posts/2020-01-01-about-cookies.adoc +1 -0
  84. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-01-site-generators.adoc +1 -0
  85. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-03-about-j1.adoc +1 -0
  86. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +7 -1
  87. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +2 -2
  88. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +2 -1
  89. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +2 -1
  90. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +2 -1
  91. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +1 -0
  92. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +2 -1
  93. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +2 -1
  94. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/attributes.asciidoc +7 -0
  95. data/lib/starter_web/index.html +1 -2
  96. data/lib/starter_web/package.json +1 -1
  97. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/attributes.asciidoc +7 -1
  98. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc +7 -1
  99. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +5 -5
  100. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +5 -5
  101. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +5 -5
  102. data/lib/starter_web/pages/public/blog/navigator/archive.html +8 -10
  103. data/lib/starter_web/pages/public/learn/quickstart.adoc +23 -32
  104. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +38 -45
  105. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +11 -12
  106. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +18 -18
  107. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +19 -20
  108. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +22 -23
  109. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +6 -6
  110. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +10 -10
  111. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +24 -22
  112. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +33 -33
  113. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +14 -0
  114. data/lib/starter_web/pages/public/learn/where_to_go.adoc +2 -2
  115. data/lib/starter_web/pages/public/previewer/_includes/attributes.asciidoc +6 -0
  116. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +8 -8
  117. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  118. data/lib/starter_web/utilsrv/package.json +1 -1
  119. metadata +47 -2
@@ -0,0 +1,17 @@
1
+ /*!
2
+ * Infinite Scroll PACKAGED v4.0.1
3
+ * Automatically add next page
4
+ *
5
+ * Licensed GPLv3 for open source use
6
+ * or Infinite Scroll Commercial License for commercial use
7
+ *
8
+ * https://infinite-scroll.com
9
+ * Copyright 2018-2020 Metafizzy
10
+ */
11
+ !function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,(function(t,e){let i=t.console,n=void 0===i?function(){}:function(t){i.error(t)};return function(i,o,s){(s=s||e||t.jQuery)&&(o.prototype.option||(o.prototype.option=function(t){t&&(this.options=Object.assign(this.options||{},t))}),s.fn[i]=function(t,...e){return"string"==typeof t?function(t,e,o){let r,l=`$().${i}("${e}")`;return t.each((function(t,h){let a=s.data(h,i);if(!a)return void n(`${i} not initialized. Cannot call method ${l}`);let c=a[e];if(!c||"_"==e.charAt(0))return void n(`${l} is not a valid method`);let u=c.apply(a,o);r=void 0===r?u:r})),void 0!==r?r:t}(this,t,e):(r=t,this.each((function(t,e){let n=s.data(e,i);n?(n.option(r),n._init()):(n=new o(e,r),s.data(e,i,n))})),this);var r})}})),function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},n=i[t]=i[t]||[];return n.includes(e)||n.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let n=i.indexOf(e);return-1!=n&&i.splice(n,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let n=this._onceEvents&&this._onceEvents[t];for(let o of i){n&&n[o]&&(this.off(t,o),delete n[o]),o.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t):t.fizzyUIUtils=e(t)}(this,(function(t){let e={extend:function(t,e){return Object.assign(t,e)},modulo:function(t,e){return(t%e+e)%e},makeArray:function(t){if(Array.isArray(t))return t;if(null==t)return[];return"object"==typeof t&&"number"==typeof t.length?[...t]:[t]},removeFrom:function(t,e){let i=t.indexOf(e);-1!=i&&t.splice(i,1)},getParent:function(t,e){for(;t.parentNode&&t!=document.body;)if((t=t.parentNode).matches(e))return t},getQueryElement:function(t){return"string"==typeof t?document.querySelector(t):t},handleEvent:function(t){let e="on"+t.type;this[e]&&this[e](t)},filterFindElements:function(t,i){return(t=e.makeArray(t)).filter((t=>t instanceof HTMLElement)).reduce(((t,e)=>{if(!i)return t.push(e),t;e.matches(i)&&t.push(e);let n=e.querySelectorAll(i);return t=t.concat(...n)}),[])},debounceMethod:function(t,e,i){i=i||100;let n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){clearTimeout(this[o]);let t=arguments;this[o]=setTimeout((()=>{n.apply(this,t),delete this[o]}),i)}},docReady:function(t){let e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},toDashed:function(t){return t.replace(/(.)([A-Z])/g,(function(t,e,i){return e+"-"+i})).toLowerCase()}},i=t.console;return e.htmlInit=function(n,o){e.docReady((function(){let s="data-"+e.toDashed(o),r=document.querySelectorAll(`[${s}]`),l=t.jQuery;[...r].forEach((t=>{let e,r=t.getAttribute(s);try{e=r&&JSON.parse(r)}catch(e){return void(i&&i.error(`Error parsing ${s} on ${t.className}: ${e}`))}let h=new n(t,e);l&&l.data(t,o,h)}))}))},e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("fizzy-ui-utils")):t.InfiniteScroll=e(t,t.EvEmitter,t.fizzyUIUtils)}(window,(function(t,e,i){let n=t.jQuery,o={};function s(t,e){let r=i.getQueryElement(t);if(r){if((t=r).infiniteScrollGUID){let i=o[t.infiniteScrollGUID];return i.option(e),i}this.element=t,this.options={...s.defaults},this.option(e),n&&(this.$element=n(this.element)),this.create()}else console.error("Bad element for InfiniteScroll: "+(r||t))}s.defaults={},s.create={},s.destroy={};let r=s.prototype;Object.assign(r,e.prototype);let l=0;r.create=function(){let t=this.guid=++l;if(this.element.infiniteScrollGUID=t,o[t]=this,this.pageIndex=1,this.loadCount=0,this.updateGetPath(),this.getPath&&this.getPath()){this.updateGetAbsolutePath(),this.log("initialized",[this.element.className]),this.callOnInit();for(let t in s.create)s.create[t].call(this)}else console.error("Disabling InfiniteScroll")},r.option=function(t){Object.assign(this.options,t)},r.callOnInit=function(){let t=this.options.onInit;t&&t.call(this,this)},r.dispatchEvent=function(t,e,i){this.log(t,i);let o=e?[e].concat(i):i;if(this.emitEvent(t,o),!n||!this.$element)return;let s=t+=".infiniteScroll";if(e){let i=n.Event(e);i.type=t,s=i}this.$element.trigger(s,i)};let h={initialized:t=>`on ${t}`,request:t=>`URL: ${t}`,load:(t,e)=>`${t.title||""}. URL: ${e}`,error:(t,e)=>`${t}. URL: ${e}`,append:(t,e,i)=>`${i.length} items. URL: ${e}`,last:(t,e)=>`URL: ${e}`,history:(t,e)=>`URL: ${e}`,pageIndex:function(t,e){return`current page determined to be: ${t} from ${e}`}};r.log=function(t,e){if(!this.options.debug)return;let i=`[InfiniteScroll] ${t}`,n=h[t];n&&(i+=". "+n.apply(this,e)),console.log(i)},r.updateMeasurements=function(){this.windowHeight=t.innerHeight;let e=this.element.getBoundingClientRect();this.top=e.top+t.scrollY},r.updateScroller=function(){let e=this.options.elementScroll;if(e){if(this.scroller=!0===e?this.element:i.getQueryElement(e),!this.scroller)throw new Error(`Unable to find elementScroll: ${e}`)}else this.scroller=t},r.updateGetPath=function(){let t=this.options.path;if(!t)return void console.error(`InfiniteScroll path option required. Set as: ${t}`);let e=typeof t;"function"!=e?"string"==e&&t.match("{{#}}")?this.updateGetPathTemplate(t):this.updateGetPathSelector(t):this.getPath=t},r.updateGetPathTemplate=function(t){this.getPath=()=>{let e=this.pageIndex+1;return t.replace("{{#}}",e)};let e=t.replace(/(\\\?|\?)/,"\\?").replace("{{#}}","(\\d\\d?\\d?)"),i=new RegExp(e),n=location.href.match(i);n&&(this.pageIndex=parseInt(n[1],10),this.log("pageIndex",[this.pageIndex,"template string"]))};let a=[/^(.*?\/?page\/?)(\d\d?\d?)(.*?$)/,/^(.*?\/?\?page=)(\d\d?\d?)(.*?$)/,/(.*?)(\d\d?\d?)(?!.*\d)(.*?$)/],c=s.getPathParts=function(t){if(t)for(let e of a){let i=t.match(e);if(i){let[,t,e,n]=i;return{begin:t,index:e,end:n}}}};r.updateGetPathSelector=function(t){let e=document.querySelector(t);if(!e)return void console.error(`Bad InfiniteScroll path option. Next link not found: ${t}`);let i=e.getAttribute("href"),n=c(i);if(!n)return void console.error(`InfiniteScroll unable to parse next link href: ${i}`);let{begin:o,index:s,end:r}=n;this.isPathSelector=!0,this.getPath=()=>o+(this.pageIndex+1)+r,this.pageIndex=parseInt(s,10)-1,this.log("pageIndex",[this.pageIndex,"next link"])},r.updateGetAbsolutePath=function(){let t=this.getPath();if(t.match(/^http/)||t.match(/^\//))return void(this.getAbsolutePath=this.getPath);let{pathname:e}=location,i=t.match(/^\?/),n=e.substring(0,e.lastIndexOf("/")),o=i?e:n+"/";this.getAbsolutePath=()=>o+this.getPath()},s.create.hideNav=function(){let t=i.getQueryElement(this.options.hideNav);t&&(t.style.display="none",this.nav=t)},s.destroy.hideNav=function(){this.nav&&(this.nav.style.display="")},r.destroy=function(){this.allOff();for(let t in s.destroy)s.destroy[t].call(this);delete this.element.infiniteScrollGUID,delete o[this.guid],n&&this.$element&&n.removeData(this.element,"infiniteScroll")},s.throttle=function(t,e){let i,n;return e=e||200,function(){let o=+new Date,s=arguments,r=()=>{i=o,t.apply(this,s)};i&&o<i+e?(clearTimeout(n),n=setTimeout(r,e)):r()}},s.data=function(t){let e=(t=i.getQueryElement(t))&&t.infiniteScrollGUID;return e&&o[e]},s.setJQuery=function(t){n=t},i.htmlInit(s,"infinite-scroll"),r._init=function(){};let{jQueryBridget:u}=t;return n&&u&&u("infiniteScroll",s,n),s})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core")):e(t,t.InfiniteScroll)}(window,(function(t,e){let i=e.prototype;Object.assign(e.defaults,{loadOnScroll:!0,checkLastPage:!0,responseBody:"text",domParseResponse:!0}),e.create.pageLoad=function(){this.canLoad=!0,this.on("scrollThreshold",this.onScrollThresholdLoad),this.on("load",this.checkLastPage),this.options.outlayer&&this.on("append",this.onAppendOutlayer)},i.onScrollThresholdLoad=function(){this.options.loadOnScroll&&this.loadNextPage()};let n=new DOMParser;function o(t){let e=document.createDocumentFragment();return t&&e.append(...t),e}return i.loadNextPage=function(){if(this.isLoading||!this.canLoad)return;let{responseBody:t,domParseResponse:e,fetchOptions:i}=this.options,o=this.getAbsolutePath();this.isLoading=!0,"function"==typeof i&&(i=i());let s=fetch(o,i).then((i=>{if(!i.ok){let t=new Error(i.statusText);return this.onPageError(t,o,i),{response:i}}return i[t]().then((s=>("text"==t&&e&&(s=n.parseFromString(s,"text/html")),204==i.status?(this.lastPageReached(s,o),{body:s,response:i}):this.onPageLoad(s,o,i))))})).catch((t=>{this.onPageError(t,o)}));return this.dispatchEvent("request",null,[o,s]),s},i.onPageLoad=function(t,e,i){return this.options.append||(this.isLoading=!1),this.pageIndex++,this.loadCount++,this.dispatchEvent("load",null,[t,e,i]),this.appendNextPage(t,e,i)},i.appendNextPage=function(t,e,i){let{append:n,responseBody:s,domParseResponse:r}=this.options;if(!("text"==s&&r)||!n)return{body:t,response:i};let l=t.querySelectorAll(n),h={body:t,response:i,items:l};if(!l||!l.length)return this.lastPageReached(t,e),h;let a=o(l),c=()=>(this.appendItems(l,a),this.isLoading=!1,this.dispatchEvent("append",null,[t,e,l,i]),h);return this.options.outlayer?this.appendOutlayerItems(a,c):c()},i.appendItems=function(t,e){t&&t.length&&(function(t){let e=t.querySelectorAll("script");for(let t of e){let e=document.createElement("script"),i=t.attributes;for(let t of i)e.setAttribute(t.name,t.value);e.innerHTML=t.innerHTML,t.parentNode.replaceChild(e,t)}}(e=e||o(t)),this.element.appendChild(e))},i.appendOutlayerItems=function(i,n){let o=e.imagesLoaded||t.imagesLoaded;return o?new Promise((function(t){o(i,(function(){let e=n();t(e)}))})):(console.error("[InfiniteScroll] imagesLoaded required for outlayer option"),void(this.isLoading=!1))},i.onAppendOutlayer=function(t,e,i){this.options.outlayer.appended(i)},i.checkLastPage=function(t,e){let i,{checkLastPage:n,path:o}=this.options;if(n){if("function"==typeof o){if(!this.getPath())return void this.lastPageReached(t,e)}"string"==typeof n?i=n:this.isPathSelector&&(i=o),i&&t.querySelector&&(t.querySelector(i)||this.lastPageReached(t,e))}},i.lastPageReached=function(t,e){this.canLoad=!1,this.dispatchEvent("last",null,[t,e])},i.onPageError=function(t,e,i){return this.isLoading=!1,this.canLoad=!1,this.dispatchEvent("error",null,[t,e,i]),t},e.create.prefill=function(){if(!this.options.prefill)return;let t=this.options.append;t?(this.updateMeasurements(),this.updateScroller(),this.isPrefilling=!0,this.on("append",this.prefill),this.once("error",this.stopPrefill),this.once("last",this.stopPrefill),this.prefill()):console.error(`append option required for prefill. Set as :${t}`)},i.prefill=function(){let t=this.getPrefillDistance();this.isPrefilling=t>=0,this.isPrefilling?(this.log("prefill"),this.loadNextPage()):this.stopPrefill()},i.getPrefillDistance=function(){return this.options.elementScroll?this.scroller.clientHeight-this.scroller.scrollHeight:this.windowHeight-this.element.clientHeight},i.stopPrefill=function(){this.log("stopPrefill"),this.off("append",this.prefill)},e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){let n=e.prototype;return Object.assign(e.defaults,{scrollThreshold:400}),e.create.scrollWatch=function(){this.pageScrollHandler=this.onPageScroll.bind(this),this.resizeHandler=this.onResize.bind(this);let t=this.options.scrollThreshold;(t||0===t)&&this.enableScrollWatch()},e.destroy.scrollWatch=function(){this.disableScrollWatch()},n.enableScrollWatch=function(){this.isScrollWatching||(this.isScrollWatching=!0,this.updateMeasurements(),this.updateScroller(),this.on("last",this.disableScrollWatch),this.bindScrollWatchEvents(!0))},n.disableScrollWatch=function(){this.isScrollWatching&&(this.bindScrollWatchEvents(!1),delete this.isScrollWatching)},n.bindScrollWatchEvents=function(e){let i=e?"addEventListener":"removeEventListener";this.scroller[i]("scroll",this.pageScrollHandler),t[i]("resize",this.resizeHandler)},n.onPageScroll=e.throttle((function(){this.getBottomDistance()<=this.options.scrollThreshold&&this.dispatchEvent("scrollThreshold")})),n.getBottomDistance=function(){let e,i;return this.options.elementScroll?(e=this.scroller.scrollHeight,i=this.scroller.scrollTop+this.scroller.clientHeight):(e=this.top+this.element.clientHeight,i=t.scrollY+this.windowHeight),e-i},n.onResize=function(){this.updateMeasurements()},i.debounceMethod(e,"onResize",150),e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){let n=e.prototype;Object.assign(e.defaults,{history:"replace"});let o=document.createElement("a");return e.create.history=function(){if(!this.options.history)return;o.href=this.getAbsolutePath(),(o.origin||o.protocol+"//"+o.host)==location.origin?this.options.append?this.createHistoryAppend():this.createHistoryPageLoad():console.error(`[InfiniteScroll] cannot set history with different origin: ${o.origin} on ${location.origin} . History behavior disabled.`)},n.createHistoryAppend=function(){this.updateMeasurements(),this.updateScroller(),this.scrollPages=[{top:0,path:location.href,title:document.title}],this.scrollPage=this.scrollPages[0],this.scrollHistoryHandler=this.onScrollHistory.bind(this),this.unloadHandler=this.onUnload.bind(this),this.scroller.addEventListener("scroll",this.scrollHistoryHandler),this.on("append",this.onAppendHistory),this.bindHistoryAppendEvents(!0)},n.bindHistoryAppendEvents=function(e){let i=e?"addEventListener":"removeEventListener";this.scroller[i]("scroll",this.scrollHistoryHandler),t[i]("unload",this.unloadHandler)},n.createHistoryPageLoad=function(){this.on("load",this.onPageLoadHistory)},e.destroy.history=n.destroyHistory=function(){this.options.history&&this.options.append&&this.bindHistoryAppendEvents(!1)},n.onAppendHistory=function(t,e,i){if(!i||!i.length)return;let n=i[0],s=this.getElementScrollY(n);o.href=e,this.scrollPages.push({top:s,path:o.href,title:t.title})},n.getElementScrollY=function(e){if(this.options.elementScroll)return e.offsetTop-this.top;return e.getBoundingClientRect().top+t.scrollY},n.onScrollHistory=function(){let t=this.getClosestScrollPage();t!=this.scrollPage&&(this.scrollPage=t,this.setHistory(t.title,t.path))},i.debounceMethod(e,"onScrollHistory",150),n.getClosestScrollPage=function(){let e,i;e=this.options.elementScroll?this.scroller.scrollTop+this.scroller.clientHeight/2:t.scrollY+this.windowHeight/2;for(let t of this.scrollPages){if(t.top>=e)break;i=t}return i},n.setHistory=function(t,e){let i=this.options.history;i&&history[i+"State"]&&(history[i+"State"](null,t,e),this.options.historyTitle&&(document.title=t),this.dispatchEvent("history",null,[t,e]))},n.onUnload=function(){if(0===this.scrollPage.top)return;let e=t.scrollY-this.scrollPage.top+this.top;this.destroyHistory(),scrollTo(0,e)},n.onPageLoadHistory=function(t,e){this.setHistory(t.title,e)},e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){class n{constructor(t,e){this.element=t,this.infScroll=e,this.clickHandler=this.onClick.bind(this),this.element.addEventListener("click",this.clickHandler),e.on("request",this.disable.bind(this)),e.on("load",this.enable.bind(this)),e.on("error",this.hide.bind(this)),e.on("last",this.hide.bind(this))}onClick(t){t.preventDefault(),this.infScroll.loadNextPage()}enable(){this.element.removeAttribute("disabled")}disable(){this.element.disabled="disabled"}hide(){this.element.style.display="none"}destroy(){this.element.removeEventListener("click",this.clickHandler)}}return e.create.button=function(){let t=i.getQueryElement(this.options.button);t&&(this.button=new n(t,this))},e.destroy.button=function(){this.button&&this.button.destroy()},e.Button=n,e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){let n=e.prototype;function o(t){r(t,"none")}function s(t){r(t,"block")}function r(t,e){t&&(t.style.display=e)}return e.create.status=function(){let t=i.getQueryElement(this.options.status);t&&(this.statusElement=t,this.statusEventElements={request:t.querySelector(".infinite-scroll-request"),error:t.querySelector(".infinite-scroll-error"),last:t.querySelector(".infinite-scroll-last")},this.on("request",this.showRequestStatus),this.on("error",this.showErrorStatus),this.on("last",this.showLastStatus),this.bindHideStatus("on"))},n.bindHideStatus=function(t){let e=this.options.append?"append":"load";this[t](e,this.hideAllStatus)},n.showRequestStatus=function(){this.showStatus("request")},n.showErrorStatus=function(){this.showStatus("error")},n.showLastStatus=function(){this.showStatus("last"),this.bindHideStatus("off")},n.showStatus=function(t){s(this.statusElement),this.hideStatusEventElements(),s(this.statusEventElements[t])},n.hideAllStatus=function(){o(this.statusElement),this.hideStatusEventElements()},n.hideStatusEventElements=function(){for(let t in this.statusEventElements){o(this.statusEventElements[t])}},e})),
12
+ /*!
13
+ * imagesLoaded v4.1.4
14
+ * JavaScript is all like "You images are done yet or what?"
15
+ * MIT License
16
+ */
17
+ function(t,e){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],(function(i){return e(t,i)})):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){"use strict";var i=t.jQuery,n=t.console;function o(t,e){for(var i in e)t[i]=e[i];return t}var s=Array.prototype.slice;function r(t,e,l){if(!(this instanceof r))return new r(t,e,l);var h,a=t;("string"==typeof t&&(a=document.querySelectorAll(t)),a)?(this.elements=(h=a,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?s.call(h):[h]),this.options=o({},this.options),"function"==typeof e?l=e:o(this.options,e),l&&this.on("always",l),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):n.error("Bad element for imagesLoaded "+(a||t))}r.prototype=Object.create(e.prototype),r.prototype.options={},r.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},r.prototype.addElementImages=function(t){"IMG"==t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);var e=t.nodeType;if(e&&l[e]){for(var i=t.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var s=t.querySelectorAll(this.options.background);for(n=0;n<s.length;n++){var r=s[n];this.addElementBackgroundImages(r)}}}};var l={1:!0,9:!0,11:!0};function h(t){this.img=t}function a(t,e){this.url=t,this.element=e,this.img=new Image}return r.prototype.addElementBackgroundImages=function(t){var e=getComputedStyle(t);if(e)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(e.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,t),n=i.exec(e.backgroundImage)}},r.prototype.addImage=function(t){var e=new h(t);this.images.push(e)},r.prototype.addBackground=function(t,e){var i=new a(t,e);this.images.push(i)},r.prototype.check=function(){var t=this;function e(e,i,n){setTimeout((function(){t.progress(e,i,n)}))}this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?this.images.forEach((function(t){t.once("progress",e),t.check()})):this.complete()},r.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&n&&n.log("progress: "+i,t,e)},r.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){var e=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[e](this)}},h.prototype=Object.create(e.prototype),h.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.src)},h.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},h.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.img,e])},h.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},h.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},a.prototype=Object.create(h.prototype),a.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},a.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},a.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},r.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&((i=e).fn.imagesLoaded=function(t,e){return new r(this,t,e).jqDeferred.promise(i(this))})},r.makeJQueryPlugin(),r}));
@@ -0,0 +1,61 @@
1
+ /*
2
+ # -----------------------------------------------------------------------------
3
+ # ~/assets/themes/j1/modules/showOnScroll/js/showOnScroll.js
4
+ # J1 implementation for showOnScroll
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
+ function isInViewport(elm, offset) {
17
+ // if the element doesn't exist, abort
18
+ if( elm.length == 0 ) {
19
+ return;
20
+ }
21
+ var $window = jQuery(window);
22
+ var viewport_top = $window.scrollTop();
23
+ var viewport_height = $window.height();
24
+ var viewport_bottom = viewport_top + viewport_height;
25
+ var $elm = jQuery(elm);
26
+ var top = $elm.offset().top + offset;
27
+ var height = $elm.height();
28
+ var bottom = top + height;
29
+
30
+ return (top >= viewport_top && top < viewport_bottom) ||
31
+ (bottom > viewport_top && bottom <= viewport_bottom) ||
32
+ (height > viewport_height && top <= viewport_top && bottom >= viewport_bottom);
33
+ }
34
+
35
+ $(document).ready( function() {
36
+
37
+ var showDelay = 700;
38
+ var yOffset = 500;
39
+ var logger = log4javascript.getLogger('j1.core.showOnScroll');
40
+
41
+ var eventHandler_service_panel = function (event) {
42
+ if (isInViewport ($('#home_service_panel'), yOffset)) {
43
+ logger.info('\n' + 'The specified container is in view: home_service_panel');
44
+ //console.log('The specified container is in view.');
45
+ $(".home_service_panel").show(showDelay);
46
+ window.removeEventListener('scroll', eventHandler_service_panel);
47
+ }
48
+ }
49
+ window.addEventListener('scroll', eventHandler_service_panel);
50
+
51
+ var eventHandler_intro_panel = function (event) {
52
+ if (isInViewport ($('#home_intro_panel'), yOffset)) {
53
+ logger.info('\n' + 'The specified container is in view: home_intro_panel');
54
+ //console.log('The specified container is in view.');
55
+ $(".home_intro_panel").show(showDelay);
56
+ window.removeEventListener('scroll', eventHandler_intro_panel);
57
+ }
58
+ }
59
+ window.addEventListener('scroll', eventHandler_intro_panel);
60
+
61
+ });
@@ -0,0 +1,15 @@
1
+ /*
2
+ # -----------------------------------------------------------------------------
3
+ # ~/assets/themes/j1/modules/showOnScroll/js/showOnScroll.min.js
4
+ # J1 implementation for showOnScroll
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
+ function isInViewport(g,f){if(g.length==0){return}var c=jQuery(window);var j=c.scrollTop();var b=c.height();var d=j+b;var e=jQuery(g);var h=e.offset().top+f;var i=e.height();var a=h+i;return(h>=j&&h<d)||(a>j&&a<=d)||(i>b&&h<=j&&a>=d)}$(document).ready(function(){var a=700;var e=500;var b=log4javascript.getLogger("j1.core.showOnScroll");var c=function(f){if(isInViewport($("#home_service_panel"),e)){b.info("\nThe specified container is in view: home_service_panel");$(".home_service_panel").show(a);window.removeEventListener("scroll",c)}};window.addEventListener("scroll",c);var d=function(f){if(isInViewport($("#home_intro_panel"),e)){b.info("\nThe specified container is in view: home_intro_panel");$(".home_intro_panel").show(a);window.removeEventListener("scroll",d)}};window.addEventListener("scroll",d)});
data/lib/j1/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2021.1.21'
2
+ VERSION = '2021.1.25'
3
3
  end
@@ -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.21'
56
+ gem 'j1-template', '~> 2021.1.25'
57
57
 
58
58
  # ------------------------------------------------------------------------------
59
59
  # PRODUCTION: Gem needed for the Jekyll and J1 prod environment
@@ -53,13 +53,13 @@ environment: production
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of J1 Template Gem
55
55
  #
56
- version: 2021.1.21
56
+ version: 2021.1.25
57
57
 
58
58
  # version
59
59
  # ------------------------------------------------------------------------------
60
60
  # Sets the build version of J1 Template
61
61
  #
62
- copyright: J1 · Copyright © 2021
62
+ copyright: © 2021 J1 · All rights reserved
63
63
 
64
64
  # ==============================================================================
65
65
  # 2. THEME configuration
@@ -134,12 +134,12 @@ settings:
134
134
  enabled: true
135
135
  width: 12
136
136
  type: text
137
- animate: fadeInUp
137
+ animate: false
138
138
  title: Jekyll One Template
139
139
  tagline: <b>powerful modern static websites</b>
140
- description_properties: mr-3 mb-3
140
+ description_properties: mt-3 mr-3 mb-3
141
141
  description: >
142
- <p>
142
+ <p class="dropcap">
143
143
  Jekyll One Template is the first toolbox to create modern webs and a
144
144
  learning platform to experience what is behind current Internet
145
145
  Technologies for the World Wide Web. J1 provides creative people
@@ -298,7 +298,7 @@ settings:
298
298
  id: home_parallax_banner
299
299
  enabled: true
300
300
  type: parallax
301
- properties: mt-5 mb-5
301
+ properties: mt-6 mb-6
302
302
  comment: Main parallax banner shown on home page
303
303
 
304
304
  style: dark
@@ -313,9 +313,9 @@ settings:
313
313
  cite_text_size: 300%
314
314
  cite_text_quotes: false
315
315
  cite_text: >
316
- <span style="color: #2196f3">Making is</span>
316
+ <strong><span style="color: #2196f3">Making is</span>
317
317
  like Wanting, <br> but even
318
- <span style="color: #2196f3">Better</span>
318
+ <span style="color: #2196f3">Better</span></strong>
319
319
  cite_size: 200%
320
320
  # cite: J1 Team
321
321
  text_color: rgba_lighten_900
@@ -0,0 +1,256 @@
1
+ # ------------------------------------------------------------------------------
2
+ # ~/_data/components/j1_panel.yml
3
+ # Template specific configuration data to configure panel lanes
4
+ #
5
+ # Product/Info:
6
+ # https://jekyll.one
7
+ #
8
+ # Copyright (C) 2021 Juergen Adams
9
+ #
10
+ # J1 Template is licensed under the MIT License.
11
+ # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
12
+ #
13
+ # ------------------------------------------------------------------------------
14
+
15
+ # ------------------------------------------------------------------------------
16
+ # DEFAULT settings
17
+ #
18
+ defaults:
19
+ # ----------------------------------------------------------------------------
20
+ # Global settings
21
+ #
22
+ data_path: /assets/data/panel/index.html
23
+
24
+ # ----------------------------------------------------------------------------
25
+ # INTRO panel
26
+ #
27
+ intro:
28
+ # --------------------------------------------------------------------------
29
+ # INTRO panel properties
30
+ #
31
+ enabled: false
32
+ id: intro_panel_id
33
+ type: intro
34
+ icon_family: MDI
35
+
36
+ style: flat
37
+ raised:
38
+ lane_span: fixed
39
+
40
+ cards:
41
+
42
+ - card:
43
+ enabled: false
44
+ type: text
45
+ title: J1 Template
46
+ tagline: tagline-text-1
47
+ icon: responsive
48
+ icon_size: 8x
49
+ icon_color: md-grey-800
50
+ text: card-text-1
51
+
52
+ buttons:
53
+
54
+ - button:
55
+ text: button-text-1
56
+ class: btn-primary btn-raised btn-flex
57
+ icon: image
58
+ icon_size: lg
59
+ icon_color: md-grey-50
60
+ href: javascript:void(0)
61
+
62
+ - card:
63
+ enabled: false
64
+ type: text
65
+ title: J1 Template
66
+ tagline: tagline-text-2
67
+ icon: responsive
68
+ icon_size: 8x
69
+ icon_color: md-grey-800
70
+ text: card-text-2
71
+
72
+ buttons:
73
+
74
+ - button:
75
+ text: button-text-2
76
+ class: btn-primary btn-raised btn-flex
77
+ icon: image
78
+ icon_size: lg
79
+ icon_color: md-grey-50
80
+ href: javascript:void(0)
81
+
82
+ - card:
83
+ enabled: false
84
+ type: text
85
+ title: J1 Template
86
+ tagline: tagline-text-3
87
+ icon: responsive
88
+ icon_size: 8x
89
+ icon_color: md-grey-800
90
+ text: card-text-3
91
+
92
+ buttons:
93
+
94
+ - button:
95
+ text: button-text-3
96
+ class: btn-primary btn-raised btn-flex
97
+ icon: image
98
+ icon_size: lg
99
+ icon_color: md-grey-50
100
+ href: javascript:void(0)
101
+
102
+
103
+ # ----------------------------------------------------------------------------
104
+ # SERVICE panel
105
+ #
106
+ service:
107
+ # --------------------------------------------------------------------------
108
+ # SERVICE panel properties
109
+ #
110
+ enabled: false
111
+ id: service_panel_id
112
+ type: service_panel
113
+ icon_family: MDI
114
+
115
+ style: flat
116
+ lane_span: fixed
117
+
118
+ cards:
119
+
120
+ - card:
121
+ enabled: false
122
+ type: header
123
+ title: title
124
+ tagline: service-panel header text
125
+
126
+ - card:
127
+ enabled: false
128
+ type: service
129
+ icon: image
130
+ icon_size: 8x
131
+ icon_color: md-grey-800
132
+ href: javascript:void(0)
133
+ title: service-panel title-1
134
+ tagline: service-panel tagline-1
135
+ text: card text 1
136
+
137
+ services:
138
+ - service:
139
+ title: service 1-1
140
+ href: javascript:void(0)
141
+ - service:
142
+ title: service 1-2
143
+ href: javascript:void(0)
144
+ - service:
145
+ title: service 1-3
146
+ href: javascript:void(0)
147
+
148
+ - card:
149
+ enabled: false
150
+ type: service
151
+ icon: image
152
+ icon_size: 8x
153
+ icon_color: md-grey-800
154
+ href: javascript:void(0)
155
+ title: service-panel title-2
156
+ tagline: service-panel tagline-2
157
+ text: service-panel card text 2
158
+
159
+ services:
160
+ - service:
161
+ title: service 2-1
162
+ href: javascript:void(0)
163
+ - service:
164
+ title: service 2-2
165
+ href: javascript:void(0)
166
+ - service:
167
+ title: service 2-3
168
+ href: javascript:void(0)
169
+
170
+ - card:
171
+ enabled: false
172
+ type: service
173
+ icon: image
174
+ icon_size: 8x
175
+ icon_color: md-grey-800
176
+ href: javascript:void(0)
177
+ title: service-panel title-3
178
+ tagline: service-panel tagline-3
179
+ text: service-panel card text 3
180
+
181
+ services:
182
+ - service:
183
+ title: service 3-1
184
+ href: javascript:void(0)
185
+ - service:
186
+ title: service 3-2
187
+ href: javascript:void(0)
188
+ - service:
189
+ title: service 3-3
190
+ href: javascript:void(0)
191
+
192
+ # ----------------------------------------------------------------------------
193
+ # NEWS panel
194
+ #
195
+ news:
196
+ # --------------------------------------------------------------------------
197
+ # NEWS panel properties
198
+ #
199
+ enabled: false
200
+ id: news_panel_id
201
+ type: news_panel
202
+ style: flat
203
+ title: news-panel-title
204
+ tagline: news-panel-tagline
205
+
206
+ lane_span: fixed
207
+
208
+ boxes:
209
+ - box:
210
+ enabled: false
211
+ type: last_current
212
+ category: featured
213
+ - box:
214
+ enabled: false
215
+ type: recent
216
+ category: featured
217
+ max_posts: 3
218
+
219
+ # # ----------------------------------------------------------------------------
220
+ # # STEP panel
221
+ # #
222
+ # step:
223
+ # # --------------------------------------------------------------------------
224
+ # # STEP panel properties
225
+ # #
226
+ # enabled: false
227
+ # id: step_panel_id
228
+ # type: step_panel
229
+ # style: dark
230
+ # lane_span: fixed
231
+ #
232
+ # cards:
233
+ # - card:
234
+ # title: step-panel-title
235
+ # tagline: step-panel-tagline
236
+
237
+ # ----------------------------------------------------------------------------
238
+ # EXCEPTION panel
239
+ #
240
+ # NOTE:
241
+ # The EXCEPTION panel is used to place additional information to the
242
+ # (default) exception CONTAINER if processing of a panel has failed
243
+ #
244
+ exception:
245
+ # --------------------------------------------------------------------------
246
+ # EXCEPTION panel properties
247
+ #
248
+ id: exception_container
249
+ enabled: true
250
+ type: exception
251
+ comment: Default Exception Panel
252
+
253
+ lane_span: fixed
254
+
255
+ # ------------------------------------------------------------------------------
256
+ # END config
@@ -0,0 +1,250 @@
1
+ # ------------------------------------------------------------------------------
2
+ # ~/_data/components/j1_panel.yml
3
+ # Template specific configuration data to configure panel lanes
4
+ #
5
+ # Product/Info:
6
+ # https://jekyll.one
7
+ #
8
+ # Copyright (C) 2021 Juergen Adams
9
+ #
10
+ # J1 Template is licensed under the MIT License.
11
+ # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
12
+ #
13
+ # ------------------------------------------------------------------------------
14
+
15
+ # ------------------------------------------------------------------------------
16
+ # DEFAULT settings
17
+ #
18
+ defaults:
19
+ # ----------------------------------------------------------------------------
20
+ # Global settings
21
+ #
22
+ data_path: /assets/data/panel/index.html
23
+
24
+ # ----------------------------------------------------------------------------
25
+ # INTRO panel
26
+ #
27
+ intro:
28
+ # --------------------------------------------------------------------------
29
+ # INTRO panel properties
30
+ #
31
+ enabled: false
32
+ id: intro_panel_id
33
+ type: intro
34
+ icon_family: MDI
35
+
36
+ style: flat
37
+ raised:
38
+ lane_span: fixed
39
+
40
+ cards:
41
+
42
+ - card:
43
+ enabled: false
44
+ type: text
45
+ title: J1 Template
46
+ tagline: tagline-text-1
47
+ icon: responsive
48
+ icon_size: 8x
49
+ icon_color: md-grey-800
50
+ text: card-text-1
51
+
52
+ buttons:
53
+
54
+ - button:
55
+ text: button-text-1
56
+ class: btn-primary btn-raised btn-flex
57
+ icon: image
58
+ icon_size: lg
59
+ icon_color: md-grey-50
60
+ href: javascript:void(0)
61
+
62
+ - card:
63
+ enabled: false
64
+ type: text
65
+ title: J1 Template
66
+ tagline: tagline-text-2
67
+ icon: responsive
68
+ icon_size: 8x
69
+ icon_color: md-grey-800
70
+ text: card-text-2
71
+
72
+ buttons:
73
+
74
+ - button:
75
+ text: button-text-2
76
+ class: btn-primary btn-raised btn-flex
77
+ icon: image
78
+ icon_size: lg
79
+ icon_color: md-grey-50
80
+ href: javascript:void(0)
81
+
82
+ - card:
83
+ enabled: false
84
+ type: text
85
+ title: J1 Template
86
+ tagline: tagline-text-3
87
+ icon: responsive
88
+ icon_size: 8x
89
+ icon_color: md-grey-800
90
+ text: card-text-3
91
+
92
+ buttons:
93
+
94
+ - button:
95
+ text: button-text-3
96
+ class: btn-primary btn-raised btn-flex
97
+ icon: image
98
+ icon_size: lg
99
+ icon_color: md-grey-50
100
+ href: javascript:void(0)
101
+
102
+
103
+ # ----------------------------------------------------------------------------
104
+ # SERVICE panel
105
+ #
106
+ service:
107
+ # --------------------------------------------------------------------------
108
+ # SERVICE panel properties
109
+ #
110
+ enabled: false
111
+ id: service_panel_id
112
+ type: service_panel
113
+ icon_family: MDI
114
+
115
+ style: flat
116
+ lane_span: fixed
117
+
118
+ cards:
119
+
120
+ - card:
121
+ enabled: false
122
+ type: header
123
+ title: title
124
+ tagline: service-panel header text
125
+
126
+ - card:
127
+ enabled: false
128
+ type: service
129
+ icon: image
130
+ icon_size: 8x
131
+ icon_color: md-grey-800
132
+ href: javascript:void(0)
133
+ title: service-panel title-1
134
+ tagline: service-panel tagline-1
135
+ text: card text 1
136
+
137
+ services:
138
+ - service:
139
+ title: service 1-1
140
+ href: javascript:void(0)
141
+ - service:
142
+ title: service 1-2
143
+ href: javascript:void(0)
144
+ - service:
145
+ title: service 1-3
146
+ href: javascript:void(0)
147
+
148
+ - card:
149
+ enabled: false
150
+ type: service
151
+ icon: image
152
+ icon_size: 8x
153
+ icon_color: md-grey-800
154
+ href: javascript:void(0)
155
+ title: service-panel title-2
156
+ tagline: service-panel tagline-2
157
+ text: service-panel card text 2
158
+
159
+ services:
160
+ - service:
161
+ title: service 2-1
162
+ href: javascript:void(0)
163
+ - service:
164
+ title: service 2-2
165
+ href: javascript:void(0)
166
+ - service:
167
+ title: service 2-3
168
+ href: javascript:void(0)
169
+
170
+ - card:
171
+ enabled: false
172
+ type: service
173
+ icon: image
174
+ icon_size: 8x
175
+ icon_color: md-grey-800
176
+ href: javascript:void(0)
177
+ title: service-panel title-3
178
+ tagline: service-panel tagline-3
179
+ text: service-panel card text 3
180
+
181
+ services:
182
+ - service:
183
+ title: service 3-1
184
+ href: javascript:void(0)
185
+ - service:
186
+ title: service 3-2
187
+ href: javascript:void(0)
188
+ - service:
189
+ title: service 3-3
190
+ href: javascript:void(0)
191
+
192
+ news:
193
+ # --------------------------------------------------------------------------
194
+ # NEWS panel properties
195
+ #
196
+ - name: News Panel
197
+ panel:
198
+ enabled: false
199
+ type: news
200
+ animate: fadeInUp
201
+ properties: mt-5 mr-3 mb-5 ml-3
202
+
203
+ cards:
204
+ - name: Recent Posts
205
+ card:
206
+ enabled: false
207
+ block: card-deck # card-deck | card-list
208
+ num_per_row: 2 # card-list only: [1 .. 4]
209
+ category: featured
210
+ truncatewords: 30 # currently NOT used
211
+ max_posts: 4
212
+
213
+ # # ----------------------------------------------------------------------------
214
+ # # STEP panel
215
+ # #
216
+ # step:
217
+ # # --------------------------------------------------------------------------
218
+ # # STEP panel properties
219
+ # #
220
+ # enabled: false
221
+ # id: step_panel_id
222
+ # type: step_panel
223
+ # style: dark
224
+ # lane_span: fixed
225
+ #
226
+ # cards:
227
+ # - card:
228
+ # title: step-panel-title
229
+ # tagline: step-panel-tagline
230
+
231
+ # ----------------------------------------------------------------------------
232
+ # EXCEPTION panel
233
+ #
234
+ # NOTE:
235
+ # The EXCEPTION panel is used to place additional information to the
236
+ # (default) exception CONTAINER if processing of a panel has failed
237
+ #
238
+ exception:
239
+ # --------------------------------------------------------------------------
240
+ # EXCEPTION panel properties
241
+ #
242
+ id: exception_container
243
+ enabled: true
244
+ type: exception
245
+ comment: Default Exception Panel
246
+
247
+ lane_span: fixed
248
+
249
+ # ------------------------------------------------------------------------------
250
+ # END config