asciidocsy 0.3.0.pre.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (337) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/_config.yml +66 -0
  4. data/_data/theme/alerts.yml +21 -0
  5. data/_data/theme/blocks.yml +33 -0
  6. data/_data/theme/forms.yml +72 -0
  7. data/_data/theme/navigation.yml +53 -0
  8. data/_data/theme/page-actions.yml +83 -0
  9. data/_data/theme/policies.yml +68 -0
  10. data/_data/theme/release-hx.yml +163 -0
  11. data/_data/theme/scripts.yml +43 -0
  12. data/_data/theme/semantics.yml +14 -0
  13. data/_data/theme/strings.yml +13 -0
  14. data/_data/theme/styles.yml +8 -0
  15. data/_docs/snippets/example_tabset-source.adoc +60 -0
  16. data/_docs/snippets/example_tabset-source_data.json +16 -0
  17. data/_docs/snippets/example_tabset-source_data.xml +17 -0
  18. data/_docs/snippets/example_tabset-source_data.yml +10 -0
  19. data/_docs/snippets/example_toggles.adoc +25 -0
  20. data/_docs/snippets/handlers-table.adoc +40 -0
  21. data/_docs/snippets/reference-cluster.adoc +1 -0
  22. data/_docs/topics/advanced-applications_c.adoc +50 -0
  23. data/_docs/topics/config-api_r.adoc +21 -0
  24. data/_docs/topics/config-release-hx.adoc +4 -0
  25. data/_docs/topics/config-search-algolia.adoc +77 -0
  26. data/_docs/topics/config-search.adoc +47 -0
  27. data/_docs/topics/config-semantics.adoc +45 -0
  28. data/_docs/topics/config-switcher_r.adoc +33 -0
  29. data/_docs/topics/config-tabber_r.adoc +49 -0
  30. data/_docs/topics/config-toggle_r.adoc +20 -0
  31. data/_docs/topics/config-versioning-amenders_r.adoc +76 -0
  32. data/_docs/topics/config-versioning-swaps_r.adoc +193 -0
  33. data/_docs/topics/config-versioning-tabsets_r.adoc +51 -0
  34. data/_docs/topics/config-versioning-toggles_r.adoc +42 -0
  35. data/_docs/topics/config-versioning.adoc +134 -0
  36. data/_docs/topics/config_r.adoc +131 -0
  37. data/_docs/topics/extend.adoc +70 -0
  38. data/_docs/topics/frontend-overview.adoc +62 -0
  39. data/_docs/topics/intro.adoc +6 -0
  40. data/_docs/topics/setup-bootstrap_t.adoc +71 -0
  41. data/_docs/topics/setup-environment_rg.adoc +65 -0
  42. data/_docs/topics/setup-quickstart_t.adoc +10 -0
  43. data/_docs/topics/setup.adoc +31 -0
  44. data/_docs/topics/syntax-highlighter-examples_r.adoc +172 -0
  45. data/_docs/topics/toolchain.adoc +79 -0
  46. data/_docs/topics/upgrade-0-3-0.adoc +49 -0
  47. data/_includes/_settings.liquid +2 -0
  48. data/_includes/_variables.sass +12 -0
  49. data/_includes/breadcrumbs.html +20 -0
  50. data/_includes/breadcrumbs_alt.html +6 -0
  51. data/_includes/config-api-objects.asciidoc +23 -0
  52. data/_includes/config-api-properties.asciidoc +29 -0
  53. data/_includes/config-api.asciidoc +29 -0
  54. data/_includes/feedback.html +59 -0
  55. data/_includes/footer-links_sup.html +5 -0
  56. data/_includes/footer.html +59 -0
  57. data/_includes/gdpr-message.html +41 -0
  58. data/_includes/google-analytics.html +11 -0
  59. data/_includes/head.html +74 -0
  60. data/_includes/header.html +22 -0
  61. data/_includes/hook.liquid +26 -0
  62. data/_includes/nav-site.html +30 -0
  63. data/_includes/nav-subject-menu.html +49 -0
  64. data/_includes/page-links.html +45 -0
  65. data/_includes/path-active.liquid +18 -0
  66. data/_includes/release-hx-change.asciidoc +7 -0
  67. data/_includes/release-hx-changes-listing.asciidoc +14 -0
  68. data/_includes/release-hx-note.asciidoc +54 -0
  69. data/_includes/release-hx-notes-listing.asciidoc +16 -0
  70. data/_includes/release-hx-revision.asciidoc +86 -0
  71. data/_includes/release-hx.asciidoc +57 -0
  72. data/_includes/scripts.html +8 -0
  73. data/_includes/search-form.html +113 -0
  74. data/_includes/see-also.html +17 -0
  75. data/_includes/social-links.html +10 -0
  76. data/_includes/string-eval.liquid +38 -0
  77. data/_includes/tail.html +7 -0
  78. data/_includes/theme-api-object-sub.asciidoc +4 -0
  79. data/_includes/theme-api-object.asciidoc +35 -0
  80. data/_includes/version-handler.html +245 -0
  81. data/_includes/versioning-controls.html +88 -0
  82. data/_layouts/default.html +94 -0
  83. data/_layouts/landing.html +28 -0
  84. data/_layouts/page.html +9 -0
  85. data/_layouts/post.html +8 -0
  86. data/_layouts/reference.html +6 -0
  87. data/_layouts/search.html +110 -0
  88. data/_layouts/topic.html +19 -0
  89. data/_sass/_asciidocsy.scss +698 -0
  90. data/_sass/_custom.scss +3 -0
  91. data/_sass/bootstrap/_alert.scss +51 -0
  92. data/_sass/bootstrap/_badge.scss +54 -0
  93. data/_sass/bootstrap/_breadcrumb.scss +41 -0
  94. data/_sass/bootstrap/_button-group.scss +163 -0
  95. data/_sass/bootstrap/_buttons.scss +137 -0
  96. data/_sass/bootstrap/_card.scss +289 -0
  97. data/_sass/bootstrap/_carousel.scss +197 -0
  98. data/_sass/bootstrap/_close.scss +41 -0
  99. data/_sass/bootstrap/_code.scss +48 -0
  100. data/_sass/bootstrap/_custom-forms.scss +507 -0
  101. data/_sass/bootstrap/_dropdown.scss +191 -0
  102. data/_sass/bootstrap/_forms.scss +330 -0
  103. data/_sass/bootstrap/_functions.scss +86 -0
  104. data/_sass/bootstrap/_grid.scss +52 -0
  105. data/_sass/bootstrap/_images.scss +42 -0
  106. data/_sass/bootstrap/_input-group.scss +193 -0
  107. data/_sass/bootstrap/_jumbotron.scss +17 -0
  108. data/_sass/bootstrap/_list-group.scss +149 -0
  109. data/_sass/bootstrap/_media.scss +8 -0
  110. data/_sass/bootstrap/_mixins.scss +47 -0
  111. data/_sass/bootstrap/_modal.scss +229 -0
  112. data/_sass/bootstrap/_nav.scss +120 -0
  113. data/_sass/bootstrap/_navbar.scss +294 -0
  114. data/_sass/bootstrap/_pagination.scss +73 -0
  115. data/_sass/bootstrap/_popover.scss +171 -0
  116. data/_sass/bootstrap/_print.scss +141 -0
  117. data/_sass/bootstrap/_progress.scss +43 -0
  118. data/_sass/bootstrap/_reboot.scss +483 -0
  119. data/_sass/bootstrap/_root.scss +19 -0
  120. data/_sass/bootstrap/_spinners.scss +55 -0
  121. data/_sass/bootstrap/_tables.scss +185 -0
  122. data/_sass/bootstrap/_toasts.scss +44 -0
  123. data/_sass/bootstrap/_tooltip.scss +115 -0
  124. data/_sass/bootstrap/_transitions.scss +20 -0
  125. data/_sass/bootstrap/_type.scss +125 -0
  126. data/_sass/bootstrap/_utilities.scss +17 -0
  127. data/_sass/bootstrap/_variables.scss +1123 -0
  128. data/_sass/bootstrap/bootstrap-grid.scss +29 -0
  129. data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
  130. data/_sass/bootstrap/bootstrap.scss +44 -0
  131. data/_sass/bootstrap/mixins/_alert.scss +13 -0
  132. data/_sass/bootstrap/mixins/_background-variant.scss +21 -0
  133. data/_sass/bootstrap/mixins/_badge.scss +17 -0
  134. data/_sass/bootstrap/mixins/_border-radius.scss +63 -0
  135. data/_sass/bootstrap/mixins/_box-shadow.scss +20 -0
  136. data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
  137. data/_sass/bootstrap/mixins/_buttons.scss +107 -0
  138. data/_sass/bootstrap/mixins/_caret.scss +62 -0
  139. data/_sass/bootstrap/mixins/_clearfix.scss +7 -0
  140. data/_sass/bootstrap/mixins/_deprecate.scss +10 -0
  141. data/_sass/bootstrap/mixins/_float.scss +14 -0
  142. data/_sass/bootstrap/mixins/_forms.scss +192 -0
  143. data/_sass/bootstrap/mixins/_gradients.scss +45 -0
  144. data/_sass/bootstrap/mixins/_grid-framework.scss +66 -0
  145. data/_sass/bootstrap/mixins/_grid.scss +51 -0
  146. data/_sass/bootstrap/mixins/_hover.scss +37 -0
  147. data/_sass/bootstrap/mixins/_image.scss +36 -0
  148. data/_sass/bootstrap/mixins/_list-group.scss +21 -0
  149. data/_sass/bootstrap/mixins/_lists.scss +7 -0
  150. data/_sass/bootstrap/mixins/_nav-divider.scss +10 -0
  151. data/_sass/bootstrap/mixins/_pagination.scss +22 -0
  152. data/_sass/bootstrap/mixins/_reset-text.scss +17 -0
  153. data/_sass/bootstrap/mixins/_resize.scss +6 -0
  154. data/_sass/bootstrap/mixins/_screen-reader.scss +33 -0
  155. data/_sass/bootstrap/mixins/_size.scss +7 -0
  156. data/_sass/bootstrap/mixins/_table-row.scss +39 -0
  157. data/_sass/bootstrap/mixins/_text-emphasis.scss +16 -0
  158. data/_sass/bootstrap/mixins/_text-hide.scss +11 -0
  159. data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
  160. data/_sass/bootstrap/mixins/_transition.scss +16 -0
  161. data/_sass/bootstrap/mixins/_visibility.scss +8 -0
  162. data/_sass/bootstrap/utilities/_align.scss +8 -0
  163. data/_sass/bootstrap/utilities/_background.scss +19 -0
  164. data/_sass/bootstrap/utilities/_borders.scss +75 -0
  165. data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
  166. data/_sass/bootstrap/utilities/_display.scss +26 -0
  167. data/_sass/bootstrap/utilities/_embed.scss +39 -0
  168. data/_sass/bootstrap/utilities/_flex.scss +51 -0
  169. data/_sass/bootstrap/utilities/_float.scss +11 -0
  170. data/_sass/bootstrap/utilities/_overflow.scss +5 -0
  171. data/_sass/bootstrap/utilities/_position.scss +32 -0
  172. data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
  173. data/_sass/bootstrap/utilities/_shadows.scss +6 -0
  174. data/_sass/bootstrap/utilities/_sizing.scss +20 -0
  175. data/_sass/bootstrap/utilities/_spacing.scss +73 -0
  176. data/_sass/bootstrap/utilities/_stretched-link.scss +19 -0
  177. data/_sass/bootstrap/utilities/_text.scss +72 -0
  178. data/_sass/bootstrap/utilities/_visibility.scss +13 -0
  179. data/_sass/bootstrap/vendor/_rfs.scss +204 -0
  180. data/assets/css/asciidocsy.scss +9 -0
  181. data/assets/css/asciidoctor.css +776 -0
  182. data/assets/css/bootstrap-toc.css +60 -0
  183. data/assets/css/bootstrap.scss +4 -0
  184. data/assets/css/custom.css +2 -0
  185. data/assets/css/font-awesome.css +2337 -0
  186. data/assets/css/font-awesome.min.css +4 -0
  187. data/assets/css/jquery.navgoco.css +69 -0
  188. data/assets/css/palette.css +217 -0
  189. data/assets/css/skins/colony.css +734 -0
  190. data/assets/css/skins/foundation-lime.css +727 -0
  191. data/assets/css/skins/foundation-potion.css +727 -0
  192. data/assets/css/skins/foundation.css +720 -0
  193. data/assets/css/skins/github.css +741 -0
  194. data/assets/css/skins/golo.css +738 -0
  195. data/assets/css/skins/iconic.css +762 -0
  196. data/assets/css/skins/maker.css +738 -0
  197. data/assets/css/skins/readthedocs.css +739 -0
  198. data/assets/css/skins/riak.css +759 -0
  199. data/assets/css/skins/rocket-panda.css +734 -0
  200. data/assets/css/skins/rubygems.css +722 -0
  201. data/assets/css/syntax/hljs/a11y-dark.css +99 -0
  202. data/assets/css/syntax/hljs/a11y-light.css +99 -0
  203. data/assets/css/syntax/hljs/agate.css +108 -0
  204. data/assets/css/syntax/hljs/an-old-hope.css +89 -0
  205. data/assets/css/syntax/hljs/androidstudio.css +66 -0
  206. data/assets/css/syntax/hljs/arduino-light.css +87 -0
  207. data/assets/css/syntax/hljs/arta.css +73 -0
  208. data/assets/css/syntax/hljs/ascetic.css +45 -0
  209. data/assets/css/syntax/hljs/atelier-cave-dark.css +83 -0
  210. data/assets/css/syntax/hljs/atelier-cave-light.css +85 -0
  211. data/assets/css/syntax/hljs/atelier-dune-dark.css +69 -0
  212. data/assets/css/syntax/hljs/atelier-dune-light.css +69 -0
  213. data/assets/css/syntax/hljs/atelier-estuary-dark.css +84 -0
  214. data/assets/css/syntax/hljs/atelier-estuary-light.css +84 -0
  215. data/assets/css/syntax/hljs/atelier-forest-dark.css +69 -0
  216. data/assets/css/syntax/hljs/atelier-forest-light.css +69 -0
  217. data/assets/css/syntax/hljs/atelier-heath-dark.css +69 -0
  218. data/assets/css/syntax/hljs/atelier-heath-light.css +69 -0
  219. data/assets/css/syntax/hljs/atelier-lakeside-dark.css +69 -0
  220. data/assets/css/syntax/hljs/atelier-lakeside-light.css +69 -0
  221. data/assets/css/syntax/hljs/atelier-plateau-dark.css +84 -0
  222. data/assets/css/syntax/hljs/atelier-plateau-light.css +84 -0
  223. data/assets/css/syntax/hljs/atelier-savanna-dark.css +84 -0
  224. data/assets/css/syntax/hljs/atelier-savanna-light.css +84 -0
  225. data/assets/css/syntax/hljs/atelier-seaside-dark.css +69 -0
  226. data/assets/css/syntax/hljs/atelier-seaside-light.css +69 -0
  227. data/assets/css/syntax/hljs/atelier-sulphurpool-dark.css +69 -0
  228. data/assets/css/syntax/hljs/atelier-sulphurpool-light.css +69 -0
  229. data/assets/css/syntax/hljs/atom-one-dark-reasonable.css +75 -0
  230. data/assets/css/syntax/hljs/atom-one-dark.css +96 -0
  231. data/assets/css/syntax/hljs/atom-one-light.css +96 -0
  232. data/assets/css/syntax/hljs/brown-paper.css +64 -0
  233. data/assets/css/syntax/hljs/brown-papersq.png +0 -0
  234. data/assets/css/syntax/hljs/codepen-embed.css +60 -0
  235. data/assets/css/syntax/hljs/color-brewer.css +71 -0
  236. data/assets/css/syntax/hljs/darcula.css +74 -0
  237. data/assets/css/syntax/hljs/dark.css +63 -0
  238. data/assets/css/syntax/hljs/default.css +99 -0
  239. data/assets/css/syntax/hljs/docco.css +97 -0
  240. data/assets/css/syntax/hljs/dracula.css +76 -0
  241. data/assets/css/syntax/hljs/far.css +71 -0
  242. data/assets/css/syntax/hljs/foundation.css +89 -0
  243. data/assets/css/syntax/hljs/github-gist.css +79 -0
  244. data/assets/css/syntax/hljs/github.css +99 -0
  245. data/assets/css/syntax/hljs/gml.css +78 -0
  246. data/assets/css/syntax/hljs/googlecode.css +89 -0
  247. data/assets/css/syntax/hljs/gradient-dark.css +122 -0
  248. data/assets/css/syntax/hljs/gradient-light.css +130 -0
  249. data/assets/css/syntax/hljs/grayscale.css +101 -0
  250. data/assets/css/syntax/hljs/gruvbox-dark.css +108 -0
  251. data/assets/css/syntax/hljs/gruvbox-light.css +108 -0
  252. data/assets/css/syntax/hljs/hopscotch.css +84 -0
  253. data/assets/css/syntax/hljs/hybrid.css +102 -0
  254. data/assets/css/syntax/hljs/idea.css +97 -0
  255. data/assets/css/syntax/hljs/ir-black.css +73 -0
  256. data/assets/css/syntax/hljs/isbl-editor-dark.css +112 -0
  257. data/assets/css/syntax/hljs/isbl-editor-light.css +111 -0
  258. data/assets/css/syntax/hljs/kimbie.dark.css +74 -0
  259. data/assets/css/syntax/hljs/kimbie.light.css +74 -0
  260. data/assets/css/syntax/hljs/lightfair.css +88 -0
  261. data/assets/css/syntax/hljs/lioshi.css +88 -0
  262. data/assets/css/syntax/hljs/magula.css +70 -0
  263. data/assets/css/syntax/hljs/mono-blue.css +56 -0
  264. data/assets/css/syntax/hljs/monokai-sublime.css +83 -0
  265. data/assets/css/syntax/hljs/monokai.css +71 -0
  266. data/assets/css/syntax/hljs/night-owl.css +182 -0
  267. data/assets/css/syntax/hljs/nnfx-dark.css +106 -0
  268. data/assets/css/syntax/hljs/nnfx.css +106 -0
  269. data/assets/css/syntax/hljs/nord.css +309 -0
  270. data/assets/css/syntax/hljs/obsidian.css +88 -0
  271. data/assets/css/syntax/hljs/ocean.css +74 -0
  272. data/assets/css/syntax/hljs/paraiso-dark.css +72 -0
  273. data/assets/css/syntax/hljs/paraiso-light.css +72 -0
  274. data/assets/css/syntax/hljs/pojoaque.css +83 -0
  275. data/assets/css/syntax/hljs/pojoaque.jpg +0 -0
  276. data/assets/css/syntax/hljs/purebasic.css +96 -0
  277. data/assets/css/syntax/hljs/qtcreator_dark.css +83 -0
  278. data/assets/css/syntax/hljs/qtcreator_light.css +83 -0
  279. data/assets/css/syntax/hljs/railscasts.css +106 -0
  280. data/assets/css/syntax/hljs/rainbow.css +85 -0
  281. data/assets/css/syntax/hljs/routeros.css +108 -0
  282. data/assets/css/syntax/hljs/school-book.css +69 -0
  283. data/assets/css/syntax/hljs/school-book.png +0 -0
  284. data/assets/css/syntax/hljs/shades-of-purple.css +96 -0
  285. data/assets/css/syntax/hljs/solarized-dark.css +84 -0
  286. data/assets/css/syntax/hljs/solarized-light.css +84 -0
  287. data/assets/css/syntax/hljs/srcery.css +78 -0
  288. data/assets/css/syntax/hljs/stackoverflow-dark.css +78 -0
  289. data/assets/css/syntax/hljs/stackoverflow-light.css +78 -0
  290. data/assets/css/syntax/hljs/sunburst.css +102 -0
  291. data/assets/css/syntax/hljs/tomorrow-night-blue.css +75 -0
  292. data/assets/css/syntax/hljs/tomorrow-night-bright.css +74 -0
  293. data/assets/css/syntax/hljs/tomorrow-night-eighties.css +74 -0
  294. data/assets/css/syntax/hljs/tomorrow-night.css +75 -0
  295. data/assets/css/syntax/hljs/tomorrow.css +72 -0
  296. data/assets/css/syntax/hljs/vs.css +68 -0
  297. data/assets/css/syntax/hljs/vs2015.css +115 -0
  298. data/assets/css/syntax/hljs/xcode.css +104 -0
  299. data/assets/css/syntax/hljs/xt256.css +92 -0
  300. data/assets/css/syntax/hljs/zenburn.css +80 -0
  301. data/assets/fonts/FontAwesome.otf +0 -0
  302. data/assets/fonts/fontawesome-webfont.eot +0 -0
  303. data/assets/fonts/fontawesome-webfont.svg +2671 -0
  304. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  305. data/assets/fonts/fontawesome-webfont.woff +0 -0
  306. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
  307. data/assets/images/asciidocsy-nav-model.png +0 -0
  308. data/assets/images/asciidocsy-screenshot.png +0 -0
  309. data/assets/images/docops-labs-logo.png +0 -0
  310. data/assets/images/favicons/favicon-16x16.png +0 -0
  311. data/assets/images/favicons/favicon-32x32.png +0 -0
  312. data/assets/images/favicons/favicon.ico +0 -0
  313. data/assets/images/github-repo-download_screenshot.png +0 -0
  314. data/assets/images/logo-full.png +0 -0
  315. data/assets/images/logo.png +0 -0
  316. data/assets/images/logo.svg +87 -0
  317. data/assets/images/search-by-algolia-light-background.svg +1 -0
  318. data/assets/images/thumb-topic-data-source-edit.png +0 -0
  319. data/assets/js/anchor.min.js +9 -0
  320. data/assets/js/asciidoctor.min.js +1472 -0
  321. data/assets/js/bootstrap-toc.js +180 -0
  322. data/assets/js/bootstrap.min.js +7 -0
  323. data/assets/js/highlight.pack.js +870 -0
  324. data/assets/js/jquery-3.3.1.js +10364 -0
  325. data/assets/js/jquery-3.3.1.min.js +2 -0
  326. data/assets/js/jquery.cookie.js +114 -0
  327. data/assets/js/jquery.navgoco.js +314 -0
  328. data/assets/js/semantics.js +58 -0
  329. data/assets/js/tabber.js +111 -0
  330. data/assets/js/tail.js +37 -0
  331. data/assets/js/toggler.js +50 -0
  332. data/lib/asciidocsy/data/dependencies.yml +142 -0
  333. data/lib/asciidocsy/data/releases.yml +245 -0
  334. data/lib/asciidocsy/templates/notice-file.txt +16 -0
  335. data/lib/asciidocsy/version.rb +13 -0
  336. data/lib/asciidocsy.rb +1 -0
  337. metadata +462 -0
