redeyed-jekyll-theme 0.1.0 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (656) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -21
  3. data/README.md +187 -52
  4. data/_config.yml +28 -22
  5. data/_data/assets/cross-origin.yml +1 -7
  6. data/_data/assets/self-host.yml +0 -6
  7. data/_data/authors.yml +0 -0
  8. data/_data/contact.yml +0 -0
  9. data/_data/locale/en.yml +63 -58
  10. data/_data/locale/es-ES.yml +79 -0
  11. data/_data/locale/fr-FR.yml +79 -0
  12. data/_data/locale/id-ID.yml +79 -0
  13. data/_data/locale/ko-KR.yml +79 -0
  14. data/_data/locale/my-MM.yml +79 -0
  15. data/_data/locale/pt-BR.yml +79 -0
  16. data/_data/locale/ru-RU.yml +79 -0
  17. data/_data/locale/uk-UA.yml +79 -0
  18. data/_data/locale/vi-VN.yml +77 -0
  19. data/_data/locale/zh-CN.yml +78 -0
  20. data/_data/share.yml +0 -0
  21. data/{_includes/comments.html → _drafts/.gitkeep} +0 -0
  22. data/_includes/{breadcrumbs.html → components/breadcrumbs.html} +0 -0
  23. data/_includes/{datetime.html → components/datetime.html} +0 -0
  24. data/_includes/{favicons.html → components/favicons.html} +14 -14
  25. data/_includes/{javascript.html → components/javascript.html} +8 -31
  26. data/_includes/{no-linenos.html → components/jumbotron.html} +0 -0
  27. data/_includes/components/lang.html +11 -0
  28. data/_includes/{navbar.html → components/navbar.html} +13 -6
  29. data/_includes/{pagination.html → components/no-linenos.html} +0 -0
  30. data/_includes/{options.html → components/options.html} +13 -13
  31. data/_includes/{post-nav.html → components/pagination.html} +0 -0
  32. data/_includes/{readtime.html → components/readtime.html} +0 -0
  33. data/_includes/{related-posts.html → components/related-posts.html} +0 -0
  34. data/_includes/{search-loader.html → components/search-loader.html} +46 -46
  35. data/_includes/{search-results.html → components/search-results.html} +0 -0
  36. data/_includes/{toc.html → components/toc.html} +0 -0
  37. data/_includes/{back-to-top.html → extensions/back-to-top.html} +2 -2
  38. data/_includes/extensions/code-highlight.html +89 -0
  39. data/_includes/extensions/comments/disqus.html +17 -0
  40. data/_includes/extensions/comments/giscus.html +56 -0
  41. data/_includes/extensions/comments/gitment.html +15 -0
  42. data/_includes/extensions/comments/utterances.html +46 -0
  43. data/_includes/extensions/geopattern.html +19 -0
  44. data/_includes/extensions/google-analytics.html +7 -0
  45. data/_includes/{google-tags-body.html → extensions/google-tags-body.html} +3 -3
  46. data/_includes/{google-tags-head.html → extensions/google-tags-head.html} +5 -5
  47. data/_includes/extensions/google-translate.html +108 -0
  48. data/_includes/extensions/hashlocate.html +44 -0
  49. data/_includes/extensions/mathjax.html +9 -0
  50. data/_includes/{mode-toggle.html → extensions/theme-mode.html} +0 -10
  51. data/_includes/extensions/theme-toggle.html +108 -0
  52. data/_includes/extensions/trianglify.html +26 -0
  53. data/_includes/functions/get-article-excerpt.html +33 -0
  54. data/_includes/functions/get-article-words.html +18 -0
  55. data/_includes/functions/get-banner.html +67 -0
  56. data/_includes/functions/get-categories.html +9 -0
  57. data/_includes/functions/get-datetimes.html +13 -0
  58. data/_includes/functions/get-reading-time.html +39 -0
  59. data/_includes/functions/get-tags.html +9 -0
  60. data/_includes/functions/get-value.html +41 -0
  61. data/_includes/{jsdelivr-combine.html → functions/js-combine.html} +18 -18
  62. data/_includes/functions/log.html +17 -0
  63. data/_includes/head.html +4 -4
  64. data/_includes/{copyright.html → views/copyright.html} +0 -0
  65. data/_includes/{footer.html → views/footer.html} +0 -0
  66. data/_includes/views/header-banner.html +9 -0
  67. data/_includes/views/header-wide.html +9 -0
  68. data/_includes/views/header.html +9 -0
  69. data/_includes/{panel-bottom.html → views/panel-bottom.html} +0 -0
  70. data/_includes/{panel-foot-2.html → views/panel-foot-2.html} +0 -0
  71. data/_includes/{panel-foot-3.html → views/panel-foot-3.html} +0 -0
  72. data/_includes/{panel-foot-4.html → views/panel-foot-4.html} +0 -0
  73. data/_includes/{panel-foot-full.html → views/panel-foot-full.html} +0 -0
  74. data/_includes/{panel-top-2.html → views/panel-top-2.html} +0 -0
  75. data/_includes/{panel-top-3.html → views/panel-top-3.html} +0 -0
  76. data/_includes/{panel-top-4.html → views/panel-top-4.html} +0 -0
  77. data/_includes/{panel-top-full.html → views/panel-top-full.html} +0 -0
  78. data/_includes/{post-share.html → views/post-nav.html} +0 -0
  79. data/_includes/{sidebar.html → views/post-share.html} +0 -0
  80. data/{_sass/addon/syntax.scss → _includes/views/sidebar.html} +0 -0
  81. data/_layouts/archive.html +5 -0
  82. data/_layouts/categories.html +5 -0
  83. data/_layouts/category.html +5 -0
  84. data/_layouts/compress.html +10 -10
  85. data/_layouts/default.html +0 -0
  86. data/_layouts/error.html +44 -0
  87. data/_layouts/errors/404.html +9 -0
  88. data/_layouts/home.html +5 -0
  89. data/_layouts/page.html +5 -5
  90. data/_layouts/panel-both.html +13 -13
  91. data/_layouts/panel-left.html +13 -13
  92. data/_layouts/panel-none.html +28 -30
  93. data/_layouts/panel-right.html +13 -13
  94. data/_layouts/post.html +5 -5
  95. data/_layouts/tag.html +5 -0
  96. data/_layouts/tags.html +5 -0
  97. data/{_sass/layout/page.scss → _posts/.gitkeep} +0 -0
  98. data/_sass/{layout/panel-both.scss → includes/components/_accordian.scss} +0 -0
  99. data/_sass/includes/components/_alert.scss +22 -0
  100. data/_sass/{layout/panel-left.scss → includes/components/_badge.scss} +0 -0
  101. data/_sass/{layout/panel-right.scss → includes/components/_button-group.scss} +0 -0
  102. data/_sass/{layout/post.scss → includes/components/_buttons.scss} +0 -0
  103. data/_sass/includes/components/_card.scss +0 -0
  104. data/_sass/includes/components/_carousel.scss +0 -0
  105. data/_sass/includes/components/_close.scss +0 -0
  106. data/_sass/includes/components/_containers.scss +0 -0
  107. data/_sass/includes/components/_dropdown.scss +16 -0
  108. data/_sass/includes/components/_forms.scss +0 -0
  109. data/_sass/includes/components/_images.scss +0 -0
  110. data/_sass/includes/components/_jumbotron.scss +0 -0
  111. data/_sass/includes/components/_list-group.scss +0 -0
  112. data/_sass/includes/components/_mixins.scss +28 -0
  113. data/_sass/includes/components/_modal.scss +0 -0
  114. data/_sass/includes/components/_nav.scss +0 -0
  115. data/_sass/includes/components/_offcanvas.scss +0 -0
  116. data/_sass/includes/components/_popover.scss +0 -0
  117. data/_sass/includes/components/_progress.scss +0 -0
  118. data/_sass/includes/components/_spinners.scss +0 -0
  119. data/_sass/includes/components/_tables.scss +0 -0
  120. data/_sass/includes/components/_toasts.scss +0 -0
  121. data/_sass/includes/components/_tooltip.scss +0 -0
  122. data/_sass/includes/components/_transitions.scss +0 -0
  123. data/_sass/includes/components/_type.scss +0 -0
  124. data/_sass/includes/components/forms/_floating-labels.scss +0 -0
  125. data/_sass/includes/components/forms/_form-check.scss +0 -0
  126. data/_sass/includes/components/forms/_form-control.scss +0 -0
  127. data/_sass/includes/components/forms/_form-range.scss +0 -0
  128. data/_sass/includes/components/forms/_form-select.scss +0 -0
  129. data/_sass/includes/components/forms/_form-text.scss +0 -0
  130. data/_sass/includes/components/forms/_input-group.scss +0 -0
  131. data/_sass/includes/components/forms/_labels.scss +0 -0
  132. data/_sass/includes/components/forms/_validation.scss +0 -0
  133. data/_sass/includes/components/helpers/_clearfix.scss +0 -0
  134. data/_sass/includes/components/helpers/_colored-links.scss +0 -0
  135. data/_sass/includes/components/helpers/_position.scss +0 -0
  136. data/_sass/includes/components/helpers/_ratio.scss +0 -0
  137. data/_sass/includes/components/helpers/_stretched-link.scss +0 -0
  138. data/_sass/includes/components/helpers/_text-truncation.scss +0 -0
  139. data/_sass/includes/components/helpers/_visually-hidden.scss +0 -0
  140. data/_sass/includes/components/mixins/_alert.scss +0 -0
  141. data/_sass/includes/components/mixins/_border-radius.scss +0 -0
  142. data/_sass/includes/components/mixins/_box-shadow.scss +9 -0
  143. data/_sass/includes/components/mixins/_breakpoints.scss +0 -0
  144. data/_sass/includes/components/mixins/_buttons.scss +0 -0
  145. data/_sass/includes/components/mixins/_caret.scss +0 -0
  146. data/_sass/includes/components/mixins/_clearfix.scss +0 -0
  147. data/_sass/includes/components/mixins/_color-scheme.scss +0 -0
  148. data/_sass/includes/components/mixins/_container.scss +0 -0
  149. data/_sass/includes/components/mixins/_deprecate.scss +0 -0
  150. data/_sass/includes/components/mixins/_forms.scss +10 -0
  151. data/_sass/includes/components/mixins/_gradients.scss +0 -0
  152. data/_sass/includes/components/mixins/_grid.scss +0 -0
  153. data/_sass/includes/components/mixins/_image.scss +0 -0
  154. data/_sass/includes/components/mixins/_list-group.scss +0 -0
  155. data/_sass/includes/components/mixins/_lists.scss +0 -0
  156. data/_sass/includes/components/mixins/_pagination.scss +0 -0
  157. data/_sass/includes/components/mixins/_reset-text.scss +0 -0
  158. data/_sass/includes/components/mixins/_resize.scss +0 -0
  159. data/_sass/includes/components/mixins/_table-variants.scss +0 -0
  160. data/_sass/includes/components/mixins/_text-truncate.scss +0 -0
  161. data/_sass/includes/components/mixins/_transition.scss +0 -0
  162. data/_sass/includes/components/mixins/_utilities.scss +0 -0
  163. data/_sass/includes/components/mixins/_visually-hidden.scss +0 -0
  164. data/_sass/includes/elements/_breadcrumb.scss +0 -0
  165. data/_sass/includes/elements/_datetime.scss +0 -0
  166. data/_sass/includes/elements/_navbar.scss +59 -0
  167. data/_sass/includes/elements/_pagination.scss +0 -0
  168. data/_sass/includes/elements/_readtime.scss +0 -0
  169. data/_sass/includes/elements/_related-posts.scss +0 -0
  170. data/_sass/includes/elements/_search-results.scss +0 -0
  171. data/_sass/includes/elements/_toc.scss +0 -0
  172. data/_sass/includes/extensions/_back-to-top.scss +0 -0
  173. data/_sass/includes/extensions/_code-highlight.scss +0 -0
  174. data/_sass/includes/extensions/_geopattern.scss +0 -0
  175. data/_sass/includes/extensions/_mathjax.scss +0 -0
  176. data/_sass/includes/extensions/_theme-mode.scss +0 -0
  177. data/_sass/includes/extensions/_theme-toggle.scss +0 -0
  178. data/_sass/includes/extensions/_trianglify.scss +0 -0
  179. data/_sass/includes/extensions/comments/_disqus.scss +0 -0
  180. data/_sass/includes/extensions/comments/_giscus.scss +0 -0
  181. data/_sass/includes/extensions/comments/_gitment.scss +0 -0
  182. data/_sass/includes/extensions/comments/_utterances.scss +0 -0
  183. data/_sass/includes/views/_copyright.scss +0 -0
  184. data/_sass/includes/views/_footer.scss +0 -0
  185. data/_sass/includes/views/_header-banner.scss +57 -0
  186. data/_sass/includes/views/_header-wide.scss +57 -0
  187. data/_sass/includes/views/_header.scss +57 -0
  188. data/_sass/includes/views/_panel-bottom.scss +0 -0
  189. data/_sass/includes/views/_panel-foot-2.scss +0 -0
  190. data/_sass/includes/views/_panel-foot-3.scss +0 -0
  191. data/_sass/includes/views/_panel-foot-4.scss +0 -0
  192. data/_sass/includes/views/_panel-foot-full.scss +0 -0
  193. data/_sass/includes/views/_panel-top-2.scss +0 -0
  194. data/_sass/includes/views/_panel-top-3.scss +0 -0
  195. data/_sass/includes/views/_panel-top-4.scss +0 -0
  196. data/_sass/includes/views/_panel-top-full.scss +0 -0
  197. data/_sass/includes/views/_post-nav.scss +0 -0
  198. data/_sass/includes/views/_post-share.scss +0 -0
  199. data/_sass/includes/views/_sidebar.scss +0 -0
  200. data/_sass/layouts/_base.scss +159 -0
  201. data/_sass/layouts/_breakpoints.scss +18 -0
  202. data/_sass/layouts/archive.scss +0 -0
  203. data/_sass/layouts/categories.scss +0 -0
  204. data/_sass/layouts/category.scss +0 -0
  205. data/_sass/layouts/error.scss +0 -0
  206. data/_sass/layouts/page.scss +0 -0
  207. data/_sass/layouts/panel-both.scss +3 -0
  208. data/_sass/layouts/panel-left.scss +3 -0
  209. data/_sass/layouts/panel-none.scss +100 -0
  210. data/_sass/layouts/panel-right.scss +3 -0
  211. data/_sass/layouts/post.scss +0 -0
  212. data/_sass/layouts/tag.scss +0 -0
  213. data/_sass/layouts/tags.scss +0 -0
  214. data/_sass/lib/bootstrap-5.0.2/scss/_accordion.scss +118 -0
  215. data/_sass/lib/bootstrap-5.0.2/scss/_alert.scss +57 -0
  216. data/_sass/lib/bootstrap-5.0.2/scss/_badge.scss +29 -0
  217. data/_sass/lib/bootstrap-5.0.2/scss/_breadcrumb.scss +28 -0
  218. data/_sass/lib/bootstrap-5.0.2/scss/_button-group.scss +139 -0
  219. data/_sass/lib/bootstrap-5.0.2/scss/_buttons.scss +111 -0
  220. data/_sass/lib/bootstrap-5.0.2/scss/_card.scss +215 -0
  221. data/_sass/lib/bootstrap-5.0.2/scss/_carousel.scss +229 -0
  222. data/_sass/lib/bootstrap-5.0.2/scss/_close.scss +40 -0
  223. data/_sass/lib/bootstrap-5.0.2/scss/_containers.scss +41 -0
  224. data/_sass/lib/bootstrap-5.0.2/scss/_dropdown.scss +240 -0
  225. data/_sass/lib/bootstrap-5.0.2/scss/_forms.scss +9 -0
  226. data/_sass/lib/bootstrap-5.0.2/scss/_functions.scss +263 -0
  227. data/_sass/lib/bootstrap-5.0.2/scss/_grid.scss +22 -0
  228. data/_sass/lib/bootstrap-5.0.2/scss/_helpers.scss +7 -0
  229. data/_sass/lib/bootstrap-5.0.2/scss/_images.scss +42 -0
  230. data/_sass/lib/bootstrap-5.0.2/scss/_list-group.scss +174 -0
  231. data/_sass/lib/bootstrap-5.0.2/scss/_mixins.scss +42 -0
  232. data/_sass/lib/bootstrap-5.0.2/scss/_modal.scss +219 -0
  233. data/_sass/lib/bootstrap-5.0.2/scss/_nav.scss +139 -0
  234. data/_sass/lib/bootstrap-5.0.2/scss/_navbar.scss +308 -0
  235. data/_sass/lib/bootstrap-5.0.2/scss/_offcanvas.scss +79 -0
  236. data/_sass/lib/bootstrap-5.0.2/scss/_pagination.scss +64 -0
  237. data/_sass/lib/bootstrap-5.0.2/scss/_popover.scss +158 -0
  238. data/_sass/lib/bootstrap-5.0.2/scss/_progress.scss +48 -0
  239. data/_sass/lib/bootstrap-5.0.2/scss/_reboot.scss +621 -0
  240. data/_sass/lib/bootstrap-5.0.2/scss/_root.scss +16 -0
  241. data/_sass/lib/bootstrap-5.0.2/scss/_spinners.scss +69 -0
  242. data/_sass/lib/bootstrap-5.0.2/scss/_tables.scss +151 -0
  243. data/_sass/lib/bootstrap-5.0.2/scss/_toasts.scss +51 -0
  244. data/_sass/lib/bootstrap-5.0.2/scss/_tooltip.scss +115 -0
  245. data/_sass/lib/bootstrap-5.0.2/scss/_transitions.scss +21 -0
  246. data/_sass/lib/bootstrap-5.0.2/scss/_type.scss +104 -0
  247. data/_sass/lib/bootstrap-5.0.2/scss/_utilities.scss +594 -0
  248. data/_sass/lib/bootstrap-5.0.2/scss/_variables.scss +1468 -0
  249. data/_sass/lib/bootstrap-5.0.2/scss/bootstrap-grid.scss +65 -0
  250. data/_sass/lib/bootstrap-5.0.2/scss/bootstrap-reboot.scss +15 -0
  251. data/_sass/lib/bootstrap-5.0.2/scss/bootstrap-utilities.scss +18 -0
  252. data/_sass/lib/bootstrap-5.0.2/scss/bootstrap.scss +52 -0
  253. data/_sass/lib/bootstrap-5.0.2/scss/forms/_floating-labels.scss +63 -0
  254. data/_sass/lib/bootstrap-5.0.2/scss/forms/_form-check.scss +152 -0
  255. data/_sass/lib/bootstrap-5.0.2/scss/forms/_form-control.scss +219 -0
  256. data/_sass/lib/bootstrap-5.0.2/scss/forms/_form-range.scss +91 -0
  257. data/_sass/lib/bootstrap-5.0.2/scss/forms/_form-select.scss +70 -0
  258. data/_sass/lib/bootstrap-5.0.2/scss/forms/_form-text.scss +11 -0
  259. data/_sass/lib/bootstrap-5.0.2/scss/forms/_input-group.scss +121 -0
  260. data/_sass/lib/bootstrap-5.0.2/scss/forms/_labels.scss +36 -0
  261. data/_sass/lib/bootstrap-5.0.2/scss/forms/_validation.scss +12 -0
  262. data/_sass/lib/bootstrap-5.0.2/scss/helpers/_clearfix.scss +3 -0
  263. data/_sass/lib/bootstrap-5.0.2/scss/helpers/_colored-links.scss +12 -0
  264. data/_sass/lib/bootstrap-5.0.2/scss/helpers/_position.scss +30 -0
  265. data/_sass/lib/bootstrap-5.0.2/scss/helpers/_ratio.scss +26 -0
  266. data/_sass/lib/bootstrap-5.0.2/scss/helpers/_stretched-link.scss +15 -0
  267. data/_sass/lib/bootstrap-5.0.2/scss/helpers/_text-truncation.scss +7 -0
  268. data/_sass/lib/bootstrap-5.0.2/scss/helpers/_visually-hidden.scss +8 -0
  269. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_alert.scss +11 -0
  270. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_border-radius.scss +78 -0
  271. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_box-shadow.scss +18 -0
  272. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_breakpoints.scss +127 -0
  273. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_buttons.scss +133 -0
  274. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_caret.scss +64 -0
  275. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_clearfix.scss +9 -0
  276. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_color-scheme.scss +7 -0
  277. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_container.scss +9 -0
  278. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_deprecate.scss +10 -0
  279. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_forms.scss +144 -0
  280. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_gradients.scss +47 -0
  281. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_grid.scss +132 -0
  282. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_image.scss +16 -0
  283. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_list-group.scss +24 -0
  284. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_lists.scss +7 -0
  285. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_pagination.scss +31 -0
  286. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_reset-text.scss +17 -0
  287. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_resize.scss +6 -0
  288. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_table-variants.scss +21 -0
  289. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_text-truncate.scss +8 -0
  290. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_transition.scss +26 -0
  291. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_utilities.scss +68 -0
  292. data/_sass/lib/bootstrap-5.0.2/scss/mixins/_visually-hidden.scss +29 -0
  293. data/_sass/lib/bootstrap-5.0.2/scss/utilities/_api.scss +47 -0
  294. data/_sass/lib/bootstrap-5.0.2/scss/vendor/_rfs.scss +354 -0
  295. data/_sass/redeyed-jekyll-theme.scss +57 -23
  296. data/_sass/theme/common.scss +98 -0
  297. data/_sass/theme/mixins.scss +103 -0
  298. data/_sass/theme/scheme-brew.scss +3 -0
  299. data/_sass/theme/scheme-dark.scss +244 -0
  300. data/_sass/theme/scheme-light.scss +225 -0
  301. data/_sass/theme/syntax-dark.scss +150 -0
  302. data/_sass/{colors/light-syntax.scss → theme/syntax-light.scss} +5 -5
  303. data/_sass/theme/syntax.scss +246 -0
  304. data/_sass/theme/typography.scss +151 -0
  305. data/_sass/theme/variables.scss +751 -0
  306. data/_sass/variables-hook.scss +3 -0
  307. data/assets/css/style.scss +53 -0
  308. data/assets/img/banner.svg +40 -0
  309. data/assets/img/d20R/d20R-128.png +0 -0
  310. data/assets/img/d20R/d20R-16.png +0 -0
  311. data/assets/img/d20R/d20R-200.png +0 -0
  312. data/assets/img/d20R/d20R-240.png +0 -0
  313. data/assets/img/d20R/d20R-32.png +0 -0
  314. data/assets/img/d20R/d20R-320.png +0 -0
  315. data/assets/img/d20R/d20R-48.png +0 -0
  316. data/assets/img/d20R/d20R-500.png +0 -0
  317. data/assets/img/d20R/d20R-600.png +0 -0
  318. data/assets/img/d20R/d20R-64.png +0 -0
  319. data/assets/img/d20R/d20R.svg +0 -0
  320. data/assets/img/d20RB/d20RB-128.png +0 -0
  321. data/assets/img/d20RB/d20RB-16.png +0 -0
  322. data/assets/img/d20RB/d20RB-200.png +0 -0
  323. data/assets/img/d20RB/d20RB-240.png +0 -0
  324. data/assets/img/d20RB/d20RB-32.png +0 -0
  325. data/assets/img/d20RB/d20RB-320.png +0 -0
  326. data/assets/img/d20RB/d20RB-48.png +0 -0
  327. data/assets/img/d20RB/d20RB-500.png +0 -0
  328. data/assets/img/d20RB/d20RB-600.png +0 -0
  329. data/assets/img/d20RB/d20RB-64.png +0 -0
  330. data/assets/img/d20RB/d20RB.svg +0 -0
  331. data/assets/img/favicons/android-chrome-192x192.png +0 -0
  332. data/assets/img/favicons/android-chrome-512x512.png +0 -0
  333. data/assets/img/favicons/apple-touch-icon.png +0 -0
  334. data/assets/img/favicons/browserconfig.xml +0 -0
  335. data/assets/img/favicons/favicon-16x16.png +0 -0
  336. data/assets/img/favicons/favicon-32x32.png +0 -0
  337. data/assets/img/favicons/favicon-d20.ico +0 -0
  338. data/assets/img/favicons/favicon.ico +0 -0
  339. data/assets/img/favicons/mstile-150x150.png +0 -0
  340. data/assets/img/favicons/mstile-310x150.png +0 -0
  341. data/assets/img/favicons/mstile-310x310.png +0 -0
  342. data/assets/img/favicons/mstile-70x70.png +0 -0
  343. data/assets/img/favicons/safari-pinned-tab.svg +0 -0
  344. data/assets/img/favicons/site.webmanifest +0 -0
  345. data/assets/img/icons/bars-solid.svg +1 -0
  346. data/assets/img/social/facebook.svg +7 -0
  347. data/assets/img/social/github.svg +7 -0
  348. data/assets/img/social/guilded.svg +7 -0
  349. data/assets/img/social/patreon.svg +7 -0
  350. data/assets/img/social/reddit.svg +10 -0
  351. data/assets/img/social/tumblr.svg +7 -0
  352. data/assets/img/social/twitter.svg +7 -0
  353. data/assets/js/data/search.json +0 -0
  354. data/assets/js/data/swcache.js +0 -0
  355. data/assets/js/dist/categories.min.js +1 -0
  356. data/assets/js/dist/common.min.js +1 -0
  357. data/assets/js/dist/home.min.js +1 -0
  358. data/assets/js/dist/misc.min.js +1 -0
  359. data/assets/js/dist/page.min.js +1 -0
  360. data/assets/js/dist/post.min.js +1 -0
  361. data/assets/js/dist/pvreport.min.js +1 -0
  362. data/assets/js/fetch.js +0 -0
  363. data/assets/js/pwa/app.js +0 -0
  364. data/assets/js/pwa/sw.js +0 -0
  365. data/assets/js/pwa/unregister.js +0 -0
  366. data/assets/lib/MaterialDesign-Webfont-master/.github/ISSUE_TEMPLATE.md +3 -0
  367. data/assets/lib/MaterialDesign-Webfont-master/LICENSE +20 -0
  368. data/assets/lib/MaterialDesign-Webfont-master/README.md +25 -0
  369. data/assets/lib/MaterialDesign-Webfont-master/css/materialdesignicons.css +27458 -0
  370. data/assets/lib/MaterialDesign-Webfont-master/css/materialdesignicons.css.map +16 -0
  371. data/assets/lib/MaterialDesign-Webfont-master/css/materialdesignicons.min.css +3 -0
  372. data/assets/lib/MaterialDesign-Webfont-master/css/materialdesignicons.min.css.map +16 -0
  373. data/assets/lib/MaterialDesign-Webfont-master/fonts/materialdesignicons-webfont.eot +0 -0
  374. data/assets/lib/MaterialDesign-Webfont-master/fonts/materialdesignicons-webfont.ttf +0 -0
  375. data/assets/lib/MaterialDesign-Webfont-master/fonts/materialdesignicons-webfont.woff +0 -0
  376. data/assets/lib/MaterialDesign-Webfont-master/fonts/materialdesignicons-webfont.woff2 +0 -0
  377. data/assets/lib/MaterialDesign-Webfont-master/package.json +30 -0
  378. data/assets/lib/MaterialDesign-Webfont-master/preview.html +717 -0
  379. data/assets/lib/MaterialDesign-Webfont-master/scripts/verify.js +41 -0
  380. data/assets/lib/MaterialDesign-Webfont-master/scss/_animated.scss +27 -0
  381. data/assets/lib/MaterialDesign-Webfont-master/scss/_core.scss +10 -0
  382. data/assets/lib/MaterialDesign-Webfont-master/scss/_extras.scss +65 -0
  383. data/assets/lib/MaterialDesign-Webfont-master/scss/_functions.scss +20 -0
  384. data/assets/lib/MaterialDesign-Webfont-master/scss/_icons.scss +10 -0
  385. data/assets/lib/MaterialDesign-Webfont-master/scss/_path.scss +10 -0
  386. data/assets/lib/MaterialDesign-Webfont-master/scss/_variables.scss +6807 -0
  387. data/assets/lib/MaterialDesign-Webfont-master/scss/materialdesignicons.scss +8 -0
  388. data/assets/lib/bootstrap-5.0.2/bootstrap.bundle.min.js +7 -0
  389. data/assets/lib/bootstrap-5.0.2/bootstrap.min.css +7 -0
  390. data/assets/lib/bootstrap-toc-1.0.1/bootstrap-toc.min.css +4 -0
  391. data/assets/lib/bootstrap-toc-1.0.1/bootstrap-toc.min.js +5 -0
  392. data/assets/lib/clipboard-2.0.9/clipboard.min.js +7 -0
  393. data/assets/lib/countup.js-1.9.3/countUp.min.js +1 -0
  394. data/assets/lib/dayjs-1.10.7/dayjs.min.js +1 -0
  395. data/assets/lib/dayjs-1.10.7/locale/en.min.js +7 -0
  396. data/assets/lib/dayjs-1.10.7/plugin/localizedFormat.min.js +5 -0
  397. data/assets/lib/dayjs-1.10.7/plugin/relativeTime.min.js +5 -0
  398. data/assets/lib/fonts/Alegreya/Alegreya-Italic-VariableFont_wght.ttf +0 -0
  399. data/assets/lib/fonts/Alegreya/Alegreya-VariableFont_wght.ttf +0 -0
  400. data/assets/lib/fonts/Alegreya/OFL.txt +93 -0
  401. data/assets/lib/fonts/Alegreya/README.txt +75 -0
  402. data/assets/lib/fonts/Alegreya/static/Alegreya-Black.ttf +0 -0
  403. data/assets/lib/fonts/Alegreya/static/Alegreya-BlackItalic.ttf +0 -0
  404. data/assets/lib/fonts/Alegreya/static/Alegreya-Bold.ttf +0 -0
  405. data/assets/lib/fonts/Alegreya/static/Alegreya-BoldItalic.ttf +0 -0
  406. data/assets/lib/fonts/Alegreya/static/Alegreya-ExtraBold.ttf +0 -0
  407. data/assets/lib/fonts/Alegreya/static/Alegreya-ExtraBoldItalic.ttf +0 -0
  408. data/assets/lib/fonts/Alegreya/static/Alegreya-Italic.ttf +0 -0
  409. data/assets/lib/fonts/Alegreya/static/Alegreya-Medium.ttf +0 -0
  410. data/assets/lib/fonts/Alegreya/static/Alegreya-MediumItalic.ttf +0 -0
  411. data/assets/lib/fonts/Alegreya/static/Alegreya-Regular.ttf +0 -0
  412. data/assets/lib/fonts/Alegreya/static/Alegreya-SemiBold.ttf +0 -0
  413. data/assets/lib/fonts/Alegreya/static/Alegreya-SemiBoldItalic.ttf +0 -0
  414. data/assets/lib/fonts/Alegreya_SC/AlegreyaSC-Black.ttf +0 -0
  415. data/assets/lib/fonts/Alegreya_SC/AlegreyaSC-BlackItalic.ttf +0 -0
  416. data/assets/lib/fonts/Alegreya_SC/AlegreyaSC-Bold.ttf +0 -0
  417. data/assets/lib/fonts/Alegreya_SC/AlegreyaSC-BoldItalic.ttf +0 -0
  418. data/assets/lib/fonts/Alegreya_SC/AlegreyaSC-ExtraBold.ttf +0 -0
  419. data/assets/lib/fonts/Alegreya_SC/AlegreyaSC-ExtraBoldItalic.ttf +0 -0
  420. data/assets/lib/fonts/Alegreya_SC/AlegreyaSC-Italic.ttf +0 -0
  421. data/assets/lib/fonts/Alegreya_SC/AlegreyaSC-Medium.ttf +0 -0
  422. data/assets/lib/fonts/Alegreya_SC/AlegreyaSC-MediumItalic.ttf +0 -0
  423. data/assets/lib/fonts/Alegreya_SC/AlegreyaSC-Regular.ttf +0 -0
  424. data/assets/lib/fonts/Alegreya_SC/OFL.txt +93 -0
  425. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-Black.ttf +0 -0
  426. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-BlackItalic.ttf +0 -0
  427. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-Bold.ttf +0 -0
  428. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-BoldItalic.ttf +0 -0
  429. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-ExtraBold.ttf +0 -0
  430. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-ExtraBoldItalic.ttf +0 -0
  431. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-Italic.ttf +0 -0
  432. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-Light.ttf +0 -0
  433. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-LightItalic.ttf +0 -0
  434. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-Medium.ttf +0 -0
  435. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-MediumItalic.ttf +0 -0
  436. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-Regular.ttf +0 -0
  437. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-Thin.ttf +0 -0
  438. data/assets/lib/fonts/Alegreya_Sans/AlegreyaSans-ThinItalic.ttf +0 -0
  439. data/assets/lib/fonts/Alegreya_Sans/OFL.txt +93 -0
  440. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-Black.ttf +0 -0
  441. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-BlackItalic.ttf +0 -0
  442. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-Bold.ttf +0 -0
  443. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-BoldItalic.ttf +0 -0
  444. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-ExtraBold.ttf +0 -0
  445. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-ExtraBoldItalic.ttf +0 -0
  446. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-Italic.ttf +0 -0
  447. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-Light.ttf +0 -0
  448. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-LightItalic.ttf +0 -0
  449. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-Medium.ttf +0 -0
  450. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-MediumItalic.ttf +0 -0
  451. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-Regular.ttf +0 -0
  452. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-Thin.ttf +0 -0
  453. data/assets/lib/fonts/Alegreya_Sans_SC/AlegreyaSansSC-ThinItalic.ttf +0 -0
  454. data/assets/lib/fonts/Alegreya_Sans_SC/OFL.txt +93 -0
  455. data/assets/lib/fonts/Cormorant/Cormorant-Italic-VariableFont_wght.ttf +0 -0
  456. data/assets/lib/fonts/Cormorant/Cormorant-VariableFont_wght.ttf +0 -0
  457. data/assets/lib/fonts/Cormorant/OFL.txt +93 -0
  458. data/assets/lib/fonts/Cormorant/README.txt +73 -0
  459. data/assets/lib/fonts/Cormorant/static/Cormorant-Bold.ttf +0 -0
  460. data/assets/lib/fonts/Cormorant/static/Cormorant-BoldItalic.ttf +0 -0
  461. data/assets/lib/fonts/Cormorant/static/Cormorant-Italic.ttf +0 -0
  462. data/assets/lib/fonts/Cormorant/static/Cormorant-Light.ttf +0 -0
  463. data/assets/lib/fonts/Cormorant/static/Cormorant-LightItalic.ttf +0 -0
  464. data/assets/lib/fonts/Cormorant/static/Cormorant-Medium.ttf +0 -0
  465. data/assets/lib/fonts/Cormorant/static/Cormorant-MediumItalic.ttf +0 -0
  466. data/assets/lib/fonts/Cormorant/static/Cormorant-Regular.ttf +0 -0
  467. data/assets/lib/fonts/Cormorant/static/Cormorant-SemiBold.ttf +0 -0
  468. data/assets/lib/fonts/Cormorant/static/Cormorant-SemiBoldItalic.ttf +0 -0
  469. data/assets/lib/fonts/Cormorant_Garamond/CormorantGaramond-Bold.ttf +0 -0
  470. data/assets/lib/fonts/Cormorant_Garamond/CormorantGaramond-BoldItalic.ttf +0 -0
  471. data/assets/lib/fonts/Cormorant_Garamond/CormorantGaramond-Italic.ttf +0 -0
  472. data/assets/lib/fonts/Cormorant_Garamond/CormorantGaramond-Light.ttf +0 -0
  473. data/assets/lib/fonts/Cormorant_Garamond/CormorantGaramond-LightItalic.ttf +0 -0
  474. data/assets/lib/fonts/Cormorant_Garamond/CormorantGaramond-Medium.ttf +0 -0
  475. data/assets/lib/fonts/Cormorant_Garamond/CormorantGaramond-MediumItalic.ttf +0 -0
  476. data/assets/lib/fonts/Cormorant_Garamond/CormorantGaramond-Regular.ttf +0 -0
  477. data/assets/lib/fonts/Cormorant_Garamond/CormorantGaramond-SemiBold.ttf +0 -0
  478. data/assets/lib/fonts/Cormorant_Garamond/CormorantGaramond-SemiBoldItalic.ttf +0 -0
  479. data/assets/lib/fonts/Cormorant_Garamond/OFL.txt +93 -0
  480. data/assets/lib/fonts/Cormorant_Infant/CormorantInfant-Bold.ttf +0 -0
  481. data/assets/lib/fonts/Cormorant_Infant/CormorantInfant-BoldItalic.ttf +0 -0
  482. data/assets/lib/fonts/Cormorant_Infant/CormorantInfant-Italic.ttf +0 -0
  483. data/assets/lib/fonts/Cormorant_Infant/CormorantInfant-Light.ttf +0 -0
  484. data/assets/lib/fonts/Cormorant_Infant/CormorantInfant-LightItalic.ttf +0 -0
  485. data/assets/lib/fonts/Cormorant_Infant/CormorantInfant-Medium.ttf +0 -0
  486. data/assets/lib/fonts/Cormorant_Infant/CormorantInfant-MediumItalic.ttf +0 -0
  487. data/assets/lib/fonts/Cormorant_Infant/CormorantInfant-Regular.ttf +0 -0
  488. data/assets/lib/fonts/Cormorant_Infant/CormorantInfant-SemiBold.ttf +0 -0
  489. data/assets/lib/fonts/Cormorant_Infant/CormorantInfant-SemiBoldItalic.ttf +0 -0
  490. data/assets/lib/fonts/Cormorant_Infant/OFL.txt +93 -0
  491. data/assets/lib/fonts/Cormorant_SC/CormorantSC-Bold.ttf +0 -0
  492. data/assets/lib/fonts/Cormorant_SC/CormorantSC-Light.ttf +0 -0
  493. data/assets/lib/fonts/Cormorant_SC/CormorantSC-Medium.ttf +0 -0
  494. data/assets/lib/fonts/Cormorant_SC/CormorantSC-Regular.ttf +0 -0
  495. data/assets/lib/fonts/Cormorant_SC/CormorantSC-SemiBold.ttf +0 -0
  496. data/assets/lib/fonts/Cormorant_SC/OFL.txt +93 -0
  497. data/assets/lib/fonts/Cormorant_Unicase/CormorantUnicase-Bold.ttf +0 -0
  498. data/assets/lib/fonts/Cormorant_Unicase/CormorantUnicase-Light.ttf +0 -0
  499. data/assets/lib/fonts/Cormorant_Unicase/CormorantUnicase-Medium.ttf +0 -0
  500. data/assets/lib/fonts/Cormorant_Unicase/CormorantUnicase-Regular.ttf +0 -0
  501. data/assets/lib/fonts/Cormorant_Unicase/CormorantUnicase-SemiBold.ttf +0 -0
  502. data/assets/lib/fonts/Cormorant_Unicase/OFL.txt +93 -0
  503. data/assets/lib/fonts/Cormorant_Upright/CormorantUpright-Bold.ttf +0 -0
  504. data/assets/lib/fonts/Cormorant_Upright/CormorantUpright-Light.ttf +0 -0
  505. data/assets/lib/fonts/Cormorant_Upright/CormorantUpright-Medium.ttf +0 -0
  506. data/assets/lib/fonts/Cormorant_Upright/CormorantUpright-Regular.ttf +0 -0
  507. data/assets/lib/fonts/Cormorant_Upright/CormorantUpright-SemiBold.ttf +0 -0
  508. data/assets/lib/fonts/Cormorant_Upright/OFL.txt +93 -0
  509. data/assets/lib/fonts/Xanh_Mono/OFL.txt +93 -0
  510. data/assets/lib/fonts/Xanh_Mono/XanhMono-Italic.ttf +0 -0
  511. data/assets/lib/fonts/Xanh_Mono/XanhMono-Regular.ttf +0 -0
  512. data/assets/lib/fonts/fonts.css +97 -0
  513. data/assets/lib/jquery-3.6.0/jquery.min.js +2 -0
  514. data/assets/lib/lozad-1.16.0/lozad.min.js +10 -0
  515. data/assets/lib/magnific-popup-1.1.0/jquery.magnific-popup.min.js +4 -0
  516. data/assets/lib/magnific-popup-1.1.0/magnific-popup.css +2 -0
  517. data/assets/lib/mathjax-3.2.0/a11y/assistive-mml.js +1 -0
  518. data/assets/lib/mathjax-3.2.0/a11y/complexity.js +1 -0
  519. data/assets/lib/mathjax-3.2.0/a11y/explorer.js +1 -0
  520. data/assets/lib/mathjax-3.2.0/a11y/semantic-enrich.js +1 -0
  521. data/assets/lib/mathjax-3.2.0/adaptors/liteDOM.js +1 -0
  522. data/assets/lib/mathjax-3.2.0/core.js +1 -0
  523. data/assets/lib/mathjax-3.2.0/input/asciimath.js +1 -0
  524. data/assets/lib/mathjax-3.2.0/input/mml/entities.js +1 -0
  525. data/assets/lib/mathjax-3.2.0/input/mml/extensions/mml3.js +1 -0
  526. data/assets/lib/mathjax-3.2.0/input/mml/extensions/mml3.sef.json +1 -0
  527. data/assets/lib/mathjax-3.2.0/input/mml.js +1 -0
  528. data/assets/lib/mathjax-3.2.0/input/tex/extensions/action.js +1 -0
  529. data/assets/lib/mathjax-3.2.0/input/tex/extensions/all-packages.js +34 -0
  530. data/assets/lib/mathjax-3.2.0/input/tex/extensions/ams.js +1 -0
  531. data/assets/lib/mathjax-3.2.0/input/tex/extensions/amscd.js +1 -0
  532. data/assets/lib/mathjax-3.2.0/input/tex/extensions/autoload.js +1 -0
  533. data/assets/lib/mathjax-3.2.0/input/tex/extensions/bbox.js +1 -0
  534. data/assets/lib/mathjax-3.2.0/input/tex/extensions/boldsymbol.js +1 -0
  535. data/assets/lib/mathjax-3.2.0/input/tex/extensions/braket.js +1 -0
  536. data/assets/lib/mathjax-3.2.0/input/tex/extensions/bussproofs.js +1 -0
  537. data/assets/lib/mathjax-3.2.0/input/tex/extensions/cancel.js +1 -0
  538. data/assets/lib/mathjax-3.2.0/input/tex/extensions/centernot.js +1 -0
  539. data/assets/lib/mathjax-3.2.0/input/tex/extensions/color.js +1 -0
  540. data/assets/lib/mathjax-3.2.0/input/tex/extensions/colortbl.js +1 -0
  541. data/assets/lib/mathjax-3.2.0/input/tex/extensions/colorv2.js +1 -0
  542. data/assets/lib/mathjax-3.2.0/input/tex/extensions/configmacros.js +1 -0
  543. data/assets/lib/mathjax-3.2.0/input/tex/extensions/enclose.js +1 -0
  544. data/assets/lib/mathjax-3.2.0/input/tex/extensions/extpfeil.js +1 -0
  545. data/assets/lib/mathjax-3.2.0/input/tex/extensions/gensymb.js +1 -0
  546. data/assets/lib/mathjax-3.2.0/input/tex/extensions/html.js +1 -0
  547. data/assets/lib/mathjax-3.2.0/input/tex/extensions/mathtools.js +1 -0
  548. data/assets/lib/mathjax-3.2.0/input/tex/extensions/mhchem.js +34 -0
  549. data/assets/lib/mathjax-3.2.0/input/tex/extensions/newcommand.js +1 -0
  550. data/assets/lib/mathjax-3.2.0/input/tex/extensions/noerrors.js +1 -0
  551. data/assets/lib/mathjax-3.2.0/input/tex/extensions/noundefined.js +1 -0
  552. data/assets/lib/mathjax-3.2.0/input/tex/extensions/physics.js +1 -0
  553. data/assets/lib/mathjax-3.2.0/input/tex/extensions/require.js +1 -0
  554. data/assets/lib/mathjax-3.2.0/input/tex/extensions/setoptions.js +1 -0
  555. data/assets/lib/mathjax-3.2.0/input/tex/extensions/tagformat.js +1 -0
  556. data/assets/lib/mathjax-3.2.0/input/tex/extensions/textcomp.js +1 -0
  557. data/assets/lib/mathjax-3.2.0/input/tex/extensions/textmacros.js +1 -0
  558. data/assets/lib/mathjax-3.2.0/input/tex/extensions/unicode.js +1 -0
  559. data/assets/lib/mathjax-3.2.0/input/tex/extensions/upgreek.js +1 -0
  560. data/assets/lib/mathjax-3.2.0/input/tex/extensions/verb.js +1 -0
  561. data/assets/lib/mathjax-3.2.0/input/tex-base.js +1 -0
  562. data/assets/lib/mathjax-3.2.0/input/tex-full.js +34 -0
  563. data/assets/lib/mathjax-3.2.0/input/tex.js +1 -0
  564. data/assets/lib/mathjax-3.2.0/latest.js +1 -0
  565. data/assets/lib/mathjax-3.2.0/loader.js +1 -0
  566. data/assets/lib/mathjax-3.2.0/mml-chtml.js +1 -0
  567. data/assets/lib/mathjax-3.2.0/mml-svg.js +1 -0
  568. data/assets/lib/mathjax-3.2.0/node-main.js +1 -0
  569. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/tex.js +1 -0
  570. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  571. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  572. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  573. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  574. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  575. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  576. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  577. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  578. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  579. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  580. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  581. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  582. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  583. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  584. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  585. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  586. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  587. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  588. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  589. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  590. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  591. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  592. data/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  593. data/assets/lib/mathjax-3.2.0/output/chtml.js +1 -0
  594. data/assets/lib/mathjax-3.2.0/output/svg/fonts/tex.js +1 -0
  595. data/assets/lib/mathjax-3.2.0/output/svg.js +1 -0
  596. data/assets/lib/mathjax-3.2.0/sre/mathmaps/de.js +125 -0
  597. data/assets/lib/mathjax-3.2.0/sre/mathmaps/en.js +131 -0
  598. data/assets/lib/mathjax-3.2.0/sre/mathmaps/es.js +122 -0
  599. data/assets/lib/mathjax-3.2.0/sre/mathmaps/fr.js +125 -0
  600. data/assets/lib/mathjax-3.2.0/sre/mathmaps/hi.js +125 -0
  601. data/assets/lib/mathjax-3.2.0/sre/mathmaps/it.js +125 -0
  602. data/assets/lib/mathjax-3.2.0/sre/mathmaps/nemeth.js +113 -0
  603. data/assets/lib/mathjax-3.2.0/sre/sre-node.js +11 -0
  604. data/assets/lib/mathjax-3.2.0/sre/sre_browser.js +999 -0
  605. data/assets/lib/mathjax-3.2.0/startup.js +1 -0
  606. data/assets/lib/mathjax-3.2.0/tex-chtml-full.js +34 -0
  607. data/assets/lib/mathjax-3.2.0/tex-chtml.js +1 -0
  608. data/assets/lib/mathjax-3.2.0/tex-mml-chtml.js +1 -0
  609. data/assets/lib/mathjax-3.2.0/tex-mml-svg.js +1 -0
  610. data/assets/lib/mathjax-3.2.0/tex-svg-full.js +34 -0
  611. data/assets/lib/mathjax-3.2.0/tex-svg.js +1 -0
  612. data/assets/lib/mathjax-3.2.0/ui/lazy.js +1 -0
  613. data/assets/lib/mathjax-3.2.0/ui/menu.js +1 -0
  614. data/assets/lib/mathjax-3.2.0/ui/safe.js +1 -0
  615. data/assets/lib/mermaid-8.13.10/mermaid.min.js +3 -0
  616. data/assets/lib/mermaid-8.13.10/mermaid.min.js.map +1 -0
  617. data/assets/lib/polyfill-v3-es6/polyfill.min.js +100 -0
  618. data/assets/lib/simple-jekyll-search-1.10.0/simple-jekyll-search.min.js +6 -0
  619. data/src/404.html +3 -10
  620. data/src/favicon.ico +0 -0
  621. data/src/feed.xml +0 -0
  622. data/src/index.md +0 -0
  623. data/src/robots.txt +0 -0
  624. data/src/style/html.md +0 -0
  625. data/src/style/index.md +0 -0
  626. data/src/style/markdown.md +0 -0
  627. metadata +720 -123
  628. data/_includes/ga-site-tag.html +0 -8
  629. data/_includes/header-banner.html +0 -1
  630. data/_includes/header-wide.html +0 -1
  631. data/_includes/header.html +0 -1
  632. data/_includes/lang.html +0 -6
  633. data/_includes/mermaid.html +0 -1
  634. data/_javascript/common/back-to-top.js +0 -20
  635. data/_javascript/common/mode-toggle.js +0 -13
  636. data/_javascript/common/scroll-helper.js +0 -36
  637. data/_javascript/common/search-display.js +0 -129
  638. data/_javascript/common/sidebar.js +0 -30
  639. data/_javascript/common/tooltip-loader.js +0 -6
  640. data/_javascript/common/topbar-switcher.js +0 -90
  641. data/_javascript/common/topbar-title.js +0 -67
  642. data/_javascript/utils/category-collapse.js +0 -30
  643. data/_javascript/utils/checkbox.js +0 -12
  644. data/_javascript/utils/clipboard.js +0 -133
  645. data/_javascript/utils/img-extra.js +0 -47
  646. data/_javascript/utils/locale-datetime.js +0 -45
  647. data/_javascript/utils/pageviews.js +0 -250
  648. data/_javascript/utils/smooth-scroll.js +0 -96
  649. data/_sass/addon/common.scss +0 -1630
  650. data/_sass/addon/mixins.scss +0 -144
  651. data/_sass/addon/variables.scss +0 -31
  652. data/_sass/colors/brew-scheme.scss +0 -7
  653. data/_sass/colors/dark-scheme.scss +0 -21
  654. data/_sass/colors/dark-syntax.scss +0 -88
  655. data/_sass/colors/light-scheme.scss +0 -7
  656. data/_sass/layout/panel-none.scss +0 -146
