j1-template 2023.6.0 → 2023.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) 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/unodark/bootstrap.css +43 -0
  20. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +1 -1
  21. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +141 -1
  22. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  23. data/assets/themes/j1/core/js/template.js +1658 -0
  24. data/assets/themes/j1/core/js/template.min.js +11 -5
  25. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  26. data/assets/themes/j1/modules/speak2me/LICENSE +21 -0
  27. data/assets/themes/j1/modules/speak2me/js/speak2me.js +947 -0
  28. data/assets/themes/j1/modules/speak2me/js/speak2me.min.js +26 -0
  29. data/assets/themes/j1/modules/translator/js/translator.js +30 -13
  30. data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
  31. data/lib/j1/version.rb +1 -1
  32. data/lib/starter_web/Gemfile +4 -4
  33. data/lib/starter_web/README.md +5 -5
  34. data/lib/starter_web/_config.yml +7 -1
  35. data/lib/starter_web/_data/blocks/banner.yml +7 -6
  36. data/lib/starter_web/_data/blocks/panel.yml +37 -39
  37. data/lib/starter_web/_data/layouts/home.yml +1 -1
  38. data/lib/starter_web/_data/modules/advertising.yml +10 -88
  39. data/lib/starter_web/_data/modules/buymeacoffee.yml +30 -0
  40. data/lib/starter_web/_data/modules/defaults/advertising.yml +3 -1
  41. data/lib/starter_web/_data/modules/defaults/blog_navigator.yml +97 -164
  42. data/lib/starter_web/_data/modules/defaults/buymeacoffee.yml +30 -0
  43. data/lib/starter_web/_data/modules/defaults/navigator.yml +8 -4
  44. data/lib/starter_web/_data/modules/defaults/speak2me.yml +72 -0
  45. data/lib/starter_web/_data/modules/scroller.yml +1 -1
  46. data/lib/starter_web/_data/modules/speak2me.yml +33 -0
  47. data/lib/starter_web/_data/resources.yml +24 -1
  48. data/lib/starter_web/_data/templates/feed.xml +1 -1
  49. data/lib/starter_web/_includes/google/static/{google_ad_5128488466.html → google_ad__your-slot-id.html} +1 -1
  50. data/lib/starter_web/_plugins/asciidoctor/callout.rb +1 -1
  51. data/lib/starter_web/_plugins/asciidoctor/carousel-block.rb +2 -2
  52. data/lib/starter_web/_plugins/asciidoctor/gallery-block.rb +2 -2
  53. data/lib/starter_web/_plugins/asciidoctor/gist-block.rb +2 -2
  54. data/lib/starter_web/_plugins/asciidoctor/google-ad-block.rb +1 -1
  55. data/lib/starter_web/_plugins/asciidoctor/lightbox-block.rb +2 -7
  56. data/lib/starter_web/_plugins/asciidoctor/masonry-block.rb +2 -3
  57. data/lib/starter_web/_plugins/asciidoctor/masterslider-block.rb +2 -2
  58. data/lib/starter_web/_plugins/asciidoctor/mdib-icon-inline.rb +43 -0
  59. data/lib/starter_web/_plugins/asciidoctor/mdil-icon-inline.rb +1 -1
  60. data/lib/starter_web/_plugins/asciidoctor/range-slider-block.rb +1 -1
  61. data/lib/starter_web/_plugins/asciidoctor/slick-block.rb +2 -2
  62. data/lib/starter_web/_plugins/asciidoctor/textbook-block.rb +1 -1
  63. data/lib/starter_web/_plugins/filter/liquify.rb +22 -22
  64. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  65. data/lib/starter_web/assets/images/collections/books/biography/a_life_in_questions.jpg +0 -0
  66. data/lib/starter_web/assets/images/collections/books/biography/becoming.jpg +0 -0
  67. data/lib/starter_web/assets/images/collections/books/biography/born_to_run.jpg +0 -0
  68. data/lib/starter_web/assets/images/collections/books/biography/forty_autumns.jpg +0 -0
  69. data/lib/starter_web/assets/images/collections/books/biography/not_dead_yet.jpg +0 -0
  70. data/lib/starter_web/assets/images/collections/books/biography/the_princess_diarist.jpg +0 -0
  71. data/lib/starter_web/assets/images/collections/books/biography/when_breath_becomes_air.jpg +0 -0
  72. data/lib/starter_web/assets/images/collections/books/fantasy/harry-potter-deathly-hallows.jpg +0 -0
  73. data/lib/starter_web/assets/images/collections/books/fantasy/harry-potter-philosophers-stone.jpg +0 -0
  74. data/lib/starter_web/assets/images/collections/books/fantasy/mistborn-trilogy.jpg +0 -0
  75. data/lib/starter_web/assets/images/collections/books/fantasy/ready-player-one.jpg +0 -0
  76. data/lib/starter_web/assets/images/collections/books/fantasy/sword-of-destiny.jpg +0 -0
  77. data/lib/starter_web/assets/images/collections/books/fantasy/terry-pratchet-diary.jpg +0 -0
  78. data/lib/starter_web/assets/images/collections/books/romance/breath-of-snow-and-ashes.jpg +0 -0
  79. data/lib/starter_web/assets/images/collections/books/romance/it-ends-with-us.jpg +0 -0
  80. data/lib/starter_web/assets/images/collections/books/romance/outlander-novel.jpg +0 -0
  81. data/lib/starter_web/assets/images/collections/books/romance/outlander-short-story.jpg +0 -0
  82. data/lib/starter_web/assets/images/collections/books/romance/the-fiery-cross.jpg +0 -0
  83. data/lib/starter_web/assets/images/collections/books/romance/the_dressmaker.jpg +0 -0
  84. data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +13 -8
  85. data/lib/starter_web/collections/_biography/becoming.adoc +18 -12
  86. data/lib/starter_web/collections/_biography/born-to-run.adoc +17 -13
  87. data/lib/starter_web/collections/_biography/forty-autumns.adoc +14 -9
  88. data/lib/starter_web/collections/_biography/not-dead-yet.adoc +12 -7
  89. data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +13 -8
  90. data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +14 -9
  91. data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +13 -7
  92. data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +12 -8
  93. data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +14 -10
  94. data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +12 -11
  95. data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +15 -7
  96. data/lib/starter_web/collections/_fantasy/terry-pratchet-diary.adoc +11 -6
  97. data/lib/starter_web/collections/_romance/breath-of-snow-and-ashes.adoc +15 -10
  98. data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +11 -6
  99. data/lib/starter_web/collections/_romance/outlander-novel.adoc +11 -6
  100. data/lib/starter_web/collections/_romance/{virgins-outlander-short-story.adoc → outlander-virgins-short-story.adoc} +11 -6
  101. data/lib/starter_web/collections/_romance/{dressmaker-the.adoc → the-dressmaker.adoc} +11 -6
  102. data/lib/starter_web/collections/_romance/{fiery-cross-the.adoc → the-fiery-cross.adoc} +11 -6
  103. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +6 -6
  104. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +12 -11
  105. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +9 -7
  106. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +8 -8
  107. data/lib/starter_web/dot.ruby-version +1 -1
  108. data/lib/starter_web/index.html +10 -8
  109. data/lib/starter_web/package.json +1 -1
  110. data/lib/starter_web/pages/public/about/features.adoc +7 -1
  111. data/lib/starter_web/pages/public/about/reporting_issues.adoc +2 -0
  112. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +2 -0
  113. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +2 -0
  114. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +2 -0
  115. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/000_intro.asciidoc +1 -1
  116. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/112_getting_started.asciidoc +1 -0
  117. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/113_themes.asciidoc +1 -0
  118. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +2 -0
  119. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/100_chapter.asciidoc +3 -1
  120. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/200_chapter.asciidoc +1 -0
  121. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +2 -0
  122. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +6 -0
  123. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +6 -13
  124. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +17 -11
  125. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +7 -8
  126. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +5 -7
  127. data/lib/starter_web/pages/public/blog/navigator/index.html +15 -14
  128. data/lib/starter_web/pages/public/features/general.adoc +7 -1
  129. data/lib/starter_web/pages/public/features/template.adoc +87 -128
  130. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_all_books.adoc +3 -0
  131. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +1 -1
  132. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +1 -0
  133. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +1 -1
  134. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +11 -8
  135. data/lib/starter_web/pages/public/learn/bs_sass_variables/bs_sass_variables.adoc +4 -0
  136. data/lib/starter_web/pages/public/learn/core_web_vitals/core_web_vitals.adoc +8 -4
  137. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc +2 -1
  138. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/themes_bootstrap.asciidoc +27 -28
  139. data/lib/starter_web/pages/public/learn/roundtrip/asciidoc_extensions.adoc +164 -153
  140. data/lib/starter_web/pages/public/learn/roundtrip/bootstrap_themes.adoc +22 -16
  141. data/lib/starter_web/pages/public/learn/roundtrip/highlghter_rouge.adoc +3 -2
  142. data/lib/starter_web/pages/public/learn/roundtrip/icon_fonts.adoc +62 -74
  143. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.1.asciidoc +460 -0
  144. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.adoc +4 -0
  145. data/lib/starter_web/pages/public/learn/roundtrip/modal_extentions.adoc +21 -15
  146. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +470 -449
  147. data/lib/starter_web/pages/public/learn/roundtrip/present_videos.adoc +53 -54
  148. data/lib/starter_web/pages/public/learn/roundtrip/responsive_tables.adoc +46 -34
  149. data/lib/starter_web/pages/public/learn/roundtrip/typography.adoc +25 -22
  150. data/lib/starter_web/pages/public/learn/where_to_go.adoc +6 -2
  151. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +4 -0
  152. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +2 -0
  153. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +22 -3
  154. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +5 -0
  155. data/lib/starter_web/pages/public/manuals/speak2me.adoc +412 -0
  156. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +27 -19
  157. data/lib/starter_web/pages/public/plans/plans.adoc +3 -0
  158. data/lib/starter_web/pages/public/tools/cheatsheet/gem.adoc +2 -0
  159. data/lib/starter_web/pages/public/tools/cheatsheet/git.adoc +2 -0
  160. data/lib/starter_web/pages/public/tools/cheatsheet/j1.adoc +2 -0
  161. data/lib/starter_web/pages/public/tools/cheatsheet/yaml.adoc +6 -0
  162. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +17 -3
  163. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  164. data/lib/starter_web/utilsrv/package.json +1 -1
  165. metadata +38 -7
  166. 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: 0b6b429bb9a3a2e4a2b0b84df217409c88532a6424f5aeecec783e11ebe1d068
4
- data.tar.gz: e671e654d0b8be848348b4f5dc961420eb5bfc7852e33ec14cd5a2cb8bb99f64
3
+ metadata.gz: 810e4e518abd7ac95e1bce174b297869adb225f95326aef6daf81840ed39142b
4
+ data.tar.gz: c6c3d33ce81df42d17d1bf57943803f974e63b8297c705ef1af465601d734e48
5
5
  SHA512:
6
- metadata.gz: fdd87d5e28fbc093adf5a6b638b4f54c8c74824a4936e4600d95b62f7490ff3785b1c0ae5d3742512f17d482e3122d25604c913ac2f3b110124e4686849aa699
7
- data.tar.gz: e08098021fe7d906cfed89f16cf76266e7694de0e392e9bb6a672a815a24a21b84487f70750cdfdadf126305e92beb1b16f5d11eb9e6784395c37d361ad77450
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" %}