@@ -0,0 +1,79 @@
1
+ :page-permalink: /docs/theme/toolchain
2
+ = AsciiDocsy Toolchain
3
+ include::{path_to_readme}[tags="globals"]
4
+
5
+ Like any theme, AsciiDocsy can be modified to accommodate an assortment of components.
6
+ In fact, AsciiDocsy mainly _is_ an assortment of components.
7
+ Here are the ones I have chosen, after building numerous Jekyll/AsciiDoc sites across more than five years.
8
+
9
+ [NOTE]
10
+ Neither AcsiiDocsy nor its author have any financial stake in these tooling choices.
11
+ They are all free and open-source of freemium and OS-friendly.
12
+ They can all be replaced by competent alternatives, but these are my sincere favorites.
13
+
14
+ == Asciidoctor and Jekyll-AsciiDoc
15
+
16
+ If you're working in AsciiDoc, which is _the_ choice for serious technical documentation projects (including books), you're working with Asciidoctor.
17
+ link:https://www.asciidoctor.org[Asciidoctor] has a terrific, growing community.
18
+ The organization provides all kinds of converters and related tools for numerous environments, and Ascsiidoctor maintains the link:https://github.com/asciidoctor/jekyll-asciidoc[jekyll-asciidoc] plugin as a top-notch Ruby gem.
19
+
20
+ == Bootstrap
21
+
22
+ Every good website has an HTML/CSS/JS framework, and like millions of others, for AsciiDocsy that framework is Twitter's link:https://getbootstrap.com[Bootstrap library].
23
+ Sure, some components wind up looking commonplace, but the convenience and consistency of Bootstrap makes it easy to resist -- especially because it's so easy to modify, extend, and disguise.
24
+
25
+ At this time, AsciiDocsy uses link:https://getbootstrap.com/docs/4.3/getting-started/introduction/[Bootstrap version 4.3], but we will probably upgrade to link:https://getbootstrap.com/docs/5.0/getting-started/introduction/[version 5] before long.
26
+
27
+ == Highlight.js
28
+
29
+ For code-block syntax hiding, there are several options.
30
+ Asciidoctor does a good job of laying out the link:https://docs.asciidoctor.org/asciidoctor/latest/syntax-highlighting/[four highlighters] it comes ready to handle.
31
+
32
+ AsciiDocsy enables both Rouge and Highlight.js.
33
+ Highlight.js is not available for PDFs, so Rouge is a better fit there.
34
+
35
+ Highlight.js is the choice for the AsciiDocsy site itself largely because Hjs provides syntax highlighting for AsciiDoc source itself, and Rouge as of yet does not.
36
+
37
+ == Navgoco Menu
38
+
39
+ I have tried a lot of collapsing/multi-tiered menu components, but I always come back to link:https://github.com/tefra/navgoco[Navgoco].
40
+ It is simple and applies elegantly to a conventional HTML structure (normal unordered lists).
41
+ It collapses and nests, if you want it to, and it's easy to style.
42
+
43
+ I would not mind extending this menu system a bit, but I need more concrete direction.
44
+ Something to discuss in the link:{theme_source_www}/issues[Issues], perhaps?
45
+
46
+ == Bootstrap TOC
47
+
48
+ There are several ways to implement scrollspy-capable tables of contents, but this is my new favorite.
49
+ The nested levels make it perfect for long documents, where other such TOCs often force you to scroll the TOC itself.
50
+ I just love this little component.
51
+
52
+ == Netlify CI/CD/Hosting
53
+
54
+ link:https://www.netlify.com[Netlify] makes continuous integration and deployment a relative breeze.
55
+ It's free to tinker with, and even for modestly sized production sites.
56
+ They also accommodate enterprise-scale needs.
57
+
58
+ Niche turnkey CI/CD platforms (in this case, for publishing) have great potential to save hundreds and hundreds of IT/DevOps hours every year.
59
+ Others prefer to handle this aspect in-house, if they have the resources.
60
+
61
+ == Algolia Search
62
+
63
+ link:https://www.algolia.com[Algolia] provides the cloud platform that the AsciiDocsy indexes to and queries from.
64
+ It also provides a widget framework for building great search apps.
65
+
66
+ Unlike hosting, this is almost certainly a nut no organization wants to crack in-house, as search algorithms are proprietary.
67
+ You are going to pay for good search -- my clients get good results and a good value from Algolia.
68
+
69
+ I believe all of the clients I have put on Algolia have kept it as their needs have grown.
70
+
71
+ .Goodbye Lunr Search
72
+ ****
73
+ Although I have never used it in production, I have always been rather fond of Lunr, the JavaScript-only search engine that comes set up by default on most Jekyll and other SSG themes.
74
+ It's a work of wonder, but alas, good search is not a client-side production, and Lunr has some bugs that are nearly inherent, and therefore unsolvable, to my understanding.
75
+
76
+ I decided to rip it out of the Docsy Jekyll code I started out with.
77
+ It's probably sufficient for blog searches, but I cannot fathom a serious product documentation site using it.
78
+ If people would strongly prefer Lunr, I will add it back in as an option so search works out of the box.
79
+ ****
@@ -0,0 +1,49 @@
1
+ :page-permalink: /docs/theme/setup/upgrade-0-3-0
2
+ include::{path_to_readme}[tags="globals"]
3
+ = Upgrading to AsciiDocsy v0.3.0
4
+
5
+ As of AsciiDocsy v0.3.0, the whole theme ships as a proper Ruby gem.
6
+ Jekyll handles gemified themes differently than collocated themes.
7
+
8
+ The latter type, as with AsciiDocsy prior to 0.3.0, means storing all core theme files locally.
9
+ With a gemified theme, you only store alternate files locally, for overwriting core theme files.
10
+
11
+ In order to release AsciiDocsy as a conventionally structured Jekyll theme plugin, I made changes that may necessitate some reorganizing if you wish to upgrade from a prior release.
12
+
13
+ With a few small adjustments, you should be able to serve exactly the same site using the new gem-based theme.
14
+
15
+ [NOTE]
16
+ No significant front-end or back-end feature changes were made for the 0.3.0 release, other than the major repackaging alterations.
17
+ It should generate HTML in an identical fashion, and the newly organized styles should match up 1:1.
18
+
19
+ == Alterations
20
+
21
+ Here are the major changes:
22
+
23
+ . Assets moved to `assets/` directory.
24
+ * `css/`, `images/`, `js/`, and `fonts/` all moved.
25
+ * `_includes/` and `_layouts/` stayed in root path.
26
+
27
+ . Bootstrap and AsciiDocsy styles are now sourced as Sass.
28
+ * New `_sass/` directory contains dynamic CSS source.
29
+ * New files `assets/css/bootstrap.scss` and `assets/css/asciidocsy.scss` define compiling of Sass source.
30
+
31
+ . AsciiDocsy's own docs content has moved around a bit.
32
+ * The strings `theme_` and `style_` prepended to filenames in `_docs/topics/` have been removed.
33
+ * Files from `_docs/topics/` that were labeled with `style_` and displayed under the Style Guides domain have been moved to the new link:{theme_docs_repo_www}[AsciiDocsy Docs repo].
34
+
35
+ . Dependency definitions are included in gem specification.
36
+ +
37
+ --
38
+ * Theme-specific dependencies like jekyll-liquify, jekyll-asciidoc will be imported automatically.
39
+ --
40
+ +
41
+ [NOTE]
42
+ We still advise including `jekyll` gem explicitly in your application's Gemfile.
43
+
44
+ == Using AsciiDocsy 0.3.0
45
+
46
+ It's easier than ever to add AsciiDocsy to your theme!
47
+ Use any of the link:https://jekyllrb.com/docs/themes/#installing-a-theme[methods Jekyll provides].
48
+
49
+ See the link:{theme_docs_repo_www}/blob/main/Gemfile[Gemfile in the AsciiDocsy Docs repo] for exemplary usage.
@@ -0,0 +1,2 @@
1
+ {% capture images_url %}{% unless site.baseurl == "" %}/{{ site.baseurl }}{% endunless %}/{{ site.assets_url }}/images{% endcapture %}
2
+ {% capture styles_url %}{% unless site.baseurl == "" %}/{{ site.baseurl }}{% endunless %}/{{ site.assets_url }}/css{% endcapture %}
@@ -0,0 +1,12 @@
1
+ // customize Sass variables here
2
+ $primary: {{ site.data.theme.styles.color.theme-primary }};
3
+ // $secondary: {{ site.data.theme.styles.color.theme-secondary }};
4
+ // $success: ;
5
+ // $info: ;
6
+ // $warning: ;
7
+ // $danger: ;
8
+ // $light: ;
9
+ // $dark: ;
10
+ $example-block-bg: #e6f0f5;
11
+ $font-size-base: 1rem;
12
+ $font-size-para: $font-size-base;
@@ -0,0 +1,20 @@
1
+ <!-- {% comment %}
2
+ Generates a "breadcrumb trail" of parent categories.
3
+ Defined by:
4
+ `breadcrumbs` object of `site.data.manifest.breadcrumbs`
5
+ `breadcrumbs` object in the Jekyll configuration path
6
+ {% endcomment %} -->
7
+ {% assign crumbs = page.url | remove:'/index.html' | split: '/' %}
8
+ {% assign delim = site.data.navs.breadcrumbs.show.opts.delim | default: "/" %}
9
+ <div id="breadcrumbs">
10
+ <a href="/">{{ site.data.navs.breadcrumbs.show.home | default: "Home" }}</a>
11
+ {% for crumb in crumbs offset: 1 %}
12
+ {% if forloop.last %}
13
+ {{delim}} {{ page.title }}
14
+ {% else %}
15
+ {% assign crumb_default = crumb | replace:'-',' ' | remove:'.html' | capitalize %}
16
+ {% assign crumb_qry = site.data.manifest.breadcrumbs | where: "slug",crumb %}
17
+ {{delim}} <a href="{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ crumb | append: '/' }}{% endfor %}">{{ crumb_qry[0]['text'] | default: crumb_default }}</a>
18
+ {% endif %}
19
+ {% endfor %}
20
+ </div>
@@ -0,0 +1,6 @@
1
+ <!-- {% comment %}
2
+ Experimental file for testing novel extension/hook method.
3
+ {% endcomment %} -->
4
+ <div id="breadcrumbs">
5
+ BREADCRUMBS ALT HOOK
6
+ </div>
@@ -0,0 +1,23 @@
1
+ {% include string-eval.liquid string=include.key_str %}
2
+ {% for obj in data_obj %}
3
+ {% capture obj_str %}{{ include.key_str }}.{{ obj[0] }}{% endcapture %}
4
+ {% unless obj[1]['$doc'] == 'none' %}
5
+ {% if obj[1] and obj[0] != '$doc' %}
6
+ {% assign docs = obj[1]['$doc'] %}
7
+ {% assign name_def = obj[0] | capitalize %}
8
+ {% assign obj_name = docs.name | default: name_def %}
9
+
10
+ === {{ obj_name }}
11
+
12
+ [big]`{{ obj_str }}`
13
+ {% if docs %}
14
+ {% if docs.desc %}
15
+ {{ docs.desc }}
16
+ {% endif %}
17
+ {% if docs.args.size > 0 %}
18
+ {% include config-api-properties.asciidoc base=obj_str args=docs.args %}
19
+ {% endif %}
20
+ {% endif %}
21
+ {% endif %}
22
+ {% endunless %}
23
+ {% endfor %}
@@ -0,0 +1,29 @@
1
+ {% if include.args.size > 0 %}
2
+ [discrete]
3
+ ==== Properties
4
+
5
+ [.api-object-properties]
6
+ --
7
+ {% for arg in include.args %}
8
+ {% assign arg_key = arg[0] | replace: "_","." %}
9
+ {% capture prop_key %}{{ include.base }}.{{ arg_key }}{% endcapture %}
10
+
11
+ [discrete]
12
+ ===== `{{ prop_key }}`
13
+
14
+ [horizontal]
15
+ {%- if arg[1].desc %}
16
+ usage:: {{ arg[1].desc }}
17
+ {%- endif %}
18
+ {%- if arg[1].type %}
19
+ type:: {{ arg[1].type }}
20
+ {%- endif %}
21
+ {%- include string-eval.liquid string=prop_key %}
22
+ {%- if data_obj %}
23
+ default:: `{{ data_obj }}`
24
+ {% endif %}
25
+ {% endfor %}
26
+ --
27
+ {% else %}
28
+ No properties found.
29
+ {% endif %}
@@ -0,0 +1,29 @@
1
+ [.api-reference]
2
+ {% for cat in site.data.theme %}
3
+ {% assign catkey = cat[0] %}
4
+ {% capture catkey_str %}site.data.theme.{{ catkey }}{% endcapture %}
5
+ {% if cat[1]['$doc'] %}
6
+ {% assign doc = cat[1]['$doc'] %}
7
+ {% unless doc.skip %}
8
+ == {{catkey | replace: "-"," " | upcase}}
9
+
10
+ [big]`{{ catkey_str }}`
11
+ {% if doc.desc %}
12
+ {{ doc.desc }}
13
+ {% endif %}
14
+ {% include config-api-objects.asciidoc key_str=catkey_str %}
15
+ {% else %}
16
+ {% for subcat in site.data.theme[catkey] %}
17
+ {% unless subcat[0] == "$doc" %}
18
+ {% assign subkey = subcat[0] %}
19
+ {% capture subkey_str %}{{ catkey_str }}.{{ subkey }}{% endcapture %}
20
+ == {{catkey | replace: "-"," " | upcase}}: {{ subkey | upcase }}
21
+
22
+ [big]`{{ subkey_str }}`
23
+
24
+ {% include config-api-objects.asciidoc key_str=subkey_str %}
25
+ {% endunless %}
26
+ {% endfor %}
27
+ {% endunless %}
28
+ {% endif %}
29
+ {% endfor %}
@@ -0,0 +1,59 @@
1
+ <!-- feedback form {% comment %}
2
+ Generates feedback form.
3
+ {% endcomment %} -->
4
+ {% if site.data.theme.forms.feedback-form %}
5
+ {% assign fform = site.data.theme.forms.feedback-form %}
6
+ <style>
7
+ .feedback--answer {
8
+ display: inline-block;
9
+ }
10
+ .feedback--response {
11
+ display: none;
12
+ margin-top: 1em;
13
+ }
14
+ .feedback--response__visible {
15
+ display: block;
16
+ }
17
+ </style>
18
+ <div class="jumbotron col-sm-4">
19
+ <i class="icon {{ fform.show.icon }} fa-4x float-right" style="margin-top: .5em;"></i>
20
+ <div class="h5">{{ fform.show.name }}</div>
21
+ <p class="feedback--question">{{ fform.show.text }}</p>
22
+ <form name="feedback" method="POST" data-netlify="true">
23
+ {% for opt in fform.send.opts %}
24
+ <button type="button" class="btn btn-sm btn-{{opt.color | default:'secondary'}} feedback--answer feedback--answer-{{ opt.slug }}">{{ opt.text }}</button>
25
+ {% endfor %}
26
+ </form>
27
+ </div>
28
+ <div class="feedback--response feedback--response-{{ opt.slug }}"></div>
29
+ <script>
30
+ {% for opt in fform.send.opts %}
31
+ const {{opt.slug}}Button = document.querySelector('.feedback--answer-{{opt.slug}}');
32
+ const {{opt.slug}}Response = document.querySelector('.feedback--response-{{opt.slug}}');
33
+ {% endfor %}
34
+ const disableButtons = () => {
35
+ {% for opt in fform.send.opts %}
36
+ {{opt.slug}}Button.disabled = true;
37
+ {% endfor %}
38
+ };
39
+ const sendFeedback = (value) => {
40
+ if (typeof ga !== 'function') return;
41
+ const args = {
42
+ command: 'send',
43
+ hitType: 'event',
44
+ category: 'Helpful',
45
+ action: 'click',
46
+ label: window.location.pathname,
47
+ value: value
48
+ };
49
+ ga(args.command, args.hitType, args.category, args.action, args.label, args.value);
50
+ };
51
+ {% for opt in fform.send.opts %}
52
+ {{opt.slug}}Button.addEventListener('click', () => {
53
+ {{opt.slug}}Response.classList.add('feedback--response__visible');
54
+ disableButtons();
55
+ sendFeedback(1);
56
+ });
57
+ {% endfor %}
58
+ </script>
59
+ {% endif %}
@@ -0,0 +1,5 @@
1
+ {% comment %}
2
+ Experimental extension method.
3
+ Established in _data/extensions.yml
4
+ {% endcomment %}
5
+ {% assign alt_links = site.data.stack %}
@@ -0,0 +1,59 @@
1
+ {% assign footer_config = site.data.theme.blocks.page-footer %}
2
+ {% assign footer_nav = site.data.navs.footer %}
3
+ {% assign footer_str = site.data.theme.strings.footer %}
4
+ {% comment %}var alt_links set by hook{% endcomment %}
5
+ {% include hook.liquid template="footer_html" spot="head" %}
6
+ <footer class="{{ footer_config.show.opts.class | default: 'row flex-xl-nowrap' }}"><!-- COMPANY REF/NAV -->
7
+ <div class="container-fluid">
8
+ <div class="row">
9
+ <div class="col-md-4">
10
+ {% if footer_config.show.logo %}
11
+ <span class="company-logo">
12
+ <img src="{{ footer_config.show.logo.source | liquify }}" class="logo" width="{{ footer_config.show.logo.width | default: '100px' }}">
13
+ </span>
14
+ {% endif %}
15
+ {% if footer_str.title %}
16
+ <div class="footer-title h4">{{ footer_str.title }}</div>
17
+ {% endif %}
18
+ {% if footer_str.tagline %}
19
+ <div class="footer-title h5">{{ footer_str.tagline }}</div>
20
+ {% endif %}
21
+ {% if site.data.theme.blocks.social.show.spot == "footer" %}
22
+ {% include social-links.html list-class="list-inline" %}
23
+ {% endif %}
24
+ </div>
25
+ {% for col in footer_nav.columns %}
26
+ {% assign col_class = "" %}
27
+ {% if forloop.index == 1 %}
28
+ {% assign col_offset = 5 | minus: forloop.length %}
29
+ {% assign col_class = "offset-" | append: col_offset %}
30
+ {% endif %}
31
+ <div class="col-md-2 {{ col_class }}">
32
+ <ul class="list-unstyled">
33
+ <li class="footer-heading h5">{{ col.text }}</li>
34
+ {% for link in col.kids %}
35
+ {% assign link_ref = alt_links | where: "app",link.text | first %}
36
+ <li><a href="{{ link_ref.url | default: link.href | default: '#' }}" data-toggle="tooltip" title="{{ link_ref.use | default: link.text }}">{{ link.text }}</a></li>
37
+ {% endfor %}
38
+ </ul>
39
+ </div>
40
+ {% endfor %}
41
+ </div>
42
+ {% if footer_str.copyright or footer_str.madewith %}
43
+ <div class="row justify-content-md-center">
44
+ <div class="footer-strings col-md-8 text-center">
45
+ {% if footer_str.copyright %}
46
+ <div class="copyright">
47
+ <p>{{ footer_str.copyright | asciidocify }}</p>
48
+ </div>
49
+ {% endif %}
50
+ {% if footer_str.madewith %}
51
+ <div class="madewith">
52
+ <p>{{ footer_str.madewith | asciidocify }}</p>
53
+ </div>
54
+ {% endif %}
55
+ </div>
56
+ </div>
57
+ {% endif %}
58
+ {% include hook.liquid template="footer_html" spot="tail" %}
59
+ </footer>
@@ -0,0 +1,41 @@
1
+ {% assign alert = site.features.alerts.gdpr-message %}
2
+ {% assign actions = site.features.actions.gdpr-alert %}
3
+ <script>
4
+ $.gdprcookie.init({
5
+ cookieTypes: [
6
+ {% for type in actions.pick.opts %}
7
+ {
8
+ type: "{{ type.name }}",
9
+ value: "{{ type.slug }}",
10
+ description: "{{ type.desc }}"
11
+ }{% unless forloop.index == actions.picks.opts.size %},{% endunless %}
12
+ {% endfor %}
13
+ ],
14
+ title: "{{ alert.name }}",
15
+ subtitle: "{{ alert.show.line }}",
16
+ message: "{{ alert.show.text }}",
17
+ delay: 2000, // delay in milliseconds
18
+ expires: 30, // expiration <a href="https://www.jqueryscript.net/time-clock/">date</a>
19
+ cookieName: "cookieControlPrefs",
20
+ acceptReload: false,
21
+ acceptBtnLabel: "{{ action.sign.text }}",
22
+ advancedBtnLabel: "{{ action.pick.text }}",
23
+ customShowMessage: undefined,
24
+ customHideMessage: undefined,
25
+ customShowChecks: undefined
26
+ });
27
+
28
+ $.gdprcookie.display()
29
+
30
+ $(document.body)
31
+ .on("gdpr:show", function() {
32
+ console.log("Cookie dialog is shown");
33
+ })
34
+ .on("gdpr:accept", function() {
35
+ var preferences = $.gdprcookie.preference();
36
+ console.log("Preferences saved:", preferences);
37
+ })
38
+ .on("gdpr:advanced", function() {
39
+ console.log("Advanced button was pressed");
40
+ });
41
+ </script>
@@ -0,0 +1,11 @@
1
+ {% if site.services.analytics.google %}
2
+ <script async src='https://www.google-analytics.com/analytics.js'></script>
3
+ <script type="application/javascript">
4
+ var doNotTrack = false;
5
+ if (!doNotTrack) {
6
+ window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
7
+ ga('create', '{{ site.services.analytics.google }}', 'auto');
8
+ ga('send', 'pageview');
9
+ }
10
+ </script>
11
+ {% endif %}
@@ -0,0 +1,74 @@
1
+ {% include _settings.liquid %}
2
+ <head>
3
+ <meta charset="utf-8">
4
+ <!-- Some HTML templates copyright 2019-2021 Vanessa Sochat | Apache 2.0 License -->
5
+ <!-- Adapted and re-released as AsciiDocsy under Apache 2.0 and MIT licenses
6
+ in 2021 by Codewriting LLC -->
7
+ {% assign page_url = site.deploy_url | append: page.url %}
8
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
9
+ <meta name="generator" content="Jekyll+Asciidoctor" />
10
+ {% if page.search-index %}
11
+ {% assign search_index = "index" %}
12
+ {% else %}
13
+ {% assign search_index = "noindex" %}
14
+ {% endif %}
15
+ <meta name="robots" content="{{ search_index }}, follow">
16
+ {% assign canonical_def = site.canonical_url | append: page.url %}
17
+ <link rel="canonical" href="{{ page.canonical | default: canonical_def }}" />
18
+ <link rel="shortcut icon" href="{{ images_url }}/favicons/favicon.ico" >
19
+ <link rel="icon" type="image/png" href="{{ images_url }}/favicons/favicon-16x16.png" sizes="16x16">
20
+ <link rel="icon" type="image/png" href="{{ images_url }}/favicons/favicon-32x32.png" sizes="32x32">
21
+ <!--
22
+ <link rel="apple-touch-icon" href="{{ images_url }}/favicons/apple-touch-icon-180x180.png" sizes="180x180">
23
+ <link rel="icon" type="image/png" href="{{ images_url }}/favicons/android-36x36.png" sizes="36x36">
24
+ <link rel="icon" type="image/png" href="{{ images_url }}/favicons/android-48x48.png" sizes="48x48">
25
+ <link rel="icon" type="image/png" href="{{ images_url }}/favicons/android-72x72.png" sizes="72x72">
26
+ <link rel="icon" type="image/png" href="{{ images_url }}/favicons/android-96x196.png" sizes="96x196">
27
+ <link rel="icon" type="image/png" href="{{ images_url }}/favicons/android-144x144.png" sizes="144x144">
28
+ <link rel="icon" type="image/png" href="{{ images_url }}/favicons/android-192x192.png" sizes="192x192">
29
+ -->
30
+
31
+ <title>
32
+ {% if page.title %}
33
+ {{ page.title }} |
34
+ {% endif %}
35
+ {{ site.title }}
36
+ </title>
37
+
38
+ <meta property="og:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}" />
39
+ <meta property="og:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}" />
40
+ <meta property="og:type" content="website" />
41
+ <meta property="og:url" content="{{ site.url }}" />
42
+ <meta property="og:site_name" content="{{ site.url }}" />
43
+
44
+ <meta itemprop="name" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
45
+ <meta itemprop="description" content="{% if page.description %}{{ page.description | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
46
+
47
+ {% include hook.liquid template="head_html" spot="css_head" %}
48
+ <link rel="stylesheet" href="{{ styles_url }}/bootstrap.css"/>
49
+ <link rel="stylesheet" href="{{ styles_url }}/bootstrap-toc.css"/>
50
+ <link rel="stylesheet" href="{{ styles_url }}/jquery.navgoco.css"/>
51
+ <link rel="stylesheet" href="{{ styles_url }}/palette.css"/>
52
+ <link rel="stylesheet" href="{{ styles_url }}/asciidoctor.css"/>
53
+ <link rel="stylesheet" href="{{ styles_url }}/font-awesome.css"/>
54
+ <link rel="stylesheet" href="{{ styles_url }}/skins/foundation.css" id="theme-skin"/>
55
+ <link rel="stylesheet" href="{{ styles_url }}/syntax/hljs/a11y-light.css" id="syntax-skin"/>
56
+ {% if site.source-highlighter == "highlight.js" %}
57
+ <link rel="stylesheet" href="{{ styles_url }}/highlight.pack.css"/>
58
+ {% endif %}
59
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.10.4/dist/instantsearch-theme-algolia.min.css">
60
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.css@7.3.1/themes/reset-min.css" integrity="sha256-t2ATOGCtAIZNnzER679jwcFcKYfLlw01gli6F6oszk8=" crossorigin="anonymous"/>
61
+ <link rel="stylesheet" href="{{ styles_url }}/asciidocsy.css"/>
62
+ <link rel="stylesheet" href="{{ styles_url }}/custom.css"/>
63
+ {% include hook.liquid template="head_html" spot="css_tail" %}
64
+
65
+ {% assign empty_array = "" | split: "," %}
66
+ {% assign page_scripts = page.scripts | default: layout.scripts %}
67
+ {% assign all_scripts = site.data.theme.scripts %}
68
+ {% include scripts.html spot="head" %}
69
+ <script>
70
+ // invoke highligher.js
71
+ hljs.highlightAll();
72
+ </script>
73
+ {% include hook.liquid template="head_html" spot="tail" %}
74
+ </head>
@@ -0,0 +1,22 @@
1
+ <header><!-- DOCSITE REF/NAV -->
2
+ <nav id="nav-site" class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar td-navbar-{{ site.data.theme.styles.nav-site.position | default: 'fixed' }}">
3
+ <a class="navbar-brand" href="/{{ site.baseurl }}">
4
+ <span class="navbar-logo"></span>
5
+ <img src="{{ site.data.theme.blocks.header.show.logo.source }}" class="logo" width="{{ site.data.theme.blocks.header.show.logo.width | default: '50px' }}">
6
+ <span class="site-title">{{ site.name }}</span>
7
+ </a>
8
+ <div class="td-navbar-nav-scroll ml-md-auto align-content-end" id="navbarNavDropdown">
9
+ {% include nav-site.html %}
10
+ </div>
11
+ {% if site.data.theme.search.site.show.spot == "#nav-site" %}
12
+ {% include search-form.html search="site" %}
13
+ {% endif %}
14
+ {% if site.source_www %}
15
+ <div class="navbar-nav d-none d-lg-block">
16
+ <a class="nav-link" href="{{ site.source_www }}" target="_blank">
17
+ <i class="icon fab {{ site.source_icon | default: 'fa-code-fork' }} fa-2x"></i>
18
+ </a>
19
+ </div>
20
+ {% endif %}
21
+ </nav>
22
+ </header>
@@ -0,0 +1,26 @@
1
+ {% comment %}
2
+ Inserts the data-designated template into calling template at `spot`...
3
+ REPLACES WHOLE template (if spot == 'file' & calling template is conditional)
4
+ {% endcomment %}
5
+ {% assign hook_replace_tpl = false %}
6
+ {% assign spot = include.spot | default: 'file' %}
7
+ {% assign hook = site.data.theme.extend.hooks.templates[include.template][spot] %}
8
+ {% if hook %}
9
+ {% if spot == "file" %}
10
+ {% assign tpl_ext = include.template | split: "_" | last %}
11
+ {% case tpl_ext %}
12
+ {% when "html","htm" %}
13
+ {% assign cmt_start = "<!-- " %}
14
+ {% assign cmt_end = " -->" %}
15
+ {% when "yaml","yml" %}
16
+ {% assign cmt_start = "# " %}
17
+ {% assign cmt_end = "" %}
18
+ {% when "asciidoc","adoc","ad" %}
19
+ {% assign cmt_start = "// " %}
20
+ {% assign cmt_end = "" %}
21
+ {% endcase %}
22
+ {% assign hook_replace_tpl = true %}
23
+ {{ cmt_start }}template replaced by hook ({{hook.template}}){{ cmt_end }}
24
+ {% endif %}
25
+ {% include {{ hook.template }} %}
26
+ {% endif %}
@@ -0,0 +1,30 @@
1
+ <!-- nav menu {% comment %}
2
+ Generates header navigation menu.
3
+ {% endcomment %} -->
4
+ <ul class="navbar-nav mt-2 mt-lg-0">
5
+ {% for link in site.data.navs.header.links %}
6
+ {% assign link_match = link.href | append: "/" | replace: "//","/" %}
7
+ {% assign page_path = page.url | truncate: link_match.size, "" | append: "/" | replace: "//","/" %}
8
+ {% if link_match == page_path %}
9
+ {% assign active = "active" %}
10
+ {% endif %}
11
+ {% if link.kids %}
12
+ <li class="nav-item mr-4 mb-2 mb-lg-0 dropdown">
13
+ <a class="nav-link dropdown-toggle {{active}}" href="{{ link.href | default: '#' }}" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
14
+ {{ link.text }}</a>
15
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
16
+ {% for kid in link.kids %}
17
+ <a class="dropdown-item" href="{{ kid.href }}">
18
+ {{ kid.text }}
19
+ </a>
20
+ {% endfor %}
21
+ </div>
22
+ </li>
23
+ {% else %}
24
+ <li class="nav-item mr-4 mb-2 mb-lg-0">
25
+ <a class="nav-link {{active}}" href="{{ link.href }}">{{ link.text}}</a>
26
+ </li>
27
+ {% endif %}
28
+ {% assign active = "" %}
29
+ {% endfor %}
30
+ </ul>
@@ -0,0 +1,49 @@
1
+ <!-- {% comment %}
2
+ Generates #sidebar-left navigation for subject/product
3
+ {% endcomment %} NAVGOCO menu component -->
4
+ <ul id="subject-menu" class="nav flex-column">
5
+ {% for item in include.manifest['menu'] %}
6
+ {% include path-active.liquid href=item.href kids=item.kids %}
7
+ <li class="nav-item open card tier-1 {{parent}} {{active}}">
8
+ {% if item.href %}<a href="{{ item.href }}" class="{{active}} {{open}}">{% endif %}
9
+ {{ item.text }}
10
+ {% if item.href %}</a>{% endif %}
11
+ <!-- tag::sample-nesting[] -->
12
+ {% if item.kids %}
13
+ <ul>
14
+ {% for topic in item.kids %}
15
+ {% include path-active.liquid href=topic.href kids=topic.kids %}
16
+ <li class="nav-item tier-2 {{open}} {{parent}} {{active}}">
17
+ <a href="{{ topic.href }}" class="nav-link {{active}} {{open}}">
18
+ {{ topic.text }}
19
+ </a>
20
+ {% if topic.kids %}
21
+ <ul>
22
+ {% for subtopic in topic.kids %}
23
+ {% include path-active.liquid href=subtopic.href kids=subtopic.kids %}
24
+ <li class="nav-item tier-3 {{open}} {{parent}} {{active}}">
25
+ <a href="{{ subtopic.href }}" class="nav-link {{active}}">{{ subtopic.text }}</a>
26
+ {% if subtopic.kids %}
27
+ <ul>
28
+ {% for sst in subtopic.kids %}
29
+ {% include path-active.liquid href=sst.href kids=sst.kids %}
30
+ <li class="nav-item tier-4 {{open}} {{parent}} {{active}}">
31
+ <a href="{{ sst.href }}" class="nav-link {{active}}">{{ sst.text }}</a>
32
+ </li>
33
+ {% endfor %}
34
+ </ul>
35
+ {% endif %}
36
+ </li>
37
+ {% endfor %}
38
+ </ul>
39
+ {% endif %}
40
+ </li>
41
+ {% endfor %}
42
+ </ul>
43
+ {% endif %}
44
+ <!-- end::sample-nesting[] -->
45
+ </li>
46
+ {% assign active = "" %}
47
+ {% assign open = "" %}
48
+ {% endfor %}
49
+ </ul>