j1-template 2023.5.2 → 2023.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +11 -9
  3. data/_includes/themes/j1/layouts/content_generator_post.html +8 -6
  4. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +1 -1
  5. data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
  6. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +4 -4
  7. data/_includes/themes/j1/procedures/posts/pager.proc +1 -1
  8. data/_layouts/_home.html +88 -0
  9. data/_layouts/home.html +1 -1
  10. data/assets/data/banner.html +7 -7
  11. data/assets/data/panel.html +37 -25
  12. data/assets/data/quicklinks.html +40 -30
  13. data/assets/data/speak2me.html +219 -0
  14. data/assets/data/translator.html +32 -4
  15. data/assets/themes/j1/adapter/js/speak2me.js +425 -0
  16. data/assets/themes/j1/adapter/js/translator.js +10 -2
  17. data/assets/themes/j1/core/css/icon-fonts/mdib.css +21 -0
  18. data/assets/themes/j1/core/css/icon-fonts/mdib.min.css +1 -1
  19. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +34 -40
  20. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +2 -2
  21. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +77 -57
  22. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +2 -2
  23. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +176 -42
  24. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +3 -3
  25. data/assets/themes/j1/core/js/template.js +1658 -0
  26. data/assets/themes/j1/core/js/template.min.js +11 -5
  27. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  28. data/assets/themes/j1/modules/speak2me/LICENSE +21 -0
  29. data/assets/themes/j1/modules/speak2me/js/speak2me.js +947 -0
  30. data/assets/themes/j1/modules/speak2me/js/speak2me.min.js +26 -0
  31. data/assets/themes/j1/modules/translator/js/translator.js +30 -13
  32. data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
  33. data/lib/j1/version.rb +1 -1
  34. data/lib/starter_web/Gemfile +5 -5
  35. data/lib/starter_web/README.md +5 -5
  36. data/lib/starter_web/_config.yml +12 -44
  37. data/lib/starter_web/_data/blocks/banner.yml +7 -6
  38. data/lib/starter_web/_data/blocks/panel.yml +37 -39
  39. data/lib/starter_web/_data/layouts/home.yml +1 -1
  40. data/lib/starter_web/_data/modules/advertising.yml +10 -88
  41. data/lib/starter_web/_data/modules/buymeacoffee.yml +30 -0
  42. data/lib/starter_web/_data/modules/defaults/advertising.yml +3 -1
  43. data/lib/starter_web/_data/modules/defaults/blog_navigator.yml +97 -164
  44. data/lib/starter_web/_data/modules/defaults/buymeacoffee.yml +30 -0
  45. data/lib/starter_web/_data/modules/defaults/navigator.yml +8 -4
  46. data/lib/starter_web/_data/modules/defaults/speak2me.yml +72 -0
  47. data/lib/starter_web/_data/modules/scroller.yml +1 -1
  48. data/lib/starter_web/_data/modules/speak2me.yml +33 -0
  49. data/lib/starter_web/_data/resources.yml +24 -1
  50. data/lib/starter_web/_data/templates/feed.xml +1 -1
  51. data/lib/starter_web/_includes/google/static/{google_ad_5128488466.html → google_ad__your-slot-id.html} +1 -1
  52. data/lib/starter_web/_plugins/asciidoctor/callout.rb +1 -1
  53. data/lib/starter_web/_plugins/asciidoctor/carousel-block.rb +2 -2
  54. data/lib/starter_web/_plugins/asciidoctor/gallery-block.rb +2 -2
  55. data/lib/starter_web/_plugins/asciidoctor/gist-block.rb +2 -2
  56. data/lib/starter_web/_plugins/asciidoctor/google-ad-block.rb +1 -1
  57. data/lib/starter_web/_plugins/asciidoctor/lightbox-block.rb +2 -7
  58. data/lib/starter_web/_plugins/asciidoctor/masonry-block.rb +2 -3
  59. data/lib/starter_web/_plugins/asciidoctor/masterslider-block.rb +2 -2
  60. data/lib/starter_web/_plugins/asciidoctor/mdib-icon-inline.rb +43 -0
  61. data/lib/starter_web/_plugins/asciidoctor/mdil-icon-inline.rb +1 -1
  62. data/lib/starter_web/_plugins/asciidoctor/range-slider-block.rb +1 -1
  63. data/lib/starter_web/_plugins/asciidoctor/slick-block.rb +2 -2
  64. data/lib/starter_web/_plugins/asciidoctor/textbook-block.rb +1 -1
  65. data/lib/starter_web/_plugins/filter/liquify.rb +22 -22
  66. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  67. data/lib/starter_web/assets/images/collections/books/biography/a_life_in_questions.jpg +0 -0
  68. data/lib/starter_web/assets/images/collections/books/biography/becoming.jpg +0 -0
  69. data/lib/starter_web/assets/images/collections/books/biography/born_to_run.jpg +0 -0
  70. data/lib/starter_web/assets/images/collections/books/biography/forty_autumns.jpg +0 -0
  71. data/lib/starter_web/assets/images/collections/books/biography/not_dead_yet.jpg +0 -0
  72. data/lib/starter_web/assets/images/collections/books/biography/the_princess_diarist.jpg +0 -0
  73. data/lib/starter_web/assets/images/collections/books/biography/when_breath_becomes_air.jpg +0 -0
  74. data/lib/starter_web/assets/images/collections/books/fantasy/harry-potter-deathly-hallows.jpg +0 -0
  75. data/lib/starter_web/assets/images/collections/books/fantasy/harry-potter-philosophers-stone.jpg +0 -0
  76. data/lib/starter_web/assets/images/collections/books/fantasy/mistborn-trilogy.jpg +0 -0
  77. data/lib/starter_web/assets/images/collections/books/fantasy/ready-player-one.jpg +0 -0
  78. data/lib/starter_web/assets/images/collections/books/fantasy/sword-of-destiny.jpg +0 -0
  79. data/lib/starter_web/assets/images/collections/books/fantasy/terry-pratchet-diary.jpg +0 -0
  80. data/lib/starter_web/assets/images/collections/books/romance/breath-of-snow-and-ashes.jpg +0 -0
  81. data/lib/starter_web/assets/images/collections/books/romance/it-ends-with-us.jpg +0 -0
  82. data/lib/starter_web/assets/images/collections/books/romance/outlander-novel.jpg +0 -0
  83. data/lib/starter_web/assets/images/collections/books/romance/outlander-short-story.jpg +0 -0
  84. data/lib/starter_web/assets/images/collections/books/romance/the-fiery-cross.jpg +0 -0
  85. data/lib/starter_web/assets/images/collections/books/romance/the_dressmaker.jpg +0 -0
  86. data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +13 -8
  87. data/lib/starter_web/collections/_biography/becoming.adoc +18 -12
  88. data/lib/starter_web/collections/_biography/born-to-run.adoc +17 -13
  89. data/lib/starter_web/collections/_biography/forty-autumns.adoc +14 -9
  90. data/lib/starter_web/collections/_biography/not-dead-yet.adoc +12 -7
  91. data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +13 -8
  92. data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +14 -9
  93. data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +13 -7
  94. data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +12 -8
  95. data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +14 -10
  96. data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +12 -11
  97. data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +15 -7
  98. data/lib/starter_web/collections/_fantasy/terry-pratchet-diary.adoc +11 -6
  99. data/lib/starter_web/collections/_romance/breath-of-snow-and-ashes.adoc +15 -10
  100. data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +11 -6
  101. data/lib/starter_web/collections/_romance/outlander-novel.adoc +11 -6
  102. data/lib/starter_web/collections/_romance/{virgins-outlander-short-story.adoc → outlander-virgins-short-story.adoc} +11 -6
  103. data/lib/starter_web/collections/_romance/{dressmaker-the.adoc → the-dressmaker.adoc} +11 -6
  104. data/lib/starter_web/collections/_romance/{fiery-cross-the.adoc → the-fiery-cross.adoc} +11 -6
  105. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +6 -6
  106. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +12 -11
  107. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +9 -7
  108. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +8 -8
  109. data/lib/starter_web/dot.ruby-version +1 -1
  110. data/lib/starter_web/index.html +10 -8
  111. data/lib/starter_web/package.json +1 -1
  112. data/lib/starter_web/pages/public/about/features.adoc +7 -1
  113. data/lib/starter_web/pages/public/about/reporting_issues.adoc +2 -0
  114. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +2 -0
  115. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +2 -0
  116. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +2 -0
  117. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/000_intro.asciidoc +1 -1
  118. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/112_getting_started.asciidoc +1 -0
  119. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/113_themes.asciidoc +1 -0
  120. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +2 -0
  121. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/100_chapter.asciidoc +3 -1
  122. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/200_chapter.asciidoc +1 -0
  123. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +2 -0
  124. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +6 -0
  125. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +6 -13
  126. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +17 -11
  127. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +7 -8
  128. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +5 -7
  129. data/lib/starter_web/pages/public/blog/navigator/index.html +15 -14
  130. data/lib/starter_web/pages/public/features/general.adoc +7 -1
  131. data/lib/starter_web/pages/public/features/template.adoc +87 -128
  132. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_all_books.adoc +10 -2
  133. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +8 -3
  134. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +11 -4
  135. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +11 -5
  136. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +24 -14
  137. data/lib/starter_web/pages/public/learn/bs_sass_variables/bs_sass_variables.adoc +4 -0
  138. data/lib/starter_web/pages/public/learn/core_web_vitals/core_web_vitals.adoc +8 -4
  139. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc +2 -1
  140. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/themes_bootstrap.asciidoc +27 -28
  141. data/lib/starter_web/pages/public/learn/roundtrip/asciidoc_extensions.adoc +169 -155
  142. data/lib/starter_web/pages/public/learn/roundtrip/bootstrap_themes.adoc +28 -19
  143. data/lib/starter_web/pages/public/learn/roundtrip/highlghter_rouge.adoc +9 -5
  144. data/lib/starter_web/pages/public/learn/roundtrip/icon_fonts.adoc +67 -77
  145. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.1.asciidoc +460 -0
  146. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.adoc +12 -7
  147. data/lib/starter_web/pages/public/learn/roundtrip/modal_extentions.adoc +26 -19
  148. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +470 -447
  149. data/lib/starter_web/pages/public/learn/roundtrip/present_videos.adoc +60 -59
  150. data/lib/starter_web/pages/public/learn/roundtrip/responsive_tables.adoc +51 -38
  151. data/lib/starter_web/pages/public/learn/roundtrip/typography.adoc +31 -25
  152. data/lib/starter_web/pages/public/learn/where_to_go.adoc +9 -4
  153. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +4 -0
  154. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +2 -0
  155. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +22 -3
  156. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +5 -0
  157. data/lib/starter_web/pages/public/manuals/speak2me.adoc +412 -0
  158. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +27 -19
  159. data/lib/starter_web/pages/public/plans/plans.adoc +3 -0
  160. data/lib/starter_web/pages/public/tools/cheatsheet/gem.adoc +2 -0
  161. data/lib/starter_web/pages/public/tools/cheatsheet/git.adoc +2 -0
  162. data/lib/starter_web/pages/public/tools/cheatsheet/j1.adoc +2 -0
  163. data/lib/starter_web/pages/public/tools/cheatsheet/yaml.adoc +6 -0
  164. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +17 -3
  165. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  166. data/lib/starter_web/utilsrv/package.json +1 -1
  167. metadata +38 -7
  168. data/lib/starter_web/_includes/google/static/google_ad_7284712660.html +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3357c9d7d9711c56af69d9c6ee3cc05048714bed168b9454ff5451d97c754df2
