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
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
\documentclass[11pt,a4paper,twoside,openright]{book}
|
|
2
|
+
|
|
3
|
+
\usepackage{amsmath,amssymb}
|
|
4
|
+
\usepackage{booktabs}
|
|
5
|
+
\usepackage{cancel}
|
|
6
|
+
\usepackage{emptypage}
|
|
7
|
+
\usepackage{enumitem}
|
|
8
|
+
\usepackage{etoolbox}
|
|
9
|
+
\usepackage{fontspec}
|
|
10
|
+
\usepackage{float}
|
|
11
|
+
\usepackage{framed}
|
|
12
|
+
\usepackage{graphicx}
|
|
13
|
+
\usepackage{grffile}
|
|
14
|
+
\usepackage{longtable}
|
|
15
|
+
\usepackage{array}
|
|
16
|
+
\usepackage{calc}
|
|
17
|
+
\usepackage{geometry}
|
|
18
|
+
\usepackage{microtype}
|
|
19
|
+
\usepackage{needspace}
|
|
20
|
+
\usepackage{ragged2e}
|
|
21
|
+
\usepackage{setspace}
|
|
22
|
+
\usepackage{subcaption}
|
|
23
|
+
\usepackage{tikz}
|
|
24
|
+
\usepackage{titlesec}
|
|
25
|
+
\usepackage{listings}
|
|
26
|
+
\usepackage{lstlinebgrd}
|
|
27
|
+
\usepackage[most]{tcolorbox}
|
|
28
|
+
\usepackage{xcolor}
|
|
29
|
+
\usepackage{xurl}
|
|
30
|
+
\usepackage{hyperref}
|
|
31
|
+
\usepackage{bookmark}
|
|
32
|
+
\usepackage[$babel-lang$]{babel}
|
|
33
|
+
|
|
34
|
+
\geometry{inner=25mm,outer=22mm,top=24mm,bottom=26mm}
|
|
35
|
+
\setmainfont{DejaVu Serif}
|
|
36
|
+
\setsansfont{DejaVu Sans}
|
|
37
|
+
\setmonofont{DejaVu Sans Mono}[Scale=MatchLowercase]
|
|
38
|
+
\setstretch{1.08}
|
|
39
|
+
\setlength{\parindent}{0pt}
|
|
40
|
+
\setlength{\parskip}{0.5em}
|
|
41
|
+
\raggedbottom
|
|
42
|
+
\clubpenalty=10000
|
|
43
|
+
\widowpenalty=10000
|
|
44
|
+
\displaywidowpenalty=10000
|
|
45
|
+
\setcounter{secnumdepth}{3}
|
|
46
|
+
\setcounter{tocdepth}{2}
|
|
47
|
+
\pretocmd{\section}{\Needspace{6\baselineskip}}{}{}
|
|
48
|
+
\pretocmd{\subsection}{\Needspace{5\baselineskip}}{}{}
|
|
49
|
+
\pretocmd{\subsubsection}{\Needspace{5\baselineskip}}{}{}
|
|
50
|
+
\pretocmd{\paragraph}{\Needspace{4\baselineskip}}{}{}
|
|
51
|
+
\setlist[description]{style=nextline,leftmargin=1.5em,labelindent=0pt,itemsep=0.65em,topsep=0.65em,font=\normalfont\bfseries}
|
|
52
|
+
\renewcommand*{\descriptionlabel}[1]{\hspace\labelsep\normalfont\bfseries #1:}
|
|
53
|
+
\setlength{\LTpre}{0.6em}
|
|
54
|
+
\setlength{\LTpost}{0.8em}
|
|
55
|
+
|
|
56
|
+
\definecolor{ManualPrimary}{HTML}{$primary-color$}
|
|
57
|
+
\definecolor{ManualBand}{HTML}{$band-color$}
|
|
58
|
+
\definecolor{ManualSecondary}{HTML}{$secondary-color$}
|
|
59
|
+
\definecolor{ManualMuted}{HTML}{$muted-color$}
|
|
60
|
+
\definecolor{ManualInternalLink}{HTML}{$internal-link-color$}
|
|
61
|
+
\definecolor{ManualExternalLink}{HTML}{$external-link-color$}
|
|
62
|
+
\definecolor{ManualCitationLink}{HTML}{$citation-link-color$}
|
|
63
|
+
\definecolor{ManualInlineCode}{HTML}{$inline-code-color$}
|
|
64
|
+
\colorlet{ManualCodeBackground}{ManualMuted!5!white}
|
|
65
|
+
\colorlet{ManualCodeStripe}{ManualSecondary!4!white}
|
|
66
|
+
\colorlet{ManualCodeBorder}{ManualSecondary!38!white}
|
|
67
|
+
\colorlet{ManualCodeText}{ManualSecondary!82!black}
|
|
68
|
+
\definecolor{ManualCodeKeyword}{HTML}{003F73}
|
|
69
|
+
\definecolor{ManualCodeComment}{HTML}{39705A}
|
|
70
|
+
\definecolor{ManualCodeString}{HTML}{9A3D45}
|
|
71
|
+
\definecolor{ManualCodeNumber}{HTML}{687789}
|
|
72
|
+
\DeclareCaptionFont{manualcaption}{\sffamily\fontsize{9.4}{11.2}\selectfont}
|
|
73
|
+
\DeclareCaptionFont{manualsubcaption}{\sffamily\fontsize{8.8}{10.5}\selectfont}
|
|
74
|
+
\DeclareCaptionLabelFormat{manual}{\textcolor{ManualSecondary}{#1\nobreakspace #2}}
|
|
75
|
+
\captionsetup{
|
|
76
|
+
font={manualcaption,color=ManualMuted},
|
|
77
|
+
labelfont={bf,sf},
|
|
78
|
+
labelformat=manual,
|
|
79
|
+
format=hang,
|
|
80
|
+
justification=RaggedRight,
|
|
81
|
+
singlelinecheck=false
|
|
82
|
+
}
|
|
83
|
+
\captionsetup[figure]{position=top,margin=1em,aboveskip=0pt,belowskip=7pt}
|
|
84
|
+
\captionsetup[table]{position=top,margin=1em,aboveskip=0pt,belowskip=7pt}
|
|
85
|
+
\captionsetup[lstlisting]{position=top,margin=0pt,aboveskip=0pt,belowskip=7pt}
|
|
86
|
+
\captionsetup[subfigure]{
|
|
87
|
+
font={manualsubcaption,color=ManualMuted},
|
|
88
|
+
labelfont={bf,sf,color=ManualSecondary},
|
|
89
|
+
margin=0pt,
|
|
90
|
+
skip=5pt
|
|
91
|
+
}
|
|
92
|
+
\titleformat{\chapter}[hang]
|
|
93
|
+
{\normalfont\sffamily\LARGE\bfseries\color{ManualSecondary}}
|
|
94
|
+
{\thechapter.}{0.55em}{}
|
|
95
|
+
\titlespacing*{\chapter}{0pt}{36pt}{30pt}
|
|
96
|
+
\titleformat{\section}
|
|
97
|
+
{\normalfont\Large\bfseries\color{ManualSecondary}}
|
|
98
|
+
{\thesection}{0.75em}{}
|
|
99
|
+
\titleformat{\subsection}
|
|
100
|
+
{\normalfont\large\bfseries\color{ManualSecondary}}
|
|
101
|
+
{\thesubsection}{0.75em}{}
|
|
102
|
+
\titleformat{\subsubsection}
|
|
103
|
+
{\normalfont\normalsize\bfseries\color{ManualSecondary}}
|
|
104
|
+
{\thesubsubsection}{0.75em}{}
|
|
105
|
+
\titleformat{\paragraph}[runin]
|
|
106
|
+
{\normalfont\normalsize\bfseries\color{ManualSecondary}}
|
|
107
|
+
{\theparagraph}{0.75em}{}
|
|
108
|
+
\titleformat{\subparagraph}[runin]
|
|
109
|
+
{\normalfont\normalsize\bfseries\color{ManualSecondary}}
|
|
110
|
+
{\thesubparagraph}{0.75em}{}
|
|
111
|
+
\definecolor{ManualCalloutInfo}{HTML}{2A5FB8}
|
|
112
|
+
\definecolor{ManualCalloutExample}{HTML}{13795B}
|
|
113
|
+
\definecolor{ManualCalloutWarning}{HTML}{A65D03}
|
|
114
|
+
\definecolor{ManualCalloutObjectives}{HTML}{2F6FD6}
|
|
115
|
+
\definecolor{ManualCalloutDanger}{HTML}{A12929}
|
|
116
|
+
|
|
117
|
+
\newcommand{\ManualCodeLineBackground}{%
|
|
118
|
+
\ifodd\value{lstnumber}\color{ManualCodeBackground}\else\color{ManualCodeStripe}\fi
|
|
119
|
+
}
|
|
120
|
+
\lstdefinelanguage{ManualURL}{
|
|
121
|
+
sensitive=true,
|
|
122
|
+
morecomment=[l]{\#},
|
|
123
|
+
morekeywords={http,https,SERVICE,REQUEST,VERSION,LAYERS,FORMAT,CRS,SRS,BBOX,WIDTH,HEIGHT},
|
|
124
|
+
morestring=[b]"
|
|
125
|
+
}
|
|
126
|
+
\lstdefinelanguage{ManualSpreadsheet}{
|
|
127
|
+
sensitive=false,
|
|
128
|
+
morekeywords={AND,AVERAGE,COUNTIF,DATEDIF,DATE,DAY,HEX2DEC,HLOOKUP,IF,ISBLANK,ISNUMBER,ISTEXT,LEFT,MID,MONTH,NA,NETWORKDAYS,ROUND,SI,SUM,SUMA,SUMIFS,TODAY,TRIM,VLOOKUP,WEEKDAY,XLOOKUP,YEAR},
|
|
129
|
+
morestring=[b]"
|
|
130
|
+
}
|
|
131
|
+
\lstdefinelanguage{ManualFileTree}{
|
|
132
|
+
sensitive=true,
|
|
133
|
+
morecomment=[l]{\#},
|
|
134
|
+
alsoletter={_-},
|
|
135
|
+
morekeywords={data,figures,maps,outputs,processed,qgis,raw,scripts,src},
|
|
136
|
+
emph={csv,geojson,gpkg,jpeg,jpg,pdf,png,qgz,svg,tif,tiff,xlsx},
|
|
137
|
+
emphstyle=\color{ManualCodeString}
|
|
138
|
+
}
|
|
139
|
+
\lstdefinestyle{manualbase}{
|
|
140
|
+
basicstyle=\ttfamily\small\color{ManualCodeText},
|
|
141
|
+
keywordstyle=\bfseries\color{ManualCodeKeyword},
|
|
142
|
+
commentstyle=\itshape\color{ManualCodeComment},
|
|
143
|
+
stringstyle=\color{ManualCodeString},
|
|
144
|
+
numberstyle=\scriptsize\ttfamily\color{ManualCodeNumber},
|
|
145
|
+
numbers=none,
|
|
146
|
+
frame=none,
|
|
147
|
+
xleftmargin=0pt,
|
|
148
|
+
framexleftmargin=0pt,
|
|
149
|
+
columns=fullflexible,
|
|
150
|
+
keepspaces=true,
|
|
151
|
+
showspaces=false,
|
|
152
|
+
showstringspaces=false,
|
|
153
|
+
showtabs=false,
|
|
154
|
+
tabsize=4,
|
|
155
|
+
upquote=true,
|
|
156
|
+
breaklines=true,
|
|
157
|
+
breakatwhitespace=false,
|
|
158
|
+
breakautoindent=true,
|
|
159
|
+
breakindent=0.75em,
|
|
160
|
+
prebreak={},
|
|
161
|
+
postbreak={},
|
|
162
|
+
linebackgroundcolor=\ManualCodeLineBackground,
|
|
163
|
+
linebackgroundsep=0pt,
|
|
164
|
+
linebackgroundwidth=\linewidth,
|
|
165
|
+
aboveskip=0pt,
|
|
166
|
+
belowskip=0pt,
|
|
167
|
+
literate=
|
|
168
|
+
{à}{{\`a}}1 {á}{{\'a}}1 {è}{{\`e}}1 {é}{{\'e}}1
|
|
169
|
+
{í}{{\'i}}1 {ï}{{\"i}}1 {ò}{{\`o}}1 {ó}{{\'o}}1
|
|
170
|
+
{ú}{{\'u}}1 {ü}{{\"u}}1 {ç}{{\c{c}}}1
|
|
171
|
+
{À}{{\`A}}1 {Á}{{\'A}}1 {È}{{\`E}}1 {É}{{\'E}}1
|
|
172
|
+
{Í}{{\'I}}1 {Ï}{{\"I}}1 {Ò}{{\`O}}1 {Ó}{{\'O}}1
|
|
173
|
+
{Ú}{{\'U}}1 {Ü}{{\"U}}1 {Ç}{{\c{C}}}1
|
|
174
|
+
{·}{{\textperiodcentered}}1 {«}{{\guillemotleft}}1 {»}{{\guillemotright}}1
|
|
175
|
+
}
|
|
176
|
+
\lstdefinestyle{manualcode}{
|
|
177
|
+
style=manualbase,
|
|
178
|
+
numbers=left,
|
|
179
|
+
numbersep=7pt,
|
|
180
|
+
xleftmargin=2.35em
|
|
181
|
+
}
|
|
182
|
+
\lstdefinestyle{manualverbatim}{
|
|
183
|
+
style=manualbase,
|
|
184
|
+
numbers=none,
|
|
185
|
+
xleftmargin=0pt
|
|
186
|
+
}
|
|
187
|
+
\newtcblisting{manualcode}[2][]{
|
|
188
|
+
enhanced,
|
|
189
|
+
breakable,
|
|
190
|
+
listing only,
|
|
191
|
+
listing engine=listings,
|
|
192
|
+
listing options={style=manualcode,#1},
|
|
193
|
+
colback=ManualCodeBackground,
|
|
194
|
+
colframe=ManualCodeBorder,
|
|
195
|
+
colbacktitle=ManualSecondary!8!white,
|
|
196
|
+
coltitle=ManualSecondary,
|
|
197
|
+
fonttitle=\sffamily\bfseries\footnotesize,
|
|
198
|
+
title={\strut #2},
|
|
199
|
+
boxrule=0.55pt,
|
|
200
|
+
titlerule=0pt,
|
|
201
|
+
arc=0.8mm,
|
|
202
|
+
outer arc=0.8mm,
|
|
203
|
+
left=2pt,
|
|
204
|
+
right=4pt,
|
|
205
|
+
top=6pt,
|
|
206
|
+
bottom=6pt,
|
|
207
|
+
lefttitle=9pt,
|
|
208
|
+
righttitle=9pt,
|
|
209
|
+
toptitle=5pt,
|
|
210
|
+
bottomtitle=5pt,
|
|
211
|
+
before skip=1em,
|
|
212
|
+
after skip=1.1em
|
|
213
|
+
}
|
|
214
|
+
\newenvironment{manualcodelisting}[1]{%
|
|
215
|
+
\Needspace{6\baselineskip}%
|
|
216
|
+
\captionof{lstlisting}{#1}%
|
|
217
|
+
\vspace{-0.45em}%
|
|
218
|
+
}{}
|
|
219
|
+
\newtcblisting{manualverbatim}{
|
|
220
|
+
enhanced,
|
|
221
|
+
breakable,
|
|
222
|
+
listing only,
|
|
223
|
+
listing engine=listings,
|
|
224
|
+
listing options={style=manualverbatim},
|
|
225
|
+
colback=ManualCodeBackground,
|
|
226
|
+
colframe=ManualCodeBorder,
|
|
227
|
+
boxrule=0.55pt,
|
|
228
|
+
arc=0.8mm,
|
|
229
|
+
outer arc=0.8mm,
|
|
230
|
+
left=5pt,
|
|
231
|
+
right=5pt,
|
|
232
|
+
top=6pt,
|
|
233
|
+
bottom=6pt,
|
|
234
|
+
before skip=1em,
|
|
235
|
+
after skip=1.1em
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
\let\ManualOriginalTexttt\texttt
|
|
239
|
+
\renewcommand{\texttt}[1]{{\color{ManualInlineCode}\ManualOriginalTexttt{#1}}}
|
|
240
|
+
|
|
241
|
+
\newenvironment{manualcallout}[3][enhanced]{%
|
|
242
|
+
\begin{tcolorbox}[
|
|
243
|
+
#1,
|
|
244
|
+
colback=#2!6!white,
|
|
245
|
+
colframe=#2,
|
|
246
|
+
boxrule=0.55pt,
|
|
247
|
+
leftrule=2.6pt,
|
|
248
|
+
arc=1.2pt,
|
|
249
|
+
left=8pt,
|
|
250
|
+
right=8pt,
|
|
251
|
+
top=7pt,
|
|
252
|
+
bottom=7pt,
|
|
253
|
+
before skip=0.8em,
|
|
254
|
+
after skip=0.8em
|
|
255
|
+
]%
|
|
256
|
+
{\bfseries\sffamily\color{#2}#3}\par\smallskip
|
|
257
|
+
}{%
|
|
258
|
+
\end{tcolorbox}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
\hypersetup{
|
|
262
|
+
colorlinks=true,
|
|
263
|
+
linkcolor=ManualInternalLink,
|
|
264
|
+
urlcolor=ManualExternalLink,
|
|
265
|
+
citecolor=ManualCitationLink,
|
|
266
|
+
pdftitle={$title$},
|
|
267
|
+
pdfauthor={$author$}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
\providecommand{\tightlist}{%
|
|
271
|
+
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
|
272
|
+
\providecommand{\pandocbounded}[1]{#1}
|
|
273
|
+
\providecommand{\cm}{\,\mathrm{cm}}
|
|
274
|
+
\providecommand{\mm}{\,\mathrm{mm}}
|
|
275
|
+
\providecommand{\m}{\,\mathrm{m}}
|
|
276
|
+
\providecommand{\km}{\,\mathrm{km}}
|
|
277
|
+
\providecommand{\cms}{\,\mathrm{cm^2}}
|
|
278
|
+
\providecommand{\squarekilometre}{\,\mathrm{km^2}}
|
|
279
|
+
\providecommand{\hectare}{\,\mathrm{ha}}
|
|
280
|
+
\providecommand{\ha}{\,\mathrm{ha}}
|
|
281
|
+
\newcommand{\passthrough}[1]{#1}
|
|
282
|
+
\newlength{\cslhangindent}
|
|
283
|
+
\setlength{\cslhangindent}{1.5em}
|
|
284
|
+
\newlength{\csllabelwidth}
|
|
285
|
+
\setlength{\csllabelwidth}{3em}
|
|
286
|
+
\NewDocumentCommand\citeproctext{}{}
|
|
287
|
+
\NewDocumentCommand\citeproc{mm}{\begingroup\def\citeproctext{#2}\cite{#1}\endgroup}
|
|
288
|
+
\makeatletter
|
|
289
|
+
\let\@cite@ofmt\@firstofone
|
|
290
|
+
\def\@biblabel#1{}
|
|
291
|
+
\def\@cite#1#2{{#1\if@tempswa , #2\fi}}
|
|
292
|
+
\makeatother
|
|
293
|
+
\newenvironment{CSLReferences}[2]
|
|
294
|
+
{\begin{list}{}{%
|
|
295
|
+
\setlength{\itemindent}{0pt}
|
|
296
|
+
\setlength{\leftmargin}{0pt}
|
|
297
|
+
\setlength{\parsep}{0pt}
|
|
298
|
+
\ifodd #1
|
|
299
|
+
\setlength{\leftmargin}{\cslhangindent}
|
|
300
|
+
\setlength{\itemindent}{-1\cslhangindent}
|
|
301
|
+
\fi
|
|
302
|
+
\setlength{\itemsep}{#2\baselineskip}}}
|
|
303
|
+
{\end{list}}
|
|
304
|
+
\newcommand{\CSLBlock}[1]{\hfill\break\parbox[t]{\linewidth}{\strut\ignorespaces#1\strut}}
|
|
305
|
+
\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{\strut#1\strut}}
|
|
306
|
+
\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{\strut#1\strut}}
|
|
307
|
+
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}
|
|
308
|
+
|
|
309
|
+
\makeatletter
|
|
310
|
+
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
|
|
311
|
+
\def\maxheight{\ifdim\Gin@nat@height>0.82\textheight 0.82\textheight\else\Gin@nat@height\fi}
|
|
312
|
+
\makeatother
|
|
313
|
+
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
|
|
314
|
+
\floatplacement{figure}{H}
|
|
315
|
+
\renewcommand{\lstlistingname}{$listing-label$}
|
|
316
|
+
\renewcommand{\lstlistlistingname}{$list-of-listings-title$}
|
|
317
|
+
\renewcommand{\listfigurename}{$list-of-figures-title$}
|
|
318
|
+
\renewcommand{\listtablename}{$list-of-tables-title$}
|
|
319
|
+
|
|
320
|
+
\usepackage{fancyhdr}
|
|
321
|
+
\pagestyle{fancy}
|
|
322
|
+
\fancyhf{}
|
|
323
|
+
\fancyhead[LE,RO]{\small\sffamily\color{ManualMuted}{$short-title$}}
|
|
324
|
+
\fancyhead[RE,LO]{\small\sffamily\color{ManualMuted}\leftmark}
|
|
325
|
+
\fancyfoot[LE,RO]{\small\sffamily\thepage}
|
|
326
|
+
\renewcommand{\headrulewidth}{0.2pt}
|
|
327
|
+
\renewcommand{\footrulewidth}{0pt}
|
|
328
|
+
|
|
329
|
+
\fancypagestyle{plain}{%
|
|
330
|
+
\fancyhf{}%
|
|
331
|
+
\fancyfoot[LE,RO]{\small\sffamily\thepage}%
|
|
332
|
+
\renewcommand{\headrulewidth}{0pt}%
|
|
333
|
+
\renewcommand{\footrulewidth}{0pt}%
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
\begin{document}
|
|
337
|
+
\special{pdf:trailerid [<$trailer-id$><$trailer-id$>]}
|
|
338
|
+
\frontmatter
|
|
339
|
+
|
|
340
|
+
\begin{titlepage}
|
|
341
|
+
\thispagestyle{empty}
|
|
342
|
+
\begin{tikzpicture}[remember picture,overlay]
|
|
343
|
+
\fill[ManualBand] (current page.north west) rectangle ([yshift=-2cm]current page.north east);
|
|
344
|
+
\fill[ManualBand] (current page.south west) rectangle ([yshift=2cm]current page.south east);
|
|
345
|
+
|
|
346
|
+
\node[anchor=north,inner sep=0pt,text=white,yshift=-0.46cm] at (current page.north) {
|
|
347
|
+
$if(series-logo)$\raisebox{-0.23cm}{\includegraphics[height=1.05cm]{$series-logo$}}\hspace{0.42cm}$endif$
|
|
348
|
+
{\large\bfseries\sffamily ``\textit{$series$}''}$if(series-subtitle)$\enspace·\enspace{\normalsize\bfseries\sffamily $series-subtitle$}$endif$
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
\node[text width=0.9\textwidth,align=center,anchor=north,font=\fontsize{23}{28}\selectfont\bfseries\sffamily,text=ManualSecondary,yshift=-3.6cm]
|
|
352
|
+
at (current page.north) {$title$};
|
|
353
|
+
|
|
354
|
+
$if(cover-image)$
|
|
355
|
+
\node[anchor=north,inner sep=0pt,yshift=-7.8cm] at (current page.north) {
|
|
356
|
+
\includegraphics[width=\paperwidth]{$cover-image$}
|
|
357
|
+
};
|
|
358
|
+
$else$
|
|
359
|
+
\fill[ManualSecondary!10] ([yshift=-7cm]current page.north west) rectangle ([yshift=-18cm]current page.north east);
|
|
360
|
+
$endif$
|
|
361
|
+
|
|
362
|
+
\node[text width=0.92\textwidth,align=center,anchor=north,font=\normalsize\sffamily,text=ManualMuted,yshift=-22.12cm]
|
|
363
|
+
at (current page.north) {$for(instructors)$$instructors$$sep$ · $endfor$};
|
|
364
|
+
|
|
365
|
+
$if(cover-logo)$
|
|
366
|
+
\node[anchor=center,yshift=4.7cm] at (current page.south) {
|
|
367
|
+
\includegraphics[height=2.1cm]{$cover-logo$}
|
|
368
|
+
};
|
|
369
|
+
$endif$
|
|
370
|
+
|
|
371
|
+
\node[anchor=center,font=\small\sffamily,text=white] at ([yshift=1cm]current page.south) {$rights$};
|
|
372
|
+
\end{tikzpicture}
|
|
373
|
+
\end{titlepage}
|
|
374
|
+
|
|
375
|
+
\thispagestyle{empty}
|
|
376
|
+
\vspace*{0.7cm}
|
|
377
|
+
{\LARGE\bfseries\sffamily\color{ManualSecondary}$metadata-page-title$}\par
|
|
378
|
+
\vspace{0.35cm}
|
|
379
|
+
{\large\bfseries\sffamily $title$}\par
|
|
380
|
+
$if(description)$
|
|
381
|
+
\vspace{0.2cm}
|
|
382
|
+
{\small\color{ManualMuted}$description$}\par
|
|
383
|
+
$endif$
|
|
384
|
+
\vspace{0.55cm}
|
|
385
|
+
\small
|
|
386
|
+
\begin{description}[style=multiline,leftmargin=4.95cm,labelwidth=4.5cm,labelsep=0.45cm,itemsep=0.34em,parsep=0pt,topsep=0pt,font=\normalfont\bfseries\sffamily\color{ManualSecondary}]
|
|
387
|
+
$if(series)$
|
|
388
|
+
\item[$metadata-series-label$] $series$$if(series-subtitle)$ · $series-subtitle$$endif$
|
|
389
|
+
$endif$
|
|
390
|
+
$if(edition)$
|
|
391
|
+
\item[$metadata-edition-label$] $edition$
|
|
392
|
+
$endif$
|
|
393
|
+
$if(publication-date)$
|
|
394
|
+
\item[$metadata-publication-date-label$] $publication-date$
|
|
395
|
+
$endif$
|
|
396
|
+
$if(release-channel)$
|
|
397
|
+
\item[$metadata-release-channel-label$] $release-channel$
|
|
398
|
+
$endif$
|
|
399
|
+
$if(release-selector)$
|
|
400
|
+
\item[$metadata-release-version-label$] $release-selector$
|
|
401
|
+
$endif$
|
|
402
|
+
$if(publisher)$
|
|
403
|
+
\item[$metadata-publisher-label$] $publisher$
|
|
404
|
+
$endif$
|
|
405
|
+
$if(instructors)$
|
|
406
|
+
\item[$metadata-instructors-label$] $for(instructors)$$instructors$$sep$, $endfor$
|
|
407
|
+
$endif$
|
|
408
|
+
$if(institution)$
|
|
409
|
+
\item[$metadata-institution-label$] $institution$
|
|
410
|
+
$endif$
|
|
411
|
+
$if(department)$
|
|
412
|
+
\item[$metadata-department-label$] $department$
|
|
413
|
+
$endif$
|
|
414
|
+
$if(faculty)$
|
|
415
|
+
\item[$metadata-faculty-label$] $faculty$
|
|
416
|
+
$endif$
|
|
417
|
+
$if(location)$
|
|
418
|
+
\item[$metadata-location-label$] $location$
|
|
419
|
+
$endif$
|
|
420
|
+
$if(subject)$
|
|
421
|
+
\item[$metadata-subject-label$] $subject$
|
|
422
|
+
$endif$
|
|
423
|
+
$if(teaching-guides)$
|
|
424
|
+
\item[$metadata-teaching-guides-label$]
|
|
425
|
+
$for(teaching-guides)$$teaching-guides.degree$$if(teaching-guides.subject-code)$ · \texttt{$teaching-guides.subject-code$}$endif$\par
|
|
426
|
+
$endfor$
|
|
427
|
+
$endif$
|
|
428
|
+
$if(academic-year)$
|
|
429
|
+
\item[$metadata-academic-year-label$] $academic-year$
|
|
430
|
+
$endif$
|
|
431
|
+
$if(revision-date)$
|
|
432
|
+
\item[$metadata-revision-date-label$] $revision-date$
|
|
433
|
+
$endif$
|
|
434
|
+
$if(identifier)$
|
|
435
|
+
\item[$metadata-identifier-label$] $identifier$
|
|
436
|
+
$endif$
|
|
437
|
+
$if(source)$
|
|
438
|
+
\item[$metadata-source-label$] $source$
|
|
439
|
+
$endif$
|
|
440
|
+
$if(license)$
|
|
441
|
+
\item[$metadata-license-label$] $license$
|
|
442
|
+
$endif$
|
|
443
|
+
$if(rights)$
|
|
444
|
+
\item[$metadata-rights-label$] $rights$
|
|
445
|
+
$endif$
|
|
446
|
+
\end{description}
|
|
447
|
+
\clearpage
|
|
448
|
+
|
|
449
|
+
$if(draft)$
|
|
450
|
+
\thispagestyle{empty}
|
|
451
|
+
\vspace*{0.3\textheight}
|
|
452
|
+
\begin{center}
|
|
453
|
+
{\Huge\bfseries\sffamily\color{ManualPrimary}$draft-label$}\par
|
|
454
|
+
\vspace{1em}
|
|
455
|
+
{\large\sffamily $draft-description$}
|
|
456
|
+
\end{center}
|
|
457
|
+
\clearpage
|
|
458
|
+
$endif$
|
|
459
|
+
|
|
460
|
+
$if(toc)$
|
|
461
|
+
\tableofcontents
|
|
462
|
+
\label{manual:toc-end}
|
|
463
|
+
\clearpage
|
|
464
|
+
$endif$
|
|
465
|
+
|
|
466
|
+
$if(has-figures)$
|
|
467
|
+
\listoffigures
|
|
468
|
+
\clearpage
|
|
469
|
+
$endif$
|
|
470
|
+
|
|
471
|
+
$if(has-tables)$
|
|
472
|
+
\listoftables
|
|
473
|
+
\clearpage
|
|
474
|
+
$endif$
|
|
475
|
+
|
|
476
|
+
$if(has-listings)$
|
|
477
|
+
\lstlistoflistings
|
|
478
|
+
\clearpage
|
|
479
|
+
$endif$
|
|
480
|
+
|
|
481
|
+
\mainmatter
|
|
482
|
+
$if(include-home)$
|
|
483
|
+
\setcounter{chapter}{-1}
|
|
484
|
+
$endif$
|
|
485
|
+
\makeatletter
|
|
486
|
+
\let\ManualOriginalStarredChapter\@schapter
|
|
487
|
+
\renewcommand{\@schapter}[1]{%
|
|
488
|
+
\markboth{\MakeUppercase{#1}}{}%
|
|
489
|
+
\ManualOriginalStarredChapter{#1}%
|
|
490
|
+
}
|
|
491
|
+
\makeatother
|
|
492
|
+
$body$
|
|
493
|
+
|
|
494
|
+
\end{document}
|