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.
- checksums.yaml +7 -0
- data/LICENSE +20 -0
- data/Makefile +412 -0
- data/README.md +226 -0
- data/_config.yml +842 -0
- data/_data/i18n/ca.yml +278 -0
- data/_data/i18n/en.yml +278 -0
- data/_data/i18n/es.yml +278 -0
- data/_includes/audio.liquid +30 -0
- data/_includes/bib_search.liquid +5 -0
- data/_includes/blog-list.liquid +66 -0
- data/_includes/book-citation.liquid +33 -0
- data/_includes/citation.liquid +26 -0
- data/_includes/custom_head.liquid +3 -0
- data/_includes/custom_scripts.liquid +5 -0
- data/_includes/cv/list.liquid +5 -0
- data/_includes/cv/list_groups.liquid +51 -0
- data/_includes/cv/map.liquid +29 -0
- data/_includes/cv/nested_list.liquid +16 -0
- data/_includes/cv/time_table.liquid +118 -0
- data/_includes/cv-download-card.liquid +26 -0
- data/_includes/developer-mode-switcher.liquid +24 -0
- data/_includes/disqus.liquid +13 -0
- data/_includes/distill_scripts.liquid +298 -0
- data/_includes/documentation-download-detail.liquid +76 -0
- data/_includes/documentation-downloads.liquid +71 -0
- data/_includes/documentation-profile-attributes.liquid +4 -0
- data/_includes/documentation-section-toc.liquid +9 -0
- data/_includes/documentation-sidebar.liquid +112 -0
- data/_includes/figure.liquid +87 -0
- data/_includes/footer.liquid +66 -0
- data/_includes/giscus.liquid +25 -0
- data/_includes/head.liquid +220 -0
- data/_includes/header.liquid +544 -0
- data/_includes/latest_posts.liquid +61 -0
- data/_includes/localized-date.liquid +5 -0
- data/_includes/manual-bibliography.liquid +2 -0
- data/_includes/manual-featured-readings.liquid +12 -0
- data/_includes/manual-other-readings.liquid +12 -0
- data/_includes/manual-page-toc.liquid +11 -0
- data/_includes/manual-sidebar.liquid +58 -0
- data/_includes/manual-teachers.liquid +74 -0
- data/_includes/metadata.liquid +278 -0
- data/_includes/news.liquid +48 -0
- data/_includes/newsletter.liquid +68 -0
- data/_includes/page-hero.liquid +96 -0
- data/_includes/page-link.liquid +8 -0
- data/_includes/pagination.liquid +22 -0
- data/_includes/post-reading-time.liquid +29 -0
- data/_includes/previous-next.liquid +37 -0
- data/_includes/profile-card.liquid +49 -0
- data/_includes/profile-feature-matrix.liquid +75 -0
- data/_includes/profile-highlights.liquid +122 -0
- data/_includes/project-grid.liquid +26 -0
- data/_includes/project-resource-link.liquid +45 -0
- data/_includes/project-resources.liquid +21 -0
- data/_includes/projects.liquid +38 -0
- data/_includes/projects_horizontal.liquid +37 -0
- data/_includes/publications-metrics-summary.liquid +69 -0
- data/_includes/publications-summary.liquid +127 -0
- data/_includes/reading-biblio-controls.liquid +65 -0
- data/_includes/reading-cover-card.liquid +93 -0
- data/_includes/reading-rating.liquid +11 -0
- data/_includes/recommended-readings.liquid +30 -0
- data/_includes/related_posts.liquid +39 -0
- data/_includes/repository/repo.liquid +48 -0
- data/_includes/repository/repo_trophies.liquid +44 -0
- data/_includes/repository/repo_user.liquid +35 -0
- data/_includes/resume/awards.liquid +19 -0
- data/_includes/resume/basics.liquid +28 -0
- data/_includes/resume/certificates.liquid +35 -0
- data/_includes/resume/education.liquid +54 -0
- data/_includes/resume/interests.liquid +34 -0
- data/_includes/resume/languages.liquid +31 -0
- data/_includes/resume/projects.liquid +32 -0
- data/_includes/resume/publications.liquid +28 -0
- data/_includes/resume/references.liquid +31 -0
- data/_includes/resume/skills.liquid +33 -0
- data/_includes/resume/volunteer.liquid +52 -0
- data/_includes/resume/work.liquid +52 -0
- data/_includes/scripts.liquid +364 -0
- data/_includes/search-data.js.liquid +341 -0
- data/_includes/selected_papers.liquid +3 -0
- data/_includes/t.liquid +31 -0
- data/_includes/team-grid.liquid +172 -0
- data/_includes/video.liquid +97 -0
- data/_layouts/about.liquid +93 -0
- data/_layouts/archive.liquid +45 -0
- data/_layouts/bib.liquid +677 -0
- data/_layouts/book-review.liquid +225 -0
- data/_layouts/book-shelf.liquid +66 -0
- data/_layouts/cv.liquid +127 -0
- data/_layouts/default.liquid +70 -0
- data/_layouts/distill.liquid +132 -0
- data/_layouts/documentation-download-detail.liquid +5 -0
- data/_layouts/documentation-home.liquid +100 -0
- data/_layouts/documentation-page.liquid +45 -0
- data/_layouts/manual-bib.liquid +73 -0
- data/_layouts/manual-chapter.liquid +99 -0
- data/_layouts/manual-featured-bib.liquid +100 -0
- data/_layouts/manual-home.liquid +120 -0
- data/_layouts/none.liquid +1 -0
- data/_layouts/outputs.liquid +29 -0
- data/_layouts/page.liquid +52 -0
- data/_layouts/post.liquid +95 -0
- data/_layouts/profile.liquid +36 -0
- data/_layouts/profiles.liquid +36 -0
- data/_layouts/project.liquid +7 -0
- data/_layouts/repositories.liquid +58 -0
- data/_layouts/theses.liquid +126 -0
- data/_plugins/bibliography_profiles.rb +164 -0
- data/_plugins/callouts.rb +104 -0
- data/_plugins/code_blocks.rb +277 -0
- data/_plugins/computation_figure_images.rb +266 -0
- data/_plugins/computation_sources.rb +42 -0
- data/_plugins/content_search_index.rb +210 -0
- data/_plugins/details.rb +23 -0
- data/_plugins/external-posts.rb +124 -0
- data/_plugins/figure_captions.rb +800 -0
- data/_plugins/file-exists.rb +22 -0
- data/_plugins/google-scholar-citations.rb +86 -0
- data/_plugins/hide-custom-bibtex.rb +18 -0
- data/_plugins/inspirehep-citations.rb +57 -0
- data/_plugins/localized_visual_sources.rb +145 -0
- data/_plugins/manual_release_metadata.rb +47 -0
- data/_plugins/mermaid_mmd_images.rb +233 -0
- data/_plugins/profile-pages.rb +28 -0
- data/_plugins/remove-accents.rb +32 -0
- data/_plugins/reproducible_build_time.rb +55 -0
- data/_plugins/search-data.rb +83 -0
- data/_plugins/theme-cache-bust.rb +56 -0
- data/_plugins/vega_visual_images.rb +290 -0
- data/_plugins/web_capture_images.rb +154 -0
- data/_sass/_base.scss +2133 -0
- data/_sass/_blog.scss +67 -0
- data/_sass/_callouts.scss +100 -0
- data/_sass/_custom.scss +437 -0
- data/_sass/_cv.scss +274 -0
- data/_sass/_developer.scss +97 -0
- data/_sass/_distill.scss +185 -0
- data/_sass/_documentation.scss +2220 -0
- data/_sass/_layout.scss +218 -0
- data/_sass/_manual.scss +2691 -0
- data/_sass/_profile.scss +323 -0
- data/_sass/_projects.scss +163 -0
- data/_sass/_reading.scss +465 -0
- data/_sass/_site-custom.scss +3 -0
- data/_sass/_tabs.scss +48 -0
- data/_sass/_team.scss +230 -0
- data/_sass/_themes.scss +254 -0
- data/_sass/_typograms.scss +132 -0
- data/_sass/_variables.scss +52 -0
- data/_sass/font-awesome/_animated.scss +152 -0
- data/_sass/font-awesome/_bordered-pulled.scss +20 -0
- data/_sass/font-awesome/_core.scss +49 -0
- data/_sass/font-awesome/_fixed-width.scss +7 -0
- data/_sass/font-awesome/_functions.scss +57 -0
- data/_sass/font-awesome/_icons.scss +13 -0
- data/_sass/font-awesome/_list.scss +18 -0
- data/_sass/font-awesome/_mixins.scss +65 -0
- data/_sass/font-awesome/_rotated-flipped.scss +31 -0
- data/_sass/font-awesome/_screen-reader.scss +14 -0
- data/_sass/font-awesome/_shims.scss +1578 -0
- data/_sass/font-awesome/_sizing.scss +16 -0
- data/_sass/font-awesome/_stacked.scss +32 -0
- data/_sass/font-awesome/_variables.scss +5044 -0
- data/_sass/font-awesome/brands.scss +30 -0
- data/_sass/font-awesome/fontawesome.scss +21 -0
- data/_sass/font-awesome/regular.scss +27 -0
- data/_sass/font-awesome/solid.scss +27 -0
- data/_sass/font-awesome/v4-shims.scss +11 -0
- data/_sass/tabler-icons/tabler-icons-filled.scss +1646 -0
- data/_sass/tabler-icons/tabler-icons-outline.scss +9859 -0
- data/_sass/tabler-icons/tabler-icons.scss +11463 -0
- data/_scripts/cronitor-analytics-setup.js +9 -0
- data/_scripts/giscus-setup.js +48 -0
- data/_scripts/google-analytics-setup.js +9 -0
- data/_scripts/open-panel-analytics-setup.js +14 -0
- data/_scripts/photoswipe-setup.js +11 -0
- data/assets/audio/epicaly-short-113909.mp3 +0 -0
- data/assets/bibliography/2018-12-22-distill.bib +7 -0
- data/assets/css/academicons.min.css +1 -0
- data/assets/css/bootstrap-toc.min.css +4 -0
- data/assets/css/bootstrap.min.css +7 -0
- data/assets/css/bootstrap.min.css.map +1 -0
- data/assets/css/jekyll-pygments-themes-github.css +209 -0
- data/assets/css/jekyll-pygments-themes-native.css +232 -0
- data/assets/css/jupyter-grade3.css +3758 -0
- data/assets/css/jupyter-monokai.css +3758 -0
- data/assets/css/jupyter.css +383 -0
- data/assets/css/main.scss +36 -0
- data/assets/css/mdb.min.css +48 -0
- data/assets/css/mdb.min.css.map +1 -0
- data/assets/css/scholar-icons.css +386 -0
- data/assets/fonts/academicons.ttf +0 -0
- data/assets/fonts/academicons.woff +0 -0
- data/assets/fonts/scholar-icons.ttf +0 -0
- data/assets/fonts/scholar-icons.woff +0 -0
- data/assets/fonts/tabler-icons-filled.ttf +0 -0
- data/assets/fonts/tabler-icons-filled.woff +0 -0
- data/assets/fonts/tabler-icons-filled.woff2 +0 -0
- data/assets/fonts/tabler-icons-outline.ttf +0 -0
- data/assets/fonts/tabler-icons-outline.woff +0 -0
- data/assets/fonts/tabler-icons-outline.woff2 +0 -0
- data/assets/fonts/tabler-icons.ttf +0 -0
- data/assets/fonts/tabler-icons.woff +0 -0
- data/assets/fonts/tabler-icons.woff2 +0 -0
- data/assets/html/relativity.html +15 -0
- data/assets/img/1.jpg +0 -0
- data/assets/img/10.jpg +0 -0
- data/assets/img/11.jpg +0 -0
- data/assets/img/12.jpg +0 -0
- data/assets/img/2.jpg +0 -0
- data/assets/img/3.jpg +0 -0
- data/assets/img/4.jpg +0 -0
- data/assets/img/5.jpg +0 -0
- data/assets/img/6.jpg +0 -0
- data/assets/img/7.jpg +0 -0
- data/assets/img/8.jpg +0 -0
- data/assets/img/9.jpg +0 -0
- data/assets/img/book_covers/the_godfather.jpg +0 -0
- data/assets/img/brand/dosquartsdedocs-logo-cafe.svg +31 -0
- data/assets/img/brand/dosquartsdedocs-logo-footer-cafe.svg +31 -0
- data/assets/img/brand/dosquartsdedocs-logo-white.svg +31 -0
- data/assets/img/brand/dosquartsdedocs-logo.svg +31 -0
- data/assets/img/prof_pic.jpg +0 -0
- data/assets/img/prof_pic_color.png +0 -0
- data/assets/img/profile-placeholder.svg +8 -0
- data/assets/img/publication_preview/brownian-motion.gif +0 -0
- data/assets/img/publication_preview/goodchild1992-gis-cover.jpg +0 -0
- data/assets/img/publication_preview/gutierrez2020-jtrg-preview.jpg +0 -0
- data/assets/img/publication_preview/harvey1989-postmodernity-cover.jpg +0 -0
- data/assets/img/publication_preview/tobler1970-economic-geography-cover.jpg +0 -0
- data/assets/img/publication_preview/tuan1977-space-place-cover.jpg +0 -0
- data/assets/img/publication_preview/wave-mechanics.gif +0 -0
- data/assets/img/publication_preview/zaragozi2025-rooftop-pv-preview.jpg +0 -0
- data/assets/img/rhino.png +0 -0
- data/assets/img/team/aaron-gutierrez.png +0 -0
- data/assets/img/team/alba-font.png +0 -0
- data/assets/img/team/alba-viana.png +0 -0
- data/assets/img/team/alejandro-gonzalez.png +0 -0
- data/assets/img/team/ana-pastor.png +0 -0
- data/assets/img/team/antoni-domenech.png +0 -0
- data/assets/img/team/benito-zaragozi.png +0 -0
- data/assets/img/team/cinta-sanz.png +0 -0
- data/assets/img/team/daniel-miravet.png +0 -0
- data/assets/img/team/eugenia-altamirano.png +0 -0
- data/assets/img/team/fiammetta-brandajs.png +0 -0
- data/assets/img/team/francesc-gonzalez.png +0 -0
- data/assets/img/team/isabel-paulino.png +0 -0
- data/assets/img/team/joan-borras.png +0 -0
- data/assets/img/team/julie-wilson.png +0 -0
- data/assets/img/team/liliana-sole.png +0 -0
- data/assets/img/team/maria-casado.png +0 -0
- data/assets/img/team/maria-medina.png +0 -0
- data/assets/img/team/marta-nello.png +0 -0
- data/assets/img/team/mogrify +1 -0
- data/assets/img/team/oscar-saladie.png +0 -0
- data/assets/img/team/paolo-russo.png +0 -0
- data/assets/img/team/raquel-santos.png +0 -0
- data/assets/img/team/salvador-anton.png +0 -0
- data/assets/img/team/sunsi-huertas.png +0 -0
- data/assets/img/team/user-placeholder.png +0 -0
- data/assets/img/team/wilbert-den-hoed.png +0 -0
- data/assets/img/team/xavier-delclos.png +0 -0
- data/assets/img/template_error.png +0 -0
- data/assets/js/bibsearch.js +70 -0
- data/assets/js/bootstrap-toc.min.js +5 -0
- data/assets/js/bootstrap.bundle.min.js +7 -0
- data/assets/js/bootstrap.bundle.min.js.map +1 -0
- data/assets/js/callouts.js +115 -0
- data/assets/js/chartjs-setup.js +14 -0
- data/assets/js/common.js +117 -0
- data/assets/js/content-search-match.js +159 -0
- data/assets/js/content-search.js +441 -0
- data/assets/js/copy_code.js +60 -0
- data/assets/js/custom.js +6 -0
- data/assets/js/developer-mode.js +103 -0
- data/assets/js/diff2html-setup.js +20 -0
- data/assets/js/distillpub/overrides.js +27 -0
- data/assets/js/distillpub/template.v2.js +9616 -0
- data/assets/js/distillpub/template.v2.js.map +1 -0
- data/assets/js/distillpub/transforms.v2.js +14557 -0
- data/assets/js/distillpub/transforms.v2.js.map +1 -0
- data/assets/js/documentation.js +435 -0
- data/assets/js/echarts-setup.js +29 -0
- data/assets/js/highlight-search-term.js +110 -0
- data/assets/js/jupyter_new_tab.js +18 -0
- data/assets/js/leaflet-setup.js +22 -0
- data/assets/js/manual.js +308 -0
- data/assets/js/masonry.js +12 -0
- data/assets/js/mathjax-setup.js +46 -0
- data/assets/js/mermaid-setup.js +37 -0
- data/assets/js/newsletter.js +105 -0
- data/assets/js/no_defer.js +24 -0
- data/assets/js/plotly-setup.js +52 -0
- data/assets/js/profile-nav.js +92 -0
- data/assets/js/progress-bar.js +73 -0
- data/assets/js/pseudocode-setup.js +18 -0
- data/assets/js/search/base-styles.min.js +286 -0
- data/assets/js/search/command-score.min.js +7 -0
- data/assets/js/search/hotkeys-js/hotkeys.esm.min.js +18 -0
- data/assets/js/search/lit/decorators.min.js +7 -0
- data/assets/js/search/lit/directives/class-map.min.js +7 -0
- data/assets/js/search/lit/directives/join.min.js +7 -0
- data/assets/js/search/lit/directives/live.min.js +7 -0
- data/assets/js/search/lit/directives/ref.min.js +7 -0
- data/assets/js/search/lit/directives/repeat.min.js +7 -0
- data/assets/js/search/lit/directives/unsafe-html.min.js +7 -0
- data/assets/js/search/lit/index.min.js +7 -0
- data/assets/js/search/lit-element/lit-element.min.js +12 -0
- data/assets/js/search/lit-html/directives/class-map.min.js +22 -0
- data/assets/js/search/lit-html/directives/join.min.js +12 -0
- data/assets/js/search/lit-html/directives/live.min.js +28 -0
- data/assets/js/search/lit-html/directives/ref.min.js +32 -0
- data/assets/js/search/lit-html/directives/repeat.min.js +27 -0
- data/assets/js/search/lit-html/directives/unsafe-html.min.js +22 -0
- data/assets/js/search/lit-html/is-server.min.js +12 -0
- data/assets/js/search/lit-html/lit-html.min.js +12 -0
- data/assets/js/search/ninja-action.min.js +101 -0
- data/assets/js/search/ninja-footer.min.js +62 -0
- data/assets/js/search/ninja-header.min.js +78 -0
- data/assets/js/search/ninja-keys.min.js +39 -0
- data/assets/js/search/reactive-element/decorators/custom-element.min.js +12 -0
- data/assets/js/search/reactive-element/decorators/event-options.min.js +12 -0
- data/assets/js/search/reactive-element/decorators/property.min.js +22 -0
- data/assets/js/search/reactive-element/decorators/query-all.min.js +17 -0
- data/assets/js/search/reactive-element/decorators/query-assigned-elements.min.js +17 -0
- data/assets/js/search/reactive-element/decorators/query-assigned-nodes.min.js +17 -0
- data/assets/js/search/reactive-element/decorators/query-async.min.js +17 -0
- data/assets/js/search/reactive-element/decorators/query.min.js +17 -0
- data/assets/js/search/reactive-element/decorators/state.min.js +27 -0
- data/assets/js/search/reactive-element/reactive-element.min.js +17 -0
- data/assets/js/search-setup.js +17 -0
- data/assets/js/shortcut-key.js +11 -0
- data/assets/js/tabs.min.js +5 -0
- data/assets/js/theme.js +314 -0
- data/assets/js/tooltips-setup.js +3 -0
- data/assets/js/typograms.js +1341 -0
- data/assets/js/vanilla-back-to-top.min.js +1 -0
- data/assets/js/vega-setup.js +24 -0
- data/assets/js/venobox-setup.js +5 -0
- data/assets/js/wechat.js +14 -0
- data/assets/js/zoom.js +15 -0
- data/assets/json/resume.json +98 -0
- data/assets/json/table_data.json +128 -0
- data/assets/jupyter/blog.ipynb +48 -0
- data/assets/pdf/example_pdf.pdf +0 -0
- data/assets/plotly/demo.html +72 -0
- data/assets/video/pexels-engin-akyurt-6069112-960x540-30fps.mp4 +0 -0
- data/assets/webfonts/fa-brands-400.ttf +0 -0
- data/assets/webfonts/fa-brands-400.woff2 +0 -0
- data/assets/webfonts/fa-regular-400.ttf +0 -0
- data/assets/webfonts/fa-regular-400.woff2 +0 -0
- data/assets/webfonts/fa-solid-900.ttf +0 -0
- data/assets/webfonts/fa-solid-900.woff2 +0 -0
- data/assets/webfonts/fa-v4compatibility.ttf +0 -0
- data/assets/webfonts/fa-v4compatibility.woff2 +0 -0
- data/docs/Gemfile +5 -0
- data/docs/_config.yml +83 -0
- data/docs/_documentation/en/01-quick-start.md +115 -0
- data/docs/_documentation/en/02-tools.md +146 -0
- data/docs/_documentation/en/03-usage.md +107 -0
- data/docs/_documentation/en/04-jekyll-basics.md +51 -0
- data/docs/_documentation/en/05-pages-collections.md +68 -0
- data/docs/_documentation/en/06-github-web-editing.md +92 -0
- data/docs/_documentation/en/10-profiles.md +125 -0
- data/docs/_documentation/en/11-unaltreselfie.md +39 -0
- data/docs/_documentation/en/12-unaltreprojecte.md +38 -0
- data/docs/_documentation/en/13-unaltremanual.md +237 -0
- data/docs/_documentation/en/14-unaltredocs.md +92 -0
- data/docs/_documentation/en/15-profile-checklist.md +39 -0
- data/docs/_documentation/en/20-syntax.md +353 -0
- data/docs/_documentation/en/21-themes.md +103 -0
- data/docs/_documentation/en/22-feature-reference.md +56 -0
- data/docs/_documentation/en/23-front-matter.md +51 -0
- data/docs/_documentation/en/24-data-files.md +28 -0
- data/docs/_documentation/en/30-customization.md +448 -0
- data/docs/_documentation/en/31-template.md +55 -0
- data/docs/_documentation/en/32-development.md +108 -0
- data/docs/_documentation/en/33-reusable-workflows.md +136 -0
- data/docs/_documentation/en/40-distribution.md +164 -0
- data/docs/_documentation/en/41-bibliometrics.md +137 -0
- data/docs/_documentation/en/42-docker-image.md +185 -0
- data/docs/_documentation/en/50-faq.md +33 -0
- data/docs/_pages/ca/index.md +35 -0
- data/docs/_pages/en/index.md +35 -0
- data/docs/_pages/es/index.md +35 -0
- data/docs/agents/action-prompts/00-start-site-session.txt +10 -0
- data/docs/agents/action-prompts/05-create-new-web.txt +5 -0
- data/docs/agents/action-prompts/10-content-update.txt +9 -0
- data/docs/agents/action-prompts/15-edit-default-content.txt +8 -0
- data/docs/agents/action-prompts/20-manual-teaching-materials.txt +18 -0
- data/docs/agents/action-prompts/22-manual-style-audit.txt +14 -0
- data/docs/agents/action-prompts/23-manual-structure-audit.txt +17 -0
- data/docs/agents/action-prompts/25-translation-prepublish.txt +8 -0
- data/docs/agents/action-prompts/30-project-site-update.txt +7 -0
- data/docs/agents/action-prompts/40-documentation-update.txt +7 -0
- data/docs/agents/action-prompts/50-bibliography-entry.txt +7 -0
- data/docs/agents/action-prompts/60-bibliometrics-refresh.txt +7 -0
- data/docs/agents/action-prompts/70-build-and-review.txt +12 -0
- data/docs/agents/manual-authoring-components.md +255 -0
- data/docs/agents/mcp-contract.md +162 -0
- data/docs/agents/quarto-computation-adoption.md +102 -0
- data/docs/assets/img/unaltraweb-docs-hero.svg +36 -0
- data/lib/unaltraweb/version.rb +8 -0
- data/lib/unaltraweb.rb +31 -0
- data/requirements.txt +5 -0
- data/scripts/biblio/fetch_scimago_csv.sh +126 -0
- data/scripts/biblio/metrics_common.py +154 -0
- data/scripts/biblio/metrics_merge_meta.py +73 -0
- data/scripts/biblio/metrics_update.py +826 -0
- data/scripts/computations/python/Dockerfile +37 -0
- data/scripts/computations/r/Dockerfile +31 -0
- data/scripts/computations/render.py +1267 -0
- data/scripts/cv/render_pdf_preview.sh +36 -0
- data/scripts/deploy/publish_branch.sh +80 -0
- data/scripts/generate_logo_variants.py +47 -0
- data/scripts/manual/Dockerfile +31 -0
- data/scripts/manual/build_pdf.py +1780 -0
- data/scripts/manual/filters/bibliography.lua +164 -0
- data/scripts/manual/filters/code-blocks.lua +102 -0
- data/scripts/manual/filters/figure-captions.lua +35 -0
- data/scripts/manual/publish_release.sh +281 -0
- data/scripts/manual/templates/manual.tex +494 -0
- data/scripts/manual/verify_release_assets.py +650 -0
- data/scripts/test_gem_build.py +128 -0
- data/scripts/test_reproducible_jekyll_build.py +191 -0
- data/scripts/test_wheel_install.py +282 -0
- data/scripts/unaltraweb-docker-mount.sh +36 -0
- data/scripts/unaltraweb-mcp-bootstrap.sh +105 -0
- data/scripts/unaltraweb-mcp-cleanup.sh +73 -0
- data/scripts/unaltraweb-mcp-project-id.sh +34 -0
- data/scripts/validate_distribution.py +563 -0
- data/scripts/validate_workflows.py +1285 -0
- data/scripts/web_captures/Dockerfile +31 -0
- data/scripts/web_captures/capture.mjs +157 -0
- data/scripts/web_captures/package-lock.json +56 -0
- data/scripts/web_captures/package.json +9 -0
- data/scripts/web_captures/render.py +867 -0
- data/src/unaltraweb_mcp/component-contract.json +153 -0
- data/src/unaltraweb_mcp/component-contract.schema.json +87 -0
- data/src/unaltraweb_mcp/docker_mount.py +19 -0
- metadata +861 -0
data/_data/i18n/es.yml
ADDED
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
header:
|
|
2
|
+
home: Inicio
|
|
3
|
+
toggle_navigation: Alternar navegación
|
|
4
|
+
current: actual
|
|
5
|
+
search: Buscar
|
|
6
|
+
change_theme: Cambiar tema
|
|
7
|
+
language: Idioma
|
|
8
|
+
default_language: predeterminado
|
|
9
|
+
|
|
10
|
+
footer:
|
|
11
|
+
impressum: Aviso legal
|
|
12
|
+
last_updated: Última actualización
|
|
13
|
+
copyright: Derechos de autor
|
|
14
|
+
made_with: Hecho con
|
|
15
|
+
using_profile: con el perfil
|
|
16
|
+
profile_word: ""
|
|
17
|
+
based_on: basado en
|
|
18
|
+
project_by: Un proyecto de dosquartsdedocs para webs académicas.
|
|
19
|
+
powered_by: Funciona con
|
|
20
|
+
and: y
|
|
21
|
+
last_updated_format: "%d/%m/%Y"
|
|
22
|
+
|
|
23
|
+
date:
|
|
24
|
+
formats:
|
|
25
|
+
short: "%d/%m/%Y"
|
|
26
|
+
medium: "%d/%m/%Y"
|
|
27
|
+
long: "%d/%m/%Y"
|
|
28
|
+
|
|
29
|
+
profiles:
|
|
30
|
+
unaltreselfie: unaltreselfie
|
|
31
|
+
unaltreprojecte: unaltreprojecte
|
|
32
|
+
unaltremanual: unaltremanual
|
|
33
|
+
unaltredocs: unaltredocs
|
|
34
|
+
|
|
35
|
+
search:
|
|
36
|
+
placeholder: Escribe para buscar
|
|
37
|
+
content_placeholder: Buscar contenido
|
|
38
|
+
content_results: Resultados de búsqueda
|
|
39
|
+
content_no_results: Sin resultados
|
|
40
|
+
content_match: Coincidencia {current} de {total}
|
|
41
|
+
content_previous: Coincidencia anterior
|
|
42
|
+
content_next: Coincidencia siguiente
|
|
43
|
+
|
|
44
|
+
callouts:
|
|
45
|
+
info: NOTA
|
|
46
|
+
example: EJEMPLO
|
|
47
|
+
warning: ADVERTENCIA
|
|
48
|
+
objectives: OBJETIVOS DE APRENDIZAJE
|
|
49
|
+
danger: ATENCIÓN
|
|
50
|
+
|
|
51
|
+
bib:
|
|
52
|
+
filter_placeholder: Escribe para filtrar
|
|
53
|
+
and: y
|
|
54
|
+
in_prefix: En
|
|
55
|
+
buttons:
|
|
56
|
+
awarded: Premio
|
|
57
|
+
abstract: Resumen
|
|
58
|
+
bib: Bib
|
|
59
|
+
cite: Citar
|
|
60
|
+
supp: Material
|
|
61
|
+
video: Video
|
|
62
|
+
blog: Blog
|
|
63
|
+
code: Código
|
|
64
|
+
poster: Póster
|
|
65
|
+
slides: Diapositivas
|
|
66
|
+
website: Web
|
|
67
|
+
|
|
68
|
+
about:
|
|
69
|
+
news: Noticias
|
|
70
|
+
latest_posts: Entradas recientes
|
|
71
|
+
selected_publications: Publicaciones destacadas
|
|
72
|
+
hero_source: Fuente
|
|
73
|
+
|
|
74
|
+
news:
|
|
75
|
+
empty: Todavía no hay noticias.
|
|
76
|
+
|
|
77
|
+
latest_posts:
|
|
78
|
+
empty: Todavía no hay entradas.
|
|
79
|
+
|
|
80
|
+
page:
|
|
81
|
+
references: Referencias
|
|
82
|
+
|
|
83
|
+
post:
|
|
84
|
+
created_on: Creado el
|
|
85
|
+
by: por
|
|
86
|
+
last_updated_on: última actualización el
|
|
87
|
+
references: Referencias
|
|
88
|
+
reading_time: Tiempo de lectura
|
|
89
|
+
reading_time_minutes: min de lectura
|
|
90
|
+
|
|
91
|
+
archive:
|
|
92
|
+
category_prefix: Archivo de
|
|
93
|
+
category_suffix: en esta categoría
|
|
94
|
+
year_prefix: Archivo de
|
|
95
|
+
year_suffix: de este año
|
|
96
|
+
tag_prefix: Archivo de
|
|
97
|
+
tag_suffix: con esta etiqueta
|
|
98
|
+
|
|
99
|
+
related_posts:
|
|
100
|
+
title: ¿Quieres seguir leyendo?
|
|
101
|
+
intro: Aquí tienes más artículos que podrían interesarte.
|
|
102
|
+
subscribe: "Suscríbete para recibir aviso de futuros artículos:"
|
|
103
|
+
|
|
104
|
+
pagination:
|
|
105
|
+
blog_navigation: Navegación de páginas del blog
|
|
106
|
+
|
|
107
|
+
blog:
|
|
108
|
+
empty: Todavía no hay entradas del blog.
|
|
109
|
+
archive_range_from: Entradas del
|
|
110
|
+
archive_range_to: al
|
|
111
|
+
|
|
112
|
+
projects:
|
|
113
|
+
code_repository: Repositorio de código
|
|
114
|
+
github_stars: Estrellas de GitHub
|
|
115
|
+
view_project: Ver proyecto
|
|
116
|
+
resources: Recursos
|
|
117
|
+
|
|
118
|
+
outputs:
|
|
119
|
+
empty: Añade tarjetas en la colección `_outputs` para poblar esta sección.
|
|
120
|
+
|
|
121
|
+
repositories:
|
|
122
|
+
github_users: Usuarios de GitHub
|
|
123
|
+
github_repositories: Repositorios de GitHub
|
|
124
|
+
empty: Añade usuarios o repositorios de GitHub en `_data/repositories.yml` para poblar esta sección.
|
|
125
|
+
|
|
126
|
+
theses:
|
|
127
|
+
empty: Todavía no hay tesis disponibles.
|
|
128
|
+
student: Doctorando/a
|
|
129
|
+
status: Estado
|
|
130
|
+
institution: Institución
|
|
131
|
+
year: Año
|
|
132
|
+
supervisors: Dirección
|
|
133
|
+
image_source: Fuente
|
|
134
|
+
status_values:
|
|
135
|
+
defended: Defendida
|
|
136
|
+
ongoing: En curso
|
|
137
|
+
|
|
138
|
+
reading:
|
|
139
|
+
bibliographic_record: Ficha bibliográfica
|
|
140
|
+
type: Tipo
|
|
141
|
+
publisher: Editorial
|
|
142
|
+
collection: Colección
|
|
143
|
+
edition: Edición
|
|
144
|
+
year: Año
|
|
145
|
+
pages: Páginas
|
|
146
|
+
isbn: ISBN
|
|
147
|
+
doi: DOI
|
|
148
|
+
language: Idioma
|
|
149
|
+
reviewed_on: Reseñado el
|
|
150
|
+
status: Estado
|
|
151
|
+
topics: Temas
|
|
152
|
+
rating: Valoración
|
|
153
|
+
links: Enlaces
|
|
154
|
+
external_resource: Recurso
|
|
155
|
+
doi_link: Registro DOI
|
|
156
|
+
openlibrary: Open Library
|
|
157
|
+
cite: Citar
|
|
158
|
+
how_to_cite: Cómo citar
|
|
159
|
+
bibtex: BibTeX
|
|
160
|
+
cover_caption: Cubierta
|
|
161
|
+
no_review: Todavía no hay texto de reseña.
|
|
162
|
+
back_to_readings: Volver a las lecturas
|
|
163
|
+
back_to_bibliography: Volver a la bibliografía
|
|
164
|
+
close_panel: Cerrar el panel
|
|
165
|
+
copy: Copiar
|
|
166
|
+
copied: Copiado
|
|
167
|
+
empty_shelf: Todavía no hay lecturas disponibles.
|
|
168
|
+
uncategorized: Sin categoría
|
|
169
|
+
collections: Colecciones
|
|
170
|
+
not_dated: s. f.
|
|
171
|
+
status_values:
|
|
172
|
+
abandoned: Abandonada
|
|
173
|
+
finished: Finalizada
|
|
174
|
+
interested: De interés
|
|
175
|
+
paused: Pausada
|
|
176
|
+
queued: En cola
|
|
177
|
+
reading: En lectura
|
|
178
|
+
reread: Relectura
|
|
179
|
+
|
|
180
|
+
publications:
|
|
181
|
+
metrics:
|
|
182
|
+
title: Bibliometría
|
|
183
|
+
indicators_calculated: Indicadores calculados a partir de
|
|
184
|
+
articles_label: artículos
|
|
185
|
+
updated_on: Actualizado el
|
|
186
|
+
scimago_meta: Metadatos del emparejamiento Scimago
|
|
187
|
+
coverage: cobertura
|
|
188
|
+
stale_rejected: descartados por obsolescencia
|
|
189
|
+
max_year_gap: brecha máxima de años
|
|
190
|
+
not_available: n/d
|
|
191
|
+
|
|
192
|
+
profile:
|
|
193
|
+
email: Correo
|
|
194
|
+
website: Web
|
|
195
|
+
location: Ubicación
|
|
196
|
+
recent_news: Últimas noticias
|
|
197
|
+
selected_publications: Publicaciones seleccionadas
|
|
198
|
+
active_projects: Proyectos activos
|
|
199
|
+
recent_posts: Últimas entradas
|
|
200
|
+
view_all_news: Todas las noticias
|
|
201
|
+
view_all_publications: Todas las publicaciones
|
|
202
|
+
view_all_projects: Todos los proyectos
|
|
203
|
+
view_all_posts: Todas las entradas
|
|
204
|
+
|
|
205
|
+
languages:
|
|
206
|
+
en: Inglés
|
|
207
|
+
es: Español
|
|
208
|
+
ca: Catalán
|
|
209
|
+
|
|
210
|
+
navigation:
|
|
211
|
+
previous: Anterior
|
|
212
|
+
next: Siguiente
|
|
213
|
+
|
|
214
|
+
documentation:
|
|
215
|
+
title: Documentación
|
|
216
|
+
contents: Tabla de contenidos
|
|
217
|
+
toggle_contents: Mostrar u ocultar la tabla de contenidos
|
|
218
|
+
site_navigation: Sitio
|
|
219
|
+
theme: Tema
|
|
220
|
+
theme_system: Sistema
|
|
221
|
+
theme_light: Claro
|
|
222
|
+
theme_dark: Oscuro
|
|
223
|
+
theme_cafe: Café
|
|
224
|
+
font_size: Tamaño del texto
|
|
225
|
+
font_decrease: Reducir el texto
|
|
226
|
+
font_increase: Aumentar el texto
|
|
227
|
+
font_reset: Restablecer el texto
|
|
228
|
+
search_placeholder: Buscar en la documentación
|
|
229
|
+
search_results: Resultados de búsqueda
|
|
230
|
+
search_no_results: Sin resultados
|
|
231
|
+
read_more: Leer más
|
|
232
|
+
in_this_section: En esta sección
|
|
233
|
+
in_this_subsection: En esta subsección
|
|
234
|
+
on_this_page: En esta página
|
|
235
|
+
profile: Perfil de documentación
|
|
236
|
+
profile_all: Toda la documentación
|
|
237
|
+
profile_page_notice: Esta página queda fuera del perfil de documentación activo, pero los enlaces directos siguen disponibles.
|
|
238
|
+
|
|
239
|
+
manual:
|
|
240
|
+
contents: Contenidos
|
|
241
|
+
download_pdf: Descargar PDF
|
|
242
|
+
release_channel: Canal de publicación
|
|
243
|
+
release_version: Versión publicada
|
|
244
|
+
on_this_page: En esta página
|
|
245
|
+
on_this_chapter: En este capítulo
|
|
246
|
+
previous: Anterior
|
|
247
|
+
next: Siguiente
|
|
248
|
+
start_reading: Empezar a leer
|
|
249
|
+
teachers: Profesorado
|
|
250
|
+
references: Bibliografía
|
|
251
|
+
bibliography: Bibliografía
|
|
252
|
+
books: Libros y manuales
|
|
253
|
+
articles: Artículos y otras publicaciones
|
|
254
|
+
selected_readings: Lecturas destacadas
|
|
255
|
+
more_readings: Más lecturas
|
|
256
|
+
no_chapters: Todavía no hay capítulos disponibles.
|
|
257
|
+
filter: Filtrar capítulos
|
|
258
|
+
cover: Inicio
|
|
259
|
+
|
|
260
|
+
search_placeholder: Escribe para buscar
|
|
261
|
+
search_results: Resultados de búsqueda
|
|
262
|
+
search_no_results: Sin resultados
|
|
263
|
+
toggle_sidebar: Mostrar u ocultar contenidos
|
|
264
|
+
font_decrease: Reducir el texto
|
|
265
|
+
font_increase: Aumentar el texto
|
|
266
|
+
font_reset: Restablecer el texto
|
|
267
|
+
chapter: Capítulo
|
|
268
|
+
figures:
|
|
269
|
+
label: Figura
|
|
270
|
+
list_title: Índice de figuras
|
|
271
|
+
|
|
272
|
+
tables:
|
|
273
|
+
label: Tabla
|
|
274
|
+
list_title: Índice de tablas
|
|
275
|
+
|
|
276
|
+
listings:
|
|
277
|
+
label: Código
|
|
278
|
+
list_title: Índice de códigos
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<figure>
|
|
2
|
+
<audio
|
|
3
|
+
src="{% if include.cache_bust %}{{ include.path | relative_url | bust_file_cache }}{% else %}{{ include.path | relative_url }}{% endif %}"
|
|
4
|
+
{% if include.class %}
|
|
5
|
+
class="{{ include.class }}"
|
|
6
|
+
{% endif %}
|
|
7
|
+
{% if include.alt %}
|
|
8
|
+
alt="{{ include.alt }}"
|
|
9
|
+
{% endif %}
|
|
10
|
+
{% if include.title %}
|
|
11
|
+
title="{{ include.title }}"
|
|
12
|
+
{% endif %}
|
|
13
|
+
{% if include.autoplay %}
|
|
14
|
+
autoplay
|
|
15
|
+
{% endif %}
|
|
16
|
+
{% if include.controls %}
|
|
17
|
+
controls
|
|
18
|
+
{% endif %}
|
|
19
|
+
{% if include.loop %}
|
|
20
|
+
loop
|
|
21
|
+
{% endif %}
|
|
22
|
+
{% if include.muted %}
|
|
23
|
+
muted
|
|
24
|
+
{% endif %}
|
|
25
|
+
/>
|
|
26
|
+
|
|
27
|
+
{% if include.caption %}
|
|
28
|
+
<figcaption class="caption">{{ include.caption }}</figcaption>
|
|
29
|
+
{% endif %}
|
|
30
|
+
</figure>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{% if site.bib_search %}
|
|
2
|
+
<script src="{{ '/assets/js/bibsearch.js' | relative_url | bust_file_cache }}" type="module"></script>
|
|
3
|
+
{% capture bib_filter_placeholder %}{% include t.liquid key='bib.filter_placeholder' default='Type to filter' %}{% endcapture %}
|
|
4
|
+
<input type="text" id="bibsearch" spellcheck="false" autocomplete="off" class="search bibsearch-form-input" placeholder="{{ bib_filter_placeholder | strip }}">
|
|
5
|
+
{% endif %}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{%- assign current_lang = page.lang | default: site.default_lang | default: site.lang -%}
|
|
2
|
+
{%- assign default_lang = site.default_lang | default: site.lang -%}
|
|
3
|
+
|
|
4
|
+
{%- if paginator and paginator.posts -%}
|
|
5
|
+
{%- assign localized_posts = paginator.posts | where: 'lang', current_lang -%}
|
|
6
|
+
{%- assign fallback_posts = paginator.posts | where_exp: 'post', 'post.lang == nil' -%}
|
|
7
|
+
{%- assign archive_posts = localized_posts | concat: fallback_posts -%}
|
|
8
|
+
{%- if archive_posts.size == 0 -%}
|
|
9
|
+
{%- assign archive_posts = paginator.posts -%}
|
|
10
|
+
{%- endif -%}
|
|
11
|
+
{%- else -%}
|
|
12
|
+
{%- assign localized_posts = site.posts | where: 'lang', current_lang -%}
|
|
13
|
+
{%- assign fallback_posts = site.posts | where_exp: 'post', 'post.lang == nil' -%}
|
|
14
|
+
{%- assign localized_posts = localized_posts | concat: fallback_posts -%}
|
|
15
|
+
{%- if current_lang != default_lang and localized_posts.size == fallback_posts.size -%}
|
|
16
|
+
{%- assign default_lang_posts = site.posts | where: 'lang', default_lang -%}
|
|
17
|
+
{%- assign localized_posts = default_lang_posts | concat: fallback_posts -%}
|
|
18
|
+
{%- endif -%}
|
|
19
|
+
{%- assign archive_posts = localized_posts | sort: 'date' | reverse -%}
|
|
20
|
+
{%- endif -%}
|
|
21
|
+
{%- assign archive_posts_size = archive_posts | size -%}
|
|
22
|
+
|
|
23
|
+
<div class="blog-archive">
|
|
24
|
+
{% if archive_posts_size > 0 %}
|
|
25
|
+
{% if paginator and paginator.total_pages > 1 %}
|
|
26
|
+
{% assign newest_post = archive_posts | first %}
|
|
27
|
+
{% assign oldest_post = archive_posts | last %}
|
|
28
|
+
{% capture range_from_text %}{% include t.liquid key='blog.archive_range_from' default='Posts from' %}{% endcapture %}
|
|
29
|
+
{% capture range_to_text %}{% include t.liquid key='blog.archive_range_to' default='to' %}{% endcapture %}
|
|
30
|
+
{% capture newest_date %}{% include localized-date.liquid date=newest_post.date format_key='date.formats.medium' default_format='%b %-d, %Y' %}{% endcapture %}
|
|
31
|
+
{% capture oldest_date %}{% include localized-date.liquid date=oldest_post.date format_key='date.formats.medium' default_format='%b %-d, %Y' %}{% endcapture %}
|
|
32
|
+
<p class="blog-archive-range">{{ range_from_text | strip }} {{ oldest_date | strip }} {{ range_to_text | strip }} {{ newest_date | strip }}.</p>
|
|
33
|
+
{% endif %}
|
|
34
|
+
{% for item in archive_posts %}
|
|
35
|
+
{% capture item_reading_time_html %}{% include post-reading-time.liquid item=item content=item.content %}{% endcapture %}
|
|
36
|
+
{% assign item_reading_time_html = item_reading_time_html | strip %}
|
|
37
|
+
<article class="blog-archive-item">
|
|
38
|
+
<p class="blog-archive-meta">
|
|
39
|
+
<time datetime="{{ item.date | date_to_xmlschema }}">{% include localized-date.liquid date=item.date format_key='date.formats.medium' default_format='%b %-d, %Y' %}</time>
|
|
40
|
+
{% if item_reading_time_html != '' %}{{ item_reading_time_html }}{% endif %}
|
|
41
|
+
{% if item.categories and item.categories.size > 0 %}<span>{{ item.categories | join: ', ' }}</span>{% endif %}
|
|
42
|
+
</p>
|
|
43
|
+
<h2 class="blog-archive-title">
|
|
44
|
+
{% if item.redirect == blank %}
|
|
45
|
+
<a href="{{ item.url | relative_url }}">{{ item.title }}</a>
|
|
46
|
+
{% elsif item.redirect contains '://' %}
|
|
47
|
+
<a href="{{ item.redirect }}" target="_blank" rel="noopener">{{ item.title }}</a>
|
|
48
|
+
{% else %}
|
|
49
|
+
<a href="{{ item.redirect | relative_url }}">{{ item.title }}</a>
|
|
50
|
+
{% endif %}
|
|
51
|
+
</h2>
|
|
52
|
+
{% assign item_excerpt = item.description | default: item.excerpt | strip_html | strip_newlines %}
|
|
53
|
+
{% if item_excerpt %}<p class="blog-archive-excerpt">{{ item_excerpt }}</p>{% endif %}
|
|
54
|
+
{% if item.tags and item.tags.size > 0 %}
|
|
55
|
+
<ul class="blog-archive-tags" aria-label="Tags">
|
|
56
|
+
{% for tag in item.tags %}<li>{{ tag }}</li>{% endfor %}
|
|
57
|
+
</ul>
|
|
58
|
+
{% endif %}
|
|
59
|
+
</article>
|
|
60
|
+
{% endfor %}
|
|
61
|
+
{% else %}
|
|
62
|
+
<p>{% include t.liquid key='blog.empty' default='No blog posts yet.' %}</p>
|
|
63
|
+
{% endif %}
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
{% include pagination.liquid %}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{% assign citation_item = include.item | default: page %}
|
|
2
|
+
{% assign citation_title = include.title | default: citation_item.title %}
|
|
3
|
+
{% assign citation_author = include.author | default: citation_item.author %}
|
|
4
|
+
{% assign citation_publisher = include.publisher | default: citation_item.publisher %}
|
|
5
|
+
{% assign citation_year = include.year | default: citation_item.year | default: citation_item.released %}
|
|
6
|
+
{% assign citation_isbn = include.isbn | default: citation_item.isbn %}
|
|
7
|
+
{% assign citation_doi = include.doi | default: citation_item.doi %}
|
|
8
|
+
{% assign citation_url = citation_item.url | absolute_url %}
|
|
9
|
+
{% assign citation_key_author = citation_author | default: citation_title | split: '&' | first | split: ',' | first | split: ' ' | last | slugify %}
|
|
10
|
+
{% assign citation_key_year = citation_year | default: 'nd' %}
|
|
11
|
+
{% assign citation_key = citation_item.citation_key | default: citation_key_author | append: citation_key_year | append: citation_title | slugify %}
|
|
12
|
+
{% assign bibtex_author = citation_author | replace: ' & ', ' and ' %}
|
|
13
|
+
|
|
14
|
+
{% capture how_to_cite_text %}{% include t.liquid key='reading.how_to_cite' default='How to cite' %}{% endcapture %}
|
|
15
|
+
{% capture bibtex_text %}{% include t.liquid key='reading.bibtex' default='BibTeX' %}{% endcapture %}
|
|
16
|
+
|
|
17
|
+
<div class="reading-citation">
|
|
18
|
+
<h3>{{ how_to_cite_text | strip }}</h3>
|
|
19
|
+
<p>
|
|
20
|
+
{% if citation_author %}{{ citation_author }}{% endif %}{% if citation_year %} ({{ citation_year }}){% endif %}.
|
|
21
|
+
<em>{{ citation_title }}</em>{% if citation_publisher %}. {{ citation_publisher }}{% endif %}{% if citation_doi %}. https://doi.org/{{ citation_doi }}{% elsif citation_isbn %}. ISBN {{ citation_isbn }}{% endif %}.
|
|
22
|
+
</p>
|
|
23
|
+
<h3>{{ bibtex_text | strip }}</h3>
|
|
24
|
+
<pre><code class="language-bibtex">@book{ {{- citation_key -}},
|
|
25
|
+
title = { {{- citation_title -}} }{% if bibtex_author %},
|
|
26
|
+
author = { {{- bibtex_author -}} }{% endif %}{% if citation_year %},
|
|
27
|
+
year = { {{- citation_year -}} }{% endif %}{% if citation_publisher %},
|
|
28
|
+
publisher = { {{- citation_publisher -}} }{% endif %}{% if citation_isbn %},
|
|
29
|
+
isbn = { {{- citation_isbn -}} }{% endif %}{% if citation_doi %},
|
|
30
|
+
doi = { {{- citation_doi -}} }{% endif %},
|
|
31
|
+
url = { {{- citation_url -}} }
|
|
32
|
+
}</code></pre>
|
|
33
|
+
</div>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<br>
|
|
2
|
+
<hr>
|
|
3
|
+
<br>
|
|
4
|
+
|
|
5
|
+
If you found this useful, please cite this as:
|
|
6
|
+
|
|
7
|
+
{% capture citation_quote -%}
|
|
8
|
+
> {{ site.last_name }}, {{ site.first_name }}{% if site.middle_name %} {{ site.middle_name }}{% endif %} ({{ page.date | date: "%b %Y" }}). {{ page.title }}. {% if site.title != 'blank' %}{{ site.title }}. {% endif %}{{ site.url }}.
|
|
9
|
+
{%- endcapture %}
|
|
10
|
+
{{ citation_quote | markdownify }}
|
|
11
|
+
|
|
12
|
+
<p>or as a BibTeX entry:</p>
|
|
13
|
+
|
|
14
|
+
{% capture citation_code -%}
|
|
15
|
+
```bibtex
|
|
16
|
+
@article{ {{- site.last_name | downcase }}{{ page.date | date: "%Y" }}{{ page.title | slugify }},
|
|
17
|
+
title = { {{- page.title -}} },
|
|
18
|
+
author = { {{- site.last_name }}, {{ site.first_name }}{% if site.middle_name %} {{ site.middle_name }}{% endif -%}},
|
|
19
|
+
{%- if site.title != 'blank' %}journal = { {{- site.title -}} },{% endif %}
|
|
20
|
+
year = { {{- page.date | date: "%Y" -}} },
|
|
21
|
+
month = { {{- page.date | date: "%b" -}} },
|
|
22
|
+
url = { {{- site.url }}{{ page.url -}} }
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
{%- endcapture %}
|
|
26
|
+
{{ citation_code | markdownify }}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<div class="list-groups">
|
|
2
|
+
{% for content in entry.contents %}
|
|
3
|
+
<div class="list-group col-md-6">
|
|
4
|
+
<table class="table-cv list-group-table">
|
|
5
|
+
<tbody>
|
|
6
|
+
<tr>
|
|
7
|
+
{% if content.icon %}
|
|
8
|
+
<td class="list-group-category-icon"><i class="{{ content.icon }}"></i></td>
|
|
9
|
+
{% else %}
|
|
10
|
+
<td class="list-group-category-icon"></td>
|
|
11
|
+
{% endif %}
|
|
12
|
+
<!-- Calculate colspan number for category title -->
|
|
13
|
+
{% assign i = 1 %}
|
|
14
|
+
{% for item in content.items %}
|
|
15
|
+
{% assign i = i | plus: 1 %}
|
|
16
|
+
{% endfor %}
|
|
17
|
+
<td colspan="{{ i }}" class="list-group-category">{{ content.category }}</td>
|
|
18
|
+
</tr>
|
|
19
|
+
{% for item in content.items %}
|
|
20
|
+
<tr>
|
|
21
|
+
<td></td>
|
|
22
|
+
<td class="list-group-name">
|
|
23
|
+
<b>{{ item.name }}</b>
|
|
24
|
+
</td>
|
|
25
|
+
{% if item.level %}
|
|
26
|
+
<td class="list-group-level">{{ item.level }}</td>
|
|
27
|
+
{% endif %}
|
|
28
|
+
{% if item.school %}
|
|
29
|
+
<td class="list-group-school">{{ item.school }}
|
|
30
|
+
{% endif %}
|
|
31
|
+
{% if item.time %}
|
|
32
|
+
<br>
|
|
33
|
+
<span class="list-group-time">{{ item.time }}</span>
|
|
34
|
+
</td>
|
|
35
|
+
{% else %}
|
|
36
|
+
</td>
|
|
37
|
+
{% endif %}
|
|
38
|
+
{% if item.link %}
|
|
39
|
+
<td class="list-group-link">
|
|
40
|
+
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">
|
|
41
|
+
{% if item.linkname %}{{ item.linkname }}{% else %}DOC{% endif %}
|
|
42
|
+
</a>
|
|
43
|
+
</td>
|
|
44
|
+
{% endif %}
|
|
45
|
+
</tr>
|
|
46
|
+
{% endfor %}
|
|
47
|
+
</tbody>
|
|
48
|
+
</table>
|
|
49
|
+
</div>
|
|
50
|
+
{% endfor %}
|
|
51
|
+
</div>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<table class="table table-cv table-sm table-borderless table-responsive">
|
|
2
|
+
{% for content in entry.contents %}
|
|
3
|
+
<tr>
|
|
4
|
+
<td class="p-1 pr-2 font-weight-bold">
|
|
5
|
+
<b>{{ content.name }}</b>
|
|
6
|
+
</td>
|
|
7
|
+
{% if content.value %}
|
|
8
|
+
<td class="p-1 pl-2 font-weight-light text">{{ content.value }}</td>
|
|
9
|
+
{% endif %}
|
|
10
|
+
{% if content.links %}
|
|
11
|
+
<td class="p-1 pl-2 font-weight-light text">
|
|
12
|
+
<div class="container-pdf">
|
|
13
|
+
{% for item in content.links %}
|
|
14
|
+
{% if item.link %}
|
|
15
|
+
<div class="container-link-button">
|
|
16
|
+
{% if item.name %}
|
|
17
|
+
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">{{ item.name }}</a>
|
|
18
|
+
{% else %}
|
|
19
|
+
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">doc</a>
|
|
20
|
+
{% endif %}
|
|
21
|
+
</div>
|
|
22
|
+
{% endif %}
|
|
23
|
+
{% endfor %}
|
|
24
|
+
</div>
|
|
25
|
+
</td>
|
|
26
|
+
{% endif %}
|
|
27
|
+
</tr>
|
|
28
|
+
{% endfor %}
|
|
29
|
+
</table>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<ul class="card-text font-weight-light list-group list-group-flush">
|
|
2
|
+
{% for content in entry.contents %}
|
|
3
|
+
<li class="list-group-item">
|
|
4
|
+
<h5 class="font-italic">{{ content.title }}</h5>
|
|
5
|
+
{% if content.items %}
|
|
6
|
+
<ul class="subitems">
|
|
7
|
+
{% for subitem in content.items %}
|
|
8
|
+
<li>
|
|
9
|
+
<span class="subitem">{{ subitem }}</span>
|
|
10
|
+
</li>
|
|
11
|
+
{% endfor %}
|
|
12
|
+
</ul>
|
|
13
|
+
{% endif %}
|
|
14
|
+
</li>
|
|
15
|
+
{% endfor %}
|
|
16
|
+
</ul>
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<ul class="card-text font-weight-light list-group list-group-flush">
|
|
2
|
+
{% for content in entry.contents %}
|
|
3
|
+
<li class="list-group-item">
|
|
4
|
+
<div class="row">
|
|
5
|
+
{% if content.year %}
|
|
6
|
+
<div class="col-xs-2 col-sm-2 col-md-2 text-center" style="width: 75px">
|
|
7
|
+
<table class="table-cv">
|
|
8
|
+
<tbody>
|
|
9
|
+
<tr>
|
|
10
|
+
<td>
|
|
11
|
+
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px">
|
|
12
|
+
{{- content.year -}}
|
|
13
|
+
</span>
|
|
14
|
+
</td>
|
|
15
|
+
</tr>
|
|
16
|
+
{% if content.location %}
|
|
17
|
+
<tr>
|
|
18
|
+
<td>
|
|
19
|
+
<p class="location">
|
|
20
|
+
<i class="fa-solid fa-location-dot iconlocation"></i>
|
|
21
|
+
{{ content.location }}
|
|
22
|
+
</p>
|
|
23
|
+
</td>
|
|
24
|
+
</tr>
|
|
25
|
+
{% endif %}
|
|
26
|
+
</tbody>
|
|
27
|
+
</table>
|
|
28
|
+
</div>
|
|
29
|
+
{% endif %}
|
|
30
|
+
<div class="col-xs-10 col-sm-10 col-md-10 mt-2 mt-md-0">
|
|
31
|
+
{% if content.title %}
|
|
32
|
+
<h6 class="title font-weight-bold ml-1 ml-md-4">{{ content.title }}</h6>
|
|
33
|
+
{% endif %}
|
|
34
|
+
{% if content.department or content.institution %}
|
|
35
|
+
<table class="table-cv ml-1 ml-md-4 institution">
|
|
36
|
+
<tbody>
|
|
37
|
+
{% if content.institution %}
|
|
38
|
+
<tr>
|
|
39
|
+
<td style="vertical-align: top; text-align: center" class="institution">
|
|
40
|
+
<i class="fa-solid fa-building-columns iconinstitution"></i>
|
|
41
|
+
</td>
|
|
42
|
+
<td class="institution">{{ content.institution }}</td>
|
|
43
|
+
</tr>
|
|
44
|
+
{% endif %}
|
|
45
|
+
{% if content.department %}
|
|
46
|
+
<tr>
|
|
47
|
+
<td style="vertical-align: top; text-align: center" class="department">
|
|
48
|
+
<i class="fa-regular fa-circle-dot icondepartment"></i>
|
|
49
|
+
</td>
|
|
50
|
+
<td class="department">{{ content.department }}</td>
|
|
51
|
+
</tr>
|
|
52
|
+
{% endif %}
|
|
53
|
+
</tbody>
|
|
54
|
+
</table>
|
|
55
|
+
{% endif %}
|
|
56
|
+
{% if content.maindescription %}
|
|
57
|
+
<div class="ml-1 ml-md-4">{{ content.maindescription }}</div>
|
|
58
|
+
{% endif %}
|
|
59
|
+
{% if content.description %}
|
|
60
|
+
<ul class="items">
|
|
61
|
+
{% for item in content.description %}
|
|
62
|
+
<li>
|
|
63
|
+
{% if item.contents %}
|
|
64
|
+
<span class="item-title">{{ item.title }}</span>
|
|
65
|
+
<ul class="subitems">
|
|
66
|
+
{% for subitem in item.contents %}
|
|
67
|
+
<li>
|
|
68
|
+
<span class="subitem">{{ subitem }}</span>
|
|
69
|
+
</li>
|
|
70
|
+
{% endfor %}
|
|
71
|
+
</ul>
|
|
72
|
+
{% else %}
|
|
73
|
+
<span class="item">{{ item }}</span>
|
|
74
|
+
{% endif %}
|
|
75
|
+
</li>
|
|
76
|
+
{% endfor %}
|
|
77
|
+
</ul>
|
|
78
|
+
{% endif %}
|
|
79
|
+
{% if content.items %}
|
|
80
|
+
<ul class="items">
|
|
81
|
+
{% for item in content.items %}
|
|
82
|
+
<li>
|
|
83
|
+
{% if item.contents %}
|
|
84
|
+
<span class="item-title">{{ item.title }}</span>
|
|
85
|
+
<ul class="subitems">
|
|
86
|
+
{% for subitem in item.contents %}
|
|
87
|
+
<li>
|
|
88
|
+
<span class="subitem">{{ subitem }}</span>
|
|
89
|
+
</li>
|
|
90
|
+
{% endfor %}
|
|
91
|
+
</ul>
|
|
92
|
+
{% else %}
|
|
93
|
+
<span class="item">{{ item }}</span>
|
|
94
|
+
{% endif %}
|
|
95
|
+
</li>
|
|
96
|
+
{% endfor %}
|
|
97
|
+
</ul>
|
|
98
|
+
{% endif %}
|
|
99
|
+
{% if content.linkitems %}
|
|
100
|
+
<div class="container-links ml-1 ml-md-4">
|
|
101
|
+
{% for item in content.linkitems %}
|
|
102
|
+
{% if item.link %}
|
|
103
|
+
<div class="container-link-button">
|
|
104
|
+
{% if item.linkname %}
|
|
105
|
+
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">{{ item.linkname }}</a>
|
|
106
|
+
{% else %}
|
|
107
|
+
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">doc</a>
|
|
108
|
+
{% endif %}
|
|
109
|
+
</div>
|
|
110
|
+
{% endif %}
|
|
111
|
+
{% endfor %}
|
|
112
|
+
</div>
|
|
113
|
+
{% endif %}
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</li>
|
|
117
|
+
{% endfor %}
|
|
118
|
+
</ul>
|