4
- data.tar.gz: 8fc09dac530f04af886ca684467a4f05041945bb57e0f5fd3db8a49b242ff45a
3
+ metadata.gz: 810e4e518abd7ac95e1bce174b297869adb225f95326aef6daf81840ed39142b
4
+ data.tar.gz: c6c3d33ce81df42d17d1bf57943803f974e63b8297c705ef1af465601d734e48
5
5
  SHA512:
6
- metadata.gz: 18752113f0ee6d0eb35b5b3e907b4ca941926a06d908f9db77cbc3fb5038eee917e9c0b182fecafe1a271a99f61a3f948f7fa6edc6d34fc929f13eb63a48c7ec
7
- data.tar.gz: 61b9f4c6bbfb21759f6ba504bbc166433c67c8c186781105a862dc3badbf549f817c804811770677050b327333d9e77a8faf19e4d1f856e59e305c870105a7c7
6
+ metadata.gz: c14828f42a573adee0597f52a44441b539493933d061e7002f308fac61fbb095263cbb0c49ec011e3f6fb0c4fdae0d39e6a2253e5ef86695cbd066f4bb3f0fe9
7
+ data.tar.gz: f7cb26eb70b028be02136f02176a4f2b947ba47f0ce7292b42c96fa2baa8b36b6fa627d64b5a82fbc6fc39677f454a41449aff3750fded7edc3cc10ac3d67bcd
@@ -223,7 +223,7 @@
223
223
  </div>
