j1-template 2023.1.0 → 2023.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_collection.html +2 -3
  3. data/assets/data/banner.html +8 -6
  4. data/assets/data/masonry.html +263 -73
  5. data/assets/data/slick.html +155 -59
  6. data/assets/error_pages/HTTP204.html +1 -1
  7. data/assets/error_pages/HTTP400.html +1 -1
  8. data/assets/error_pages/HTTP401.html +1 -1
  9. data/assets/error_pages/HTTP403.html +1 -1
  10. data/assets/error_pages/HTTP404.html +1 -1
  11. data/assets/error_pages/HTTP444.html +1 -1
  12. data/assets/error_pages/HTTP445.html +1 -1
  13. data/assets/error_pages/HTTP446.html +1 -1
  14. data/assets/error_pages/HTTP447.html +1 -1
  15. data/assets/error_pages/HTTP448.html +1 -1
  16. data/assets/error_pages/HTTP500.html +1 -1
  17. data/assets/error_pages/HTTP501.html +1 -1
  18. data/assets/error_pages/HTTP502.html +1 -1
  19. data/assets/error_pages/HTTP503.html +1 -1
  20. data/assets/themes/j1/adapter/js/masonry.js +9 -1
  21. data/assets/themes/j1/adapter/js/slick.js +239 -134
  22. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +247 -0
  23. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  24. data/assets/themes/j1/core/js/template.js +55 -57
  25. data/assets/themes/j1/core/js/template.min.js +6 -6
  26. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  27. data/assets/themes/j1/modules/masonry/css/theme/uno.css +1 -1
  28. data/assets/themes/j1/modules/masonry/css/theme/uno.min.css +1 -1
  29. data/assets/themes/j1/modules/slick/lightbox/README.md +6 -1
  30. data/assets/themes/j1/modules/slick/lightbox/css/theme/uno.css +36 -0
  31. data/assets/themes/j1/modules/slick/lightbox/css/theme/uno.min.css +15 -0
  32. data/assets/themes/j1/modules/slick/lightbox/js/slick-lightbox.js +1 -1
  33. data/assets/themes/j1/modules/slick/slider/css/theme/uno.css +173 -137
  34. data/assets/themes/j1/modules/slick/slider/css/theme/uno.min.css +1 -1
  35. data/assets/themes/j1/modules/slick/slider/js/slick.js +2970 -2233
  36. data/assets/themes/j1/modules/translator/css/translator.css +3 -19
  37. data/assets/themes/j1/modules/translator/css/translator.min.css +1 -1
  38. data/lib/j1/version.rb +1 -1
  39. data/lib/starter_web/Gemfile +1 -1
  40. data/lib/starter_web/README.md +5 -5
  41. data/lib/starter_web/_config.yml +25 -1
  42. data/lib/starter_web/_data/blocks/banner.yml +45 -46
  43. data/lib/starter_web/_data/blocks/panel.yml +9 -9
  44. data/lib/starter_web/_data/layouts/home.yml +39 -21
  45. data/lib/starter_web/_data/modules/defaults/slick.yml +2 -2
  46. data/lib/starter_web/_data/modules/masonry.yml +155 -41
  47. data/lib/starter_web/_data/modules/navigator_menu.yml +632 -591
  48. data/lib/starter_web/_data/modules/scroller.yml +1 -1
  49. data/lib/starter_web/_data/modules/slick.yml +260 -54
  50. data/lib/starter_web/_data/puma/config.rb +10 -0
  51. data/lib/starter_web/_data/resources.yml +1 -0
  52. data/lib/starter_web/_data/templates/feed.xml +1 -1
  53. data/lib/starter_web/_includes/attributes.asciidoc +24 -0
  54. data/lib/starter_web/_includes/custom/static/readme +1 -1
  55. data/lib/starter_web/_includes/custom/templates/collection_panel.html +131 -0
  56. data/lib/starter_web/_includes/custom/templates/custom_header.html +98 -76
  57. data/lib/starter_web/_includes/custom/templates/people_panel.html +144 -0
  58. data/lib/starter_web/_includes/custom/templates/readme +1 -1
  59. data/lib/starter_web/_plugins/asciidoctor/carousel-block.rb +1 -1
  60. data/lib/starter_web/_plugins/asciidoctor/gallery-block.rb +1 -1
  61. data/lib/starter_web/_plugins/asciidoctor/gist-block.rb +1 -1
  62. data/lib/starter_web/_plugins/asciidoctor/lightbox-block.rb +1 -1
  63. data/lib/starter_web/_plugins/asciidoctor/masonry-block.rb +1 -1
  64. data/lib/starter_web/_plugins/asciidoctor/masterslider-block.rb +1 -1
  65. data/lib/starter_web/_plugins/asciidoctor/mdil-icon-inline.rb +10 -0
  66. data/lib/starter_web/_plugins/asciidoctor/placeholder-inline.rb +44 -0
  67. data/lib/starter_web/_plugins/asciidoctor/slick-block.rb +1 -1
  68. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  69. data/lib/starter_web/assets/images/collections/people/diana-petersen.jpg +0 -0
  70. data/lib/starter_web/assets/images/collections/people/larry-parker.jpg +0 -0
  71. data/lib/starter_web/assets/images/collections/people/parveen-anand.jpg +0 -0
  72. data/lib/starter_web/assets/images/modules/attics/1920x1280/kelly-sikkemal.jpg +0 -0
  73. data/lib/starter_web/assets/images/modules/attics/1920x1280/kira-auf-der-heide.jpg +0 -0
  74. data/lib/starter_web/assets/images/modules/gallery/old_times/image_02.jpg +0 -0
  75. data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +5 -5
  76. data/lib/starter_web/collections/_biography/becoming.adoc +5 -5
  77. data/lib/starter_web/collections/_biography/born-to-run.adoc +5 -5
  78. data/lib/starter_web/collections/_biography/forty-autumns.adoc +5 -5
  79. data/lib/starter_web/collections/_biography/not-dead-yet.adoc +5 -6
  80. data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +5 -5
  81. data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +6 -7
  82. data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +14 -4
  83. data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +13 -3
  84. data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +11 -3
  85. data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +15 -3
  86. data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +11 -3
  87. data/lib/starter_web/collections/_fantasy/terry-pratchet-diary-2017.adoc +11 -3
  88. data/lib/starter_web/collections/_people/diana-petersen.adoc +167 -0
  89. data/lib/starter_web/collections/_people/larry-parker.adoc +167 -0
  90. data/lib/starter_web/collections/_people/parveen-anand.adoc +167 -0
  91. data/lib/starter_web/collections/_portfolio/branding.adoc +97 -0
  92. data/lib/starter_web/collections/_portfolio/graphic_design.adoc +97 -0
  93. data/lib/starter_web/collections/_portfolio/identity.adoc +99 -0
  94. data/lib/starter_web/collections/_portfolio/illustration.adoc +101 -0
  95. data/lib/starter_web/collections/_portfolio/photography.adoc +100 -0
  96. data/lib/starter_web/collections/_portfolio/web_design.adoc +109 -0
  97. data/lib/starter_web/collections/_romance/breath-of-snow-and-ashes-a.adoc +12 -3
  98. data/lib/starter_web/collections/_romance/dressmaker-the.adoc +10 -3
  99. data/lib/starter_web/collections/_romance/fiery-cross-the.adoc +13 -3
  100. data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +11 -3
  101. data/lib/starter_web/collections/_romance/outlander-novel.adoc +12 -3
  102. data/lib/starter_web/collections/_romance/virgins-outlander-short-story.adoc +16 -4
  103. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +2 -2
  104. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +2 -2
  105. data/lib/starter_web/collections/posts/public/series/_posts/2022-08-01-organize-your-life.adoc +4 -4
  106. data/lib/starter_web/collections/posts/public/series/_posts/2022-08-02-organize-your-life.adoc +4 -4
  107. data/lib/starter_web/collections/posts/public/series/_posts/2022-08-03-organize-your-life.adoc +4 -4
  108. data/lib/starter_web/collections/posts/public/series/_posts/2022-09-01-organize-your-life.adoc +4 -4
  109. data/lib/starter_web/collections/posts/public/series/_posts/2022-09-02-organize-your-life.adoc +4 -4
  110. data/lib/starter_web/index.html +129 -129
  111. data/lib/starter_web/package.json +1 -1
  112. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_all_books.adoc +107 -0
  113. data/lib/starter_web/pages/public/{bookshelf → learn/bookshelf}/article_previewer/viewer_biography.adoc +21 -12
  114. data/lib/starter_web/pages/public/{bookshelf → learn/bookshelf}/article_previewer/viewer_fantasy.adoc +11 -6
  115. data/lib/starter_web/pages/public/{bookshelf → learn/bookshelf}/article_previewer/viewer_romance.adoc +11 -5
  116. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +2 -2
  117. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +53 -4
  118. data/lib/starter_web/pages/public/plans/plans.adoc +25 -12
  119. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  120. data/lib/starter_web/utilsrv/package.json +1 -1
  121. metadata +59 -79
  122. data/assets/data/masonry.4.html +0 -213
  123. data/assets/themes/j1/adapter/js/slick.3.js +0 -365
  124. data/lib/starter_web/assets/images/collections/blog/wikipedia/columbia-river.1200x400.jpg +0 -0
  125. data/lib/starter_web/assets/images/collections/blog/wikipedia/minneapolis.1200x400.jpg +0 -0
  126. data/lib/starter_web/assets/images/collections/blog/wikipedia/narcise-snake-pits.1200x400.jpg +0 -0
  127. data/lib/starter_web/assets/images/parsa/customers/200x150/img1.png +0 -0
  128. data/lib/starter_web/assets/images/parsa/customers/200x150/img2.png +0 -0
  129. data/lib/starter_web/assets/images/parsa/customers/200x150/img3.png +0 -0
  130. data/lib/starter_web/assets/images/parsa/customers/200x150/img4.png +0 -0
  131. data/lib/starter_web/assets/images/parsa/customers/200x150/img5.png +0 -0
  132. data/lib/starter_web/assets/images/parsa/customers/200x150/img6.png +0 -0
  133. data/lib/starter_web/assets/images/parsa/customers/200x150/img7.png +0 -0
  134. data/lib/starter_web/assets/images/parsa/customers/200x150/img8.png +0 -0
  135. data/lib/starter_web/assets/images/parsa/customers/200x150/img9.png +0 -0
  136. data/lib/starter_web/assets/images/parsa/customers/client-1.png +0 -0
  137. data/lib/starter_web/assets/images/parsa/customers/client-2.png +0 -0
  138. data/lib/starter_web/assets/images/parsa/customers/client-3.png +0 -0
  139. data/lib/starter_web/assets/images/parsa/customers/client-4.png +0 -0
  140. data/lib/starter_web/assets/images/parsa/customers/client-5.png +0 -0
  141. data/lib/starter_web/assets/images/parsa/customers/client-6.png +0 -0
  142. data/lib/starter_web/assets/images/parsa/customers/client-7.png +0 -0
  143. data/lib/starter_web/assets/images/parsa/icons/favicon.ico +0 -0
  144. data/lib/starter_web/assets/images/parsa/icons/icon.png +0 -0
  145. data/lib/starter_web/assets/images/parsa/icons/icon.svg +0 -152
  146. data/lib/starter_web/assets/images/parsa/icons/logo.svg +0 -172
  147. data/lib/starter_web/assets/images/parsa/masthead/19-02-_2023_09-05-46.jpg +0 -0
  148. data/lib/starter_web/assets/images/parsa/masthead/banner-img.png +0 -0
  149. data/lib/starter_web/assets/images/parsa/pages/1920x1280/author.jpg +0 -0
  150. data/lib/starter_web/assets/images/parsa/pages/1920x1280/contact.jpg +0 -0
  151. data/lib/starter_web/assets/images/parsa/pages/author.jpg +0 -0
  152. data/lib/starter_web/assets/images/parsa/pages/contact.jpg +0 -0
  153. data/lib/starter_web/assets/images/parsa/partners/scalable/facebook.svg +0 -34
  154. data/lib/starter_web/assets/images/parsa/partners/scalable/google.svg +0 -35
  155. data/lib/starter_web/assets/images/parsa/partners/scalable/ibm.svg +0 -24
  156. data/lib/starter_web/assets/images/parsa/partners/scalable/microsoft.svg +0 -42
  157. data/lib/starter_web/assets/images/parsa/posts/1280x1024/post-img.jpg +0 -0
  158. data/lib/starter_web/assets/images/parsa/posts/1280x1024/post-single.jpg +0 -0
  159. data/lib/starter_web/assets/images/parsa/promo/home/screenshot.jpg +0 -0
  160. data/lib/starter_web/pages/public/previewer/preview_masonry.adoc +0 -361
  161. data/lib/starter_web/pages/public/previewer/preview_slick_slider.adoc +0 -375
  162. /data/lib/starter_web/assets/images/{parsa → collections}/portfolio/1.jpg +0 -0
  163. /data/lib/starter_web/assets/images/{parsa → collections}/portfolio/2.jpg +0 -0
  164. /data/lib/starter_web/assets/images/{parsa → collections}/portfolio/3.jpg +0 -0
  165. /data/lib/starter_web/assets/images/{parsa → collections}/portfolio/4.jpg +0 -0
  166. /data/lib/starter_web/assets/images/{parsa → collections}/portfolio/5.jpg +0 -0
  167. /data/lib/starter_web/assets/images/{parsa → collections}/portfolio/6.jpg +0 -0
  168. /data/lib/starter_web/assets/images/{parsa/icons → icons/controls}/close-icon.svg +0 -0
  169. /data/lib/starter_web/assets/images/{parsa/icons → icons/controls}/up.svg +0 -0
  170. /data/lib/starter_web/assets/images/{collections/blog → posts}/featured/dynamic-web-access.png +0 -0
  171. /data/lib/starter_web/assets/images/{collections/blog → posts}/featured/jamstack-generators.png +0 -0
  172. /data/lib/starter_web/assets/images/{collections/blog → posts}/featured/jekyll.1200x400.png +0 -0
  173. /data/lib/starter_web/assets/images/{collections/blog → posts}/featured/jekyll.png +0 -0
  174. /data/lib/starter_web/assets/images/{parsa/posts → posts}/featured/post-1.jpg +0 -0
  175. /data/lib/starter_web/assets/images/{parsa/posts → posts}/featured/post-2.jpg +0 -0
  176. /data/lib/starter_web/assets/images/{parsa/posts → posts}/featured/post-3.jpg +0 -0
  177. /data/lib/starter_web/assets/images/{parsa/posts → posts}/featured/post-4.jpg +0 -0
  178. /data/lib/starter_web/assets/images/{parsa/posts → posts}/featured/post-5.jpg +0 -0
  179. /data/lib/starter_web/assets/images/{collections/blog → posts}/featured/static-web-access.png +0 -0
  180. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-1.jpg +0 -0
  181. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-10.jpg +0 -0
  182. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-11.jpg +0 -0
  183. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-12.jpg +0 -0
  184. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-13.jpg +0 -0
  185. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-2.jpg +0 -0
  186. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-3.jpg +0 -0
  187. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-4.jpg +0 -0
  188. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-5.jpg +0 -0
  189. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-6.jpg +0 -0
  190. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-7.jpg +0 -0
  191. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-8.jpg +0 -0
  192. /data/lib/starter_web/assets/images/{parsa/posts → posts}/natural_food/post-9.jpg +0 -0
  193. /data/lib/starter_web/assets/images/{parsa/posts → posts}/post-img.jpg +0 -0
  194. /data/lib/starter_web/assets/images/{parsa/posts → posts}/post-single.jpg +0 -0
  195. /data/lib/starter_web/pages/public/{bookshelf → learn/bookshelf}/jekyll_collections.adoc +0 -0
