j1-template 2023.2.6 → 2023.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (373) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +2 -1
  3. data/_includes/themes/j1/layouts/content_generator_post.html +2 -2
  4. data/_includes/themes/j1/layouts/layout_metadata_generator.html +41 -38
  5. data/_includes/themes/j1/procedures/blocks/footer/boxes/about_box.proc +1 -1
  6. data/_includes/themes/j1/procedures/blocks/footer/boxes/contacts_box.proc +1 -1
  7. data/_includes/themes/j1/procedures/blocks/footer/boxes/issue.proc +1 -1
  8. data/_includes/themes/j1/procedures/blocks/footer/boxes/links_box.proc +1 -1
  9. data/_includes/themes/j1/procedures/blocks/footer/boxes/news_box.proc +1 -1
  10. data/_includes/themes/j1/procedures/layouts/default_writer.proc +1 -3
  11. data/_includes/themes/j1/procedures/layouts/module_writer.proc +7 -23
  12. data/_includes/themes/j1/procedures/layouts/resource_writer.proc +8 -8
  13. data/_layouts/compress.html +26 -21
  14. data/_layouts/default.html +36 -30
  15. data/assets/data/banner.html +5 -2
  16. data/assets/data/footer.html +15 -3
  17. data/assets/data/masterslider.html +1 -0
  18. data/assets/data/menu.html +4 -4
  19. data/assets/data/panel.html +6 -3
  20. data/assets/data/quicklinks.html +138 -149
  21. data/assets/error_pages/HTTP204.html +3 -3
  22. data/assets/error_pages/HTTP400.html +3 -3
  23. data/assets/error_pages/HTTP401.html +3 -3
  24. data/assets/error_pages/HTTP403.html +3 -3
  25. data/assets/error_pages/HTTP404.html +3 -3
  26. data/assets/error_pages/HTTP444.html +3 -3
  27. data/assets/error_pages/HTTP445.html +3 -3
  28. data/assets/error_pages/HTTP446.html +5 -5
  29. data/assets/error_pages/HTTP447.html +7 -7
  30. data/assets/error_pages/HTTP448.html +7 -7
  31. data/assets/error_pages/HTTP500.html +3 -3
  32. data/assets/error_pages/HTTP501.html +3 -3
  33. data/assets/error_pages/HTTP502.html +3 -3
  34. data/assets/error_pages/HTTP503.html +3 -3
  35. data/assets/themes/j1/adapter/js/advertising.js +109 -116
  36. data/assets/themes/j1/adapter/js/analytics.js +1 -1
  37. data/assets/themes/j1/adapter/js/asciidoctor.js +1 -1
  38. data/assets/themes/j1/adapter/js/attic.js +22 -14
  39. data/assets/themes/j1/adapter/js/bmd.js +1 -1
  40. data/assets/themes/j1/adapter/js/carousel.js +5 -4
  41. data/assets/themes/j1/adapter/js/clipboard.js +1 -1
  42. data/assets/themes/j1/adapter/js/comments.js +5 -5
  43. data/assets/themes/j1/adapter/js/cookieConsent.js +1 -1
  44. data/assets/themes/j1/adapter/js/customFunctions.js +1 -1
  45. data/assets/themes/j1/adapter/js/customModule.js +1 -1
  46. data/assets/themes/j1/adapter/js/dropdowns.js +4 -2
  47. data/assets/themes/j1/adapter/js/fab.js +9 -6
  48. data/assets/themes/j1/adapter/js/framer.js +1 -1
  49. data/assets/themes/j1/adapter/js/iconPicker.js +227 -0
  50. data/assets/themes/j1/adapter/js/j1.js +401 -76
  51. data/assets/themes/j1/adapter/js/justifiedGallery.js +9 -3
  52. data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +2 -2
  53. data/assets/themes/j1/adapter/js/lightbox.js +4 -3
  54. data/assets/themes/j1/adapter/js/logger.js +1 -1
  55. data/assets/themes/j1/adapter/js/lunr.js +1 -1
  56. data/assets/themes/j1/adapter/js/masonry.js +4 -3
  57. data/assets/themes/j1/adapter/js/masterslider.js +30 -57
  58. data/assets/themes/j1/adapter/js/mmenu.js +2 -2
  59. data/assets/themes/j1/adapter/js/navigator.js +7 -5
  60. data/assets/themes/j1/adapter/js/nbinteract.js +9 -9
  61. data/assets/themes/j1/adapter/js/particles.js +2 -2
  62. data/assets/themes/j1/adapter/js/rangeSlider.js +2 -2
  63. data/assets/themes/j1/adapter/js/rouge.js +2 -2
  64. data/assets/themes/j1/adapter/js/rtable.js +1 -1
  65. data/assets/themes/j1/adapter/js/rtextResizer.js +1 -1
  66. data/assets/themes/j1/adapter/js/scroller.js +97 -109
  67. data/assets/themes/j1/adapter/js/slick.js +28 -18
  68. data/assets/themes/j1/adapter/js/themeToggler.js +259 -0
  69. data/assets/themes/j1/adapter/js/themer.js +17 -8
  70. data/assets/themes/j1/adapter/js/toccer.js +9 -6
  71. data/assets/themes/j1/adapter/js/translator.js +4 -2
  72. data/assets/themes/j1/adapter/js/waves.js +6 -4
  73. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +1322 -417
  74. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +3 -3
  75. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +1983 -1266
  76. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +3 -3
  77. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +10268 -9402
  78. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +10 -10
  79. data/assets/themes/j1/core/css/vendor.css +0 -14
  80. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  81. data/assets/themes/j1/modules/advertising/js/adInitializer.js +160 -0
  82. data/assets/themes/j1/modules/backstretch/js/backstretch.js +6 -4
  83. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +1 -1
  84. data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.js +1 -1
  85. data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.min.js +1 -1
  86. data/assets/themes/j1/modules/iconPicker/README.md +266 -0
  87. data/assets/themes/j1/modules/iconPicker/css/universal-icon-picker.css +419 -0
  88. data/assets/themes/j1/modules/iconPicker/css/universal-icon-picker.min.css +17 -0
  89. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-brands.json +467 -0
  90. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-brands.min.json +1 -0
  91. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-regular.json +169 -0
  92. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-regular.min.json +1 -0
  93. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-solid.json +1136 -0
  94. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-solid.min.json +1 -0
  95. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome.json +1772 -0
  96. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome.min.json +1 -0
  97. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-light.json +292 -0
  98. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-light.min.json +1 -0
  99. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-regular.json +7312 -0
  100. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-regular.min.json +1 -0
  101. data/assets/themes/j1/modules/iconPicker/images/magnifying-glass-solid.svg +1 -0
  102. data/assets/themes/j1/modules/iconPicker/images/star-of-life-solid.svg +3 -0
  103. data/assets/themes/j1/modules/iconPicker/images/xmark-solid.svg +3 -0
  104. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.js +493 -0
  105. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.min.js +17 -0
  106. data/assets/themes/j1/modules/jquery/AUTHORS.txt +372 -0
  107. data/assets/themes/j1/modules/jquery/LICENSE.txt +43 -0
  108. data/assets/themes/j1/modules/jquery/css/images/ui-icons_444444_256x240.png +0 -0
  109. data/assets/themes/j1/modules/jquery/css/images/ui-icons_555555_256x240.png +0 -0
  110. data/assets/themes/j1/modules/jquery/css/images/ui-icons_777620_256x240.png +0 -0
  111. data/assets/themes/j1/modules/jquery/css/images/ui-icons_777777_256x240.png +0 -0
  112. data/assets/themes/j1/modules/jquery/css/images/ui-icons_cc0000_256x240.png +0 -0
  113. data/assets/themes/j1/modules/jquery/css/images/ui-icons_ffffff_256x240.png +0 -0
  114. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.css +92 -92
  115. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.min.css +4 -4
  116. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.structure.css +88 -88
  117. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.structure.min.css +2 -2
  118. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.theme.css +4 -4
  119. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.theme.min.css +2 -2
  120. data/assets/themes/j1/modules/jquery/js/jquery-ui.js +13683 -13678
  121. data/assets/themes/j1/modules/jquery/js/jquery-ui.min.js +3 -3
  122. data/assets/themes/j1/modules/jquery/js/jquery.js +1029 -1203
  123. data/assets/themes/j1/modules/jquery/js/jquery.min.js +2 -2
  124. data/assets/themes/j1/modules/jquery/js/jquery.min.map +1 -1
  125. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.css +1315 -0
  126. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.min.css +7 -0
  127. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.structure.css +886 -0
  128. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.structure.min.css +5 -0
  129. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.theme.css +446 -0
  130. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.theme.min.css +5 -0
  131. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/hasClass.js +37 -0
  132. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/hasClass.min.js +17 -0
  133. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/removeClass.js +42 -0
  134. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/removeClass.min.js +17 -0
  135. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery-ui.js +19057 -0
  136. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery-ui.min.js +6 -0
  137. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.js +10872 -0
  138. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.min.js +2 -0
  139. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.min.map +1 -0
  140. data/assets/themes/j1/modules/jquery-3.5.1/js/require.js +2145 -0
  141. data/assets/themes/j1/modules/jquery-3.5.1/js/require.min.js +5 -0
  142. data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-video.js +2 -2
  143. data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-video.min.js +1 -1
  144. data/assets/themes/j1/modules/masterslider/css/theme/uno.css +9 -9
  145. data/assets/themes/j1/modules/masterslider/css/theme/uno.min.css +1 -1
  146. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.css +2 -2
  147. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.min.css +1 -1
  148. data/assets/themes/j1/modules/rouge/css/uno.dark/theme.css +136 -47
  149. data/assets/themes/j1/modules/rouge/css/uno.light/theme.css +9 -9
  150. data/assets/themes/j1/modules/scroller/js/scroller.js +76 -69
  151. data/assets/themes/j1/modules/scroller/js/scroller.min.js +1 -1
  152. data/assets/themes/j1/modules/translator/js/translator.js +1 -1
  153. data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
  154. data/lib/j1/version.rb +1 -1
  155. data/lib/starter_web/Gemfile +2 -2
  156. data/lib/starter_web/README.md +5 -5
  157. data/lib/starter_web/_config.yml +4 -1
  158. data/lib/starter_web/_data/blocks/banner.yml +8 -5
  159. data/lib/starter_web/_data/blocks/defaults/footer.yml +3 -3
  160. data/lib/starter_web/_data/blocks/footer.yml +9 -5
  161. data/lib/starter_web/_data/blocks/panel.yml +41 -38
  162. data/lib/starter_web/_data/j1_config.yml +68 -58
  163. data/lib/starter_web/_data/layouts/collection.yml +1 -0
  164. data/lib/starter_web/_data/layouts/default.yml +1 -1
  165. data/lib/starter_web/_data/layouts/home.yml +9 -9
  166. data/lib/starter_web/_data/layouts/news_panel_posts.yml +1 -0
  167. data/lib/starter_web/_data/layouts/page.yml +2 -1
  168. data/lib/starter_web/_data/layouts/post.yml +1 -0
  169. data/lib/starter_web/_data/layouts/raw.yml +1 -0
  170. data/lib/starter_web/_data/modules/advertising.yml +134 -61
  171. data/lib/starter_web/_data/modules/analytics.yml +2 -2
  172. data/lib/starter_web/_data/modules/attics.yml +4 -7
  173. data/lib/starter_web/_data/modules/defaults/advertising.yml +2 -1
  174. data/lib/starter_web/_data/modules/defaults/attics.yml +3 -3
  175. data/lib/starter_web/_data/modules/defaults/iconPicker.yml +42 -0
  176. data/lib/starter_web/_data/modules/defaults/navigator.yml +15 -13
  177. data/lib/starter_web/_data/modules/defaults/theme_toggler.yml +42 -0
  178. data/lib/starter_web/_data/modules/iconPicker.yml +64 -0
  179. data/lib/starter_web/_data/modules/masonry.yml +1 -1
  180. data/lib/starter_web/_data/modules/masterslider.yml +5 -5
  181. data/lib/starter_web/_data/modules/navigator_menu.yml +150 -41
  182. data/lib/starter_web/_data/modules/scroller.yml +8 -8
  183. data/lib/starter_web/_data/modules/theme_toggler.yml +29 -0
  184. data/lib/starter_web/_data/modules/themer.yml +0 -6
  185. data/lib/starter_web/_data/resources.yml +53 -52
  186. data/lib/starter_web/_data/templates/feed.xml +1 -1
  187. data/lib/starter_web/_includes/attributes.asciidoc +57 -50
  188. data/lib/starter_web/_plugins/asciidoctor/google-ad-block.rb +47 -0
  189. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  190. data/lib/starter_web/assets/images/icons/mdi/mdi.svg +1 -0
  191. data/lib/starter_web/assets/images/icons/mdi/mdil.svg +1 -0
  192. data/lib/starter_web/assets/images/modules/attics/1920x1280/alexander-redl.jpg +0 -0
  193. data/lib/starter_web/assets/images/modules/attics/1920x1280/alina-grubnyak.jpg +0 -0
  194. data/lib/starter_web/assets/images/modules/attics/1920x1280/andrea-badino.jpg +0 -0
  195. data/lib/starter_web/assets/images/modules/attics/1920x1280/brad-neathery.jpg +0 -0
  196. data/lib/starter_web/assets/images/modules/attics/1920x1280/bruno-figueiredo.jpg +0 -0
  197. data/lib/starter_web/assets/images/modules/attics/1920x1280/clem-onojeghuo.jpg +0 -0
  198. data/lib/starter_web/assets/images/modules/attics/1920x1280/core_web_vitals_best.png +0 -0
  199. data/lib/starter_web/assets/images/modules/attics/1920x1280/crawford-jolly.jpg +0 -0
  200. data/lib/starter_web/assets/images/modules/attics/1920x1280/eleni-afiontzi.jpg +0 -0
  201. data/lib/starter_web/assets/images/modules/attics/1920x1280/fly-d.jpg +0 -0
  202. data/lib/starter_web/assets/images/modules/attics/1920x1280/guillaume-bolduc.jpg +0 -0
  203. data/lib/starter_web/assets/images/modules/attics/1920x1280/harpal-singh.jpg +0 -0
  204. data/lib/starter_web/assets/images/modules/attics/1920x1280/hayden-mills-2.jpg +0 -0
  205. data/lib/starter_web/assets/images/modules/attics/1920x1280/j1-content-mockup-1.jpg +0 -0
  206. data/lib/starter_web/assets/images/modules/attics/1920x1280/j1-content-mockup-2.jpg +0 -0
  207. data/lib/starter_web/assets/images/modules/attics/1920x1280/j1-content-mockup-3.jpg +0 -0
  208. data/lib/starter_web/assets/images/modules/attics/1920x1280/j1-starter-mockup-1.jpg +0 -0
  209. data/lib/starter_web/assets/images/modules/attics/1920x1280/john-schnobrich-2.jpg +0 -0
  210. data/lib/starter_web/assets/images/modules/attics/1920x1280/josep-martins.jpg +0 -0
  211. data/lib/starter_web/assets/images/modules/attics/1920x1280/josh-liu.jpg +0 -0
  212. data/lib/starter_web/assets/images/modules/attics/1920x1280/kelly-sikkemal.jpg +0 -0
  213. data/lib/starter_web/assets/images/modules/attics/1920x1280/kira-auf-der-heide.jpg +0 -0
  214. data/lib/starter_web/assets/images/modules/attics/1920x1280/kristopher-roller.jpg +0 -0
  215. data/lib/starter_web/assets/images/modules/attics/1920x1280/kristopher-roller.webp +0 -0
  216. data/lib/starter_web/assets/images/modules/attics/1920x1280/matthaeus.jpg +0 -0
  217. data/lib/starter_web/assets/images/modules/attics/1920x1280/melanie-deziel.jpg +0 -0
  218. data/lib/starter_web/assets/images/modules/attics/1920x1280/milad-fakurian.jpg +0 -0
  219. data/lib/starter_web/assets/images/modules/attics/1920x1280/mohammad-rahmani.jpg +0 -0
  220. data/lib/starter_web/assets/images/modules/attics/1920x1280/nasa.jpg +0 -0
  221. data/lib/starter_web/assets/images/modules/attics/1920x1280/quino-al-2.jpg +0 -0
  222. data/lib/starter_web/assets/images/modules/attics/1920x1280/recha-oktaviani.jpg +0 -0
  223. data/lib/starter_web/assets/images/modules/attics/building-blocks-1920x1280.jpg +0 -0
  224. data/lib/starter_web/assets/images/modules/attics/christina-1920x1280.jpg +0 -0
  225. data/lib/starter_web/assets/images/modules/attics/cookies-1920x1200.jpg +0 -0
  226. data/lib/starter_web/assets/images/modules/attics/katie-moum-1920x1280.jpg +0 -0
  227. data/lib/starter_web/assets/images/pages/core_web_vitals/core_web_vitals_best.jpg +0 -0
  228. data/lib/starter_web/assets/images/pages/core_web_vitals/core_web_vitals_best.png +0 -0
  229. data/lib/starter_web/assets/images/pages/core_web_vitals/core_web_vitals_best_full.png +0 -0
  230. data/lib/starter_web/assets/images/pages/html_validator/appdevtools-html-validator.jpg +0 -0
  231. data/lib/starter_web/assets/images/pages/html_validator/freeformatter-html-validator.jpg +0 -0
  232. data/lib/starter_web/assets/images/pages/html_validator/w3c-nu-checker.jpg +0 -0
  233. data/lib/starter_web/assets/images/pages/html_validator/w3c-validator.jpg +0 -0
  234. data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +8 -9
  235. data/lib/starter_web/collections/_biography/becoming.adoc +22 -9
  236. data/lib/starter_web/collections/_biography/born-to-run.adoc +27 -9
  237. data/lib/starter_web/collections/_biography/forty-autumns.adoc +19 -12
  238. data/lib/starter_web/collections/_biography/not-dead-yet.adoc +24 -14
  239. data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +23 -14
  240. data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +24 -11
  241. data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +14 -10
  242. data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +11 -8
  243. data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +7 -8
  244. data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +17 -14
  245. data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +12 -13
  246. data/lib/starter_web/collections/_fantasy/terry-pratchet-diary.adoc +15 -15
  247. data/lib/starter_web/collections/_people/diana-petersen.adoc +2 -0
  248. data/lib/starter_web/collections/_people/larry-parker.adoc +2 -0
  249. data/lib/starter_web/collections/_people/parveen-anand.adoc +2 -0
  250. data/lib/starter_web/collections/_portfolio/branding.adoc +5 -0
  251. data/lib/starter_web/collections/_portfolio/graphic_design.adoc +5 -0
  252. data/lib/starter_web/collections/_portfolio/identity.adoc +5 -0
  253. data/lib/starter_web/collections/_portfolio/illustration.adoc +5 -0
  254. data/lib/starter_web/collections/_portfolio/photography.adoc +5 -0
  255. data/lib/starter_web/collections/_portfolio/web_design.adoc +5 -0
  256. data/lib/starter_web/collections/_romance/breath-of-snow-and-ashes-a.adoc +8 -5
  257. data/lib/starter_web/collections/_romance/dressmaker-the.adoc +14 -14
  258. data/lib/starter_web/collections/_romance/fiery-cross-the.adoc +12 -9
  259. data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +14 -11
  260. data/lib/starter_web/collections/_romance/outlander-novel.adoc +48 -25
  261. data/lib/starter_web/collections/_romance/virgins-outlander-short-story.adoc +30 -15
  262. data/lib/starter_web/index.html +6 -14
  263. data/lib/starter_web/package.json +3 -3
  264. data/lib/starter_web/pages/public/about/features.adoc +1 -4
  265. data/lib/starter_web/pages/public/about/reporting_issues.adoc +1 -3
  266. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +0 -5
  267. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +0 -4
  268. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +0 -5
  269. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +0 -5
  270. data/lib/starter_web/pages/public/blog/navigator/index.html +2 -6
  271. data/lib/starter_web/pages/public/features/general.adoc +0 -4
  272. data/lib/starter_web/pages/public/features/template.adoc +0 -4
  273. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_all_books.adoc +1 -3
  274. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +1 -1
  275. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +1 -1
  276. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +1 -2
  277. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +75 -66
  278. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/attributes.asciidoc +58 -0
  279. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/accordion.asciidoc +34 -0
  280. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/alerts.asciidoc +15 -0
  281. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/badges.asciidoc +9 -0
  282. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/body.asciidoc +14 -0
  283. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/breadcrumbs.asciidoc +14 -0
  284. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/buttons.asciidoc +75 -0
  285. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/cards.asciidoc +22 -0
  286. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/carousel.asciidoc +37 -0
  287. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/close.asciidoc +15 -0
  288. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/code.asciidoc +14 -0
  289. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/color_system.asciidoc +353 -0
  290. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/components.asciidoc +69 -0
  291. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/dropdowns.asciidoc +53 -0
  292. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/figures.asciidoc +5 -0
  293. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/forms.asciidoc +270 -0
  294. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/grid.asciidoc +49 -0
  295. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/links.asciidoc +21 -0
  296. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/list_groups.asciidoc +28 -0
  297. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/modals.asciidoc +43 -0
  298. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/navbar.asciidoc +45 -0
  299. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/navs.asciidoc +28 -0
  300. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/offcanvas.asciidoc +16 -0
  301. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/options.asciidoc +30 -0
  302. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/pagination.asciidoc +40 -0
  303. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/paragraph.asciidoc +5 -0
  304. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/placeholders.asciidoc +5 -0
  305. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/popovers.asciidoc +28 -0
  306. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/position.asciidoc +8 -0
  307. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/progress_bars.asciidoc +12 -0
  308. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/spacing.asciidoc +14 -0
  309. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/spinners.asciidoc +12 -0
  310. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/tables.asciidoc +55 -0
  311. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/thumbnails.asciidoc +9 -0
  312. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/toasts.asciidoc +18 -0
  313. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/tooltips.asciidoc +28 -0
  314. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/typography.asciidoc +115 -0
  315. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/z_index.asciidoc +26 -0
  316. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/tables/_table.asciidoc +9 -0
  317. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/tables/accordion.asciidoc +87 -0
  318. data/lib/starter_web/pages/public/learn/bs_sass_variables/bs_sass_variables.adoc +262 -0
  319. data/lib/starter_web/pages/public/learn/cheatsheet/gem.adoc +255 -0
  320. data/lib/starter_web/pages/public/learn/cheatsheet/git.adoc +1458 -0
  321. data/lib/starter_web/pages/public/learn/cheatsheet/j1.adoc +63 -0
  322. data/lib/starter_web/pages/public/learn/cheatsheet/yaml.adoc +514 -0
  323. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/attributes.asciidoc +59 -0
  324. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/documents/100_chapter.asciidoc +541 -0
  325. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/documents/200_chapter.asciidoc +33 -0
  326. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/build_command_options.asciidoc +72 -0
  327. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/files_and_folders.asciidoc +66 -0
  328. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/global_configuration_options.asciidoc +63 -0
  329. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/global_variables.asciidoc +26 -0
  330. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/page_variables.asciidoc +54 -0
  331. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/serve_command_options.asciidoc +45 -0
  332. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/site_variables.asciidoc +59 -0
  333. data/lib/starter_web/pages/public/learn/core_web_vitals/core_web_vitals.adoc +442 -0
  334. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +1 -1
  335. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc +3 -4
  336. data/lib/starter_web/pages/public/learn/roundtrip/asciidoc_extensions.adoc +2 -2
  337. data/lib/starter_web/pages/public/learn/roundtrip/icon_fonts.adoc +10 -10
  338. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.adoc +0 -2
  339. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +8 -2
  340. data/lib/starter_web/pages/public/learn/roundtrip/responsive_tables.adoc +3 -7
  341. data/lib/starter_web/pages/public/learn/where_to_go.adoc +39 -45
  342. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +2 -6
  343. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +0 -1
  344. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +2 -6
  345. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +2 -6
  346. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +0 -2
  347. data/lib/starter_web/pages/public/plans/plans.adoc +0 -2
  348. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +93 -7
  349. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  350. data/lib/starter_web/utilsrv/package.json +1 -1
  351. metadata +133 -24
  352. data/_includes/themes/j1/modules/ads/google_ad_content_home.html +0 -11
  353. data/_includes/themes/j1/modules/ads/google_ad_top_home.html +0 -11
  354. data/assets/themes/j1/core/css/nbinteract-tutorial/styles.css +0 -1711
  355. data/assets/themes/j1/core/css/nbinteract-tutorial/styles.min.css +0 -1
  356. data/assets/themes/j1/modules/advertising/js/google/adInitializer.js +0 -127
  357. data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.2.js +0 -460
  358. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.css +0 -97
  359. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.min.css +0 -15
  360. data/assets/themes/j1/modules/mdiPreviewer/js/previewer.js +0 -115
  361. data/assets/themes/j1/modules/mdiPreviewer/js/previewer.min.js +0 -15
  362. data/assets/themes/j1/modules/mdilPreviewer/css/previewer.css +0 -97
  363. data/assets/themes/j1/modules/mdilPreviewer/css/previewer.min.css +0 -15
  364. data/assets/themes/j1/modules/mdilPreviewer/js/previewer.js +0 -125
  365. data/assets/themes/j1/modules/mdilPreviewer/js/previewer.min.js +0 -15
  366. data/lib/starter_web/_includes/themes/j1/modules/ads/google_ad_content_home.html +0 -11
  367. data/lib/starter_web/_includes/themes/j1/modules/ads/google_ad_top_home.html +0 -11
  368. /data/lib/starter_web/assets/images/{promo → quotes/promo}/home/screenshot.jpg +0 -0
  369. /data/lib/starter_web/assets/images/{promo → quotes/promo}/jekyll/jekyll-faq.jpg +0 -0
  370. /data/lib/starter_web/assets/images/{promo → quotes/promo}/jekyll/jekyll-generator.jpg +0 -0
  371. /data/lib/starter_web/assets/images/{promo → quotes/promo}/jekyll/jekyll-generator.png +0 -0
  372. /data/lib/starter_web/assets/images/{promo → quotes/promo}/jekyll/jekyll-og.png +0 -0
  373. /data/lib/starter_web/assets/images/{promo → quotes/promo}/jekyll/scalable/jekyll-faq.psd +0 -0