224
224
 
225
225
  {% if paginator.total_pages > 1 %}
226
- <nav class="paginator mb-4">
226
+ <nav class="paginator speak2me-ignore mb-4">
227
227
  <ul class="pagination raised-z0">
228
228
  {% if paginator.previous_page %}
229
229
  <li class="page-item">
@@ -296,10 +296,10 @@
296
296
  <!-- [INFO ] [j1.layouts.content_generator_news_panel_posts.html ] [ place post image ] -->
297
297
  {% if post.image %}
298
298
  {% if post.image.path %}
299
- <img class="img-fluid img-object--cover g-height-300" src="{{post.image.path}}" alt="{{post.title}}" style="{{image_filters}};">
299
+ <img class="img-fluid img-object--cover g-height-300" src="{{post.image.path}}" alt="{{post.tagline}}" style="{{image_filters}};">
300
300
  {% assign post_width = '80x' %}
301
301
  {% else %}
302
- <img class="img-fluid img-object--cover g-height-300" src="{{post.image}}" alt="{{post.title}}" style="{{image_filters}};">
302
+ <img class="img-fluid img-object--cover g-height-300" src="{{post.image}}" alt="{{post.tagline}}" style="{{image_filters}};">
303
303
  {% assign post_width = '80x' %}
304
304
  {% endif %}
305
305
  {% else %}
@@ -307,13 +307,14 @@
307
307
  {% assign post_width = '100x' %}
308
308
  {% endif %}
309
309
 
310
- <h3 class="card-header bg-primary notoc notranslate">{{post.title}}</h3>
310
+ <!-- h3 id="{{1000000 | rand}}" class="card-header bg-primary notoc notranslate">{{post.title}}</h3 -->
311
+ <h3 id="{{1000000 | rand}}" class="card-header bg-primary notranslate">{{post.title}}</h3>
311
312
  <!-- Body|Excerpt -->
312
313
  <div class="card-body r-text-300 mt-0">
313
314
  {{post.excerpt|truncatewords: truncate_words}}
314
315
  </div>
315
316
  <!-- End Body|Excerpt -->
316
- <div class="card-footer r-text-200">
317
+ <div class="card-footer speak2me-ignore r-text-200">
317
318
 
318
319
  <div class="card-footer-text">
319
320
  {% if language == "en" %}
@@ -368,24 +369,25 @@
368
369
  <!-- [INFO ] [j1.layouts.content_generator_news_panel_posts.html ] [ place post image ] -->
369
370
  {% if post.image %}
370
371
  {% if post.image.path %}
371
- <img class="img-fluid img-object--cover g-height-300" src="{{post.image.path}}" alt="{{post.title}}" style="{{image_filters}};">
372
+ <img class="img-fluid img-object--cover g-height-300" src="{{post.image.path}}" alt="{{post.tagline}}" style="{{image_filters}};">
372
373
  {% assign post_width = '80x' %}
373
374
  {% else %}
374
- <img class="img-fluid img-object--cover g-height-300" src="{{post.image}}" alt="{{post.title}}" style="{{image_filters}};">
375
+ <img class="img-fluid img-object--cover g-height-300" src="{{post.image}}" alt="{{post.tagline}}" style="{{image_filters}};">
375
376
  {% assign post_width = '80x' %}
376
377
  {% endif %}
377
378
  {% else %}
378
379
  <img class="mt-2" src="" alt="">
379
380
  {% assign post_width = '100x' %}
380
381
  {% endif %}
381
- <h3 class="card-header bg-primary notoc">{{post.title}}</h3>
382
+
383
+ <h3 id="{{1000000 | rand}}" class="card-header bg-primary notoc">{{post.title}}</h3>
382
384
  <!-- Body|Excerpt -->
383
385
  <div class="card-body r-text-300 mt-0">
384
386
  {% comment %} {{post.excerpt|truncatewords: 50|replace:'...',' ...'|remove:'<div class="paragraph">'|remove:'</div>'|remove:'<p>'|remove:'</p>'}} {% endcomment %}
385
387
  {{post.excerpt|truncatewords: truncate_words}}
386
388
  </div>
387
389
  <!-- End Body|Excerpt -->
388
- <div class="card-footer r-text-200">
390
+ <div class="card-footer speak2me-ignore r-text-200">
389
391
 
390
392
  <div class="card-footer-text">
