unaltraweb 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +20 -0
  3. data/Makefile +412 -0
  4. data/README.md +226 -0
  5. data/_config.yml +842 -0
  6. data/_data/i18n/ca.yml +278 -0
  7. data/_data/i18n/en.yml +278 -0
  8. data/_data/i18n/es.yml +278 -0
  9. data/_includes/audio.liquid +30 -0
  10. data/_includes/bib_search.liquid +5 -0
  11. data/_includes/blog-list.liquid +66 -0
  12. data/_includes/book-citation.liquid +33 -0
  13. data/_includes/citation.liquid +26 -0
  14. data/_includes/custom_head.liquid +3 -0
  15. data/_includes/custom_scripts.liquid +5 -0
  16. data/_includes/cv/list.liquid +5 -0
  17. data/_includes/cv/list_groups.liquid +51 -0
  18. data/_includes/cv/map.liquid +29 -0
  19. data/_includes/cv/nested_list.liquid +16 -0
  20. data/_includes/cv/time_table.liquid +118 -0
  21. data/_includes/cv-download-card.liquid +26 -0
  22. data/_includes/developer-mode-switcher.liquid +24 -0
  23. data/_includes/disqus.liquid +13 -0
  24. data/_includes/distill_scripts.liquid +298 -0
  25. data/_includes/documentation-download-detail.liquid +76 -0
  26. data/_includes/documentation-downloads.liquid +71 -0
  27. data/_includes/documentation-profile-attributes.liquid +4 -0
  28. data/_includes/documentation-section-toc.liquid +9 -0
  29. data/_includes/documentation-sidebar.liquid +112 -0
  30. data/_includes/figure.liquid +87 -0
  31. data/_includes/footer.liquid +66 -0
  32. data/_includes/giscus.liquid +25 -0
  33. data/_includes/head.liquid +220 -0
  34. data/_includes/header.liquid +544 -0
  35. data/_includes/latest_posts.liquid +61 -0
  36. data/_includes/localized-date.liquid +5 -0
  37. data/_includes/manual-bibliography.liquid +2 -0
  38. data/_includes/manual-featured-readings.liquid +12 -0
  39. data/_includes/manual-other-readings.liquid +12 -0
  40. data/_includes/manual-page-toc.liquid +11 -0
  41. data/_includes/manual-sidebar.liquid +58 -0
  42. data/_includes/manual-teachers.liquid +74 -0
  43. data/_includes/metadata.liquid +278 -0
  44. data/_includes/news.liquid +48 -0
  45. data/_includes/newsletter.liquid +68 -0
  46. data/_includes/page-hero.liquid +96 -0
  47. data/_includes/page-link.liquid +8 -0
  48. data/_includes/pagination.liquid +22 -0
  49. data/_includes/post-reading-time.liquid +29 -0
  50. data/_includes/previous-next.liquid +37 -0
  51. data/_includes/profile-card.liquid +49 -0
  52. data/_includes/profile-feature-matrix.liquid +75 -0
  53. data/_includes/profile-highlights.liquid +122 -0
  54. data/_includes/project-grid.liquid +26 -0
  55. data/_includes/project-resource-link.liquid +45 -0
  56. data/_includes/project-resources.liquid +21 -0
  57. data/_includes/projects.liquid +38 -0
  58. data/_includes/projects_horizontal.liquid +37 -0
  59. data/_includes/publications-metrics-summary.liquid +69 -0
  60. data/_includes/publications-summary.liquid +127 -0
  61. data/_includes/reading-biblio-controls.liquid +65 -0
  62. data/_includes/reading-cover-card.liquid +93 -0
  63. data/_includes/reading-rating.liquid +11 -0
  64. data/_includes/recommended-readings.liquid +30 -0
  65. data/_includes/related_posts.liquid +39 -0
  66. data/_includes/repository/repo.liquid +48 -0
  67. data/_includes/repository/repo_trophies.liquid +44 -0
  68. data/_includes/repository/repo_user.liquid +35 -0
  69. data/_includes/resume/awards.liquid +19 -0
  70. data/_includes/resume/basics.liquid +28 -0
  71. data/_includes/resume/certificates.liquid +35 -0
  72. data/_includes/resume/education.liquid +54 -0
  73. data/_includes/resume/interests.liquid +34 -0
  74. data/_includes/resume/languages.liquid +31 -0
  75. data/_includes/resume/projects.liquid +32 -0
  76. data/_includes/resume/publications.liquid +28 -0
  77. data/_includes/resume/references.liquid +31 -0
  78. data/_includes/resume/skills.liquid +33 -0
  79. data/_includes/resume/volunteer.liquid +52 -0
  80. data/_includes/resume/work.liquid +52 -0
  81. data/_includes/scripts.liquid +364 -0
  82. data/_includes/search-data.js.liquid +341 -0
  83. data/_includes/selected_papers.liquid +3 -0
  84. data/_includes/t.liquid +31 -0
  85. data/_includes/team-grid.liquid +172 -0
  86. data/_includes/video.liquid +97 -0
  87. data/_layouts/about.liquid +93 -0
  88. data/_layouts/archive.liquid +45 -0
  89. data/_layouts/bib.liquid +677 -0
  90. data/_layouts/book-review.liquid +225 -0
  91. data/_layouts/book-shelf.liquid +66 -0
  92. data/_layouts/cv.liquid +127 -0
  93. data/_layouts/default.liquid +70 -0
  94. data/_layouts/distill.liquid +132 -0
  95. data/_layouts/documentation-download-detail.liquid +5 -0
  96. data/_layouts/documentation-home.liquid +100 -0
  97. data/_layouts/documentation-page.liquid +45 -0
  98. data/_layouts/manual-bib.liquid +73 -0
  99. data/_layouts/manual-chapter.liquid +99 -0
  100. data/_layouts/manual-featured-bib.liquid +100 -0
  101. data/_layouts/manual-home.liquid +120 -0
  102. data/_layouts/none.liquid +1 -0
  103. data/_layouts/outputs.liquid +29 -0
  104. data/_layouts/page.liquid +52 -0
  105. data/_layouts/post.liquid +95 -0
  106. data/_layouts/profile.liquid +36 -0
  107. data/_layouts/profiles.liquid +36 -0
  108. data/_layouts/project.liquid +7 -0
  109. data/_layouts/repositories.liquid +58 -0
  110. data/_layouts/theses.liquid +126 -0
  111. data/_plugins/bibliography_profiles.rb +164 -0
  112. data/_plugins/callouts.rb +104 -0
  113. data/_plugins/code_blocks.rb +277 -0
  114. data/_plugins/computation_figure_images.rb +266 -0
  115. data/_plugins/computation_sources.rb +42 -0
  116. data/_plugins/content_search_index.rb +210 -0
  117. data/_plugins/details.rb +23 -0
  118. data/_plugins/external-posts.rb +124 -0
  119. data/_plugins/figure_captions.rb +800 -0
  120. data/_plugins/file-exists.rb +22 -0
  121. data/_plugins/google-scholar-citations.rb +86 -0
  122. data/_plugins/hide-custom-bibtex.rb +18 -0
  123. data/_plugins/inspirehep-citations.rb +57 -0
  124. data/_plugins/localized_visual_sources.rb +145 -0
  125. data/_plugins/manual_release_metadata.rb +47 -0
  126. data/_plugins/mermaid_mmd_images.rb +233 -0
  127. data/_plugins/profile-pages.rb +28 -0
  128. data/_plugins/remove-accents.rb +32 -0
  129. data/_plugins/reproducible_build_time.rb +55 -0
  130. data/_plugins/search-data.rb +83 -0
  131. data/_plugins/theme-cache-bust.rb +56 -0
  132. data/_plugins/vega_visual_images.rb +290 -0
  133. data/_plugins/web_capture_images.rb +154 -0
  134. data/_sass/_base.scss +2133 -0
  135. data/_sass/_blog.scss +67 -0
  136. data/_sass/_callouts.scss +100 -0
  137. data/_sass/_custom.scss +437 -0
  138. data/_sass/_cv.scss +274 -0
  139. data/_sass/_developer.scss +97 -0
  140. data/_sass/_distill.scss +185 -0
  141. data/_sass/_documentation.scss +2220 -0
  142. data/_sass/_layout.scss +218 -0
  143. data/_sass/_manual.scss +2691 -0
  144. data/_sass/_profile.scss +323 -0
  145. data/_sass/_projects.scss +163 -0
  146. data/_sass/_reading.scss +465 -0
  147. data/_sass/_site-custom.scss +3 -0
  148. data/_sass/_tabs.scss +48 -0
  149. data/_sass/_team.scss +230 -0
  150. data/_sass/_themes.scss +254 -0
  151. data/_sass/_typograms.scss +132 -0
  152. data/_sass/_variables.scss +52 -0
  153. data/_sass/font-awesome/_animated.scss +152 -0
  154. data/_sass/font-awesome/_bordered-pulled.scss +20 -0
  155. data/_sass/font-awesome/_core.scss +49 -0
  156. data/_sass/font-awesome/_fixed-width.scss +7 -0
  157. data/_sass/font-awesome/_functions.scss +57 -0
  158. data/_sass/font-awesome/_icons.scss +13 -0
  159. data/_sass/font-awesome/_list.scss +18 -0
  160. data/_sass/font-awesome/_mixins.scss +65 -0
  161. data/_sass/font-awesome/_rotated-flipped.scss +31 -0
  162. data/_sass/font-awesome/_screen-reader.scss +14 -0
  163. data/_sass/font-awesome/_shims.scss +1578 -0
  164. data/_sass/font-awesome/_sizing.scss +16 -0
  165. data/_sass/font-awesome/_stacked.scss +32 -0
  166. data/_sass/font-awesome/_variables.scss +5044 -0
  167. data/_sass/font-awesome/brands.scss +30 -0
  168. data/_sass/font-awesome/fontawesome.scss +21 -0
  169. data/_sass/font-awesome/regular.scss +27 -0
  170. data/_sass/font-awesome/solid.scss +27 -0
  171. data/_sass/font-awesome/v4-shims.scss +11 -0
  172. data/_sass/tabler-icons/tabler-icons-filled.scss +1646 -0
  173. data/_sass/tabler-icons/tabler-icons-outline.scss +9859 -0
  174. data/_sass/tabler-icons/tabler-icons.scss +11463 -0
  175. data/_scripts/cronitor-analytics-setup.js +9 -0
  176. data/_scripts/giscus-setup.js +48 -0
  177. data/_scripts/google-analytics-setup.js +9 -0
  178. data/_scripts/open-panel-analytics-setup.js +14 -0
  179. data/_scripts/photoswipe-setup.js +11 -0
  180. data/assets/audio/epicaly-short-113909.mp3 +0 -0
  181. data/assets/bibliography/2018-12-22-distill.bib +7 -0
  182. data/assets/css/academicons.min.css +1 -0
  183. data/assets/css/bootstrap-toc.min.css +4 -0
  184. data/assets/css/bootstrap.min.css +7 -0
  185. data/assets/css/bootstrap.min.css.map +1 -0
  186. data/assets/css/jekyll-pygments-themes-github.css +209 -0
  187. data/assets/css/jekyll-pygments-themes-native.css +232 -0
  188. data/assets/css/jupyter-grade3.css +3758 -0
  189. data/assets/css/jupyter-monokai.css +3758 -0
  190. data/assets/css/jupyter.css +383 -0
  191. data/assets/css/main.scss +36 -0
  192. data/assets/css/mdb.min.css +48 -0
  193. data/assets/css/mdb.min.css.map +1 -0
  194. data/assets/css/scholar-icons.css +386 -0
  195. data/assets/fonts/academicons.ttf +0 -0
  196. data/assets/fonts/academicons.woff +0 -0
  197. data/assets/fonts/scholar-icons.ttf +0 -0
  198. data/assets/fonts/scholar-icons.woff +0 -0
  199. data/assets/fonts/tabler-icons-filled.ttf +0 -0
  200. data/assets/fonts/tabler-icons-filled.woff +0 -0
  201. data/assets/fonts/tabler-icons-filled.woff2 +0 -0
  202. data/assets/fonts/tabler-icons-outline.ttf +0 -0
  203. data/assets/fonts/tabler-icons-outline.woff +0 -0
  204. data/assets/fonts/tabler-icons-outline.woff2 +0 -0
  205. data/assets/fonts/tabler-icons.ttf +0 -0
  206. data/assets/fonts/tabler-icons.woff +0 -0
  207. data/assets/fonts/tabler-icons.woff2 +0 -0
  208. data/assets/html/relativity.html +15 -0
  209. data/assets/img/1.jpg +0 -0
  210. data/assets/img/10.jpg +0 -0
  211. data/assets/img/11.jpg +0 -0
  212. data/assets/img/12.jpg +0 -0
  213. data/assets/img/2.jpg +0 -0
  214. data/assets/img/3.jpg +0 -0
  215. data/assets/img/4.jpg +0 -0
  216. data/assets/img/5.jpg +0 -0
  217. data/assets/img/6.jpg +0 -0
  218. data/assets/img/7.jpg +0 -0
  219. data/assets/img/8.jpg +0 -0
  220. data/assets/img/9.jpg +0 -0
  221. data/assets/img/book_covers/the_godfather.jpg +0 -0
  222. data/assets/img/brand/dosquartsdedocs-logo-cafe.svg +31 -0
  223. data/assets/img/brand/dosquartsdedocs-logo-footer-cafe.svg +31 -0
  224. data/assets/img/brand/dosquartsdedocs-logo-white.svg +31 -0
  225. data/assets/img/brand/dosquartsdedocs-logo.svg +31 -0
  226. data/assets/img/prof_pic.jpg +0 -0
  227. data/assets/img/prof_pic_color.png +0 -0
  228. data/assets/img/profile-placeholder.svg +8 -0
  229. data/assets/img/publication_preview/brownian-motion.gif +0 -0
  230. data/assets/img/publication_preview/goodchild1992-gis-cover.jpg +0 -0
  231. data/assets/img/publication_preview/gutierrez2020-jtrg-preview.jpg +0 -0
  232. data/assets/img/publication_preview/harvey1989-postmodernity-cover.jpg +0 -0
  233. data/assets/img/publication_preview/tobler1970-economic-geography-cover.jpg +0 -0
  234. data/assets/img/publication_preview/tuan1977-space-place-cover.jpg +0 -0
  235. data/assets/img/publication_preview/wave-mechanics.gif +0 -0
  236. data/assets/img/publication_preview/zaragozi2025-rooftop-pv-preview.jpg +0 -0
  237. data/assets/img/rhino.png +0 -0
  238. data/assets/img/team/aaron-gutierrez.png +0 -0
  239. data/assets/img/team/alba-font.png +0 -0
  240. data/assets/img/team/alba-viana.png +0 -0
  241. data/assets/img/team/alejandro-gonzalez.png +0 -0
  242. data/assets/img/team/ana-pastor.png +0 -0
  243. data/assets/img/team/antoni-domenech.png +0 -0
  244. data/assets/img/team/benito-zaragozi.png +0 -0
  245. data/assets/img/team/cinta-sanz.png +0 -0
  246. data/assets/img/team/daniel-miravet.png +0 -0
  247. data/assets/img/team/eugenia-altamirano.png +0 -0
  248. data/assets/img/team/fiammetta-brandajs.png +0 -0
  249. data/assets/img/team/francesc-gonzalez.png +0 -0
  250. data/assets/img/team/isabel-paulino.png +0 -0
  251. data/assets/img/team/joan-borras.png +0 -0
  252. data/assets/img/team/julie-wilson.png +0 -0
  253. data/assets/img/team/liliana-sole.png +0 -0
  254. data/assets/img/team/maria-casado.png +0 -0
  255. data/assets/img/team/maria-medina.png +0 -0
  256. data/assets/img/team/marta-nello.png +0 -0
  257. data/assets/img/team/mogrify +1 -0
  258. data/assets/img/team/oscar-saladie.png +0 -0
  259. data/assets/img/team/paolo-russo.png +0 -0
  260. data/assets/img/team/raquel-santos.png +0 -0
  261. data/assets/img/team/salvador-anton.png +0 -0
  262. data/assets/img/team/sunsi-huertas.png +0 -0
  263. data/assets/img/team/user-placeholder.png +0 -0
  264. data/assets/img/team/wilbert-den-hoed.png +0 -0
  265. data/assets/img/team/xavier-delclos.png +0 -0
  266. data/assets/img/template_error.png +0 -0
  267. data/assets/js/bibsearch.js +70 -0
  268. data/assets/js/bootstrap-toc.min.js +5 -0
  269. data/assets/js/bootstrap.bundle.min.js +7 -0
  270. data/assets/js/bootstrap.bundle.min.js.map +1 -0
  271. data/assets/js/callouts.js +115 -0
  272. data/assets/js/chartjs-setup.js +14 -0
  273. data/assets/js/common.js +117 -0
  274. data/assets/js/content-search-match.js +159 -0
  275. data/assets/js/content-search.js +441 -0
  276. data/assets/js/copy_code.js +60 -0
  277. data/assets/js/custom.js +6 -0
  278. data/assets/js/developer-mode.js +103 -0
  279. data/assets/js/diff2html-setup.js +20 -0
  280. data/assets/js/distillpub/overrides.js +27 -0
  281. data/assets/js/distillpub/template.v2.js +9616 -0
  282. data/assets/js/distillpub/template.v2.js.map +1 -0
  283. data/assets/js/distillpub/transforms.v2.js +14557 -0
  284. data/assets/js/distillpub/transforms.v2.js.map +1 -0
  285. data/assets/js/documentation.js +435 -0
  286. data/assets/js/echarts-setup.js +29 -0
  287. data/assets/js/highlight-search-term.js +110 -0
  288. data/assets/js/jupyter_new_tab.js +18 -0
  289. data/assets/js/leaflet-setup.js +22 -0
  290. data/assets/js/manual.js +308 -0
  291. data/assets/js/masonry.js +12 -0
  292. data/assets/js/mathjax-setup.js +46 -0
  293. data/assets/js/mermaid-setup.js +37 -0
  294. data/assets/js/newsletter.js +105 -0
  295. data/assets/js/no_defer.js +24 -0
  296. data/assets/js/plotly-setup.js +52 -0
  297. data/assets/js/profile-nav.js +92 -0
  298. data/assets/js/progress-bar.js +73 -0
  299. data/assets/js/pseudocode-setup.js +18 -0
  300. data/assets/js/search/base-styles.min.js +286 -0
  301. data/assets/js/search/command-score.min.js +7 -0
  302. data/assets/js/search/hotkeys-js/hotkeys.esm.min.js +18 -0
  303. data/assets/js/search/lit/decorators.min.js +7 -0
  304. data/assets/js/search/lit/directives/class-map.min.js +7 -0
  305. data/assets/js/search/lit/directives/join.min.js +7 -0
  306. data/assets/js/search/lit/directives/live.min.js +7 -0
  307. data/assets/js/search/lit/directives/ref.min.js +7 -0
  308. data/assets/js/search/lit/directives/repeat.min.js +7 -0
  309. data/assets/js/search/lit/directives/unsafe-html.min.js +7 -0
  310. data/assets/js/search/lit/index.min.js +7 -0
  311. data/assets/js/search/lit-element/lit-element.min.js +12 -0
  312. data/assets/js/search/lit-html/directives/class-map.min.js +22 -0
  313. data/assets/js/search/lit-html/directives/join.min.js +12 -0
  314. data/assets/js/search/lit-html/directives/live.min.js +28 -0
  315. data/assets/js/search/lit-html/directives/ref.min.js +32 -0
  316. data/assets/js/search/lit-html/directives/repeat.min.js +27 -0
  317. data/assets/js/search/lit-html/directives/unsafe-html.min.js +22 -0
  318. data/assets/js/search/lit-html/is-server.min.js +12 -0
  319. data/assets/js/search/lit-html/lit-html.min.js +12 -0
  320. data/assets/js/search/ninja-action.min.js +101 -0
  321. data/assets/js/search/ninja-footer.min.js +62 -0
  322. data/assets/js/search/ninja-header.min.js +78 -0
  323. data/assets/js/search/ninja-keys.min.js +39 -0
  324. data/assets/js/search/reactive-element/decorators/custom-element.min.js +12 -0
  325. data/assets/js/search/reactive-element/decorators/event-options.min.js +12 -0
  326. data/assets/js/search/reactive-element/decorators/property.min.js +22 -0
  327. data/assets/js/search/reactive-element/decorators/query-all.min.js +17 -0
  328. data/assets/js/search/reactive-element/decorators/query-assigned-elements.min.js +17 -0
  329. data/assets/js/search/reactive-element/decorators/query-assigned-nodes.min.js +17 -0
  330. data/assets/js/search/reactive-element/decorators/query-async.min.js +17 -0
  331. data/assets/js/search/reactive-element/decorators/query.min.js +17 -0
  332. data/assets/js/search/reactive-element/decorators/state.min.js +27 -0
  333. data/assets/js/search/reactive-element/reactive-element.min.js +17 -0
  334. data/assets/js/search-setup.js +17 -0
  335. data/assets/js/shortcut-key.js +11 -0
  336. data/assets/js/tabs.min.js +5 -0
  337. data/assets/js/theme.js +314 -0
  338. data/assets/js/tooltips-setup.js +3 -0
  339. data/assets/js/typograms.js +1341 -0
  340. data/assets/js/vanilla-back-to-top.min.js +1 -0
  341. data/assets/js/vega-setup.js +24 -0
  342. data/assets/js/venobox-setup.js +5 -0
  343. data/assets/js/wechat.js +14 -0
  344. data/assets/js/zoom.js +15 -0
  345. data/assets/json/resume.json +98 -0
  346. data/assets/json/table_data.json +128 -0
  347. data/assets/jupyter/blog.ipynb +48 -0
  348. data/assets/pdf/example_pdf.pdf +0 -0
  349. data/assets/plotly/demo.html +72 -0
  350. data/assets/video/pexels-engin-akyurt-6069112-960x540-30fps.mp4 +0 -0
  351. data/assets/webfonts/fa-brands-400.ttf +0 -0
  352. data/assets/webfonts/fa-brands-400.woff2 +0 -0
  353. data/assets/webfonts/fa-regular-400.ttf +0 -0
  354. data/assets/webfonts/fa-regular-400.woff2 +0 -0
  355. data/assets/webfonts/fa-solid-900.ttf +0 -0
  356. data/assets/webfonts/fa-solid-900.woff2 +0 -0
  357. data/assets/webfonts/fa-v4compatibility.ttf +0 -0
  358. data/assets/webfonts/fa-v4compatibility.woff2 +0 -0
  359. data/docs/Gemfile +5 -0
  360. data/docs/_config.yml +83 -0
  361. data/docs/_documentation/en/01-quick-start.md +115 -0
  362. data/docs/_documentation/en/02-tools.md +146 -0
  363. data/docs/_documentation/en/03-usage.md +107 -0
  364. data/docs/_documentation/en/04-jekyll-basics.md +51 -0
  365. data/docs/_documentation/en/05-pages-collections.md +68 -0
  366. data/docs/_documentation/en/06-github-web-editing.md +92 -0
  367. data/docs/_documentation/en/10-profiles.md +125 -0
  368. data/docs/_documentation/en/11-unaltreselfie.md +39 -0
  369. data/docs/_documentation/en/12-unaltreprojecte.md +38 -0
  370. data/docs/_documentation/en/13-unaltremanual.md +237 -0
  371. data/docs/_documentation/en/14-unaltredocs.md +92 -0
  372. data/docs/_documentation/en/15-profile-checklist.md +39 -0
  373. data/docs/_documentation/en/20-syntax.md +353 -0
  374. data/docs/_documentation/en/21-themes.md +103 -0
  375. data/docs/_documentation/en/22-feature-reference.md +56 -0
  376. data/docs/_documentation/en/23-front-matter.md +51 -0
  377. data/docs/_documentation/en/24-data-files.md +28 -0
  378. data/docs/_documentation/en/30-customization.md +448 -0
  379. data/docs/_documentation/en/31-template.md +55 -0
  380. data/docs/_documentation/en/32-development.md +108 -0
  381. data/docs/_documentation/en/33-reusable-workflows.md +136 -0
  382. data/docs/_documentation/en/40-distribution.md +164 -0
  383. data/docs/_documentation/en/41-bibliometrics.md +137 -0
  384. data/docs/_documentation/en/42-docker-image.md +185 -0
  385. data/docs/_documentation/en/50-faq.md +33 -0
  386. data/docs/_pages/ca/index.md +35 -0
  387. data/docs/_pages/en/index.md +35 -0
  388. data/docs/_pages/es/index.md +35 -0
  389. data/docs/agents/action-prompts/00-start-site-session.txt +10 -0
  390. data/docs/agents/action-prompts/05-create-new-web.txt +5 -0
  391. data/docs/agents/action-prompts/10-content-update.txt +9 -0
  392. data/docs/agents/action-prompts/15-edit-default-content.txt +8 -0
  393. data/docs/agents/action-prompts/20-manual-teaching-materials.txt +18 -0
  394. data/docs/agents/action-prompts/22-manual-style-audit.txt +14 -0
  395. data/docs/agents/action-prompts/23-manual-structure-audit.txt +17 -0
  396. data/docs/agents/action-prompts/25-translation-prepublish.txt +8 -0
  397. data/docs/agents/action-prompts/30-project-site-update.txt +7 -0
  398. data/docs/agents/action-prompts/40-documentation-update.txt +7 -0
  399. data/docs/agents/action-prompts/50-bibliography-entry.txt +7 -0
  400. data/docs/agents/action-prompts/60-bibliometrics-refresh.txt +7 -0
  401. data/docs/agents/action-prompts/70-build-and-review.txt +12 -0
  402. data/docs/agents/manual-authoring-components.md +255 -0
  403. data/docs/agents/mcp-contract.md +162 -0
  404. data/docs/agents/quarto-computation-adoption.md +102 -0
  405. data/docs/assets/img/unaltraweb-docs-hero.svg +36 -0
  406. data/lib/unaltraweb/version.rb +8 -0
  407. data/lib/unaltraweb.rb +31 -0
  408. data/requirements.txt +5 -0
  409. data/scripts/biblio/fetch_scimago_csv.sh +126 -0
  410. data/scripts/biblio/metrics_common.py +154 -0
  411. data/scripts/biblio/metrics_merge_meta.py +73 -0
  412. data/scripts/biblio/metrics_update.py +826 -0
  413. data/scripts/computations/python/Dockerfile +37 -0
  414. data/scripts/computations/r/Dockerfile +31 -0
  415. data/scripts/computations/render.py +1267 -0
  416. data/scripts/cv/render_pdf_preview.sh +36 -0
  417. data/scripts/deploy/publish_branch.sh +80 -0
  418. data/scripts/generate_logo_variants.py +47 -0
  419. data/scripts/manual/Dockerfile +31 -0
  420. data/scripts/manual/build_pdf.py +1780 -0
  421. data/scripts/manual/filters/bibliography.lua +164 -0
  422. data/scripts/manual/filters/code-blocks.lua +102 -0
  423. data/scripts/manual/filters/figure-captions.lua +35 -0
  424. data/scripts/manual/publish_release.sh +281 -0
  425. data/scripts/manual/templates/manual.tex +494 -0
  426. data/scripts/manual/verify_release_assets.py +650 -0
  427. data/scripts/test_gem_build.py +128 -0
  428. data/scripts/test_reproducible_jekyll_build.py +191 -0
  429. data/scripts/test_wheel_install.py +282 -0
  430. data/scripts/unaltraweb-docker-mount.sh +36 -0
  431. data/scripts/unaltraweb-mcp-bootstrap.sh +105 -0
  432. data/scripts/unaltraweb-mcp-cleanup.sh +73 -0
  433. data/scripts/unaltraweb-mcp-project-id.sh +34 -0
  434. data/scripts/validate_distribution.py +563 -0
  435. data/scripts/validate_workflows.py +1285 -0
  436. data/scripts/web_captures/Dockerfile +31 -0
  437. data/scripts/web_captures/capture.mjs +157 -0
  438. data/scripts/web_captures/package-lock.json +56 -0
  439. data/scripts/web_captures/package.json +9 -0
  440. data/scripts/web_captures/render.py +867 -0
  441. data/src/unaltraweb_mcp/component-contract.json +153 -0
  442. data/src/unaltraweb_mcp/component-contract.schema.json +87 -0
  443. data/src/unaltraweb_mcp/docker_mount.py +19 -0
  444. metadata +861 -0