@@ -0,0 +1,63 @@
1
+ ---
2
+ title: J1 Template
3
+ tagline: Cheatsheet for daily use
4
+ date: 2023-05-19 00:00:00 +100
5
+ description: >
6
+ The Cheatsheet discuss j1 commands for daily use.
7
+ The Template system J1 is a creation tool used to build
8
+ simple but fully configurable modern static websites
9
+ using the generator Jekyll.
10
+ keywords: >
11
+ Jekyll, Theme, JekyllOne, Info, Manual, Cheatsheet, J1, Template
12
+
13
+ categories: [ Manual ]
14
+ tags: [ Cheatsheet, JekyllOne, Template ]
15
+
16
+ image:
17
+ path: /assets/images/modules/attics/1920x1280/recha-oktaviani.jpg
18
+ width: 1920
19
+ height: 1280
20
+ alt: Photo by Recha Oktaviani on Unsplash
21
+
22
+ regenerate: false
23
+ permalink: /pages/public/learn/cheatsheet/j1/
24
+
25
+ resources: [ animate, clipboard, rouge ]
26
+ resource_options:
27
+ - attic:
28
+ slides:
29
+ - url: /assets/images/modules/attics/1920x1280/recha-oktaviani.jpg
30
+ alt: Photo by Recha Oktaviani on Unsplash
31
+ badge:
32
+ type: unsplash
33
+ author: Recha Oktaviani
34
+ href: https://unsplash.com/de/@rechaoktaviani
35
+ ---
36
+
37
+ // Page Initializer
38
+ // =============================================================================
39
+ // Enable the Liquid Preprocessor
40
+ :page-liquid:
41
+
42
+ // Set (local) page attributes here
43
+ // -----------------------------------------------------------------------------
44
+ // :page--attr: <attr-value>
45
+
46
+ // Load Liquid procedures
47
+ // -----------------------------------------------------------------------------
48
+ {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
49
+
50
+ // Load page attributes
51
+ // -----------------------------------------------------------------------------
52
+ {% include {{load_attributes}} scope="global" %}
53
+
54
+
55
+ // Page content
56
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57
+
58
+ // Include sub-documents (if any)
59
+ // -----------------------------------------------------------------------------
60
+ [role="dropcap"]
61
+ The Cheatsheet discuss j1 commands for daily use. The Template system J1 is
62
+ a creation tool used to build simple but fully configurable modern static
63
+ websites using the generator Jekyll.
@@ -0,0 +1,514 @@
1
+ ---
2
+ title: YAML
3
+ tagline: Cheatsheet for daily use
4
+ date: 2023-05-19 00:00:00 +100
5
+ description: >
6
+ The Cheatsheet discuss YAML Markups for daily use.
7
+ YAML (short for "YAML Ain't Markup Language") is a human-readable data
8
+ serialization format. Its simplicity and readability stand out, making it
9
+ popular for configuration files and data exchange between systems.
10
+ keywords: >
11
+ Jekyll, Theme, JekyllOne, Info, Manual, Cheatsheet, Ruby, Gem
12
+
13
+ categories: [ Manual ]
14
+ tags: [ Cheatsheet, Gem ]
15
+
16
+ image:
17
+ path: /assets/images/modules/attics/1920x1280/recha-oktaviani.jpg
18
+ width: 1920
19
+ height: 1280
20
+ alt: Photo by Recha Oktaviani on Unsplash
21
+
22
+ regenerate: false
23
+ permalink: /pages/public/learn/cheatsheet/yaml/
24
+
25
+ resources: [ animate, clipboard, rouge ]
26
+ resource_options:
27
+ - attic:
28
+ slides:
29
+ - url: /assets/images/modules/attics/1920x1280/recha-oktaviani.jpg
30
+ alt: Photo by Recha Oktaviani on Unsplash
31
+ badge:
32
+ type: unsplash
33
+ author: Recha Oktaviani
34
+ href: https://unsplash.com/de/@rechaoktaviani
35
+ ---
36
+
37
+ // Page Initializer
38
+ // =============================================================================
39
+ // Enable the Liquid Preprocessor
40
+ :page-liquid:
41
+
42
+ // Set (local) page attributes here
43
+ // -----------------------------------------------------------------------------
44
+ // :page--attr: <attr-value>
45
+ :yaml-multiline: https://yaml-multiline.info/
46
+
47
+
48
+ // Load Liquid procedures
49
+ // -----------------------------------------------------------------------------
50
+ {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
51
+
52
+ // Load page attributes
53
+ // -----------------------------------------------------------------------------
54
+ {% include {{load_attributes}} scope="global" %}
55
+
56
+
57
+ // Page content
58
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59
+
60
+ // Include sub-documents (if any)
61
+ // -----------------------------------------------------------------------------
62
+ [role="dropcap"]
63
+ The Cheatsheet discuss Yaml Markups for daily use.
64
+ _YAML_ (short for YAML Ain't Markup Language) is a human-readable data
65
+ serialization format. Its simplicity and readability stand out, making it
66
+ popular for configuration files and data exchange between systems.
67
+ _YAML_ was designed to be easily readable by humans, focusing on simplicity
68
+ and conciseness. It uses indentation and whitespace to define the data
69
+ structure, similar to how Python uses indentation.
70
+
71
+ The Markup Language is widely used for *configuration files* in applications,
72
+ such as specifying settings for software or defining deployment configurations
73
+ in infrastructure-as-code tools. _YAML_ is used for data exchange
74
+ between different systems or programming languages. Jekyll is primarily
75
+ using the language for defining general *datafiles* like the site config
76
+ `_config.yml` and the *frontmatter* of pages, posts, and other content files.
77
+
78
+ NOTE: The *frontmatter* provides the data to Jekyll on processing and
79
+ rendering the content of posts and pages.
80
+
81
+ [role="mb-5"]
82
+ The following examples give a good overview of YAML documents' most common
83
+ data structures. Many modern applications, like Jekyll, use YAML documents
84
+ to provide control data.
85
+
86
+ // Include sub-documents (if any)
87
+ // -----------------------------------------------------------------------------
88
+ [role="mt-5"]
89
+ == Helpful Links
90
+
91
+ The documentation of _YAML_ is a good source of information but is challenging
92
+ to read. The tools given below can help to write the correct YAML document,
93
+ or test your own YAML data codes:
94
+
95
+ mdi:link-variant[24px, md-gray mr-2 ml-3]
96
+ http://www.yaml.org/spec/1.2/spec.html[YAML 1.2 Spec, {browser-window--new}] +
97
+ mdi:link-variant[24px, md-gray mr-2 ml-3]
98
+ http://www.yamllint.com/[Online YAML Linter, {browser-window--new}] +
99
+ mdi:link-variant[24px, md-gray mr-2 ml-3]
100
+ https://yaml-online-parser.appspot.com/[Online YAML Parser, {browser-window--new}]
101
+
102
+ NOTE: YAML and JSON are related as data serialization formats, with YAML
103
+ providing a more human-friendly and expressive syntax, while JSON focuses
104
+ on simplicity and machine readability. They have overlapping use cases but
105
+ exhibit some differences in syntax, data types, and readability. JavaScript
106
+ has built-in support for working with JSON data, making it a popular choice
107
+ for handling data exchange in web applications.
108
+
109
+ [role="mt-5"]
110
+ == Scalars
111
+
112
+ In _YAML_, a *scalar* is a basic data element representing a *single value*.
113
+ Scalars can define strings, numbers, booleans, and null values. Here are
114
+ the different types of YAML scalars:
115
+
116
+ * *Strings* -- *strings* enclosed in *quotes* or double quotes
117
+ * *Numbers* -- *numeric* values, including integers and floats
118
+ * *Booleans* -- *boolean* values, either true or false
119
+ * *Null* -- *empty* values
120
+
121
+ [source, yaml]
122
+ ----
123
+ integer: 1
124
+ float: 1.234
125
+ string1: 'abc'
126
+ string2: "abc"
127
+ string3: abc
128
+ boolean: false
129
+ empty: null
130
+ ----
131
+
132
+ .JSON data structure
133
+ [source, json, role="noclip"]
134
+ ----
135
+ {
136
+ "integer": 1,
137
+ "float": 1.234,
138
+ "string1": "abc",
139
+ "string2": "abc",
140
+ "string3": "abc",
141
+ "boolean": false,
142
+ "empty": null
143
+ }
144
+ ----
145
+
146
+ === Date Strings
147
+
148
+ Date strings are *scalars* of type *string* follow the *ISO 8601 standard*
149
+ format. The most common representations of *date* in _YAML_ are:
150
+
151
+ * *Date Only* -- `YYYY-MM-DD`, example: 2023-05-23
152
+ * *Date and Time* -- `YYYY-MM-DDTHH:MM:SSZ`, example: 2023-05-23T10:30:00Z
153
+
154
+ In the above format, `T` separates the date and time components,
155
+ `HH` represents hours in 24-hour format, `MM` represents minutes,
156
+ `SS` represents seconds, and `Z` indicates that the time is in
157
+ *UTC* (Coordinated Universal Time).
158
+
159
+ TIP: The time component can also include *milliseconds*, such as
160
+ `HH:MM:SS.sssZ` (triple `s`).
161
+
162
+ _YAML_ also supports alternative formats for date strings, such as:
163
+
164
+ * *Date and Time with Timezone Offset* -- `YYYY-MM-DDTHH:MM:SS±HH:MM`,
165
+ example: 2023-05-23T10:30:00-04:00. In this format, the timezone
166
+ offset is represented as `±HH:MM`, indicating the time difference
167
+ from *UTC*.
168
+ * *Date and Time without Timezone* -- `YYYY-MM-DDTHH:MM:SS`,
169
+ example: 2023-05-23T10:30:00
170
+
171
+ TIP: When *no timezone* is specified, the time is assumed to be in the
172
+ *local timezone*.
173
+
174
+ [source, yaml]
175
+ ----
176
+ date1: 2015-04-05
177
+ date2: 2022-11-03 00:00:00 +100
178
+ ----
179
+
180
+ .JSON data structure
181
+ [source, json, role="noclip"]
182
+ ----
183
+ {
184
+ "date1": "2015-04-05T00:00:00.000Z",
185
+ "date2": "2022-11-03 00:00:00 +100"
186
+ }
187
+ ----
188
+
189
+ === Multiline strings (HereDoc)
190
+
191
+ A *HereDoc* (short for *here document*) is a way to represent *multi-line*
192
+ strings or blocks of text within YAML documents. It allows you to define
193
+ a string value that spans *multiple lines* while preserving the line breaks
194
+ and formatting.
195
+
196
+ _YAML_ indicates a HereDoc using the *pipe* character (`|`) followed by an
197
+ optional *indentation level*. The HereDoc block starts on the next line
198
+ and continues until the indentation is reduced to the level of the initial
199
+ pipe character or until the end of the document.
200
+
201
+ [source, yaml]
202
+ ----
203
+ message: |
204
+ This is a multi-line
205
+ string using a HereDoc.
206
+ It preserves line breaks and formatting.
207
+ ----
208
+
209
+ In this example, the message field contains a multi-line string defined
210
+ using a HereDoc. The pipe `|` character indicates the start of the HereDoc,
211
+ and the following lines are indented with two spaces. The resulting value
212
+ of the message field will include the line breaks and indentation specified
213
+ within the HereDoc block.
214
+
215
+ [source, json, role="noclip"]
216
+ ----
217
+ {
218
+ "message": "This is a multi-line\nstring using a HereDoc.\nIt preserves line breaks and formatting.\n"
219
+ }
220
+ ----
221
+
222
+ You can also control the handling of leading and trailing white space within
223
+ a HereDoc by using *additional symbols*:
224
+
225
+ * `|+` symbol preserves the line breaks and removes trailing
226
+ white space. It *trims* any spaces or tabs at the *end* of each line.
227
+ * `|-` symbol preserves the line breaks and removes any leading
228
+ white space. It *trims* any spaces or tabs at the *beginning* of each line.
229
+
230
+ Here's an example using the different HereDoc *symbols*:
231
+
232
+ [source, yaml]
233
+ ----
234
+ message1: |-
235
+ This is a HereDoc with leading and trailing spaces.
236
+ This line has leading spaces.
237
+ This line has trailing spaces.
238
+ message2: |+
239
+ This is a HereDoc with trailing spaces trimmed.
240
+ This line has trailing spaces.
241
+ This line has leading spaces.
242
+ ----
243
+
244
+ .JSON data structure
245
+ [source, json, role="noclip"]
246
+ ----
247
+ {
248
+ "message1": "This is a HereDoc with leading and trailing spaces.\n This line has leading spaces.\nThis line has trailing spaces. ",
249
+ "message2": "This is a HereDoc with trailing spaces trimmed.\nThis line has trailing spaces. \nThis line has leading spaces. \n",
250
+ }
251
+ ----
252
+
253
+ In this example:
254
+
255
+ * *message1* uses `|-` to trim *leading* spaces
256
+ * *message2* uses `|+` to trim *trailing* spaces
257
+
258
+ TIP: Using HereDocs, you can include long, formatted text blocks in your YAML
259
+ documents without requiring *manual* line concatenation or escaping characters.
260
+ There is a good online previewer for the different heredoc modes at
261
+ link:{yaml-multiline}[YAML Multiline, {browser-window--new}].
262
+
263
+ [role="mt-5"]
264
+ == Sequences (Arrays)
265
+
266
+ A sequence is a way to represent a *collection* of items. It allows you
267
+ to define an *ordered list* of values, similar to an *array* or a list
268
+ in other programming languages. Sequences in _YAML_ are denoted by a *dash*
269
+ followed by a *space* (` `), and each item in the sequence is placed on a
270
+ *new line* and *indented*.
271
+
272
+ === Simple sequence
273
+
274
+ In this example, the sequence is represented by the key *fruits* followed
275
+ by a colon (`:`). The items in the sequence *apple*, *banana*, and *orange*
276
+ are indented under the key *fruits* using the dash (`- `) notation.
277
+
278
+ [source, yaml]
279
+ ----
280
+ fruits:
281
+ - apple
282
+ - banana
283
+ - orange
284
+ ----
285
+
286
+ or written like so:
287
+
288
+ [source, yaml]
289
+ ----
290
+ fruits: [ apple, banana, orange ]
291
+ ----
292
+
293
+ .JSON data structure
294
+ [source, json, role="noclip"]
295
+ ----
296
+ {
297
+ "fruits": [
298
+ "apple",
299
+ "banana",
300
+ "orange"
301
+ ]
302
+ }
303
+ ----
304
+
305
+ === Sequence of sequences
306
+
307
+ In _YAML_, a sequence of sequences (Array of arrays) refers to a structure
308
+ where a sequence contains other sequences as its elements. Each item in the
309
+ outer sequence is itself a sequence. It allows you to create a nested
310
+ collection within an collection.
311
+
312
+ Here's an example of a YAML sequence of sequences:
313
+
314
+ [source, yaml]
315
+ ----
316
+ list_of_lists:
317
+ - fruits: [ apple, banana, orange ]
318
+ - colors: [ red, blue, green ]
319
+ ----
320
+
321
+ .JSON data structure
322
+ [source, json, role="noclip"]
323
+ ----
324
+ {
325
+ "list_of_lists": [
326
+ {
327
+ "fruits": [
328
+ "apple",
329
+ "banana",
330
+ "orange"
331
+ ]
332
+ },
333
+ {
334
+ "colors": [
335
+ "red",
336
+ "blue",
337
+ "green"
338
+ ]
339
+ }
340
+ ]
341
+ }
342
+ ----
343
+
344
+ You can nest sequences of sequences to represent more complex structures
345
+ or hierarchical data. Nesting sequences allow you to organize and represent
346
+ data in a structured manner within YAML documents.
347
+
348
+ [role="mt-5"]
349
+ == Hash (Dictionary)
350
+
351
+ A hash is a data structure used to represent *key-value pairs*. It is also
352
+ known as a mapping or *dictionary* in other programming languages.
353
+ Hashes in YAML are denoted using indentation and a colon to separate
354
+ the *key* and *value*.
355
+
356
+ === Simple hash
357
+
358
+ [source, yaml]
359
+ ----
360
+ name: John Doe
361
+ age: 30
362
+ email: johndoe@example.com
363
+ ----
364
+
365
+ The hash represents a collection of related *key-value pairs*. In the example,
366
+ *name*, *age*, and *email* are `keys`, and *John Doe+, *30*,
367
+ and *johndoe@example.com* are their corresponding `values`.
368
+
369
+ .JSON data structure
370
+ [source, json, role="noclip"]
371
+ ----
372
+ {
373
+ "name": "John Doe",
374
+ "age": 30,
375
+ "email": "johndoe@example.com"
376
+ }
377
+ ----
378
+
379
+ === Named hash
380
+
381
+ [source, yaml]
382
+ ----
383
+ person:
384
+ name: John Doe
385
+ age: 30
386
+ email: johndoe@example.com
387
+ ----
388
+
389
+ .JSON data structure
390
+ [source, json, role="noclip"]
391
+ ----
392
+ {
393
+ "person": {
394
+ "name": "John Doe",
395
+ "age": 30,
396
+ "email": "johndoe@example.com"
397
+ }
398
+ }
399
+ ----
400
+
401
+ === Nested hash
402
+
403
+ Hashes can also be *nested* within other hashes (Hash of Hashes), allowing
404
+ for more *complex* data structures. Here's an example of a nested hash
405
+ in _YAML_.
406
+
407
+ [source, yaml]
408
+ ----
409
+ nested_hash:
410
+ hash1:
411
+ subsubkey1: 5
412
+ subsubkey2: 6
413
+ hash2:
414
+ somethingelse: Important!
415
+ ----
416
+
417
+ .JSON data structure
418
+ [source, json, role="noclip"]
419
+ ----
420
+ {
421
+ "nested_hash": {
422
+ "hash1": {
423
+ "subsubkey1": 5,
424
+ "subsubkey2": 6
425
+ },
426
+ "hash2": {
427
+ "somethingelse": "Important!"
428
+ }
429
+ }
430
+ }
431
+ ----
432
+
433
+ [NOTE]
434
+ ====
435
+ Hashes with *JSON* syntax (mixing is possible)
436
+
437
+ [source, yaml]
438
+ ----
439
+ my_hash: { nr1: 5, nr2: 6 }
440
+ ----
441
+
442
+ .JSON data structure
443
+ [source, json, role="noclip"]
444
+ ----
445
+ {
446
+ "my_hash": {
447
+ "nr1": 5,
448
+ "nr2": 6
449
+ }
450
+ }
451
+ ----
452
+ ====
453
+
454
+ [role="mt-5"]
455
+ == Content References (Aliases)
456
+
457
+ In _YAML_, content references are a feature that allows you to reference
458
+ and *reuse* data from one part of a YAML document in another part. They
459
+ are indicated by an ampersand (`&`) followed by an identifier, and then
460
+ the *same* identifier preceded by an asterisk (`*`) where the referenced
461
+ content is to be used.
462
+
463
+ TIP: Content references in _YAML_ provide a way to avoid *duplicating data*
464
+ and promote reusability. They are particularly useful when you have complex
465
+ data structures and want to refer to them multiple times within the *same*
466
+ document.
467
+
468
+ [source, yaml]
469
+ ----
470
+ default_settings: &default_settings
471
+ install:
472
+ dir: /usr/local
473
+ owner: root
474
+ config:
475
+ enabled: false
476
+ run:
477
+ enabled: true
478
+ my_app_settings:
479
+ <<: *default_settings
480
+ install:
481
+ owner: my_user
482
+ group: my_group
483
+ ----
484
+
485
+ .JSON data structure
486
+ [source, json, role="noclip"]
487
+ ----
488
+ {
489
+ "default_settings": {
490
+ "install": {
491
+ "dir": "/usr/local",
492
+ "owner": "root"
493
+ },
494
+ "config": {
495
+ "enabled": false
496
+ },
497
+ "run": {
498
+ "enabled": true
499
+ }
500
+ },
501
+ "my_app_settings": {
502
+ "install": {
503
+ "owner": "my_user",
504
+ "group": "my_group"
505
+ },
506
+ "config": {
507
+ "enabled": false
508
+ },
509
+ "run": {
510
+ "enabled": true
511
+ }
512
+ }
513
+ }
514
+ ----
@@ -0,0 +1,59 @@
1
+ // ~/document_base_folder/000_includes
2
+ // Asciidoc attribute includes: attributes.asciidoc
3
+ // -----------------------------------------------------------------------------
4
+
5
+ // URLs - Internal references and/or sources on the Internet
6
+ // -----------------------------------------------------------------------------
7
+ tag::urls[]
8
+
9
+ :url-j1--home: https://jekyll.one/
10
+
11
+ end::urls[]
12
+
13
+
14
+ // FOOTNOTES, global asciidoc attributes (variables)
15
+ // -----------------------------------------------------------------------------
16
+ tag::footnotes[]
17
+ end::footnotes[]
18
+
19
+
20
+ // Tags - Asciidoc attributes used internally
21
+ // -----------------------------------------------------------------------------
22
+ tag::tags[]
23
+ end::tags[]
24
+
25
+
26
+ // Data - Data elements for Asciidoctor extensions
27
+ // -----------------------------------------------------------------------------
28
+ tag::data[]
29
+
30
+ :data-image--core_web_vitals_best: "assets/images/pages/core_web_vitals/core_web_vitals_best.png, Excellent performance values (Lighthouse)"
31
+ :data-image--core_web_vitals_best_full: "assets/images/pages/core_web_vitals/core_web_vitals_best_full.png, Excellent performance values (Lighthouse)"
32
+
33
+ end::data[]
34
+
35
+
36
+ // Images - Images from local include/images folder
37
+ // -----------------------------------------------------------------------------
38
+ tag::images[]
39
+ end::images[]
40
+
41
+
42
+ // PRODUCTS, local product information (e.g. release)
43
+ // -----------------------------------------------------------------------------
44
+ tag::products
45
+
46
+ :license: e.g. Apache License, Version 2.0
47
+ :revdate: e.g. 2018
48
+ :revnumber: e.g. 1.2.3
49
+
50
+ end::products[]
51
+
52
+
53
+ // AUTHORS, local author information (e.g. article)
54
+ // -----------------------------------------------------------------------------
55
+ tag::authors[]
56
+
57
+ :uri-author-xxx: https://xxx
58
+
59
+ end::authors[]