391
393
  {% if language == "en" %}
@@ -78,7 +78,7 @@
78
78
  ------------------------------------------------------------------------------ {% endcomment %}
79
79
  <!-- Blog post CONTENT -->
80
80
  <div class="row">
81
- <main id="main-content" class="r-text-{{rtext_size}} js-toc-content">
81
+ <div id="content" class="">
82
82
  {% if page.page_navigation %}
83
83
  <!-- Include a PAGER (top position) -->
84
84
  {% include {{pager}} %}
@@ -89,17 +89,19 @@
89
89
  <!-- place blog post HEADLINE -->
90
90
  <div class="post-headline mt-4">
91
91
  {% if language == "en" %}
92
- <h1 class="notoc">{{ page.date | localize: "%Y %B, %e" }}</h1>
92
+ <!-- h1 class="notoc">{{ page.date | localize: "%Y %B, %e" }}</h1 -->
93
+ <h1 id="{{1000000 | rand}}">{{ page.date | localize: "%Y %B, %e" }}</h1>
93
94
  {% endif %}
94
95
  {% if language == "de" %}
95
- <h1 class="notoc">{{ page.date | localize: "%-d. %B %Y" }}</h1>
96
+ <!-- h1 class="notoc">{{ page.date | localize: "%-d. %B %Y" }}</h1 -->
97
+ <h1 id="{{1000000 | rand}}">{{ page.date | localize: "%-d. %B %Y" }}</h1>
96
98
  {% endif %}
97
99
  </div>
98
100
 
99
101
  {% comment %} Place Blog post SERIES Navigation
100
102
  -------------------------------------------------------------------------- {% endcomment %}
101
103
  {% if page.series %}
102
- <header class="bmd-layout-header">
104
+ <header class="bmd-layout-header" data-speak2me-ignore>
103
105
  <!-- jadams, 2021-02-28 added mb-3 to the navbar -->
104
106
  <div class="navbar navbar-dark bg-primary raised-z0">
105
107
  <button class="bmd-drawer drawer-toggler animated fadeIn" type="button" data-bs-toggle="drawer" data-bs-target="#post_navigator" aria-label="Series button">
@@ -134,9 +136,9 @@
134
136
  -------------------------------------------------------------------------- {% endcomment %}
135
137
  <!-- Content placed by post_content.html -->
136
138
  <!-- Additional div container placed for dropcaps used in series -->
137
- <div class="mt-4">
139
+ <main id="main-content" class="r-text-{{rtext_size}} js-toc-content mt-4">
138
140
  {{content}}
139
- </div>
141
+ </main>
140
142
 
141
143
  {% if page.series %}</nav>{% endif %}
142
144
 
@@ -61,7 +61,7 @@
61
61
 
62
62
  <!-- div id="word-cloud" class="row ml-3 mr-3" -->
63
63
  <!-- jadams, 2021-11-20: justify word cloud BETTER with paginator buttons -->
64
- <div id="word-cloud" class="row g-0 ml-3">
64
+ <div id="word-cloud" class="row speak2me-ignore g-0 ml-3">
65
65
  <div class="tag__box mt-0 mb-2">
66
66
  <div class="tag__cloud">
67
67
 
@@ -166,7 +166,7 @@ NO need to load this again
166
166
  {% if resource_settings.pass_init_data %}
167
167
 
168
168
  // [INFO ] [j1.layout.module_writer.proc ] [ pass init data for: {{resource_settings.id}} ]
169
- {% capture settings %}{"layout": "{{page.layout}}", "title": "{{page.title}}", "tagline": "{{page.tagline}}", "fab_menu_id": "{{page.fab_menu_id}}", "scrollbar": "{{page.scrollbar}}", "toc": "{{page.toc}}", "comments": "{{page.comments}}", "scrollDynamicPagesTopOnChange": "{{page.scrollDynamicPagesTopOnChange}}"}{% endcapture %}
169
+ {% capture settings %}{"tts": "{{page.tts}}", "layout": "{{page.layout}}", "title": "{{page.title}}", "tagline": "{{page.tagline}}", "fab_menu_id": "{{page.fab_menu_id}}", "scrollbar": "{{page.scrollbar}}", "toc": "{{page.toc}}", "comments": "{{page.comments}}", "scrollDynamicPagesTopOnChange": "{{page.scrollDynamicPagesTopOnChange}}"}{% endcapture %}
170
170
  var settings = $.extend({}, {{settings}});
171
171
 
172
172
  {% comment %} create resource_settings.dependencies (if any)
@@ -124,7 +124,7 @@
124
124
  ---------------------------------------------------------------------- {% endcomment %}
125
125
  <!-- div class="timeline-title" -->
126
126
  <div class="card-header bg-primary pt-4 pb-3">
127
- <h2 id="{{1000000 | rand}}" class="md-white notranslate">{{post.title}}</h2>
127
+ <h3 id="{{1000000 | rand}}" class="md-white notranslate">{{post.title}}</h3>
128
128
  </div>
129
129
 
130
130
  <!-- Collect icon data from frontmatter -->
@@ -174,7 +174,7 @@
174
174
  <i class="timeline-icon {{icon_family}} {{icon_family}}-{{icon_name}} {{icon_family}}-{{icon_size}} {{icon_family}}-{{icon_color}}"></i>
175
175
  {{excerpt}}
176
176
  </div>
177
- <div class="card-footer r-text-200 text-lowercase">
177
+ <div class="card-footer speak2me-ignore r-text-200 text-lowercase">
178
178
 
179
179
  <a href="{{post.url}}"
180
180
  class="btn btn-secondary btn-flex mb-0">
@@ -196,7 +196,7 @@
196
196
  {% assign excerpt = post.excerpt|truncatewords: truncate_words|replace:'...',' ...'|strip_html %}
197
197
  {{excerpt}}
198
198
  </div>