@@ -1,8 +0,0 @@
1
- {% comment %} Global site tag (gtag.js) - Google Analytics {% endcomment %}
2
- <script async src="https://www.googletagmanager.com/gtag/js?id=G-E941CYN0XY"></script>
3
- <script>
4
- window.dataLayer = window.dataLayer || [];
5
- function gtag(){dataLayer.push(arguments);}
6
- gtag('js', new Date());
7
- gtag('config', 'G-E941CYN0XY');
8
- </script>
@@ -1 +0,0 @@
1
- {% comment %} HEADER-BANNER {% endcomment %}
@@ -1 +0,0 @@
1
- {% comment %} HEADER-WIDE {% endcomment %}
@@ -1 +0,0 @@
1
- {% comment %} HEADER-REGULAR {% endcomment %}
data/_includes/lang.html DELETED
@@ -1,6 +0,0 @@
1
- {% comment %} Detect appearance language and return it through variable "lang" {% endcomment %}
2
- {% if site.data.locales[site.lang] %}
3
- {% assign lang = site.lang %}
4
- {% else %}
5
- {% assign lang = 'en' %}
6
- {% endif %}
@@ -1 +0,0 @@
1
- {% comment %} MERMAID {% endcomment %}
@@ -1,20 +0,0 @@
1
- /*
2
- Reference: https://bootsnipp.com/snippets/featured/link-to-top-page
3
- */
4
- $(function() {
5
- $(window).scroll(() => {
6
- if ($(this).scrollTop() > 50 &&
7
- $("#sidebar-trigger").css("display") === "none") {
8
- $("#back-to-top").fadeIn();
9
- } else {
10
- $("#back-to-top").fadeOut();
11
- }
12
- });
13
-
14
- $("#back-to-top").click(() => {
15
- $("body,html").animate({
16
- scrollTop: 0
17
- }, 800);
18
- return false;
19
- });
20
- });
@@ -1,13 +0,0 @@
1
- /*
2
- * Listener for theme mode toggle
3
- */
4
- $(function() {
5
- $(".mode-toggle").click((e) => {
6
- const $target = $(e.target);
7
- let $btn = ($target.prop("tagName") === "button".toUpperCase() ?
8
- $target : $target.parent());
9
-
10
- $btn.blur(); // remove the clicking outline
11
- flipMode();
12
- });
13
- });
@@ -1,36 +0,0 @@
1
- /**
2
- * A tool for smooth scrolling and topbar switcher
3
- */
4
- const ScrollHelper = (function () {
5
- const $body = $("body");
6
- const ATTR_TOPBAR_VISIBLE = "data-topbar-visible";
7
- const topbarHeight = $("#topbar-wrapper").outerHeight();
8
-
9
- let scrollUpCount = 0; // the number of times the scroll up was triggered by ToC or anchor
10
- let topbarLocked = false;
11
- let orientationLocked = false;
12
-
13
- return {
14
- hideTopbar: () => $body.attr(ATTR_TOPBAR_VISIBLE, false),
15
- showTopbar: () => $body.attr(ATTR_TOPBAR_VISIBLE, true),
16
-
17
- // scroll up
18
-
19
- addScrollUpTask: () => {
20
- scrollUpCount += 1;
21
- if (!topbarLocked) { topbarLocked = true; }
22
- },
23
- popScrollUpTask: () => scrollUpCount -= 1,
24
- hasScrollUpTask: () => scrollUpCount > 0,
25
- topbarLocked: () => topbarLocked === true,
26
- unlockTopbar: () => topbarLocked = false,
27
- getTopbarHeight: () => topbarHeight,
28
-
29
- // orientation change
30
-
31
- orientationLocked: () => orientationLocked === true,
32
- lockOrientation: () => orientationLocked = true,
33
- unLockOrientation: () => orientationLocked = false
34
- };
35
-
36
- }());
@@ -1,129 +0,0 @@
1
- /*
2
- * This script make #search-result-wrapper switch to unloaded or shown automatically.
3
- */
4
-
5
- $(function() {
6
- const btnSbTrigger = $("#sidebar-trigger");
7
- const btnSearchTrigger = $("#search-trigger");
8
- const btnCancel = $("#search-cancel");
9
- const main = $("#main");
10
- const topbarTitle = $("#topbar-title");
11
- const searchWrapper = $("#search-wrapper");
12
- const resultWrapper = $("#search-result-wrapper");
13
- const results = $("#search-results");
14
- const input = $("#search-input");
15
- const hints = $("#search-hints");
16
-
17
- const scrollBlocker = (function () {
18
- let offset = 0;
19
- return {
20
- block() {
21
- offset = window.scrollY;
22
- $("html,body").scrollTop(0);
23
- },
24
- release() {
25
- $("html,body").scrollTop(offset);
26
- },
27
- getOffset() {
28
- return offset;
29
- }
30
- };
31
- }());
32
-
33
- /*--- Actions in mobile screens (Sidebar hidden) ---*/
34
-
35
- const mobileSearchBar = (function () {
36
- return {
37
- on() {
38
- btnSbTrigger.addClass("unloaded");
39
- topbarTitle.addClass("unloaded");
40
- btnSearchTrigger.addClass("unloaded");
41
- searchWrapper.addClass("d-flex");
42
- btnCancel.addClass("loaded");
43
- },
44
- off() {
45
- btnCancel.removeClass("loaded");
46
- searchWrapper.removeClass("d-flex");
47
- btnSbTrigger.removeClass("unloaded");
48
- topbarTitle.removeClass("unloaded");
49
- btnSearchTrigger.removeClass("unloaded");
50
- }
51
- };
52
- }());
53
-
54
- const resultSwitch = (function () {
55
- let visible = false;
56
-
57
- return {
58
- on() {
59
- if (!visible) {
60
- // the block method must be called before $(#main) unloaded.
61
- scrollBlocker.block();
62
- resultWrapper.removeClass("unloaded");
63
- main.addClass("unloaded");
64
- visible = true;
65
- }
66
- },
67
- off() {
68
- if (visible) {
69
- results.empty();
70
- if (hints.hasClass("unloaded")) {
71
- hints.removeClass("unloaded");
72
- }
73
- resultWrapper.addClass("unloaded");
74
- main.removeClass("unloaded");
75
-
76
- // now the release method must be called after $(#main) display
77
- scrollBlocker.release();
78
-
79
- input.val("");
80
- visible = false;
81
- }
82
- },
83
- isVisible() {
84
- return visible;
85
- }
86
- };
87
-
88
- }());
89
-
90
- function isMobileView() {
91
- return btnCancel.hasClass("loaded");
92
- }
93
-
94
- btnSearchTrigger.click(function() {
95
- mobileSearchBar.on();
96
- resultSwitch.on();
97
- input.focus();
98
- });
99
-
100
- btnCancel.click(function() {
101
- mobileSearchBar.off();
102
- resultSwitch.off();
103
- });
104
-
105
- input.focus(function() {
106
- searchWrapper.addClass("input-focus");
107
- });
108
-
109
- input.focusout(function() {
110
- searchWrapper.removeClass("input-focus");
111
- });
112
-
113
- input.on("input", () => {
114
- if (input.val() === "") {
115
- if (isMobileView()) {
116
- hints.removeClass("unloaded");
117
- } else {
118
- resultSwitch.off();
119
- }
120
-
121
- } else {
122
- resultSwitch.on();
123
- if (isMobileView()) {
124
- hints.addClass("unloaded");
125
- }
126
- }
127
- });
128
-
129
- });
@@ -1,30 +0,0 @@
1
- /**
2
- * Expand or close the sidebar in mobile screens.
3
- */
4
-
5
- $(function() {
6
-
7
- const sidebarUtil = (function () {
8
- const ATTR_DISPLAY = "sidebar-display";
9
- let isExpanded = false;
10
- const body = $("body");
11
-
12
- return {
13
- toggle() {
14
- if (isExpanded === false) {
15
- body.attr(ATTR_DISPLAY, "");
16
- } else {
17
- body.removeAttr(ATTR_DISPLAY);
18
- }
19
-
20
- isExpanded = !isExpanded;
21
- }
22
- };
23
-
24
- }());
25
-
26
- $("#sidebar-trigger").click(sidebarUtil.toggle);
27
-
28
- $("#mask").click(sidebarUtil.toggle);
29
-
30
- });
@@ -1,6 +0,0 @@
1
- /**
2
- * Initial Bootstrap Tooltip.
3
- */
4
- $(function () {
5
- $("[data-toggle=\"tooltip\"]").tooltip();
6
- });
@@ -1,90 +0,0 @@
1
- /*
2
- * Hide Header on scroll down
3
- */
4
-
5
- $(function() {
6
- const $searchInput = $("#search-input");
7
- const delta = ScrollHelper.getTopbarHeight();
8
-
9
- let didScroll;
10
- let lastScrollTop = 0;
11
-
12
- function hasScrolled() {
13
- let st = $(this).scrollTop();
14
-
15
- /* Make sure they scroll more than delta */
16
- if (Math.abs(lastScrollTop - st) <= delta) {
17
- return;
18
- }
19
-
20
- if (st > lastScrollTop ) { // Scroll Down
21
- ScrollHelper.hideTopbar();
22
-
23
- if ($searchInput.is(":focus")) {
24
- $searchInput.blur(); /* remove focus */
25
- }
26
-
27
- } else { // Scroll up
28
- // has not yet scrolled to the bottom of the screen, that is, there is still space for scrolling
29
- if (st + $(window).height() < $(document).height()) {
30
-
31
- if (ScrollHelper.hasScrollUpTask()) {
32
- return;
33
- }
34
-
35
- if (ScrollHelper.topbarLocked()) { // avoid redundant scroll up event from smooth scrolling
36
- ScrollHelper.unlockTopbar();
37
- } else {
38
- if (ScrollHelper.orientationLocked()) { // avoid device auto scroll up on orientation change
39
- ScrollHelper.unLockOrientation();
40
- } else {
41
- ScrollHelper.showTopbar();
42
- }
43
- }
44
- }
45
- }
46
-
47
- lastScrollTop = st;
48
-
49
- } // hasScrolled()
50
-
51
- function handleLandscape() {
52
- if ($(window).scrollTop() === 0) {
53
- return;
54
- }
55
- ScrollHelper.lockOrientation();
56
- ScrollHelper.hideTopbar();
57
- }
58
-
59
- if (screen.orientation) {
60
- screen.orientation.onchange = () => {
61
- const type = screen.orientation.type;
62
- if (type === "landscape-primary" || type === "landscape-secondary") {
63
- handleLandscape();
64
- }
65
- };
66
-
67
- } else {
68
- // for the browsers that not support `window.screen.orientation` API
69
- $(window).on("orientationchange",() => {
70
- if ($(window).width() < $(window).height()) { // before rotating, it is still in portrait mode.
71
- handleLandscape();
72
- }
73
- });
74
- }
75
-
76
- $(window).scroll(() => {
77
- if (didScroll) {
78
- return;
79
- }
80
- didScroll = true;
81
- });
82
-
83
- setInterval(() => {
84
- if (didScroll) {
85
- hasScrolled();
86
- didScroll = false;
87
- }
88
- }, 250);
89
-
90
- });
@@ -1,67 +0,0 @@
1
- /*
2
- * Top bar title auto change while scrolling up/down in mobile screens.
3
- */
4
-
5
- $(function() {
6
- const titleSelector = "div.post>h1:first-of-type";
7
- const $pageTitle = $(titleSelector);
8
- const $topbarTitle = $("#topbar-title");
9
-
10
- if ($pageTitle.length === 0 /* on Home page */
11
- || $pageTitle.hasClass("dynamic-title")
12
- || $topbarTitle.is(":hidden")) {/* not in mobile views */
13
- return;
14
- }
15
-
16
- const defaultTitleText = $topbarTitle.text().trim();
17
- let pageTitleText = $pageTitle.text().trim();
18
- let hasScrolled = false;
19
- let lastScrollTop = 0;
20
-
21
- if ($("#page-category").length || $("#page-tag").length) {
22
- /* The title in Category or Tag page will be "<title> <count_of_posts>" */
23
- if (/\s/.test(pageTitleText)) {
24
- pageTitleText = pageTitleText.replace(/[0-9]/g, "").trim();
25
- }
26
- }
27
-
28
- // When the page is scrolled down and then refreshed, the topbar title needs to be initialized
29
- if ($pageTitle.offset().top < $(window).scrollTop()) {
30
- $topbarTitle.text(pageTitleText);
31
- }
32
-
33
- let options = {
34
- rootMargin: '-48px 0px 0px 0px', // 48px equals to the topbar height (3rem)
35
- threshold: [0, 1]
36
- };
37
-
38
- let observer = new IntersectionObserver((entries) => {
39
- if (!hasScrolled) {
40
- hasScrolled = true;
41
- return;
42
- }
43
-
44
- let curScrollTop = $(window).scrollTop();
45
- let isScrollDown = lastScrollTop < curScrollTop;
46
- lastScrollTop = curScrollTop;
47
- let heading = entries[0];
48
-
49
- if (isScrollDown) {
50
- if (heading.intersectionRatio === 0) {
51
- $topbarTitle.text(pageTitleText);
52
- }
53
- } else {
54
- if (heading.intersectionRatio === 1) {
55
- $topbarTitle.text(defaultTitleText);
56
- }
57
- }
58
- }, options);
59
-
60
- observer.observe(document.querySelector(titleSelector));
61
-
62
- /* Click title will scroll to top */
63
- $topbarTitle.click(function() {
64
- $("body,html").animate({scrollTop: 0}, 800);
65
- });
66
-
67
- });
@@ -1,30 +0,0 @@
1
- /*
2
- * Tab 'Categories' expand/close effect.
3
- */
4
-
5
- $(function() {
6
- const childPrefix = "l_";
7
- const parentPrefix = "h_";
8
- const collapse = $(".collapse");
9
-
10
- /* close up top-category */
11
- collapse.on("hide.bs.collapse", function () { /* Bootstrap collapse events. */
12
- const parentId = parentPrefix + $(this).attr("id").substring(childPrefix.length);
13
- if (parentId) {
14
- $(`#${parentId} .far.fa-folder-open`).attr("class", "far fa-folder fa-fw");
15
- $(`#${parentId} i.fas`).addClass("rotate");
16
- $(`#${parentId}`).removeClass("hide-border-bottom");
17
- }
18
- });
19
-
20
- /* expand the top category */
21
- collapse.on("show.bs.collapse", function() {
22
- const parentId = parentPrefix + $(this).attr("id").substring(childPrefix.length);
23
- if (parentId) {
24
- $(`#${parentId} .far.fa-folder`).attr("class", "far fa-folder-open fa-fw");
25
- $(`#${parentId} i.fas`).removeClass("rotate");
26
- $(`#${parentId}`).addClass("hide-border-bottom");
27
- }
28
- });
29
-
30
- });
@@ -1,12 +0,0 @@
1
- /*
2
- * Create a more beautiful checkbox
3
- */
4
-
5
- $(function() {
6
- /* hide browser default checkbox */
7
- $("input[type=checkbox]").addClass("unloaded");
8
- /* create checked checkbox */
9
- $("input[type=checkbox][checked]").before("<i class=\"fas fa-check-circle checked\"></i>");
10
- /* create normal checkbox */
11
- $("input[type=checkbox]:not([checked])").before("<i class=\"far fa-circle\"></i>");
12
- });
@@ -1,133 +0,0 @@
1
- /*
2
- * Clipboard functions
3
- *
4
- * Dependencies:
5
- * - popper.js (https://github.com/popperjs/popper-core)
6
- * - clipboard.js (https://github.com/zenorocha/clipboard.js)
7
- */
8
-
9
- $(function() {
10
- const btnSelector = '.code-header>button';
11
- const ICON_SUCCESS = 'fas fa-check';
12
- const ATTR_TIMEOUT = 'timeout';
13
- const ATTR_TITLE_SUCCEED = 'data-title-succeed';
14
- const ATTR_TITLE_ORIGIN = 'data-original-title';
15
- const TIMEOUT = 2000; // in milliseconds
16
-
17
- function isLocked(node) {
18
- if ($(node)[0].hasAttribute(ATTR_TIMEOUT)) {
19
- let timeout = $(node).attr(ATTR_TIMEOUT);
20
- if (Number(timeout) > Date.now()) {
21
- return true;
22
- }
23
- }
24
- return false;
25
- }
26
-
27
- function lock(node) {
28
- $(node).attr(ATTR_TIMEOUT, Date.now() + TIMEOUT);
29
- }
30
-
31
- function unlock(node) {
32
- $(node).removeAttr(ATTR_TIMEOUT);
33
- }
34
-
35
- /* --- Copy code block --- */
36
-
37
- // Initial the clipboard.js object
38
- const clipboard = new ClipboardJS(btnSelector, {
39
- target(trigger) {
40
- let codeBlock = trigger.parentNode.nextElementSibling;
41
- return codeBlock.querySelector('code .rouge-code');
42
- }
43
- });
44
-
45
- $(btnSelector).tooltip({
46
- trigger: 'hover',
47
- placement: 'left'
48
- });
49
-
50
- function getIcon(btn) {
51
- let iconNode = $(btn).children();
52
- return iconNode.attr('class');
53
- }
54
-
55
- const ICON_DEFAULT = getIcon(btnSelector);
56
-
57
- function showTooltip(btn) {
58
- const succeedTitle = $(btn).attr(ATTR_TITLE_SUCCEED);
59
- $(btn).attr(ATTR_TITLE_ORIGIN, succeedTitle).tooltip('show');
60
- }
61
-
62
- function hideTooltip(btn) {
63
- $(btn).tooltip('hide').removeAttr(ATTR_TITLE_ORIGIN);
64
- }
65
-
66
- function setSuccessIcon(btn) {
67
- let btnNode = $(btn);
68
- let iconNode = btnNode.children();
69
- iconNode.attr('class', ICON_SUCCESS);
70
- }
71
-
72
- function resumeIcon(btn) {
73
- let btnNode = $(btn);
74
- let iconNode = btnNode.children();
75
- iconNode.attr('class', ICON_DEFAULT);
76
- }
77
-
78
- clipboard.on('success', (e) => {
79
- e.clearSelection();
80
-
81
- const trigger = e.trigger;
82
- if (isLocked(trigger)) {
83
- return;
84
- }
85
-
86
- setSuccessIcon(trigger);
87
- showTooltip(trigger);
88
- lock(trigger);
89
-
90
- setTimeout(() => {
91
- hideTooltip(trigger);
92
- resumeIcon(trigger);
93
- unlock(trigger);
94
- }, TIMEOUT);
95
-
96
- });
97
-
98
- /* --- Post link sharing --- */
99
-
100
- $('#copy-link').click((e) => {
101
-
102
- let target = $(e.target);
103
-
104
- if (isLocked(target)) {
105
- return;
106
- }
107
-
108
- // Copy URL to clipboard
109
-
110
- const url = window.location.href;
111
- const $temp = $("<input>");
112
-
113
- $("body").append($temp);
114
- $temp.val(url).select();
115
- document.execCommand("copy");
116
- $temp.remove();
117
-
118
- // Switch tooltip title
119
-
120
- const defaultTitle = target.attr(ATTR_TITLE_ORIGIN);
121
- const succeedTitle = target.attr(ATTR_TITLE_SUCCEED);
122
-
123
- target.attr(ATTR_TITLE_ORIGIN, succeedTitle).tooltip('show');
124
- lock(target);
125
-
126
- setTimeout(() => {
127
- target.attr(ATTR_TITLE_ORIGIN, defaultTitle);
128
- unlock(target);
129
- }, TIMEOUT);
130
-
131
- });
132
-
133
- });
@@ -1,47 +0,0 @@
1
- /**
2
- Lazy load images (https://github.com/ApoorvSaxena/lozad.js)
3
- and popup when clicked (https://github.com/dimsemenov/Magnific-Popup)
4
- */
5
-
6
- $(function() {
7
-
8
- const IMG_SCOPE = '#main > div.row:first-child > div:first-child';
9
-
10
- if ($(`${IMG_SCOPE} img`).length <= 0 ) {
11
- return;
12
- }
13
-
14
- /* lazy loading */
15
-
16
- const imgList = document.querySelectorAll(`${IMG_SCOPE} img[data-src]`);
17
- const observer = lozad(imgList);
18
- observer.observe();
19
-
20
- /* popup */
21
-
22
- $(`${IMG_SCOPE} p > img[data-src],${IMG_SCOPE} img[data-src].preview-img`).each(
23
- function() {
24
- let nextTag = $(this).next();
25
- const title = nextTag.prop('tagName') === 'EM' ? nextTag.text() : '';
26
- const src = $(this).attr('data-src'); // created by lozad.js
27
-
28
- $(this).wrap(`<a href="${src}" title="${title}" class="popup"></a>`);
29
- }
30
- );
31
-
32
- $('.popup').magnificPopup({
33
- type: 'image',
34
- closeOnContentClick: true,
35
- showCloseBtn: false,
36
- zoom: {
37
- enabled: true,
38
- duration: 300,
39
- easing: 'ease-in-out'
40
- }
41
- });
42
-
43
- /* markup the image links */
44
-
45
- $(`${IMG_SCOPE} a`).has('img').addClass('img-link');
46
-
47
- });