data/_config.yml ADDED
@@ -0,0 +1,842 @@
1
+ # -----------------------------------------------------------------------------
2
+ # Site settings
3
+ # -----------------------------------------------------------------------------
4
+
5
+ title: unaltraweb # the website title (if blank, full name will be used instead)
6
+ # first_name: You
7
+ # middle_name: R.
8
+ # last_name: Name
9
+ contact_note: >
10
+ You can even add a little note about which of these is the best way to reach you.
11
+ description: >
12
+ A simple, whitespace theme for academics. Based on [*folio](https://github.com/bogoli/-folio) design.
13
+ footer_text:
14
+ copyright_holder: dosquartsdedocs
15
+ keywords: jekyll, jekyll-theme, academic-website, portfolio-website # add your own keywords or leave empty
16
+ lang: en # fallback language of the site
17
+ default_lang: en # default language used when no browser match is found
18
+ languages: [en, es, ca] # enabled interface/content languages
19
+ timezone: UTC
20
+ icon: "brand/dosquartsdedocs-logo.svg" # favicon image in /assets/img/; projects can override it with their own asset
21
+
22
+ url: "https://gratet.github.io" # the base hostname & protocol for your site
23
+ baseurl: "/unaltraweb" # the subpath of your site, e.g. /blog/. Leave blank for root
24
+ last_updated: true # set to true if you want to display last updated in the footer
25
+ impressum_path: # set to path to include impressum link in the footer, use the same path as permalink in a page, helps to conform with EU GDPR
26
+ back_to_top: true # set to false to disable the back to top button
27
+
28
+ unaltraweb:
29
+ site_profile: unaltreprojecte # unaltreselfie, unaltreprojecte, unaltremanual, or unaltredocs
30
+ site_icon: "brand/dosquartsdedocs-logo.svg"
31
+ logos:
32
+ default: /assets/img/brand/dosquartsdedocs-logo.svg
33
+ inverse: /assets/img/brand/dosquartsdedocs-logo-white.svg
34
+ cafe: /assets/img/brand/dosquartsdedocs-logo-cafe.svg
35
+ footer:
36
+ show_logo: false
37
+ brand_name: dosquartsdedocs
38
+ brand_url: https://github.com/dosquartsdedocs
39
+ logo_light: /assets/img/brand/dosquartsdedocs-logo-white.svg
40
+ logo_dark: /assets/img/brand/dosquartsdedocs-logo.svg
41
+ logo_cafe: /assets/img/brand/dosquartsdedocs-logo-footer-cafe.svg
42
+ features:
43
+ news: true
44
+ blog: true
45
+ cv: true
46
+ projects: true
47
+ publications: true
48
+ metrics: true
49
+ docs: false
50
+ manual: true
51
+ diagrams:
52
+ render: true
53
+ format: svg
54
+ family: benizar
55
+ compatibility: mermaid-11.16.0-plantuml-1.2026.1
56
+ diavisuals_command:
57
+ fail_on_render_error: false
58
+ manual:
59
+ collection: chapters
60
+ cover_image:
61
+ logo:
62
+ logo_inverse:
63
+ logo_cafe:
64
+ bibliography: true
65
+ bibliography_file: manual.bib
66
+ metadata:
67
+ short_title:
68
+ description:
69
+ series: unaltremanual
70
+ series_subtitle:
71
+ publisher:
72
+ edition:
73
+ publication_date:
74
+ identifier:
75
+ license:
76
+ source:
77
+ subject:
78
+ subject_code:
79
+ degree:
80
+ teaching_guides: []
81
+ department:
82
+ faculty:
83
+ institution:
84
+ location:
85
+ academic_year:
86
+ revision_date:
87
+ instructors: []
88
+ rights:
89
+ pdf:
90
+ enabled: false
91
+ languages: []
92
+ build_dir: tmp/manual-pdf
93
+ output: assets/pdf/manual-{lang}.pdf
94
+ cover_output: assets/img/manual-cover-{lang}.png
95
+ include_home: true
96
+ include_bibliography: true
97
+ toc: true
98
+ mark_drafts: true
99
+ home_title:
100
+ draft_label:
101
+ draft_description:
102
+ csl:
103
+ template:
104
+ cover:
105
+ image:
106
+ series_logo:
107
+ institution_logo:
108
+ band_color: "990000"
109
+ primary_color: "990000"
110
+ secondary_color: "003366"
111
+ muted_color: "666666"
112
+ documentation:
113
+ collection: documentation
114
+ logo: /assets/img/brand/dosquartsdedocs-logo.svg
115
+ logo_inverse: /assets/img/brand/dosquartsdedocs-logo-white.svg
116
+ logo_cafe: /assets/img/brand/dosquartsdedocs-logo-cafe.svg
117
+ toc_logo:
118
+ toc_logo_inverse:
119
+ toc_logo_cafe:
120
+ readings:
121
+ badges: {}
122
+ figure_captions:
123
+ enabled: true
124
+ collections: [chapters, documentation]
125
+
126
+ # -----------------------------------------------------------------------------
127
+ # Theme
128
+ # -----------------------------------------------------------------------------
129
+
130
+ # repo color theme
131
+ repo_theme_light: default # https://github.com/anuraghazra/github-readme-stats/blob/master/themes/README.md
132
+ repo_theme_dark: dark # https://github.com/anuraghazra/github-readme-stats/blob/master/themes/README.md
133
+ repo_trophies:
134
+ enabled: true
135
+ theme_light: flat # https://github.com/ryo-ma/github-profile-trophy
136
+ theme_dark: gitdimmed # https://github.com/ryo-ma/github-profile-trophy
137
+
138
+ # External service URLs for repository page
139
+ # To use a different instance or service for displaying GitHub stats and trophies,
140
+ # update these URLs. These are used in the repository templates.
141
+ external_services:
142
+ github_readme_stats_url: https://github-readme-stats.vercel.app
143
+ github_profile_trophy_url: https://github-profile-trophy.vercel.app
144
+
145
+ # -----------------------------------------------------------------------------
146
+ # RSS Feed
147
+ # -----------------------------------------------------------------------------
148
+ # will use title and url fields
149
+ # Take a look to https://github.com/jekyll/jekyll-feed for more customization
150
+
151
+ # -----------------------------------------------------------------------------
152
+ # Layout
153
+ # -----------------------------------------------------------------------------
154
+
155
+ navbar_fixed: true
156
+ footer_fixed: true
157
+ search_enabled: false
158
+ socials_in_search: true
159
+ posts_in_search: true
160
+ bib_search: true
161
+
162
+ # Dimensions
163
+ max_width: 930px
164
+
165
+ # TODO: add layout settings (single page vs. multi-page)
166
+
167
+ # -----------------------------------------------------------------------------
168
+ # Open Graph & Schema.org
169
+ # -----------------------------------------------------------------------------
170
+ # Display links to the page with a preview object on social media.
171
+ # see https://schema.org/docs/faq.html for more information
172
+ serve_og_meta: false # Include Open Graph meta tags in the HTML head
173
+ serve_schema_org: false # Include Schema.org in the HTML head
174
+ og_image: # The site-wide (default for all links) Open Graph preview image
175
+
176
+ # -----------------------------------------------------------------------------
177
+ # Analytics and search engine verification
178
+ # -----------------------------------------------------------------------------
179
+
180
+ # For Google Analytics, see https://support.google.com/analytics/answer/10447272?hl=en&ref_topic=14088998&sjid=5129943941510317771-SA#zippy=%2Cgoogle-sites
181
+ # and follow the instructions for Google Sites. You will need to create a Google Analytics property and copy the Google tag ID.
182
+ google_analytics: # your Google Analytics measurement ID (format: G-XXXXXXXXXX)
183
+ cronitor_analytics: # cronitor RUM analytics site ID (format: XXXXXXXXX)
184
+ pirsch_analytics: # your Pirsch analytics site ID (length 32 characters)
185
+ openpanel_analytics: # your Openpanel analytics client ID (format: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)
186
+
187
+ # For Google Search Console, see https://support.google.com/webmasters/answer/9008080?hl=en#meta_tag_verification&zippy=%2Chtml-tag
188
+ google_site_verification: # your google-site-verification ID (Google Search Console)
189
+ bing_site_verification: # out your bing-site-verification ID (Bing Webmaster)
190
+
191
+ # -----------------------------------------------------------------------------
192
+ # Blog
193
+ # -----------------------------------------------------------------------------
194
+
195
+ blog_name: unaltraweb # blog_name will be displayed in your blog page
196
+ blog_description: a simple whitespace theme for academics
197
+ permalink: /blog/:year/:title/
198
+ lsi: false # produce an index for related posts
199
+
200
+ # Pagination
201
+ pagination:
202
+ enabled: false
203
+
204
+ related_blog_posts:
205
+ enabled: true
206
+ max_related: 5
207
+
208
+ # Giscus comments (RECOMMENDED)
209
+ # Follow instructions on https://giscus.app/ to setup for your repo to fill out the information below.
210
+ giscus:
211
+ repo: # <your-github-user-name>/<your-github-repo-name>
212
+ repo_id: # leave empty or specify your repo_id (see https://giscus.app/)
213
+ category: Comments # name of the category under which discussions will be created
214
+ category_id: # leave empty or specify your category_id (see https://giscus.app/)
215
+ mapping: title # identify discussions by post title
216
+ strict: 1 # use strict identification mode
217
+ reactions_enabled: 1 # enable (1) or disable (0) emoji reactions
218
+ input_position: bottom # whether to display input form below (bottom) or above (top) the comments
219
+ dark_theme: dark # name of the dark color scheme
220
+ light_theme: light # name of the light color scheme
221
+ emit_metadata: 0
222
+ lang: en
223
+
224
+ # Disqus comments (DEPRECATED)
225
+ disqus_shortname: # put your Disqus shortname
226
+ # https://help.disqus.com/en/articles/1717111-what-s-a-shortname
227
+
228
+ # External sources.
229
+ # If you have blog posts published on medium.com or other external sources,
230
+ # you can display them in your blog by adding a link to the RSS feed.
231
+ # Optional: Set default categories and tags for posts from each source.
232
+ external_sources: []
233
+
234
+ # -----------------------------------------------------------------------------
235
+ # Newsletter
236
+ # -----------------------------------------------------------------------------
237
+
238
+ newsletter:
239
+ enabled: false
240
+ endpoint: # your loops endpoint (e.g., https://app.loops.so/api/newsletter-form/YOUR-ENDPOINT)
241
+ # https://loops.so/docs/forms/custom-form
242
+
243
+ # -----------------------------------------------------------------------------
244
+ # Collections
245
+ # -----------------------------------------------------------------------------
246
+
247
+ collections:
248
+ books:
249
+ output: true
250
+ chapters:
251
+ output: true
252
+ sort_by: weight
253
+ documentation:
254
+ output: true
255
+ sort_by: weight
256
+ news:
257
+ defaults:
258
+ layout: post
259
+ output: true
260
+ projects:
261
+ output: true
262
+ outputs:
263
+ output: true
264
+ theses:
265
+ output: false
266
+
267
+ # -----------------------------------------------------------------------------
268
+ # Jekyll settings
269
+ # -----------------------------------------------------------------------------
270
+
271
+ # Markdown and syntax highlight
272
+ markdown: kramdown
273
+ highlighter: rouge
274
+ kramdown:
275
+ input: GFM
276
+ syntax_highlighter_opts:
277
+ css_class: "highlight"
278
+ span:
279
+ line_numbers: false
280
+ block:
281
+ line_numbers: false
282
+ start_line: 1
283
+
284
+ # Includes & excludes
285
+ include: ["_pages"]
286
+ exclude:
287
+ - .bundle/
288
+ - AGENTS.md
289
+ - bin/
290
+ - CONTRIBUTING.md
291
+ - context/
292
+ - CUSTOMIZE.md
293
+ - Dockerfile
294
+ - docker-compose.yml
295
+ - docker-compose-slim.yml
296
+ - docs/
297
+ - FAQ.md
298
+ - Gemfile
299
+ - Gemfile.lock
300
+ - INSTALL.md
301
+ - LICENSE
302
+ - package.json
303
+ - package-lock.json
304
+ - purgecss.config.js
305
+ - README.md
306
+ - sandbox/
307
+ - tmp/
308
+ - vendor
309
+ - _site/
310
+ keep_files:
311
+ - CNAME
312
+ - .nojekyll
313
+
314
+ # Plug-ins
315
+ plugins:
316
+ - jekyll-3rd-party-libraries
317
+ - jekyll-archives-v2
318
+ - jekyll-cache-bust
319
+ - jekyll-email-protect
320
+ - jekyll-feed
321
+ - jekyll-get-json
322
+ - jekyll-imagemagick
323
+ - jekyll-link-attributes
324
+ - jekyll-minifier
325
+ - jekyll-paginate-v2
326
+ - jekyll-regex-replace
327
+ - jekyll/scholar
328
+ - jekyll-sitemap
329
+ - jekyll-socials
330
+ - jekyll-tabs
331
+ - jekyll-toc
332
+ - jekyll-twitter-plugin
333
+ - jemoji
334
+
335
+ # Sitemap settings
336
+ defaults:
337
+ - scope:
338
+ path: "assets"
339
+ values:
340
+ sitemap: false
341
+ - scope:
342
+ path: ""
343
+ type: posts
344
+ values:
345
+ lang: en
346
+ - scope:
347
+ path: ""
348
+ type: chapters
349
+ values:
350
+ lang: en
351
+ layout: manual-chapter
352
+ - scope:
353
+ path: ""
354
+ type: documentation
355
+ values:
356
+ lang: en
357
+ layout: documentation-page
358
+ - scope:
359
+ path: ""
360
+ type: news
361
+ values:
362
+ lang: en
363
+ - scope:
364
+ path: ""
365
+ type: projects
366
+ values:
367
+ lang: en
368
+ - scope:
369
+ path: ""
370
+ type: outputs
371
+ values:
372
+ lang: en
373
+
374
+ sass:
375
+ style: compressed
376
+
377
+ # -----------------------------------------------------------------------------
378
+ # Jekyll Minifier
379
+ # -----------------------------------------------------------------------------
380
+
381
+ jekyll-minifier:
382
+ compress_javascript: false # set to false since we are using terser as the js minifier
383
+ exclude: ["robots.txt", "manual-release.json", "assets/js/search/*.js"]
384
+
385
+ # -----------------------------------------------------------------------------
386
+ # Jekyll Archives
387
+ # -----------------------------------------------------------------------------
388
+
389
+ jekyll-archives:
390
+ posts:
391
+ enabled: [year, tags, categories] # enables year, tag and category archives (remove if you need to disable one of them).
392
+ permalinks:
393
+ year: "/blog/:year/"
394
+ tags: "/blog/:type/:name/"
395
+ categories: "/blog/:type/:name/"
396
+ books:
397
+ enabled: [year, tags, categories] # enables year, tag and category archives (remove if you need to disable one of them).
398
+
399
+ display_tags: ["formatting", "images", "links", "math", "code", "blockquotes"] # these tags will be displayed on the front page of your blog
400
+ display_categories: ["external-services"] # these categories will be displayed on the front page of your blog
401
+
402
+ # -----------------------------------------------------------------------------
403
+ # Jekyll Scholar
404
+ # -----------------------------------------------------------------------------
405
+
406
+ scholar:
407
+ # last_name: [Surname]
408
+ # first_name: [Given]
409
+
410
+ style: apa
411
+ locale: en
412
+
413
+ source: _bibliography
414
+ bibliography: papers.bib
415
+ bibliography_template: bib
416
+ # Note: if you have latex math in your bibtex, the latex filter
417
+ # preprocessing may conflict with MathJAX if the latter is enabled.
418
+ # The latex filter can conflict with MathJAX rendering.
419
+ bibtex_filters: [latex, smallcaps, superscript]
420
+
421
+ replace_strings: true
422
+ join_strings: true
423
+
424
+ details_dir: bibliography
425
+ details_link: Details
426
+
427
+ query: "@*[manual_only!=true]"
428
+ sort_by: year
429
+ order: descending
430
+ group_by: year
431
+ group_order: descending
432
+
433
+ # Display different badges withs stats for your publications
434
+ # Customize badge behavior in _layouts/bib.liquid
435
+ enable_publication_badges:
436
+ altmetric: true # Altmetric badge (Customization options: https://badge-docs.altmetric.com/index.html)
437
+ dimensions: true # Dimensions badge (Customization options: https://badge.dimensions.ai/)
438
+ google_scholar: true # Google Scholar badge (https://scholar.google.com/intl/en/scholar/citations.html)
439
+ inspirehep: true # Inspire HEP badge (https://help.inspirehep.net/knowledge-base/citation-metrics/)
440
+
441
+ # Filter out certain bibtex entry keywords used internally from the bib output
442
+ filtered_bibtex_keywords:
443
+ [
444
+ abbr,
445
+ abstract,
446
+ additional_info,
447
+ altmetric,
448
+ annotation,
449
+ arxiv,
450
+ award,
451
+ award_name,
452
+ badge,
453
+ badge_color,
454
+ badge_key,
455
+ badge_label,
456
+ badge_label_ca,
457
+ badge_label_en,
458
+ badge_label_es,
459
+ badge_text_color,
460
+ bibtex_show,
461
+ blog,
462
+ code,
463
+ dimensions,
464
+ eprint,
465
+ google_scholar_id,
466
+ hal,
467
+ html,
468
+ inspirehep_id,
469
+ calibre_id,
470
+ calibre_source,
471
+ collection_ca,
472
+ collection_en,
473
+ collection_es,
474
+ collection_ref,
475
+ manual,
476
+ manual_badge,
477
+ manual_badge_ca,
478
+ manual_badge_en,
479
+ manual_badge_es,
480
+ manual_collection_ca,
481
+ manual_collection_en,
482
+ manual_collection_es,
483
+ manual_collection_ref,
484
+ manual_comment,
485
+ manual_comment_ca,
486
+ manual_comment_en,
487
+ manual_comment_es,
488
+ manual_kind,
489
+ manual_kind_ca,
490
+ manual_kind_en,
491
+ manual_kind_es,
492
+ manual_order,
493
+ manual_only,
494
+ manual_rating,
495
+ manual_section,
496
+ manual_selected,
497
+ manual_url,
498
+ manual_url_label,
499
+ manual_url_label_ca,
500
+ manual_url_label_en,
501
+ manual_url_label_es,
502
+ pdf,
503
+ pmid,
504
+ poster,
505
+ preview,
506
+ ribbon_color,
507
+ ribbon_key,
508
+ ribbon_label,
509
+ ribbon_label_ca,
510
+ ribbon_label_en,
511
+ ribbon_label_es,
512
+ ribbon_slug,
513
+ ribbon_text_color,
514
+ selected,
515
+ slides,
516
+ supp,
517
+ video,
518
+ website,
519
+ ]
520
+
521
+ # Maximum number of authors to be shown for each publication (more authors are visible on click)
522
+ max_author_limit: 3 # leave blank to always show all authors
523
+ more_authors_animation_delay: 10 # more authors are revealed on click using animation; smaller delay means faster animation
524
+
525
+ # Enables publication thumbnails. If disabled, none of the publications will display thumbnails, even if specified in the bib entry.
526
+ enable_publication_thumbnails: true
527
+
528
+ # -----------------------------------------------------------------------------
529
+ # Jekyll Link Attributes
530
+ # -----------------------------------------------------------------------------
531
+
532
+ # These are the defaults
533
+ external_links:
534
+ enabled: true
535
+ rel: external nofollow noopener
536
+ target: _blank
537
+ exclude:
538
+
539
+ # -----------------------------------------------------------------------------
540
+ # Responsive WebP Images
541
+ # -----------------------------------------------------------------------------
542
+
543
+ # MAKE SURE imagemagick is installed and on your PATH before enabling imagemagick. In a terminal, run:
544
+ # convert -version
545
+ imagemagick:
546
+ enabled: true # enables responsive images for your site
547
+ widths:
548
+ - 480
549
+ - 800
550
+ - 1400
551
+ input_directories:
552
+ - assets/img/
553
+ input_formats:
554
+ - ".jpg"
555
+ - ".jpeg"
556
+ - ".png"
557
+ - ".tiff"
558
+ - ".gif"
559
+ output_formats:
560
+ webp: "-auto-orient -quality 85"
561
+
562
+ # Lazy loading images
563
+ # If you enable lazy loading, all images will add the loading="lazy" attribute.
564
+ # This will make your site load faster, but it may not be supported in all browsers.
565
+ # You can also set loading="" to other values for specific images to override the default behavior.
566
+ # Options: "auto", "eager", "lazy"
567
+ # See https://web.dev/browser-level-image-lazy-loading/ for more information.
568
+ lazy_loading_images: true # enables lazy loading of images (recommended)
569
+
570
+ # -----------------------------------------------------------------------------
571
+ # Optional Features
572
+ # -----------------------------------------------------------------------------
573
+
574
+ enable_google_analytics: false # enables google analytics
575
+ enable_cronitor_analytics: false # enables cronitor RUM analytics
576
+ enable_pirsch_analytics: false # enables Pirsch analytics (https://pirsch.io/)
577
+ enable_openpanel_analytics: false # enables Openpanel analytics (https://openpanel.dev/)
578
+ enable_google_verification: false # enables google site verification
579
+ enable_bing_verification: false # enables bing site verification
580
+ enable_masonry: true # enables automatic project cards arrangement
581
+ enable_math: true # enables math typesetting (uses MathJax)
582
+ enable_tooltips: false # enables automatic tooltip links generated for each section titles on pages and posts
583
+ enable_darkmode: true # enables switching between light/dark modes
584
+ enable_navbar_social: false # enables displaying social links in the navbar on the about page
585
+ enable_project_categories: true # enables categorization of projects into multiple categories
586
+ enable_medium_zoom: true # enables image zoom feature (as on medium.com)
587
+ enable_progressbar: true # enables a horizontal progress bar linked to the vertical scroll position
588
+ enable_video_embedding: false # enables video embedding for bibtex entries. If false, the button opens the video link in a new window.
589
+
590
+ # -----------------------------------------------------------------------------
591
+ # Library versions
592
+ # -----------------------------------------------------------------------------
593
+
594
+ # Add the url, version and integrity hash of the libraries you use in your site.
595
+ # The integrity hash is used to ensure that the library is not tampered with.
596
+ # Integrity hashes not provided by the libraries were generated using https://www.srihash.org/
597
+ third_party_libraries:
598
+ download: false # if true, download the versions of the libraries specified below and use the downloaded files
599
+ bootstrap-table:
600
+ integrity:
601
+ css: "sha256-uRX+PiRTR4ysKFRCykT8HLuRCub26LgXJZym3Yeom1c="
602
+ js: "sha256-4rppopQE9POKfukn2kEvhJ9Um25Cf6+IDVkARD0xh78="
603
+ url:
604
+ css: "https://cdn.jsdelivr.net/npm/bootstrap-table@{{version}}/dist/bootstrap-table.min.css"
605
+ js: "https://cdn.jsdelivr.net/npm/bootstrap-table@{{version}}/dist/bootstrap-table.min.js"
606
+ version: "1.22.4"
607
+ chartjs:
608
+ integrity:
609
+ js: "sha256-0q+JdOlScWOHcunpUk21uab1jW7C1deBQARHtKMcaB4="
610
+ url:
611
+ js: "https://cdn.jsdelivr.net/npm/chart.js@{{version}}/dist/chart.umd.min.js"
612
+ version: "4.4.1"
613
+ d3:
614
+ integrity:
615
+ js: "sha256-1rA678n2xEx7x4cTZ5x4wpUCj6kUMZEZ5cxLSVSFWxw="
616
+ url:
617
+ js: "https://cdn.jsdelivr.net/npm/d3@{{version}}/dist/d3.min.js"
618
+ version: "7.8.5"
619
+ diff2html:
620
+ integrity:
621
+ css: "sha256-IMBK4VNZp0ivwefSn51bswdsrhk0HoMTLc2GqFHFBXg="
622
+ js: "sha256-eU2TVHX633T1o/bTQp6iIJByYJEtZThhF9bKz/DcbbY="
623
+ url:
624
+ css: "https://cdn.jsdelivr.net/npm/diff2html@{{version}}/bundles/css/diff2html.min.css"
625
+ js: "https://cdn.jsdelivr.net/npm/diff2html@{{version}}/bundles/js/diff2html-ui.min.js"
626
+ version: "3.4.47"
627
+ echarts:
628
+ integrity:
629
+ js:
630
+ library: "sha256-QvgynZibb2U53SsVu98NggJXYqwRL7tg3FeyfXvPOUY="
631
+ dark_theme: "sha256-sm6Ui9w41++ZCWmIWDLC18a6ki72FQpWDiYTDxEPXwU="
632
+ url:
633
+ js:
634
+ library: "https://cdn.jsdelivr.net/npm/echarts@{{version}}/dist/echarts.min.js"
635
+ dark_theme: "https://cdn.jsdelivr.net/npm/echarts@{{version}}/theme/dark-fresh-cut.js"
636
+ version: "5.5.0"
637
+ google_fonts:
638
+ url:
639
+ fonts: "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons&display=swap"
640
+ highlightjs:
641
+ integrity:
642
+ css:
643
+ light: "sha256-Oppd74ucMR5a5Dq96FxjEzGF7tTw2fZ/6ksAqDCM8GY="
644
+ dark: "sha256-nyCNAiECsdDHrr/s2OQsp5l9XeY2ZJ0rMepjCT2AkBk="
645
+ url:
646
+ css:
647
+ light: "https://cdn.jsdelivr.net/npm/highlight.js@{{version}}/styles/github.min.css"
648
+ dark: "https://cdn.jsdelivr.net/npm/highlight.js@{{version}}/styles/github-dark.min.css"
649
+ version: "11.9.0"
650
+ imagesloaded:
651
+ integrity:
652
+ js: "sha256-htrLFfZJ6v5udOG+3kNLINIKh2gvoKqwEhHYfTTMICc="
653
+ url:
654
+ js: https://cdn.jsdelivr.net/npm/imagesloaded@{{version}}/imagesloaded.pkgd.min.js
655
+ version: "5.0.0"
656
+ img-comparison-slider:
657
+ integrity:
658
+ css: "sha256-3qTIuuUWIFnnU3LpQMjqiXc0p09rvd0dmj+WkpQXSR8="
659
+ js: "sha256-EXHg3x1K4oIWdyohPeKX2ZS++Wxt/FRPH7Nl01nat1o="
660
+ map: "sha256-3wfqS2WU5kGA/ePcgFzJXl5oSN1QsgZI4/edprTgX8w="
661
+ url:
662
+ css: "https://cdn.jsdelivr.net/npm/img-comparison-slider@{{version}}/dist/styles.min.css"
663
+ js: "https://cdn.jsdelivr.net/npm/img-comparison-slider@{{version}}/dist/index.min.js"
664
+ map: "https://cdn.jsdelivr.net/npm/img-comparison-slider@{{version}}/dist/index.js.map"
665
+ version: "8.0.6"
666
+ jquery:
667
+ integrity:
668
+ js: "sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
669
+ url:
670
+ js: "https://cdn.jsdelivr.net/npm/jquery@{{version}}/dist/jquery.min.js"
671
+ version: "3.6.0"
672
+ leaflet:
673
+ integrity:
674
+ css: "sha256-q9ba7o845pMPFU+zcAll8rv+gC+fSovKsOoNQ6cynuQ="
675
+ js: "sha256-MgH13bFTTNqsnuEoqNPBLDaqxjGH+lCpqrukmXc8Ppg="
676
+ js_map: "sha256-YAoQ3FzREN4GmVENMir8vgHHypC0xfSK3CAxTHCqx1M="
677
+ local:
678
+ images: "images/"
679
+ url:
680
+ css: "https://cdn.jsdelivr.net/npm/leaflet@{{version}}/dist/leaflet.min.css"
681
+ images: "https://cdn.jsdelivr.net/npm/leaflet@{{version}}/dist/images/"
682
+ js: "https://cdn.jsdelivr.net/npm/leaflet@{{version}}/dist/leaflet.min.js"
683
+ js_map: "https://cdn.jsdelivr.net/npm/leaflet@{{version}}/dist/leaflet.js.map"
684
+ version: "1.9.4"
685
+ lightbox2:
686
+ integrity:
687
+ css: "sha256-uypRbsAiJcFInM/ndyI/JHpzNe6DtUNXaWEUWEPfMGo="
688
+ js: "sha256-A6jI5V9s1JznkWwsBaRK8kSeXLgIqQfxfnvdDOZEURY="
689
+ url:
690
+ css: "https://cdn.jsdelivr.net/npm/lightbox2@{{version}}/dist/css/lightbox.min.css"
691
+ js: "https://cdn.jsdelivr.net/npm/lightbox2@{{version}}/dist/js/lightbox.min.js"
692
+ version: "2.11.5"
693
+ mathjax:
694
+ integrity:
695
+ cancel: "sha256-DSY+zyZx0cwTE1uLSvzcpNQBUamupRtpQC5ord5M+Mk="
696
+ js: "sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI="
697
+ local:
698
+ cancel: "input/tex/extensions/cancel.js"
699
+ fonts: "output/chtml/fonts/woff-v2/"
700
+ url:
701
+ cancel: "https://cdn.jsdelivr.net/npm/mathjax@{{version}}/es5/input/tex/extensions/cancel.js"
702
+ fonts: "https://cdn.jsdelivr.net/npm/mathjax@{{version}}/es5/output/chtml/fonts/woff-v2/"
703
+ js: "https://cdn.jsdelivr.net/npm/mathjax@{{version}}/es5/tex-mml-chtml.js"
704
+ version: "3.2.2"
705
+ masonry:
706
+ integrity:
707
+ js: "sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI="
708
+ url:
709
+ js: "https://cdn.jsdelivr.net/npm/masonry-layout@{{version}}/dist/masonry.pkgd.min.js"
710
+ version: "4.2.2"
711
+ mdb:
712
+ integrity:
713
+ css: "sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw="
714
+ css_map: "sha256-iYYMNfsJdVZjvsebJulg09miBXM4/GMTJgv1u5EZFFM="
715
+ js: "sha256-NdbiivsvWt7VYCt6hYNT3h/th9vSTL4EDWeGs5SN3DA="
716
+ js_map: "sha256-UPgyn4YNsT0khkBK5553QwhnlbTlU0aa+igyc6qP1bE="
717
+ url:
718
+ css: "https://cdn.jsdelivr.net/npm/mdbootstrap@{{version}}/css/mdb.min.css"
719
+ css_map: "https://cdn.jsdelivr.net/npm/mdbootstrap@{{version}}/css/mdb.min.css.map"
720
+ js: "https://cdn.jsdelivr.net/npm/mdbootstrap@{{version}}/js/mdb.min.js"
721
+ js_map: "https://cdn.jsdelivr.net/npm/mdbootstrap@{{version}}/js/mdb.min.js.map"
722
+ version: "4.20.0"
723
+ medium_zoom:
724
+ integrity:
725
+ js: "sha256-ZgMyDAIYDYGxbcpJcfUnYwNevG/xi9OHKaR/8GK+jWc="
726
+ url:
727
+ js: "https://cdn.jsdelivr.net/npm/medium-zoom@{{version}}/dist/medium-zoom.min.js"
728
+ version: "1.1.0"
729
+ mermaid:
730
+ integrity:
731
+ js: "sha256-TtLOdUA8mstPoO6sGvHIGx2ceXrrX4KgIItO06XOn8A="
732
+ url:
733
+ js: "https://cdn.jsdelivr.net/npm/mermaid@{{version}}/dist/mermaid.min.js"
734
+ version: "10.7.0"
735
+ photoswipe:
736
+ integrity:
737
+ js: "sha256-VCBpdxvrNNxGHNuTdNqK9kPFkev2XY7DYzHdmgaB69Q="
738
+ url:
739
+ css: "https://cdn.jsdelivr.net/npm/photoswipe@{{version}}/dist/photoswipe.min.css"
740
+ js: "https://cdn.jsdelivr.net/npm/photoswipe@{{version}}/dist/photoswipe.esm.min.js"
741
+ version: "5.4.4"
742
+ photoswipe-lightbox:
743
+ integrity:
744
+ js: "sha256-uCw4VgT5DMdwgtjhvU9e98nT2mLZXcw/8WkaTrDd3RI="
745
+ url:
746
+ js: "https://cdn.jsdelivr.net/npm/photoswipe@{{version}}/dist/photoswipe-lightbox.esm.min.js"
747
+ version: "5.4.4"
748
+ plotly:
749
+ integrity:
750
+ js: "sha256-oy6Be7Eh6eiQFs5M7oXuPxxm9qbJXEtTpfSI93dW16Q="
751
+ url:
752
+ js: "https://cdn.jsdelivr.net/npm/plotly.js@{{version}}/dist/plotly.min.js"
753
+ version: "3.0.1"
754
+ polyfill:
755
+ url:
756
+ js: "https://cdnjs.cloudflare.com/polyfill/v{{version}}/polyfill.min.js?features=es6"
757
+ version: "3"
758
+ pseudocode:
759
+ integrity:
760
+ css: "sha256-VwMV//xgBPDyRFVSOshhRhzJRDyBmIACniLPpeXNUdc="
761
+ js: "sha256-aVkDxqyzrB+ExUsOY9PdyelkDhn/DfrjWu08aVpqNlo="
762
+ url:
763
+ css: "https://cdn.jsdelivr.net/npm/pseudocode@{{version}}/build/pseudocode.min.css"
764
+ js: "https://cdn.jsdelivr.net/npm/pseudocode@{{version}}/build/pseudocode.min.js"
765
+ version: "2.4.1"
766
+ spotlight:
767
+ integrity:
768
+ css: "sha256-Dsvkx8BU8ntk9Iv+4sCkgHRynYSQQFP6gJfBN5STFLY="
769
+ url:
770
+ css: "https://cdn.jsdelivr.net/npm/spotlight.js@{{version}}/dist/css/spotlight.min.css"
771
+ js: "https://cdn.jsdelivr.net/npm/spotlight.js@{{version}}/dist/spotlight.bundle.min.js"
772
+ version: "0.7.8"
773
+ swiper:
774
+ integrity:
775
+ css: "sha256-yUoNxsvX+Vo8Trj3lZ/Y5ZBf8HlBFsB6Xwm7rH75/9E="
776
+ js: "sha256-BPrwikijIybg9OQC5SYFFqhBjERYOn97tCureFgYH1E="
777
+ map: "sha256-lbF5CsospW93otqvWOIbbhj80CjazrZXvamD7nC7TBI="
778
+ url:
779
+ css: "https://cdn.jsdelivr.net/npm/swiper@{{version}}/swiper-bundle.min.css"
780
+ js: "https://cdn.jsdelivr.net/npm/swiper@{{version}}/swiper-element-bundle.min.js"
781
+ map: "https://cdn.jsdelivr.net/npm/swiper@{{version}}/swiper-element-bundle.min.js.map"
782
+ version: "11.0.5"
783
+ swiper-map:
784
+ integrity:
785
+ js: "sha256-hlZaH8ySXX97bZaetnrtYlKuhx3oEXFz/s2IXchu6vk="
786
+ url:
787
+ js: "https://cdn.jsdelivr.net/npm/swiper@11.1.0/swiper-element-bundle.min.js.map"
788
+ version: "11.0.5"
789
+ vega:
790
+ integrity:
791
+ js: "sha256-Yot/cfgMMMpFwkp/5azR20Tfkt24PFqQ6IQS+80HIZs="
792
+ js_map: "sha256-z0x9ICA65dPkZ0JVa9wTImfF6n7AJsKc6WlFE96/wNA="
793
+ url:
794
+ js: "https://cdn.jsdelivr.net/npm/vega@{{version}}/build/vega.min.js"
795
+ js_map: "https://cdn.jsdelivr.net/npm/vega@{{version}}/build/vega.min.js.map"
796
+ version: "5.27.0"
797
+ vega-embed:
798
+ integrity:
799
+ js: "sha256-FPCJ9JYCC9AZSpvC/t/wHBX7ybueZhIqOMjpWqfl3DU="
800
+ js_map: "sha256-VBbfSEFYSMdX/rTdGrONEHNP6BprCB7H/LpMMNt/cPA="
801
+ url:
802
+ js: "https://cdn.jsdelivr.net/npm/vega-embed@{{version}}/build/vega-embed.min.js"
803
+ js_map: "https://cdn.jsdelivr.net/npm/vega-embed@{{version}}/build/vega-embed.min.js.map"
804
+ version: "6.24.0"
805
+ vega-lite:
806
+ integrity:
807
+ js: "sha256-TvBvIS5jUN4BSy009usRjNzjI1qRrHPYv7xVLJyjUyw="
808
+ js_map: "sha256-l2I4D5JC23Ulsu6e3sKVe5AJ+r+DFkzkKnZS8nUGz28="
809
+ url:
810
+ js: "https://cdn.jsdelivr.net/npm/vega-lite@{{version}}/build/vega-lite.min.js"
811
+ js_map: "https://cdn.jsdelivr.net/npm/vega-lite@{{version}}/build/vega-lite.min.js.map"
812
+ version: "5.16.3"
813
+ venobox:
814
+ integrity:
815
+ css: "sha256-ohJEB0/WsBOdBD+gQO/MGfyJSbTUI8OOLbQGdkxD6Cg="
816
+ js: "sha256-LsGXHsHMMmTcz3KqTaWvLv6ome+7pRiic2LPnzTfiSo="
817
+ url:
818
+ css: "https://cdn.jsdelivr.net/npm/venobox@{{version}}/dist/venobox.min.css"
819
+ js: "https://cdn.jsdelivr.net/npm/venobox@{{version}}/dist/venobox.min.js"
820
+ version: "2.1.8"
821
+
822
+ # -----------------------------------------------------------------------------
823
+ # Get external JSON data
824
+ # -----------------------------------------------------------------------------
825
+
826
+ jekyll_get_json:
827
+ - data: resume
828
+ json: assets/json/resume.json # it can also be an url
829
+
830
+ jsonresume:
831
+ - basics
832
+ - work
833
+ - education
834
+ - publications
835
+ - projects
836
+ - volunteer
837
+ - awards
838
+ - certificates
839
+ - skills
840
+ - languages
841
+ - interests
842
+ - references