199
- <div class="card-footer r-text-200 text-lowercase">
199
+ <div class="card-footer speak2me-ignore r-text-200 text-lowercase">
200
200
 
201
201
  <a href="{{post.url}}"
202
202
  class="btn btn-secondary btn-flex mb-0">
@@ -226,7 +226,7 @@
226
226
  {% assign comment_count = sharing.comment_count %}
227
227
  {% endfor %}
228
228
 
229
- <div class="card-footer r-text-200">
229
+ <div class="card-footer speak2me-ignore r-text-200">
230
230
 
231
231
  <div class="card-footer-text">
232
232
  {% if post.date %}
@@ -75,7 +75,7 @@
75
75
  {% comment %} Main
76
76
  -------------------------------------------------------------------------------- {% endcomment %}
77
77
 
78
- <div class="paginator">
78
+ <div class="paginator" data-speak2me-ignore>
79
79
  <ul class="pagination raised-z0">
80
80
 
81
81
  {% comment %} Set HOME page BUTTON (always)
@@ -0,0 +1,88 @@
1
+ ---
2
+ layout: default # base layout the page inherits GLOBAL content
3
+ debug: false # enable|disable additional debug information written to (static) content source
4
+ ---
5
+
6
+ {% comment %}
7
+ # -----------------------------------------------------------------------------
8
+ # ~/_layouts/home.html
9
+ # Liquid layout template for all pages of content-type HOME
10
+ # (landing page ~/index.html)
11
+ #
12
+ # Product/Info:
13
+ # https://jekyll.one
14
+ #
15
+ # Copyright (C) 2023 Juergen Adams
16
+ #
17
+ # J1 Theme is licensed under the MIT License.
18
+ # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
19
+ #
20
+ # -----------------------------------------------------------------------------
21
+ # NOTE:
22
+ # This is the layout for all content pages of type HOME.
23
+ # Layout HOME is based on layout DEFAULT to inherit all
24
+ # default (HTML) data used for ALL pages.
25
+ # -----------------------------------------------------------------------------
26
+ # NOTE:
27
+ # Do NOT add any CONTENT here.
28
+ # For J1 Theme, Liquid procedures are being used intensively. To load
29
+ # HTML data for a region (lane), the (Liquid) procedure "content_writer"
30
+ # places the components specified in the connected YAML data file
31
+ # 'home.yml' located in folder: ~/_data/layouts.
32
+ # -----------------------------------------------------------------------------
33
+ # Test data:
34
+ # liquid_var: {{ liquid_var | debug }}
35
+ #
36
+ # -----------------------------------------------------------------------------
37
+ {% endcomment %}
38
+
39
+ {% comment %} Liquid procedures
40
+ -------------------------------------------------------------------------------- {% endcomment %}
41
+ {% capture default_writer %}themes/{{site.template.name}}/procedures/layouts/default_writer.proc{% endcapture %}
42
+ {% capture content_writer %}themes/{{site.template.name}}/procedures/layouts/content_writer.proc{% endcapture %}
43
+
44
+ {% comment %} Set global settings
45
+ -------------------------------------------------------------------------------- {% endcomment %}
46
+ {% assign environment = site.environment %}
47
+
48
+
49
+ {% comment %} Process YML config data
50
+ ================================================================================ {% endcomment %}
51
+
52
+ {% comment %} Set config files
53
+ -------------------------------------------------------------------------------- {% endcomment %}
54
+ {% assign lanes_collate = site.data.layouts.home.lanes %}
55
+ {% assign rtext = site.data.j1_config.typography.rtext %}
56
+
57
+ {% comment %} Set config data
58
+ -------------------------------------------------------------------------------- {% endcomment %}
59
+ {% assign page_rtext = page.rtext %}
60
+ {% assign page_rtext_size = page.rtext_size %}
61
+
62
+
63
+ {% comment %} Main
64
+ -------------------------------------------------------------------------------- {% endcomment %}
65
+ {% if rtext %}
66
+ {% assign rtext_size = site.data.j1_config.typography.rtext_size %}
67
+ {% else %}
68
+ {% assign rtext_size = 0 %}
69
+ {% endif %}
70
+ <!-- [INFO ] [j1.layout.home.html ] [ Resposive text (rtext) detected as: {{rtext_size}} ] -->
71
+
72
+ <!-- [INFO ] [j1.layout.home.html ] [ start content processing ] -->
73
+ {% comment %} Collect the BODY-HEADER region
74
+ ------------------------------------------------------------------------------ {% endcomment %}
75
+ <!-- [INFO ] [j1.layout.home.html ] [ call default_writer for region: 'body-header' ] -->
76
+ <header id="header">
77
+ {% include {{default_writer}} region='body-header' items=lanes_collate %}
78
+ </header>
79
+ <!-- [INFO ] [j1.layout.home.html ] [ end processing default_writer for region: 'body-header' ] -->
80
+
81
+ {% comment %} Collect the BODY-MAIN region
82
+ ------------------------------------------------------------------------------ {% endcomment %}
83
+ <!-- [INFO ] [j1.layout.home.html ] [ call content_writer for region: 'body-main' ] -->
84
+ <main id="content" class="container-fluid g-0 r-text-{{rtext_size}}">
85
+ {% include {{content_writer}} region='body-main' items=lanes_collate %}
86
+ </main>
87
+ <!-- [INFO ] [j1.layout.home.html ] [ end processing content_writer for region: 'body-main' ] -->
88
+ <!-- [INFO ] [j1.layout.home.html ] [ end content processing ] -->
data/_layouts/home.html CHANGED
@@ -81,7 +81,7 @@ debug: false
81
81
  {% comment %} Collect the BODY-MAIN region
82
82
  ------------------------------------------------------------------------------ {% endcomment %}
83
83
  <!-- [INFO ] [j1.layout.home.html ] [ call content_writer for region: 'body-main' ] -->