@@ -1,213 +0,0 @@
1
- ---
2
- regenerate: true
3
- exclude_from_search: true
4
- ---
5
-
6
- {% capture cache %}
7
-
8
- {% comment %}
9
- # -----------------------------------------------------------------------------
10
- # ~/assets/data/masonty.html
11
- # Liquid procedure to generate the HTML portion for all Masonty Grids
12
- # configured
13
- #
14
- # Product/Info:
15
- # https://jekyll.one
16
- #
17
- # Copyright (C) 2023 Juergen Adams
18
- #
19
- # J1 Theme is licensed under the MIT License.
20
- # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
21
- # -----------------------------------------------------------------------------
22
- # NOTE: Data loaded dynamically by J1 Masonry module (AJAX)
23
- # -----------------------------------------------------------------------------
24
- # Test data:
25
- # {{variable | debug}}
26
- # -----------------------------------------------------------------------------
27
- {% endcomment %}
28
-
29
- {% comment %} Liquid procedures (currently unused)
30
- --------------------------------------------------------------------------------
31
- {% capture select_color %}themes/{{site.template.name}}/procedures/global/select_color.proc{% endcapture %}
32
- {% capture select_icon_size %}themes/{{site.template.name}}/procedures/global/select_icon_size.proc{% endcapture %}
33
- -------------------------------------------------------------------------------- {% endcomment %}
34
-
35
- {% comment %} Liquid var initialization
36
- -------------------------------------------------------------------------------- {% endcomment %}
37
-
38
- {% comment %} Set config files
39
- -------------------------------------------------------------------------------- {% endcomment %}
40
- {% assign template_config = site.data.j1_config %}
41
- {% assign modules = site.data.modules %}
42
-
43
- {% comment %} Set config data
44
- -------------------------------------------------------------------------------- {% endcomment %}
45
- {% assign environment = site.environment %}
46
- {% assign masonry_defaults = modules.defaults.masonry.defaults %}
47
- {% assign masonry_settings = modules.masonry.settings %}
48
-
49
- {% comment %} Set config options
50
- -------------------------------------------------------------------------------- {% endcomment %}
51
- {% assign grids = masonry_settings.grids %}
52
-
53
-
54
- {% comment %} Configure permalink settings
55
- -------------------------------------------------------------------------------- {% endcomment %}
56
- {% assign ext = '' %}
57
- {% if site.permalink == 'none' %}
58
- {% assign ext = '.html' %}
59
- {% endif %}
60
-
61
- {% comment %} Currently NOT used
62
- --------------------------------------------------------------------------------
63
- {% include {{select_color}} color=masonry_icon_color fallback="#9E9E9E" %}
64
- {% assign masonry_icon_color = color %}
65
-
66
- {% include {{select_icon_size}} family=masonry_icon_family size=masonry_icon_size %}
67
- {% assign masonry_icon_size = size %}
68
- -------------------------------------------------------------------------------- {% endcomment %}
69
-
70
- {% comment %} Detect prod mode
71
- -------------------------------------------------------------------------------- {% endcomment %}
72
- {% assign production = false %}
73
- {% if environment == 'prod' or environment == 'production' %}
74
- {% assign production = true %}
75
- {% endif %}
76
-
77
- {% comment %} Main
78
- ================================================================================ {% endcomment %}
79
- <!-- [INFO ] [~/assets/data/masonry.html ] [ set meta data (robots) to exclude HTML datafiles from index ] -->
80
- <head>
81
- <meta name="robots" content="noindex, nofollow" />
82
- </head>
83
-
84
- {% comment %} Collect grids
85
- -------------------------------------------------------------------------------- {% endcomment %}
86
- {% for grid in grids %}
87
- {% if grid.enabled %}
88
-
89
- {% comment %} Collect posts|group grids
90
- ---------------------------------------------------------------------------- {% endcomment %}
91
- {% if grid.type == 'post' %}
92
- <!-- Posts|Group -->
93
- <!-- Collect data only if group matches -->
94
- <div id="{{grid.id}}" class="{{grid.id | replace: '_','-' }}">
95
- <div class="row px-2">
96
- {% for post in site.posts %}
97
- {% if post.group contains grid.group %}
98
-
99
- <!-- resposive items: 3-2-1 -->
100
- <div class="col-lg-4 col-md-6 col-sm-12 mb-1">
101
- <article class="card bg-dark text-center text-white border-0 rounded-0">
102
- <img class="card-img img-object--cover g-height-300" src="{{post.image.path | relative_url}}" alt="{{post.title}}" style="filter: contrast(1) brightness(0.5);">
103
- <div class="card-img-overlay">
104
- <div class="card-content mt-6">
105
- {% if post %}
106
- {% assign categories = post.categories %}
107
- {% else %}
108
- {% assign categories = page.categories %}
109
- {% endif %}
110
-
111
- {% comment %} categories: {{categories | debug}}
112
- ---------------------------------------------------------------- {% endcomment %}
113
-
114
- {% for category in categories %}
115
- {% if category contains post.category %}
116
- <a class="d-block text-white text-uppercase link-no-decoration"
117
- href="/pages/public/blog/navigator/archive/categoryview/#{{category | slugify}}"
118
- style="font-size: 24px;">{{category}}
119
- </a>
120
- {% endif %}
121
- {% endfor %}
122
-
123
- <ul class="list-inline d-flex justify-content-center mb-5">
124
- <li class="list-inline-item">
125
- <i class="mdi mdi-account md-gray-400 mdi-24px mr-1" style="margin-right: 8px;"></i>
126
- {{site.author.name | split: ' ' | first}} &nbsp;&middot;&nbsp;&nbsp;
127
- </li>
128
- <li class="list-inline-item">
129
- <i class="mdi mdi-calendar-blank md-gray-400 mdi-24px mr-1"></i>
130
- {{post.date | date: '%b %d, %Y'}}
131
- </li>
132
- </ul>
133
- <h4 class="notoc card-title">
134
- <a class="text-white link-no-decoration" href="{{post.url | relative_url}}">{{post.tags[0]}}</a>
135
- </h4>
136
- </div>
137
- <!--/div -->
138
- </article>
139
- </div>
140
-
141
- {% endif %}
142
- {% endfor %}
143
- </div>
144
- </div>
145
- <!-- /Posts|Group -->
146
- {% endif %}
147
-
148
- {% comment %} Collect Bootrap Image Card Grids
149
- ---------------------------------------------------------------------------- {% endcomment %}
150
- {% if grid.type == 'bs_image_cards' %}
151
- <!-- Card Image Grid -->
152
- <div id="{{grid.id}}" class="{{grid.id | replace: '_','-' }}">
153
- <div class="row px-2">
154
- {% for image in grid.images %}
155
- <div class="col-lg-4 col-md-6 col-sm-12 px-1 py-1">
156
- <div class="card">
157
- {% if grid.lightbox.enabled %}
158
- <a href="{{grid.image_base_path}}/{{image.file}}"
159
- data-lightbox="{{grid.id}}-image-group"
160
- data-caption="{{image.title}}"
161
- data-title="{{image.title}}">
162
- <img id="{{forloop.index}}" class="{{grid.image_styles}}" src="{{grid.image_base_path}}/{{image.file}}" alt="{{image.title}}">
163
- </a>
164
- {% else %}
165
- <img id="{{forloop.index}}" class="{{grid.image_styles}}" src="{{grid.image_base_path}}/{{image.file}}" alt="{{image.title}}">
166
- {% endif %}
167
- </div>
168
- </div>
169
- {% endfor %}
170
- </div>
171
- </div>
172
- <!-- /Card Image Grid -->
173
- {% endif %}
174
-
175
- {% comment %} Collect Image Grids
176
- ---------------------------------------------------------------------------- {% endcomment %}
177
- {% if grid.type == 'image_grid' %}
178
- <!-- Image Grid -->
179
- <div id="{{grid.id}}" class="{{grid.id | replace: '_','-' }}">
180
-
181
- {% for image in grid.images %}
182
- <div class="col-lg-4 col-md-6 col-sm-12 px-1 py-1">
183
- <div class="nocard">
184
- {% if grid.lightbox.enabled %}
185
- <a href="{{grid.image_base_path}}/{{image.file}}"
186
- data-lightbox="{{grid.id}}-image-group"
187
- data-caption="{{image.title}}"
188
- data-title="{{image.title}}">
189
- <img id="{{forloop.index}}" class="{{grid.image_styles}}" src="{{grid.image_base_path}}/{{image.file}}" alt="{{image.title}}">
190
- </a>
191
- {% else %}
192
- <img id="{{forloop.index}}" class="{{grid.image_styles}}" src="{{grid.image_base_path}}/{{image.file}}" alt="{{image.title}}">
193
- {% endif %}
194
- </div>
195
- </div>
196
- {% endfor %}
197
-
198
- </div>
199
- <!-- /Image Grid -->
200
- {% endif %}
201
-
202
- {% endif %}
203
- {% endfor %}
204
- <!-- [INFO ] [~/assets/data/masonry.html ] [end collecting all grid items] -->
205
-
206
- {% endcapture %}
207
-
208
- {% if production %}
209
- {% capture _LINE_FEED %}{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ cache | strip_html_comments }}{% else %}{% capture _content %}{{ cache | strip_html_comments }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ cache | strip_html_comments | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
210
- {% else %}
211
- {{ cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
212
- {% endif %}
213
- {% assign cache = nil %}
@@ -1,365 +0,0 @@
1
- ---
2
- regenerate: true
3
- ---
4
-
5
- {% capture cache %}
6
-
7
- {% comment %}
8
- # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/slick.js
10
- # Liquid template to create the Template Adapter for J1 Slick
11
- #
12
- # Product/Info:
13
- # http://jekyll.one
14
- #
15
- # Copyright (C) 2023 Juergen Adams
16
- #
17
- # J1 Theme is licensed under the MIT License.
18
- # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
19
- # -----------------------------------------------------------------------------
20
- # Test data:
21
- # {{ liquid_var | debug }}
22
- # cookie_options: {{ cookie_options | debug }}
23
- # -----------------------------------------------------------------------------
24
- {% endcomment %}
25
-
26
- {% comment %} Liquid var initialization
27
- -------------------------------------------------------------------------------- {% endcomment %}
28
-
29
- {% comment %} Set config files
30
- -------------------------------------------------------------------------------- {% endcomment %}
31
- {% assign environment = site.environment %}
32
- {% assign blocks = site.data.blocks %}
33
- {% assign modules = site.data.modules %}
34
- {% assign template_config = site.data.j1_config %}
35
-
36
- {% comment %} Set config data
37
- -------------------------------------------------------------------------------- {% endcomment %}
38
- {% assign slick_defaults = modules.defaults.slick.defaults %}
39
- {% assign slick_settings = modules.slick.settings %}
40
-
41
- {% comment %} Set config options
42
- -------------------------------------------------------------------------------- {% endcomment %}
43
-
44
- {% comment %} Set variables
45
- -------------------------------------------------------------------------------- {% endcomment %}
46
-
47
- {% comment %} Detect prod mode
48
- -------------------------------------------------------------------------------- {% endcomment %}
49
- {% assign production = false %}
50
- {% if environment == 'prod' or environment == 'production' %}
51
- {% assign production = true %}
52
- {% endif %}
53
-
54
- /*
55
- # -----------------------------------------------------------------------------
56
- # ~/assets/themes/j1/adapter/js/slick.js
57
- # JS Adapter for J1 Slick
58
- #
59
- # Product/Info:
60
- # http://jekyll.one
61
- #
62
- # Copyright (C) 2023 Juergen Adams
63
- #
64
- # J1 Theme is licensed under MIT License.
65
- # See: https://github.com/jekyll-one/J1 Theme/blob/master/LICENSE
66
- # -----------------------------------------------------------------------------
67
- # Adapter generated: {{site.time}}
68
- # -----------------------------------------------------------------------------
69
- */
70
-
71
- // -----------------------------------------------------------------------------
72
- // ESLint shimming
73
- // -----------------------------------------------------------------------------
74
- /* eslint indent: "off" */
75
- /* eslint quotes: "off" */
76
- // -----------------------------------------------------------------------------
77
- 'use strict';
78
- j1.adapter.slick = (function (j1, window) {
79
- var environment = '{{environment}}';
80
- var responsiveSettings = [];
81
- var sliderResponsiveSettings = [];
82
- var _this;
83
- var logger;
84
- var logText;
85
- var slickDefaults;
86
- var slickSettings;
87
- var slickOptions;
88
- var sliderOptions;
89
- var sliderSettings;
90
-
91
- // ---------------------------------------------------------------------------
92
- // Helper functions
93
- // ---------------------------------------------------------------------------
94
-
95
- // ---------------------------------------------------------------------------
96
- // Main object
97
- // ---------------------------------------------------------------------------
98
- return {
99
-
100
- // -------------------------------------------------------------------------
101
- // Initializer
102
- // -------------------------------------------------------------------------
103
- init: function (options) {
104
- var xhrLoadState = 'pending'; // (initial) load state for the HTML portion of the slider
105
- var load_dependencies = {}; // dynamic variable
106
- var sliderResponsiveSettingsOBJ = {}; // initial object for responsive settings
107
- var dependency;
108
- var sliderResponsiveSettingsYAML;
109
- var sliderResponsiveSettingsSTRING;
110
-
111
- // -----------------------------------------------------------------------
112
- // Default module settings
113
- // -----------------------------------------------------------------------
114
- var settings = $.extend({
115
- module_name: 'j1.adapter.cookieConsent',
116
- generated: '{{site.time}}'
117
- }, options);
118
-
119
- // Load module DEFAULTS|CONFIG
120
- slickDefaults = $.extend({}, {{slick_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
121
- slickSettings = $.extend({}, {{slick_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
122
- slickOptions = $.extend(true, {}, slickDefaults, slickSettings);
123
-
124
- // -----------------------------------------------------------------------
125
- // Global variable settings
126
- // -----------------------------------------------------------------------
127
- _this = j1.adapter.slick;
128
- logger = log4javascript.getLogger('j1.adapter.slick');
129
-
130
- _this.setState('started');
131
- logger.debug('\n' + 'state: ' + _this.getState());
132
- logger.info('\n' + 'module is being initialized');
133
-
134
- // load HTML portion for all sliders
135
- console.debug('loading HTML portion for all sliders configured');
136
- _this.loadSliderHTML(slickOptions, slickOptions.sliders);
137
-
138
- // -----------------------------------------------------------------------
139
- // initializer
140
- // -----------------------------------------------------------------------
141
- var dependencies_met_page_ready = setInterval (function (options) {
142
- var pageState = $('#no_flicker').css("display");
143
- var pageVisible = (pageState == 'block') ? true: false;
144
-
145
- if ( j1.getState() === 'finished' && pageVisible ) {
146
-
147
- {% for slider in slick_settings.sliders %} {% if slider.enabled %}
148
- logger.info('\n' + 'slider is being initialized on id: ' + '{{slider.id}}');
149
-
150
- {% if slider.options.responsive %}
151
- logger.info('\n' + 'collect responsive settings for slider on id: ' + '{{slider.id}}');
152
- // collect breakpoint settings from slider config
153
- responsiveSettings = $.extend({}, {{slider.responsive | replace: 'nil', 'null' | replace: '=>', ':' }});
154
- // generate slider breakpoint settings as YAML data structure
155
- sliderResponsiveSettings = '[' ;
156
- for (const [obj_key, obj_value] of Object.entries(responsiveSettings)) {
157
- var length = Object.keys(obj_value.settings).length;
158
- var count = 0;
159
- for (const [key, value] of Object.entries(obj_value.settings)) {
160
- count++;
161
- if (key == 'breakOn' && count == 1) {
162
- sliderResponsiveSettings += ' {' ;
163
- sliderResponsiveSettings += ' breakpoint: ' + value + ',' ;
164
- sliderResponsiveSettings += ' settings: {' ;
165
- } else {
166
- sliderResponsiveSettings += ' ' + key + ': ' + value + ',' ;
167
- }
168
- // close current breakpoint element
169
- if (count == length) {
170
- sliderResponsiveSettings += ' }' ;
171
- sliderResponsiveSettings += ' },' ;
172
- }
173
- }
174
- } // End generate breakpoint YAML elements
175
-
176
- // close breakpoint YAML data
177
- sliderResponsiveSettings += ']';
178
- {% endif %}
179
-
180
- // create dynamic loader variable|s
181
- dependency = 'dependencies_met_html_loaded_{{slider.id}}';
182
- load_dependencies[dependency] = '';
183
-
184
- // initialize slider if HTML portion successfully loaded
185
- load_dependencies['dependencies_met_html_loaded_{{slider.id}}'] = setInterval (function (options) {
186
- // check if HTML portion of the slider is loaded successfully (loadSliderHTML)
187
- xhrLoadState = j1.xhrDOMState['#{{slider.id}}_parent'];
188
- if ( xhrLoadState === 'success' ) {
189
-
190
- // collect general slider settings
191
- sliderOptions = $.extend({}, {{slider.options | replace: 'nil', 'null' | replace: '=>', ':' }});
192
- sliderSettings = $.extend(true, {}, slickDefaults, sliderOptions );
193
-
194
- // convert slider responsive settings to object (sliderResponsiveSettingsOBJ)
195
- sliderResponsiveSettingsYAML = yaml.loadAll(sliderResponsiveSettings, 'utf8');
196
- sliderResponsiveSettingsOBJ = sliderResponsiveSettingsYAML[0];
197
- sliderResponsiveSettingsSTRING = JSON.stringify(sliderResponsiveSettingsOBJ, null, 4);
198
- logger.debug('\n' + 'responsive settings on slider id #{{slider.id}}: ' + '\n' + sliderResponsiveSettingsSTRING);
199
-
200
- $('.{{slider.id | replace: '_','-' }}').on('init', function(event, slick) {
201
- logger.info('\n' + 'slider initialized on id: {{slider.id}}');
202
- if ({{slider.lightbox.enabled}}) {
203
- logger.info('\n' + 'initialize lightbox on id: {{slider.id}}');
204
- $('#{{slider.id}}').slickLightbox({
205
- background: 'rgba(0,0,0,.8)',
206
- closeOnEscape: true,
207
- closeOnBackdropClick: true,
208
- navigateByKeyboard: true,
209
- destroyTimeout: 500,
210
- src: '{{slider.lightbox.src}}',
211
- itemSelector: '{{slider.lightbox.itemSelector}}',
212
- imageMaxHeight: 0.9,
213
- lazy: false,
214
- });
215
- }
216
- });
217
-
218
- // setup the slider
219
- logger.info('\n' + 'slider is being setup on id: ' + '{{slider.id}}');
220
- $('.{{slider.id | replace: '_','-' }}').slick({
221
- accessibility: sliderSettings.accessibility,
222
- adaptiveHeight: sliderSettings.adaptiveHeight,
223
- arrows: sliderSettings.arrows,
224
- autoplay: sliderSettings.autoplay,
225
- autoplaySpeed: sliderSettings.autoplaySpeed,
226
- centerMode: sliderSettings.centerMode,
227
- centerPadding: sliderSettings.centerPadding,
228
- cssEase: sliderSettings.cssEase,
229
- dots: sliderSettings.dots,
230
- dotsClass: sliderSettings.dotsClass,
231
- draggable: sliderSettings.draggable,
232
- easing: sliderSettings.easing,
233
- edgeFriction: sliderSettings.edgeFriction,
234
- fade: sliderSettings.fade,
235
- focusOnSelect: sliderSettings.focusOnSelect,
236
- focusOnChange: sliderSettings.focusOnChange,
237
- infinite: sliderSettings.infinite,
238
- initialSlide: sliderSettings.initialSlide,
239
- lazyLoad: sliderSettings.lazyLoad,
240
- mobileFirst: sliderSettings.mobileFirst,
241
- pauseOnDotsHover: sliderSettings.pauseOnDotsHover,
242
- pauseOnFocus: sliderSettings.pauseOnFocus,
243
- pauseOnHover: sliderSettings.pauseOnHover,
244
- respondTo: sliderSettings.respondTo,
245
- rows: sliderSettings.rows,
246
- rtl: sliderSettings.rtl,
247
- slide: sliderSettings.slide,
248
- slidesPerRow: sliderSettings.slidesPerRow,
249
- slidesToScroll: sliderSettings.slidesToScroll,
250
- slidesToShow: sliderSettings.slidesToShow,
251
- speed: sliderSettings.speed,
252
- swipe: sliderSettings.swipe,
253
- swipeToSlide: sliderSettings.swipeToSlide,
254
- touchMove: sliderSettings.touchMove,
255
- touchThreshold: sliderSettings.touchThreshold,
256
- useCSS: sliderSettings.useCSS,
257
- useTransform: sliderSettings.useTransform,
258
- variableWidth: sliderSettings.variableWidth,
259
- vertical: sliderSettings.vertical,
260
- verticalSwiping: sliderSettings.verticalSwiping,
261
- waitForAnimate: sliderSettings.waitForAnimate,
262
- zIndex: sliderSettings.zIndex,
263
- responsive: sliderResponsiveSettingsOBJ
264
- });
265
- clearInterval(load_dependencies['dependencies_met_html_loaded_{{slider.id}}']);
266
- }
267
- }, 25); // END
268
- {% endif %} {% endfor %} // ENDFOR (all) sliders
269
-
270
- _this.setState('finished');
271
- logger.debug('\n' + 'state: ' + _this.getState());
272
- logger.info('\n' + 'module initialization finished');
273
-
274
- clearInterval(dependencies_met_page_ready);
275
-
276
- }
277
- }, 25);
278
-
279
- }, // END init
280
-
281
- // -------------------------------------------------------------------------
282
- // loadSliderHTML()
283
- // load all Slick sliders (HTML portion) dynanically configured
284
- // and enabled (AJAX) from YAMLdata file
285
- // NOTE: Make sure the placeholder is available in the content page
286
- // eg. using the asciidoc extension masterslider::
287
- // -------------------------------------------------------------------------
288
- loadSliderHTML: function (options, slider) {
289
- var numSliders = Object.keys(slider).length;
290
- var active_sliders = numSliders;
291
- var xhr_data_path = options.xhr_data_path + '/index.html';
292
- var xhr_container_id;
293
-
294
- // console.debug('load HTML portion of all sliders configured found in page');
295
- console.debug('number of sliders found: ' + numSliders);
296
-
297
- _this.setState('load_data');
298
- Object.keys(slider).forEach(function(key) {
299
- if (slider[key].enabled) {
300
- xhr_container_id = slider[key].id + '_parent';
301
-
302
- console.debug('load HTML data on slider id: ' + slider[key].id);
303
- j1.loadHTML({
304
- xhr_container_id: xhr_container_id,
305
- xhr_data_path: xhr_data_path,
306
- xhr_data_element: slider[key].id
307
- });
308
- } else {
309
- console.debug('slider found disabled on id: ' + slider[key].id);
310
- active_sliders--;
311
- }
312
- });
313
- console.debug('sliders loaded in page enabled|all: ' + active_sliders + '|' + numSliders);
314
- _this.setState('data_loaded');
315
- }, // END loadSliderHTML
316
-
317
- // -------------------------------------------------------------------------
318
- // messageHandler: MessageHandler for J1 CookieConsent module
319
- // Manage messages send from other J1 modules
320
- // -------------------------------------------------------------------------
321
- messageHandler: function (sender, message) {
322
- var json_message = JSON.stringify(message, undefined, 2);
323
-
324
- logText = '\n' + 'received message from ' + sender + ': ' + json_message;
325
- logger.debug(logText);
326
-
327
- // -----------------------------------------------------------------------
328
- // Process commands|actions
329
- // -----------------------------------------------------------------------
330
- if (message.type === 'command' && message.action === 'module_initialized') {
331
- //
332
- // Place handling of command|action here
333
- //
334
- logger.info('\n' + message.text);
335
- }
336
-
337
- //
338
- // Place handling of other command|action here
339
- //
340
-
341
- return true;
342
- }, // END messageHandler
343
-
344
- // -------------------------------------------------------------------------
345
- // setState()
346
- // Sets the current (processing) state of the module
347
- // -------------------------------------------------------------------------
348
- setState: function (stat) {
349
- _this.state = stat;
350
- }, // END setState
351
-
352
- // -------------------------------------------------------------------------
353
- // getState()
354
- // Returns the current (processing) state of the module
355
- // -------------------------------------------------------------------------
356
- getState: function () {
357
- return _this.state;
358
- }, // END getState
359
-
360
- }; // END return
361
- })(j1, window);
362
-
363
- {% endcapture %}
364
- {{ cache | strip_empty_lines }}
365
- {% assign cache = nil %}