j1-template 2022.4.10 → 2022.5.0.rc0

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/modules/navigator/procedures/topsearch.proc +6 -6
  3. data/assets/data/fab.html +1 -1
  4. data/assets/data/panel.html +1 -1
  5. data/assets/themes/j1/adapter/js/attic.js +18 -3
  6. data/assets/themes/j1/adapter/js/navigator.js +19 -85
  7. data/assets/themes/j1/adapter/js/themer.js +5 -0
  8. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +23 -26
  9. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +1 -1
  10. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +7 -7
  11. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +2 -2
  12. data/assets/themes/j1/core/css/vendor.css +5 -1
  13. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  14. data/assets/themes/j1/modules/backstretch/js/backstretch.js +3 -1
  15. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +1 -1
  16. data/lib/j1/commands/generate.rb +12 -1
  17. data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/3.0/fastfilereaderext.so +0 -0
  18. data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/3.0/rubyeventmachine.so +0 -0
  19. data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/3.1/fastfilereaderext.so +0 -0
  20. data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/3.1/rubyeventmachine.so +0 -0
  21. data/lib/j1/version.rb +1 -1
  22. data/lib/starter_web/Gemfile +270 -223
  23. data/lib/starter_web/_config.yml +6 -9
  24. data/lib/starter_web/_data/modules/attics.yml +13 -4
  25. data/lib/starter_web/_data/modules/defaults/attics.yml +1 -1
  26. data/lib/starter_web/_data/modules/defaults/navigator.yml +3 -3
  27. data/lib/starter_web/_data/modules/defaults/themer.yml +1 -1
  28. data/lib/starter_web/_data/modules/navigator.yml +3 -3
  29. data/lib/starter_web/_data/modules/navigator_menu.yml +238 -157
  30. data/lib/starter_web/_includes/_attributes.asciidoc +575 -0
  31. data/lib/starter_web/_includes/attributes.asciidoc +41 -40
  32. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  33. data/lib/starter_web/assets/images/{modules/icons → icons}/asciidoc/logo-512x512.png +0 -0
  34. data/lib/starter_web/assets/images/{modules/icons → icons}/bokeh/bokeh-32x32.ico +0 -0
  35. data/lib/starter_web/assets/images/{modules/icons → icons}/bokeh/bokeh.ico +0 -0
  36. data/lib/starter_web/assets/images/{modules/icons → icons}/bokeh/logo-160x160.png +0 -0
  37. data/lib/starter_web/assets/images/{modules/icons → icons}/bootstrap/bootstrap-solid-32x32.png +0 -0
  38. data/lib/starter_web/assets/images/{modules/icons → icons}/bootstrap/bs-docs-masthead-pattern.png +0 -0
  39. data/lib/starter_web/assets/images/{modules/icons → icons}/bootstrap/scalable/bootstrap-outline.svg +0 -0
  40. data/lib/starter_web/assets/images/{modules/icons → icons}/bootstrap/scalable/bootstrap-punchout.svg +0 -0
  41. data/lib/starter_web/assets/images/{modules/icons → icons}/bootstrap/scalable/bootstrap-solid.svg +0 -0
  42. data/lib/starter_web/assets/images/{modules/icons → icons}/components/angular.ui.png +0 -0
  43. data/lib/starter_web/assets/images/{modules/icons → icons}/components/angularjs.png +0 -0
  44. data/lib/starter_web/assets/images/{modules/icons → icons}/components/aws.png +0 -0
  45. data/lib/starter_web/assets/images/{modules/icons → icons}/components/bootstrap.png +0 -0
  46. data/lib/starter_web/assets/images/{modules/icons → icons}/components/c9.png +0 -0
  47. data/lib/starter_web/assets/images/{modules/icons → icons}/components/chai.png +0 -0
  48. data/lib/starter_web/assets/images/{modules/icons → icons}/components/emmet.png +0 -0
  49. data/lib/starter_web/assets/images/{modules/icons → icons}/components/express.png +0 -0
  50. data/lib/starter_web/assets/images/{modules/icons → icons}/components/git.png +0 -0
  51. data/lib/starter_web/assets/images/{modules/icons → icons}/components/github.png +0 -0
  52. data/lib/starter_web/assets/images/{modules/icons → icons}/components/gulp.png +0 -0
  53. data/lib/starter_web/assets/images/{modules/icons → icons}/components/heroku.png +0 -0
  54. data/lib/starter_web/assets/images/{modules/icons → icons}/components/htmlcss-1.png +0 -0
  55. data/lib/starter_web/assets/images/{modules/icons → icons}/components/htmlcss-2.png +0 -0
  56. data/lib/starter_web/assets/images/{modules/icons → icons}/components/jasmine.png +0 -0
  57. data/lib/starter_web/assets/images/{modules/icons → icons}/components/javascript.png +0 -0
  58. data/lib/starter_web/assets/images/{modules/icons → icons}/components/jquery.png +0 -0
  59. data/lib/starter_web/assets/images/{modules/icons → icons}/components/kanban.png +0 -0
  60. data/lib/starter_web/assets/images/{modules/icons → icons}/components/leanux.png +0 -0
  61. data/lib/starter_web/assets/images/{modules/icons → icons}/components/linkedin.png +0 -0
  62. data/lib/starter_web/assets/images/{modules/icons → icons}/components/mean.png +0 -0
  63. data/lib/starter_web/assets/images/{modules/icons → icons}/components/mongodb.png +0 -0
  64. data/lib/starter_web/assets/images/{modules/icons → icons}/components/node.png +0 -0
  65. data/lib/starter_web/assets/images/{modules/icons → icons}/components/postgresql.png +0 -0
  66. data/lib/starter_web/assets/images/{modules/icons → icons}/components/protractor.png +0 -0
  67. data/lib/starter_web/assets/images/{modules/icons → icons}/components/rails.png +0 -0
  68. data/lib/starter_web/assets/images/{modules/icons → icons}/components/ruby.png +0 -0
  69. data/lib/starter_web/assets/images/{modules/icons → icons}/components/sass.png +0 -0
  70. data/lib/starter_web/assets/images/{modules/icons → icons}/components/scrum.png +0 -0
  71. data/lib/starter_web/assets/images/{modules/icons → icons}/components/twitter.png +0 -0
  72. data/lib/starter_web/assets/images/{modules/icons → icons}/github/avatar-icon.png +0 -0
  73. data/lib/starter_web/assets/images/icons/hyvor-talk/hyvor-logo.24x24.png +0 -0
  74. data/lib/starter_web/assets/images/icons/hyvor-talk/hyvor-logo.512x512.png +0 -0
  75. data/lib/starter_web/assets/images/icons/hyvor-talk/hyvore-talk.ico +0 -0
  76. data/lib/starter_web/assets/images/icons/hyvor-talk/scalable/hyvor-logo.svg +81 -0
  77. data/lib/starter_web/assets/images/{modules/icons → icons}/j1/favicon.ico +0 -0
  78. data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1-256x256.gif +0 -0
  79. data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1-256x256.png +0 -0
  80. data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1-32x32.ico +0 -0
  81. data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1-512x512.png +0 -0
  82. data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1-64x64.png +0 -0
  83. data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1.ico +0 -0
  84. data/lib/starter_web/assets/images/{modules/icons → icons}/j1/scalable/j1.svg +0 -0
  85. data/lib/starter_web/assets/images/{modules/icons → icons}/jupyter/jupyter-32x32.ico +0 -0
  86. data/lib/starter_web/assets/images/{modules/icons → icons}/jupyter/jupyter.ico +0 -0
  87. data/lib/starter_web/assets/images/{modules/icons → icons}/jupyter/logo.png +0 -0
  88. data/lib/starter_web/assets/images/{modules/icons → icons}/os/centos/centos-icon.png +0 -0
  89. data/lib/starter_web/assets/images/{modules/icons → icons}/os/centos/centos.ico +0 -0
  90. data/lib/starter_web/assets/images/{modules/icons → icons}/os/suse/suse.gif +0 -0
  91. data/lib/starter_web/assets/images/{modules/icons → icons}/os/suse/suse.ico +0 -0
  92. data/lib/starter_web/assets/images/{modules/icons → icons}/os/suse/suse.png +0 -0
  93. data/lib/starter_web/assets/images/{modules/icons → icons}/os/ubuntu/cof_black_hex.png +0 -0
  94. data/lib/starter_web/assets/images/{modules/icons → icons}/os/ubuntu/cof_orange_hex.png +0 -0
  95. data/lib/starter_web/assets/images/{modules/icons → icons}/os/ubuntu/cof_white-black_hex.png +0 -0
  96. data/lib/starter_web/assets/images/{modules/icons → icons}/os/ubuntu/cof_white-orange_hex.png +0 -0
  97. data/lib/starter_web/assets/images/{modules/icons → icons}/os/ubuntu/ubuntu.ico +0 -0
  98. data/lib/starter_web/assets/images/{modules/icons → icons}/os/windows/windows.png +0 -0
  99. data/lib/starter_web/assets/images/{modules/icons → icons}/os/windows/windows_flags_color.ico +0 -0
  100. data/lib/starter_web/assets/images/{modules/icons → icons}/os/windows/windows_hdd.ico +0 -0
  101. data/lib/starter_web/assets/images/{modules/icons → icons}/os/windows/windows_store.ico +0 -0
  102. data/lib/starter_web/assets/images/{modules/icons → icons}/social/amazon.png +0 -0
  103. data/lib/starter_web/assets/images/{modules/icons → icons}/social/behance.png +0 -0
  104. data/lib/starter_web/assets/images/{modules/icons → icons}/social/blogger.png +0 -0
  105. data/lib/starter_web/assets/images/{modules/icons → icons}/social/deviantart.png +0 -0
  106. data/lib/starter_web/assets/images/{modules/icons → icons}/social/dribbble.png +0 -0
  107. data/lib/starter_web/assets/images/{modules/icons → icons}/social/dropbox.png +0 -0
  108. data/lib/starter_web/assets/images/{modules/icons → icons}/social/evernote.png +0 -0
  109. data/lib/starter_web/assets/images/{modules/icons → icons}/social/facebook.png +0 -0
  110. data/lib/starter_web/assets/images/{modules/icons → icons}/social/forrst.png +0 -0
  111. data/lib/starter_web/assets/images/{modules/icons → icons}/social/github.png +0 -0
  112. data/lib/starter_web/assets/images/{modules/icons → icons}/social/googleplus.png +0 -0
  113. data/lib/starter_web/assets/images/{modules/icons → icons}/social/instagram.png +0 -0
  114. data/lib/starter_web/assets/images/{modules/icons → icons}/social/jolicloud.png +0 -0
  115. data/lib/starter_web/assets/images/{modules/icons → icons}/social/last-fm.png +0 -0
  116. data/lib/starter_web/assets/images/{modules/icons → icons}/social/linkedin.png +0 -0
  117. data/lib/starter_web/assets/images/{modules/icons → icons}/social/picasa.png +0 -0
  118. data/lib/starter_web/assets/images/{modules/icons → icons}/social/pintrest.png +0 -0
  119. data/lib/starter_web/assets/images/{modules/icons → icons}/social/rss.png +0 -0
  120. data/lib/starter_web/assets/images/{modules/icons → icons}/social/skype.png +0 -0
  121. data/lib/starter_web/assets/images/{modules/icons → icons}/social/spotify.png +0 -0
  122. data/lib/starter_web/assets/images/{modules/icons → icons}/social/stumbleupon.png +0 -0
  123. data/lib/starter_web/assets/images/{modules/icons → icons}/social/tumblr.png +0 -0
  124. data/lib/starter_web/assets/images/{modules/icons → icons}/social/twitter.png +0 -0
  125. data/lib/starter_web/assets/images/{modules/icons → icons}/social/vimeo.png +0 -0
  126. data/lib/starter_web/assets/images/{modules/icons → icons}/social/vk.png +0 -0
  127. data/lib/starter_web/assets/images/{modules/icons → icons}/social/wordpress.png +0 -0
  128. data/lib/starter_web/assets/images/{modules/icons → icons}/social/xing.png +0 -0
  129. data/lib/starter_web/assets/images/{modules/icons → icons}/social/yahoo.png +0 -0
  130. data/lib/starter_web/assets/images/{modules/icons → icons}/social/youtube.png +0 -0
  131. data/lib/starter_web/assets/images/modules/attics/1920x1280/alexander-redl.jpg +0 -0
  132. data/lib/starter_web/assets/images/modules/attics/1920x1280/harpal-singh.jpg +0 -0
  133. data/lib/starter_web/assets/images/modules/attics/1920x1280/john-schnobrich-2.jpg +0 -0
  134. data/lib/starter_web/assets/images/modules/attics/alexander-redl.jpg +0 -0
  135. data/lib/starter_web/assets/images/modules/attics/harpal-singh.jpg +0 -0
  136. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +2 -2
  137. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +3 -2
  138. data/lib/starter_web/collections/posts/public/featured/_posts/{2022-02-28-about-j1.adoc → 2022-02-01-about-j1.adoc} +2 -3
  139. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +2 -2
  140. data/lib/starter_web/index.html +6 -2
  141. data/lib/starter_web/package.json +2 -2
  142. data/lib/starter_web/pages/public/features/general.adoc +0 -1
  143. data/lib/starter_web/pages/public/features/template.adoc +4 -5
  144. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-common-used-widgets.adoc +1 -1
  145. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_circular_times_table.html +747 -747
  146. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_climate_change_forecast.html +1250 -1250
  147. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +186 -186
  148. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -512
  149. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -629
  150. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +95 -95
  151. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -93
  152. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +96 -96
  153. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -70
  154. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -156
  155. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +95 -95
  156. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +93 -93
  157. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -955
  158. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_images.adoc +313 -0
  159. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_videos.adoc +281 -0
  160. data/lib/starter_web/pages/public/learn/_roundtrip/200_typography.adoc +253 -0
  161. data/lib/starter_web/pages/public/learn/_roundtrip/300_icon_fonts.adoc +579 -0
  162. data/lib/starter_web/pages/public/learn/_roundtrip/400_asciidoc_extensions.adoc +719 -0
  163. data/lib/starter_web/pages/public/learn/_roundtrip/410_bs_modals_extentions.adoc +91 -0
  164. data/lib/starter_web/pages/public/learn/_roundtrip/420_responsive_tables_extensions.adoc +420 -0
  165. data/lib/starter_web/pages/public/learn/_roundtrip/500_themes.adoc +250 -0
  166. data/lib/starter_web/pages/public/learn/_roundtrip/600_quicksearch.adoc +425 -0
  167. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/attributes.asciidoc +118 -0
  168. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/100_gistblock.asciidoc +28 -0
  169. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_info.asciidoc +14 -0
  170. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +11 -0
  171. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +11 -0
  172. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_central_success.asciidoc +11 -0
  173. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_left_info.asciidoc +11 -0
  174. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_right_success.asciidoc +11 -0
  175. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +47 -0
  176. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_info.asciidoc +11 -0
  177. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_left_info.asciidoc +11 -0
  178. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_right_success.asciidoc +11 -0
  179. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +337 -0
  180. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +47 -0
  181. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/google-ad.js +130 -0
  182. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +1 -1
  183. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +2 -1
  184. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +0 -28
  185. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +1 -1
  186. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +6 -6
  187. data/lib/starter_web/pages/public/panels/intro_panel/_includes/attributes.asciidoc +5 -5
  188. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +3 -3
  189. data/lib/starter_web/pages/public/se/se-fake.adoc +44 -0
  190. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  191. data/lib/starter_web/utilsrv/package.json +1 -1
  192. metadata +179 -149
  193. data/assets/data/twa_v1.json +0 -7039
  194. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.ads.asciidoc +0 -196
  195. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.comments.asciidoc +0 -182