84
- <main id="content" class="container-fluid g-0 r-text-{{rtext_size}}">
84
+ <main id="content" class="js-toc-content container-fluid g-0 r-text-{{rtext_size}}">
85
85
  {% include {{content_writer}} region='body-main' items=lanes_collate %}
86
86
  </main>
87
87
  <!-- [INFO ] [j1.layout.home.html ] [ end processing content_writer for region: 'body-main' ] -->
@@ -231,7 +231,7 @@ exclude_from_search: true
231
231
  {% if card_type == 'text' and card_enabled %}
232
232
 
233
233
  {% if badges %}
234
- <div class="mb-3">
234
+ <div class="mb-3 speak2me-ignore">
235
235
  <p>
236
236
  <span>
237
237
  <a class="image" href="https://badge.fury.io/rb/j1-template" target="_blank" rel="noopener noreferrer">
@@ -252,7 +252,7 @@ exclude_from_search: true
252
252
  {% comment %} TODO:
253
253
  -----------------------------------------------------------------
254
254
  <!-- Sticker -->
255
- <div class="sticker" style="margin-top: -20px; right: 470px; display: block;">
255
+ <div class="sticker speak2me-ignore" style="margin-top: -20px; right: 470px; display: block;">
256
256
  <a
257
257
  id="banner-sticker-new-version"
258
258
  class="link-no-decoration sticker-wrapper"
@@ -272,7 +272,7 @@ exclude_from_search: true
272
272
 
273
273
  {% if heading_position == 'left' %}
274
274
  <div>
275
- <h2 class="g-font-weight-500 mb-0 {{card_translate_description}}">{{card_title}}</h2>
275
+ <h2 id="{{card_title}}" class="g-font-weight-500 mb-0 {{card_translate_description}}">{{card_title}}</h2>
276
276
  <p class="tagline mb-0 {{card_translate_description}}">{{card_tagline}}</p>
277
277
  <div class="d-inline-block g-width-50 g-height-2 bg-primary mb-2"></div>
278
278
  </div>
@@ -280,7 +280,7 @@ exclude_from_search: true
280
280
 
281
281
  {% if heading_position == 'center' %}
282
282
  <div class="text-center mb-2">
283
- <h2 class="mb-0 {{card_translate_description}}">{{card_title}}</h2>
283
+ <h2 id="{{card_title}}" class="mb-0 {{card_translate_description}}">{{card_title}}</h2>
284
284
  <p class="h4 mb-0 text-muted {{card_translate_description}}"><i>{{card_tagline}}</i></p>
285
285
  <div class="d-inline-block g-width-50 g-height-2 bg-primary mb-2"></div>
286
286
  </div>
@@ -295,7 +295,7 @@ exclude_from_search: true
295
295
  <div class="{{card_properties}}">{{card_description}}</div>
296
296
  {% if card_buttons %}
297
297
  <!-- Footer|Button row -->
298
- <div class="mt-5">
298
+ <div class="speak2me-ignore mt-5">
299
299
  {% for button_hash in card_buttons %}
300
300
  {% include {{create_bs_button}} button_data=button_hash button_type="link" %}
301
301
  {{bs_button_html}}
@@ -479,11 +479,11 @@ exclude_from_search: true
479
479
  <div class="col-md-12 col-sm-12 col-xs-12 no-padding">
480
480
  <div class="box">
481
481
  <div class="content content-danger">
482
- <h2 class="notoc">
482
+ <h2 id="exception" class="notoc">
483
483
  <i class="mdib mdib-alarm-light mdib-3x md-red mr-1"></i>
484
484
  Banner of type <big>{{banner_settings.type}}</big> not found
485
485
  </h2>
486
- <h4 class="notoc box-title">Check your configuration at {{banner_config_file_name}}</h4>
486
+ <h3 class="notoc box-title">Check your configuration at {{banner_config_file_name}}</h3>
487
487
  <div class="box-description">
488
488
  Don't worry about this. Maybe you've a typo in the banner configuration.
489
489
  Check the banner config file for the unknown type. <br />
@@ -235,7 +235,7 @@ exclude_from_search: true
235
235
  <!-- Heading -->
236
236
  {% if heading_position == 'left' %}
237
237
  <div class="{{panel_settings.animate}} mb-2">
238
- <h2 id="intro" class="g-font-weight-500 mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
238
+ <h2 id="{{panel_settings.title | downcase | replace:' ', '-'}}" class="g-font-weight-500 mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
239
239
  <p class="tagline mb-0 {{heading_translate}}"><b>{{panel_settings.tagline}}</b></p>
240
240
  <div class="d-inline-block g-width-50 g-height-2 bg-primary mb-2"></div>
241
241
  </div>
@@ -243,7 +243,7 @@ exclude_from_search: true
243
243
 
244
244
  {% if heading_position == 'center' %}
245
245
  <div class="text-center mb-2">
246
- <h2 class="mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
246
+ <h2 id="{{panel_settings.title | downcase | replace:' ', '-'}}" class="mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
247
247
  <p class="h4 mb-0 text-muted {{heading_translate}}"><i>{{panel_settings.tagline}}</i></p>
248
248
  <div class="d-inline-block g-width-50 g-height-2 bg-primary mb-2"></div>
249
249
  </div>
@@ -343,12 +343,12 @@ exclude_from_search: true
343
343
  </span>
344
344
  {% endif %}
345
345
  </div>
346
- <h3 class="m-0 {{card_title_translate}}">{{card_title}}</h3>
346
+ <h3 id="{{1000000 | rand}}" class="m-0 speak2me-ignore {{card_title_translate}}">{{card_title}}</h3>
347
347
  </div>
348
348
  </div>
349
349
 
350
350
  <div class="card-body g-min-height-200 r-text-300 mt-0">{{card_text}}</div>
351
- <div class="card-footer r-text-200 md-grey-900 text-lowercase">
351
+ <div class="card-footer speak2me-ignore r-text-200 md-grey-900 text-lowercase">
352
352
  {% for data in card_buttons %} {% for item in data %} {% for button in item[1] %}
353
353
  {% assign key = button[0] %}
354
354
  {% assign value = button[1] %}
@@ -465,7 +465,7 @@ exclude_from_search: true
465
465
 
466
466
  {% if heading_position == 'left' %}
467
467
  <div class="{{panel_settings.animate}} mb-2">
468
- <h2 class="g-font-weight-500 mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
468
+ <h2 id="{{panel_settings.title | downcase | replace:' ', '-'}}" class="g-font-weight-500 mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
469
469
  <p class="tagline mb-0 {{heading_translate}}"><b>{{panel_settings.tagline}}</b></p>
470
470
  <div class="d-inline-block g-width-50 g-height-2 bg-primary mb-2"></div>
471
471
  </div>
@@ -473,7 +473,7 @@ exclude_from_search: true
473
473
 
474
474
  {% if heading_position == 'center' %}
475
475
  <div class="text-center mb-2">
476
- <h2 class="mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
476
+ <h2 id="{{panel_settings.title | downcase | replace:' ', '-'}}" class="mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
477
477
  <p class="h4 mb-0 text-muted {{heading_translate}}"><i>{{panel_settings.tagline}}</i></p>
478
478
  <div class="d-inline-block g-width-50 g-height-2 bg-primary mb-2"></div>
479
479
  </div>
@@ -511,7 +511,7 @@ exclude_from_search: true
511
511
  {% endif %}
512
512
  -------------------------------------------------------------------- {% endcomment %}
513
513
 
514
- <div class="container-fluid" role="main">
514
+ <div class="container-fluid speak2me-ignore" role="main">
515
515
  <div id="plans-container" class="container mt-5">
516
516
  <div class="row g-0">
517
517
 
@@ -661,7 +661,7 @@ exclude_from_search: true
661
661
 
662
662
  {% if heading_position == 'left' %}
663
663
  <div class="{{panel_settings.animate}} mb-2">
664
- <h2 class="g-font-weight-500 mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
664
+ <h2 id="{{panel_settings.title | downcase | replace:' ', '-'}}" class="g-font-weight-500 mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
665
665
  <p class="tagline mb-0 {{heading_translate}}"><b>{{panel_settings.tagline}}</b></p>
666
666
  <div class="d-inline-block g-width-50 g-height-2 bg-primary mb-2"></div>
667
667
  </div>
@@ -669,7 +669,7 @@ exclude_from_search: true
669
669
 
670
670
  {% if heading_position == 'center' %}
671
671
  <div class="text-center mb-2">
672
- <h2 class="mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
672
+ <h2 id="{{panel_settings.title | downcase | replace:' ', '-'}}" class="mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
673
673
  <p class="h4 mb-0 text-muted {{heading_translate}}"><i>{{panel_settings.tagline}}</i></p>
674
674
  <div class="d-inline-block g-width-50 g-height-2 bg-primary mb-2"></div>
675
675
  </div>
@@ -736,7 +736,7 @@ exclude_from_search: true
736
736
  <article class="card raised-z0 card-same-height mb-3">
737
737
  <div class="card-profile mb-0">
738
738
 
739
- <div class="card-icon mt-4">
739
+ <div class="card-icon speak2me-ignore mt-4">
740
740
  <a href="{{card_href}}" class="link-no-decoration" aria-label="Read more on features">
741
741
  <i class="card-icon-circle raised-z0 {{icon_family}} {{icon_family}}-{{card_icon}} {{icon_size}} {{icon_color}} card-icon-background-color-primary"></i>
742
742
  </a>
@@ -749,19 +749,23 @@ exclude_from_search: true
749
749
  <h6 class="notoc category {{card_header_translate}} mt-2 mr-2">{{card_title}}</h6>
750
750
  <h4 class="notoc card-title {{card_header_translate}}">{{card_tagline}}</h4>
751
751
  -->
752
- <div class="notoc category {{card_header_translate}} mt-2 mr-2">{{card_title}}</div>
753
- <div class="notoc card-title {{card_header_translate}}">{{card_tagline}}</div>
752
+ <div class="category {{card_header_translate}} speak2me-ignore mt-2 mr-2">
753
+ {{card_title}}
754
+ </div>
755
+ <div class="card-title text-card {{card_header_translate}}">
756
+ <h3 id="{{card_tagline | downcase | replace:' ', '-'}}">{{card_tagline}}</h3>
757
+ </div>
754
758
 
755
759
  </div>
756
760
  <div class="card-body g-min-height-350 r-text-300 mt-0">{{card_text}}</div>
757
761
 
758
- <div class="card-footer">
762
+ <div class="card-footer speak2me-ignore">
759
763
  <div class="row {{panel_settings.id}}">
760
764
  <div id="{{card_id}}" class="accordion">
761
765
  {% for list in services %}
762
766
  <div class="card">
763
- <div class="card-header" id="headingOne">
764
- <h2 class="clearfix mb-0">
767
+ <div class="card-header">
768
+ <h2 class="notoc mb-0">
765
769
  <a class="btn btn-link card-profile collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#{{list.service.id}}" aria-expanded="false" aria-controls="{{list.service.id}}">
766
770
  <!-- i class="fa fa-chevron-circle-right"></i -->
767
771
  <i class="mdib mdib-chevron-right-circle"></i>
@@ -858,7 +862,7 @@ exclude_from_search: true
858
862
 
859
863
  {% if heading_position == 'left' %}
860
864
  <div class="{{panel_settings.animate}} mb-2">
861
- <h2 class="g-font-weight-500 mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
865
+ <h2 id="{{panel_settings.title | downcase | replace:' ', '-'}}" class="g-font-weight-500 mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
862
866
  <p class="tagline mb-0 {{heading_translate}}"><b>{{panel_settings.tagline}}</b></p>