@@ -0,0 +1,719 @@
1
+ ---
2
+ title: Roundtrip
3
+ tagline: asciidoc extensions
4
+ date: 2020-11-07 00:00:00
5
+ description: >
6
+ J1 Template implements some incubating Ruby-based
7
+ extensions for Asciidoctor. Most extensions are based
8
+ on the examples given with the Asciidoctor Extensions
9
+ Lab. All implemented Asciidoctor Extensions can be
10
+ found in this article.
11
+
12
+ categories: [ Roundtrip ]
13
+ tags: [ Introduction, Module, Asciidoc, Extension ]
14
+
15
+ fab_menu_id: page_ctrl
16
+
17
+ permalink: /pages/public/learn/roundtrip/asciidoc_extensions/
18
+ regenerate: false
19
+
20
+ resources: [ animate, clipboard, lightbox, iconify, twemoji, rouge ]
21
+ resource_options:
22
+ - attic:
23
+ slides:
24
+ - url: /assets/images/pages/roundtrip/puzzle-1920x1280-bw.jpg
25
+ alt: puzzle-1920x1280-bw
26
+ ---
27
+
28
+ // Page Initializer
29
+ // =============================================================================
30
+ // Enable the Liquid Preprocessor
31
+ :page-liquid:
32
+
33
+ // Set (local) page attributes here
34
+ // -----------------------------------------------------------------------------
35
+ // :page--attr: <attr-value>
36
+ :images-dir: {imagesdir}/pages/roundtrip/100_present_images
37
+
38
+ // Load Liquid procedures
39
+ // -----------------------------------------------------------------------------
40
+ {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
41
+
42
+ // Load page attributes
43
+ // -----------------------------------------------------------------------------
44
+ {% include {{load_attributes}} scope="all" %}
45
+
46
+ // Page content
47
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48
+
49
+ // Include sub-documents (if any)
50
+ // -----------------------------------------------------------------------------
51
+ [role="dropcap"]
52
+ J1 Template implements some incubating Ruby-based extensions for Asciidoctor.
53
+ Most extensions are based on the examples given with the
54
+ link:{url-asciidoctor--extensions-lab}[Asciidoctor Extensions Lab, {browser-window--new}].
55
+ If you simply want to use the extensions from this repository, go ahead to
56
+ link:{url-asciidoctor--extensions-use}[Using an extension, {browser-window--new}].
57
+ To create Asciidoc extensions on your own, it is highly recommended to read the
58
+ link:{url-asciidoctor--extensions-manual}[extensions section, {browser-window--new}] in
59
+ the Asciidoctor user manual.
60
+
61
+ All already implemented Asciidoctor Extensions you'll find below. Additional
62
+ valuable extensions to the Markup language Asciidoc to the Markup language
63
+ Asciidoc is made especially for documents of the Jekyll content type pages
64
+ (but can be used for posts or collections as well).
65
+
66
+ == Asciidoc Result Extension
67
+
68
+ J1 Template adds a simple Javascript based on the `View Result Extension` to
69
+ any `listingblock`. The extension adds an interactive toggle button `VIEW`
70
+ to the output of an Asciidoc listing block box placed to the top right of
71
+ the example box. If a result block `[.result]` is placed under a `listingblock`,
72
+ clicking the toggle button `VIEW` displays (or hide) the content given by the
73
+ `result block`.
74
+
75
+ The `View Result Extension` is quite helpful for sections discussing
76
+ Asciidoc code and how the resulting (HTML) code would look alike.
77
+
78
+ .This example place a button `VIEW` top right of the example box
79
+ [source, no_template, role="noclip"]
80
+ ----
81
+ * displayed always
82
+ ----
83
+
84
+ [.result]
85
+ ====
86
+ displayed till clicked, but closed on second click (toggle)
87
+ ====
88
+
89
+ == Asciidoc Admonitions
90
+
91
+ Admonition blocks draw attention to certain statements by taking them out
92
+ of the content’s flow and labeling them as priorities. These types of
93
+ (Asciidoc) blocks are called admonitions. The AsciiDoc language provides
94
+ five admonition types represented by the following labels:
95
+
96
+ .Admonition labels
97
+ [cols="3a,9a", subs=+macros, options="header", width="100%", role="rtable mt-3"]
98
+ |===
99
+ |Name |Description
100
+
101
+ |`NOTE`
102
+ |Additional information on the currently discussed topic that may help
103
+ the reader
104
+
105
+ |`TIP`
106
+ |Additional information on the currently discussed topic that may help the
107
+ reader *to go further* or describe *additional options* available
108
+
109
+ |`IMPORTANT`
110
+ |Emphasis on what is currently being discussed and facts that should
111
+ be kept in mind
112
+
113
+ |`CAUTION`
114
+ |Advise the reader to act carefully and point to potential tripping
115
+
116
+ |`WARNING`
117
+ |inform the reader of danger, harm, or consequences that exist
118
+
119
+ |===
120
+
121
+ NOTE: All colors for all default admonition blocks set to the standard
122
+ MD color set. Find available block types and their colors below.
123
+
124
+
125
+ When you want to call attention to a single paragraph, start the first
126
+ line of the paragraph with the label you want to use. The label must be
127
+ uppercase and followed by a colon (:).
128
+
129
+ .Admonition paragraph syntax
130
+ [source, config]
131
+ ----
132
+ NOTE: Followed by the paragraph text
133
+ ----
134
+
135
+ Set the label as a style attribute on a block when you want to apply an
136
+ admonition to complex content. The next example shows that admonition
137
+ labels are commonly set on example blocks. The label must be uppercase
138
+ when set as an attribute on a block.
139
+
140
+ .Admonition block syntax
141
+ [source, config]
142
+ ----
143
+ [NOTE]
144
+ ====
145
+ The block text (multiline)
146
+ ====
147
+ ----
148
+
149
+ To add an *additional* title element on an admonition, place a dot (.)
150
+ markup directly followed (no spaces) by the text of the title.
151
+
152
+ .Admonition block syntax and additional title
153
+ [source, config]
154
+ ----
155
+ .title text
156
+ [NOTE]
157
+ ====
158
+ The block text (multiline)
159
+ ====
160
+ ----
161
+
162
+ .NOTE block
163
+ NOTE: Icon background-color: indigo
164
+
165
+ .TIP block
166
+ TIP: Icon background-color: green
167
+
168
+ .IMPORTANT block
169
+ IMPORTANT: Icon background-color: orange
170
+
171
+ .WARNING block
172
+ WARNING: Icon background-color: yellow
173
+
174
+ .CAUTION block
175
+ CAUTION: Icon background-color: red
176
+
177
+
178
+ == Asciidoc Quote elements
179
+
180
+ Quote elements cite a passage or phrase from a book, speech, or the like,
181
+ such as authority, illustration, etc. the quote elements are controlled by
182
+ the following *attributes*:
183
+
184
+ attribution::
185
+ The attribute `attribution` specifies the name of *who* the content
186
+ is attributed to
187
+
188
+ information::
189
+ The attribute `information` is optional and specifies the general or
190
+ bibliographical information of the book, speech, play, poem, etc.,
191
+ where the content was *drawn from*
192
+
193
+ === Quoted paragraph
194
+
195
+ If the text element to be quoted is a single line or paragraph, the attribute
196
+ list `[quote, attribution, information]` can be placed directly *above* the
197
+ text.
198
+
199
+ .Synopsis
200
+ [source, text]
201
+ ----
202
+ [quote, attribution, information]
203
+ Quote or excerpt text
204
+ ----
205
+
206
+ After landing the cloaked Klingon bird of prey in Golden Gate park:
207
+
208
+ [quote, Captain James T. Kirk, Star Trek IV: The Voyage Home]
209
+ Everybody remember where we parked.
210
+
211
+ A *single* paragraph can be turned into a blockquote by:
212
+
213
+ . surrounding the quoted paragraph with double-quotes (")
214
+ . adding an (optional) `attribution`, prefixed by two dashes (--)
215
+ *below* the quoted text
216
+
217
+ .Synopsis
218
+ [source, text]
219
+ ----
220
+ "quoted paragraph"
221
+ -- attribution
222
+ ----
223
+
224
+ "I hold it that a little rebellion now and then is a good thing,
225
+ and as necessary in the political world as storms in the physical."
226
+ -- Thomas Jefferson, Papers of Thomas Jefferson: Volume 11
227
+
228
+
229
+ === Quote block
230
+
231
+ If the text element (or excerpt) to be quoted is more than one paragraph,
232
+ place the (multine) text between delimiter lines consisting of four
233
+ *underscores* (____).
234
+
235
+ .Synopsis
236
+
237
+ [source, text]
238
+ ----
239
+ [quote, attribution]
240
+ ____
241
+ paragraph text (multiline)
242
+ ____
243
+ ----
244
+
245
+ [quote, Monty Python and the Holy Grail]
246
+ ____
247
+ Dennis: Come and see the violence inherent in the system.
248
+ Help! Help! I'm being repressed!
249
+
250
+ King Arthur: Bloody peasant!
251
+
252
+ Dennis: Oh, what a giveaway! Did you hear that? Did you hear that, eh?
253
+ That's what I'm on about! Did you see him repressing me? You saw him,
254
+ Didn't you?
255
+ ____
256
+
257
+
258
+ == Lightboxes
259
+
260
+ A Lightbox is, in general, a helper which displays enlarged, almost
261
+ screen-filling versions of images (or videos) while dimming the remainder
262
+ of the page. The technique, introduced by Lightbox V2, gained widespread
263
+ popularity thanks to its simple style. The term lightbox has been employed
264
+ since then for Javascript libraries to support such functionality.
265
+
266
+ To make the use of the built-in lightbox easier, the J1 Template offers an
267
+ Asciidoc extension: the lightBox block macro. The block macro `lightbox::`
268
+ embeds one or more images into the output document and puts the default
269
+ lightbox for J1 automatically on. The images `size` (width) and additional
270
+ `caption text` and additional CSS styles are configurable for all images
271
+ using this macro.
272
+
273
+ .Lightbox block for single images
274
+ [source, no_template, role="noclip"]
275
+ ----
276
+ .block_title
277
+ lightbox::<block_id>[ <images_width>, <images_data_id>, <role="<additional CSS styles>"> ]
278
+ ----
279
+
280
+ .Lightbox block for image groups
281
+ [source, no_template, role="noclip"]
282
+ ----
283
+ .block_title
284
+ lightbox::<block_id>[ <images_width>, <images_data_id>, <group_name>, <role="<additional CSS styles>"> ]
285
+ ----
286
+
287
+ [NOTE]
288
+ ====
289
+ The `role` parameter to specify additional CSS styles is for all `lightbox::`
290
+ macros *optional* and can be omitted.
291
+
292
+ For a `lightbox::` block, images are placed in the output document
293
+ without any other scaling than in width - they are placed using simple
294
+ HTML `img` tags. This technique is fine for images that are even in size.
295
+ For images in different sizes, a gallery should be used as a J1 Gallery Apps
296
+ to rearrange images and make them fit at their best for the available space.
297
+ ====
298
+
299
+ === Standalone Images
300
+
301
+ For your convenience and better readability, the image data should be
302
+ defined as Asciidoc attributes. The image data is given as a string
303
+ of data pairs:
304
+
305
+ .Paired attributes
306
+ [source, no_template, role="noclip"]
307
+ ----
308
+ "path/to/image-1, image-caption-1, ..."
309
+ ----
310
+
311
+ .Example of an data attribute for a lightbox block
312
+ [source, no_template, role="noclip"]
313
+ ----
314
+ :data-images: "pages/image-1.jpg, Description 1, "pages/image-2.jpg, Description 2"
315
+ ----
316
+
317
+ The base path for all image-related data is a side-wide (Asciidoc)
318
+ configuration (see `_config.yml`) and points per default to `/assets/images`.
319
+ The base path is automatically added to each image. If you want to use the
320
+ default asset path for images, a relative path needs to be given for
321
+ `path/to/image`.
322
+
323
+ WARNING: If an absolute path is configured, like `/path/to/image`, the base
324
+ path gets ignored - this is the default behavior of the Asciidoc Markup
325
+ processor. If an absolute path is given, the full path to the images
326
+ used has to be configured.
327
+
328
+ The parameter `group` for the `lightbox::` block is an option. If no
329
+ `group` parameter is given for a block, the related images are treated as
330
+ standalone.
331
+
332
+ .Lightbox block for standalone images
333
+ [source, no_template, role="noclip"]
334
+ ----
335
+ lightbox::<block_id>[ 400, {<data-images-id>} ]
336
+ ----
337
+
338
+ .Lightbox block for standalone images
339
+ lightbox::images-standalone[ 400, {data-images-standalone} ]
340
+
341
+ === Grouped Images
342
+
343
+ If more than a single image is given for a `lightbox::` block, the images
344
+ can be grouped to enable a simple sliding functionality through this group
345
+ of related images. Enabling this function, the option `group` needs to be
346
+ configured for the block.
347
+
348
+ .Lightbox block for grouped images
349
+ [source, no_template, role="noclip"]
350
+ ----
351
+ lightbox::<block_id>[ 400, {<data-images-group_id>}, <group_name> ]
352
+ ----
353
+
354
+ .Lightbox block for grouped images
355
+ lightbox::images-group[ 400, {data-images-group}, group_name ]
356
+
357
+ == Galleries
358
+
359
+ JustifiedGallery, the default gallery for J1, is a great jQuery plugin to
360
+ create responsive, infinite, and high-quality justified image galleries.
361
+ J1 Template combines the Gallery with the lightboxes supported to enlarge
362
+ the images of a gallery.
363
+
364
+ Pictures you’ve made are typically not even in size. Images may have the same
365
+ size (resolution), but some are orientated landscapes, or others may be
366
+ portrait. For that reason, a more powerful gallery is needed to create
367
+ a so-called masonry grid layout. It works by placing elements in an optimal
368
+ position based on available horizontal and vertical space. Sort of like mason
369
+ fitting stones in a wall.
370
+
371
+ .Gallerie macro for images and videos
372
+ [source, no_template]
373
+ ----
374
+ .block_title
375
+ gallery::<gallery_id>[role="<additional CSS styles>"]
376
+ ----
377
+
378
+ === Image galleries
379
+
380
+ lorem:sentences[5]
381
+
382
+ === Video galleries
383
+
384
+ lorem:sentences[5]
385
+
386
+
387
+ == Country flags
388
+
389
+ Country flags are often used in the context of language-specific selections
390
+ or for content related to a specific country. The use of country flags can
391
+ make language selections or country indicators more visual to support your
392
+ visitors by making a more meaningful presentation.
393
+
394
+ The J1 Template comes with full support of country flags for Asciidoc
395
+ documents included.
396
+
397
+ Country flags can be used as inline icons by using the `flag:` inline macro:
398
+
399
+ [source, no_template, role="noclip"]
400
+ ----
401
+ flag:country[style, size, modifier] <1> <2> <3> <4>
402
+ ----
403
+ <1> All `country` flags can be found on the preview page for
404
+ link:{url-previewer--county-flags}[country flags]
405
+ <2> The `style` attribute can be one of: `rectangle` or `squared`
406
+ <3> The `size` attribute can be one of: `xs`, `sm`, `md`, `lg`, `xl` (responsive)
407
+ and `1x` to `10x` (proportional)
408
+ <4> The `modifier` can be used to add individual CSS classes e.g. for
409
+ BS styles for margin setting and other
410
+
411
+ .Click on button `VIEW` to see how it's looks alike
412
+ [source, no_template, role="noclip"]
413
+ ----
414
+ flag:de[rectangle, 2x, ml-3 mr-2 mb-2] Germany (rectangle) +
415
+ flag:de[squared, 2x, ml-3 mr-3 mb-2] Germany (square)
416
+ ----
417
+
418
+ [.result]
419
+ ====
420
+ flag:de[rectangle, 2x, ml-3 mr-2 mb-2] Germany (rectangle) +
421
+ flag:de[squared, 2x, ml-3 mr-3 mb-2] Germany (square)
422
+ ====
423
+
424
+ Flag Icons is a collection of all country flags in the SVG vector format.
425
+ All icons can be automatically resized with no loss in display quality.
426
+
427
+ .Example flag sizes (responsive)
428
+ [cols="2a,3a,4a,^", options="header", width="100%", role="rtable mt-3"]
429
+ |===
430
+ |Size |Style |Markup |Render
431
+
432
+ |`xs`
433
+ |rectangle
434
+ |
435
+ .Germany
436
+ [source, adoc, role="noclip"]
437
+ ----
438
+ flag:de[rectangle, xs]
439
+ ----
440
+ ^|flag:de[rectangle, xs]
441
+
442
+ |`sm`
443
+ |rectangle
444
+ |
445
+ .Germany
446
+ [source, adoc, role="noclip"]
447
+ ----
448
+ flag:de[rectangle, sm]
449
+ ----
450
+ ^|flag:de[rectangle, sm]
451
+
452
+ |`md`
453
+ |rectangle
454
+ |
455
+ .Belgium
456
+ [source, adoc, role="noclip"]
457
+ ----
458
+ flag:be[rectangle, md]
459
+ ----
460
+ ^|flag:be[rectangle, md]
461
+
462
+ |`lg`
463
+ |rectangle
464
+ |
465
+ .Denmark
466
+ [source, adoc, role="noclip"]
467
+ ----
468
+ flag:dk[rectangle, lg]
469
+ ----
470
+ ^|flag:dk[rectangle, lg]
471
+
472
+ |`xl`
473
+ |rectangle
474
+ |
475
+ .Spain
476
+ [source, adoc, role="noclip"]
477
+ ----
478
+ flag:es[rectangle, xl]
479
+ ----
480
+ ^|flag:es[rectangle, xl]
481
+
482
+ |===
483
+
484
+
485
+ == Icon Fonts
486
+
487
+ The J1 Template comes with full icon support for Asciidoc documents included.
488
+ All icon fonts are supported:
489
+
490
+ * FA (FontAwesome)
491
+ * MDI (MaterialDesign icons)
492
+ * Iconify
493
+
494
+ == Material Designs Icons
495
+
496
+ Material Designs Icons can be used as inline icons by using
497
+ the `mdi:` inline macro:
498
+
499
+ [source, no_template, role="noclip"]
500
+ ----
501
+ mdi:icon_name[icon_size, modifier] <1> <2> <3>
502
+ ----
503
+ <1> All `icon_name` can be found on the preview page for
504
+ link:{url-previewer--mdi-icons}[MDI Icon Previewer]
505
+ <2> The `icon_size` attribute can be one of: `xs`, `sm`, `lg` and `1x` to `10x`
506
+ <3> The `modifier` can be used to set the e.g the color (md-blue), an
507
+ animation (fa-pulsed) or the orientation (fa-rotate-45)
508
+
509
+ .Click on button `VIEW` to see how it's looks alike
510
+ [source, no_template, role="noclip"]
511
+ ----
512
+ mdi:home[2x, mdi-pulsed ml-3 mr-2 mb-2] Symbol icon (pulsed) +
513
+ mdi:font-awesome[2x, ml-3 mr-2 mb-2] Brand icon +
514
+ mdi:apple[2x, md-indigo ml-3 mr-2] Brand icon (colored)
515
+ ----
516
+
517
+ [.result]
518
+ ====
519
+ mdi:home[2x, mdi-pulsed ml-3 mr-2 mb-2] Symbol icon (pulsed) +
520
+ mdi:font-awesome[2x, ml-3 mr-2 mb-2] Brand icon +
521
+ mdi:apple[2x, md-indigo ml-3 mr-2] Brand icon (colored)
522
+ ====
523
+
524
+ NOTE: Parameters `icon_size` and `modifier` are optional. If not given,
525
+ the icons `size` is set to default (`1x`), the color to `black` and no
526
+ settings for the `modifier` are applied.
527
+
528
+ == Font Awesome Icons
529
+
530
+ Font Awesome Icons can be used as inline icons by using
531
+ the `fas:` (solid icons) or `fab` (brand icons) inline macro:
532
+
533
+ [source, no_template, role="noclip"]
534
+ ----
535
+ fas:icon_name[icon_size, modifier] <1> <2> <3>
536
+ ----
537
+ <1> All `icon_name` can be found on the preview page at
538
+ link:{url-fa-icons--previewer}[FA Icons, {browser-window--new}]
539
+ <2> The `icon_size` attribute can be one of: `xs`, `sm`, `lg` and `1x` to `10x`
540
+ <3> The `modifier` can be used to set e.g the color (md-blue), an
541
+ animation (fa-pulsed) or the orientation (fa-rotate-45) of an icon
542
+
543
+ .Click on button `VIEW` to see how it's looks alike
544
+ [source, no_template, role="noclip"]
545
+ ----
546
+ fas:home[2x, fa-pulsed ml-2 mr-2 mb-2] Solid icon (pulsed) +
547
+ fab:font-awesome[2x, ml-3 mr-2 mb-2] Brand icon +
548
+ fab:apple[2x, md-indigo ml-3 mr-2] Brand icon (colored)
549
+ ----
550
+
551
+ [.result]
552
+ ====
553
+ fas:home[2x, fa-pulsed ml-2 mr-2 mb-2] Solid icon (pulsed) +
554
+ fab:font-awesome[2x, ml-3 mr-2 mb-2] Brand icon +
555
+ fab:apple[2x, md-indigo ml-3 mr-2] Brand icon (colored)
556
+ ====
557
+
558
+ NOTE: Parameters `icon_size` and `modifier` are optional. If not given,
559
+ the icons `size` is set to default (`1x`), the color to `black` and no
560
+ settings for the `modifier` are applied.
561
+
562
+
563
+ == Iconify Icons
564
+
565
+ Iconify Icons can be used as inline icons by using the `iconify:`
566
+ inline macro:
567
+
568
+ [source, no_template, role="noclip"]
569
+ ----
570
+ iconify:icon_name[icon_size, modifier] <1> <2> <3>
571
+ ----
572
+ <1> All `icon_name` can be found on the preview page at
573
+ link:{url-iconify-icons--previewer}[Iconify Icons, {browser-window--new}]
574
+ <2> The `icon_size` attribute can be one of: `xs`, `sm`, `lg` and `1x` to `10x`
575
+ <3> The `modifier` can be used to set e.g the color (md-blue) or additional
576
+ positioning classes for margings and padding
577
+
578
+ .Click on button `VIEW` to see how it's looks alike
579
+ [source, no_template, role="noclip"]
580
+ ----
581
+ iconify:logos:opensource[2x, ml-4 mr-2 mb-2] Brand icon OpenSource +
582
+ iconify:logos:netlify[2x, ml-4 mr-2 mb-2] Brand icon Netlify +
583
+ iconify:simple-icons:netlify[2x, md-red ml-4 mr-2] Brand icon Netlify
584
+ ----
585
+
586
+ [.result]
587
+ ====
588
+ iconify:logos:opensource[2x, ml-4 mb-2] Brand icon OpenSource +
589
+ iconify:logos:netlify[2x, ml-4 mb-2] Brand icon Netlify +
590
+ iconify:simple-icons:netlify[2x, md-red ml-4] Brand icon Netlify, colored
591
+ ====
592
+
593
+ Find all Iconify Icons available on page
594
+ link:{url-iconify--icon-sets}[Iconify Icon Sets, {browser-window--new}].
595
+
596
+ [NOTE]
597
+ ====
598
+ Parameters `icon_size` and `modifier` are optional. If not given,
599
+ the icons `size` is set to default (`1x`), the color to `black` and no
600
+ settings for the `modifier` are applied.
601
+
602
+ Not all icon sets support the color settings for the `modifier`. If
603
+ applied, the color settings will have no effect.
604
+ ====
605
+
606
+
607
+ == Blind Text (Lorem)
608
+
609
+ The Ruby Gem Middleman, a Ruby-based static site generator, provides a
610
+ set of great helpers for generating random text content. The Lorem
611
+ inline macro `lorem:` adapted this functionality from Middleman to use
612
+ Asciidoc-based documents processed by Jekyll.
613
+
614
+ If you start writing larger documents with several chapters, not all of the
615
+ content is available initially. It is quite useful to place blind text
616
+ first to get a better impression of how a page will look-alike that is not
617
+ finished yet.
618
+
619
+ Placeholders for blind text comes in several flavors given by `macro`. The
620
+ syntax for the `lorem:` inline macro is simple like this:
621
+
622
+ [source, no_template]
623
+ ----
624
+ lorem:macro[]
625
+ lorem:macro[size]
626
+ ----
627
+
628
+ .Example of a lorem sentences macro
629
+ [source, no_template, role="noclip"]
630
+ ----
631
+ lorem:sentences[5]
632
+ ----
633
+
634
+ [.result]
635
+ ====
636
+ lorem:sentences[5]
637
+ ====
638
+
639
+ === Lorem Types
640
+
641
+ All macro types available for `lorem:` to be used for blind text can be
642
+ found with the following table below.
643
+
644
+ //.Tabelle
645
+ [cols="5,2,5a", options="header", role="rtable mb-2"]
646
+ |===
647
+ |Macro | Type |Example
648
+
649
+ |`word[]`
650
+ |text
651
+ |
652
+ lorem:word[]
653
+
654
+ |`words[5]`
655
+ |text
656
+ |
657
+ lorem:words[5]
658
+
659
+ |`sentence[]`
660
+ |text
661
+ |
662
+ lorem:sentence[]
663
+
664
+ |`sentences[5]`
665
+ |text
666
+ |
667
+ lorem:sentences[5]
668
+
669
+ |`date[]`
670
+ |date
671
+ |
672
+ lorem:date[]
673
+
674
+ |`date[strftime]` e.g. `date[%Y-%m-%d]``
675
+ |date
676
+ |
677
+ lorem:date[%Y-%m-%d]
678
+
679
+ |`name[]`
680
+ |text
681
+ |
682
+ lorem:name[]
683
+
684
+ |`first_name[]`
685
+ |text
686
+ |
687
+ lorem:first_name[]
688
+
689
+ |`last_name[]`
690
+ |text
691
+ |
692
+ lorem:last_name[]
693
+
694
+ |`email[]`
695
+ |email
696
+ |
697
+ lorem:email[]
698
+
699
+ |===
700
+
701
+ // Include documents
702
+ // -----------------------------------------------------------------------------
703
+ include::{documentdir}/100_gistblock.asciidoc[]
704
+
705
+
706
+ == What next
707
+
708
+ Asciidoc (Asciidoctor) extensions open up the Markup language to new use cases.
709
+ Using the full power of programming languages to extend what's needed, whether
710
+ Ruby, Java, Groovy, or JavaScript. The number of extensions will grow - to get
711
+ handy and powerful functionality needed for modern web pages based on the
712
+ Asciidoc Markup language generated by Jekyll. For sure!
713
+
714
+ The next preview is focussing on advanced Bootstrap Modals. The modals feature
715
+ is currently in beta status, but it is a great option to customize your
716
+ user dialogues using them!
717
+
718
+ Have a look for the link:{url-roundtrip--extended-modals}[BS Modal Extensions]
719
+ feature of J1 Template.