863
867
  <div class="d-inline-block g-width-50 g-height-2 bg-primary mb-2"></div>
864
868
  </div>
@@ -866,7 +870,7 @@ exclude_from_search: true
866
870
 
867
871
  {% if heading_position == 'center' %}
868
872
  <div class="text-center mb-2">
869
- <h2 class="mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
873
+ <h2 id="{{panel_settings.title | downcase | replace:' ', '-'}}" class="mb-0 {{heading_translate}}">{{panel_settings.title}}</h2>
870
874
  <p class="h4 mb-0 text-muted {{heading_translate}}"><i>{{panel_settings.tagline}}</i></p>
871
875
  <div class="d-inline-block g-width-50 g-height-2 bg-primary mb-2"></div>
872
876
  </div>
@@ -905,6 +909,12 @@ exclude_from_search: true
905
909
  {% assign card_block = "card-deck" %}
906
910
  {% endif %}
907
911
 
912
+ <div class="previewer-headline">
913
+ <div class="post-headline">
914
+ <h2 id="post-headline" class="notoc mt-4">Preview</h2>
915
+ </div>
916
+ </div>
917
+
908
918
  <!-- [INFO ] [~/assets/data/panel.html ] [ blocktype detected as: {{card_block}} ] -->
909
919
  {% if card_block == 'card-list' %}
910
920
  <div class="preview_content">
@@ -919,24 +929,25 @@ exclude_from_search: true
919
929
  <article class="card card-same-height raised-z0 mb-5">
920
930
  {% if post.image %}
921
931
  {% if post.image.path %}
922
- <img class="img-fluid img-object--cover g-height-300" src="{{post.image.path}}" alt="{{post.title}}" style="{{image_filters}};">
932
+ <img class="img-fluid img-object--cover g-height-300" src="{{post.image.path}}" alt="{{post.tagline}}" style="{{image_filters}};">
923
933
  {% assign post_width = '80x' %}
924
934
  {% else %}
925
- <img class="img-fluid img-object--cover g-height-300" src="{{post.image}}" alt="{{post.title}}" style="{{image_filters}};">
935
+ <img class="img-fluid img-object--cover g-height-300" src="{{post.image}}" alt="{{post.tagline}}" style="{{image_filters}};">
926
936
  {% assign post_width = '80x' %}
927
937
  {% endif %}
928
938
  {% else %}
929
939
  <img class="mt-2" src="" alt="">
930
940
  {% assign post_width = '100x' %}
931
941
  {% endif %}
932
- <h3 class="card-header bg-primary notoc notranslate">{{post.title}}</h3>
942
+ <!-- h3 id="{{1000000 | rand}}" class="card-header bg-primary notoc notranslate">{{post.title}}</h3 -->
943
+ <h3 id="{{1000000 | rand}}" class="card-header bg-primary notranslate">{{post.title}}</h3>
933
944
  <!-- Body|Excerpt -->
934
945
  <div class="card-body r-text-300 mt-0">
935
946
  {% comment %} {{post.excerpt|truncatewords: 50|replace:'...',' ...'|remove:'<div class="paragraph">'|remove:'</div>'|remove:'<p>'|remove:'</p>'}} {% endcomment %}
936
947
  {{post.excerpt|truncatewords: truncate_words}}
937
948
  </div>
938
949
  <!-- End Body|Excerpt -->
939
- <div class="card-footer r-text-200">
950
+ <div class="card-footer speak2me-ignore r-text-200">
940
951
 
941
952
  <div class="card-footer-text">
942
953
  {% if language == "en" %}
@@ -988,24 +999,25 @@ exclude_from_search: true
988
999
  <article class="card raised-z0 mb-3">
989
1000
  {% if post.image %}
990
1001
  {% if post.image.path %}
991
- <img class="img-fluid img-object--cover g-height-300" src="{{post.image.path}}" alt="{{post.title}}" style="{{image_filters}};">
1002
+ <img class="img-fluid img-object--cover g-height-300" src="{{post.image.path}}" alt="{{post.tagline}}" style="{{image_filters}};">
992
1003
  {% assign post_width = '80x' %}
993
1004
  {% else %}
994
- <img class="img-fluid img-object--cover g-height-300" src="{{post.image}}" alt="{{post.title}}" style="{{image_filters}};">
1005
+ <img class="img-fluid img-object--cover g-height-300" src="{{post.image}}" alt="{{post.tagline}}" style="{{image_filters}};">
995
1006
  {% assign post_width = '80x' %}
996
1007
  {% endif %}
997
1008
  {% else %}
998
1009
  <img class="mt-2" src="" alt="">
999
1010
  {% assign post_width = '100x' %}
1000
1011
  {% endif %}
1001
- <h3 class="card-header bg-primary notoc">{{post.title}}</h3>
1012
+ <!-- h3 class="card-header bg-primary speak2me-ignore notoc">{{post.title}}</h3 -->
1013
+ <h3 id="{{1000000 | rand}}" class="card-header bg-primary notoc">{{post.title}}</h3>
1002
1014
  <!-- Body|Excerpt -->
1003
1015
  <div class="card-body r-text-300 mt-0">
1004
1016
  {% comment %} {{post.excerpt|truncatewords: 50|replace:'...',' ...'|remove:'<div class="paragraph">'|remove:'</div>'|remove:'<p>'|remove:'</p>'}} {% endcomment %}
1005
1017
  {{post.excerpt|truncatewords: truncate_words}}
1006
1018
  </div>
1007
1019
  <!-- End Body|Excerpt -->
1008
- <div class="card-footer r-text-200">
1020
+ <div class="card-footer speak2me-ignore r-text-200">
1009
1021
 
1010
1022
  <div class="card-footer-text">
1011
1023
  {% if language == "en" %}