├── .editorconfig ├── .eslintignore ├── .eslintrc.json ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug-report---.md │ ├── config.yml │ └── feature-request---.md ├── dependabot.yml ├── pull_request_template.md └── workflows │ ├── codeql-analysis.yml │ ├── cses.yml │ ├── main.yml │ ├── node.js-ci.yml │ └── stale.yml ├── .gitignore ├── .markdownlint-cli2.jsonc ├── .markdownlint.json ├── .markdownlintignore ├── .stylelintignore ├── .stylelintrc.json ├── .versionrc.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── SECURITY.md ├── archetypes ├── article │ ├── img │ │ └── .gitkeep │ └── index.md ├── blog.md ├── default.md ├── docs.md ├── docs │ ├── _index.md │ └── lorem │ │ ├── _index.md │ │ └── ipsum │ │ └── index.md └── section │ └── _index.md ├── assets ├── fonts │ └── .gitkeep ├── images │ ├── .gitkeep │ └── default-image.png ├── js │ ├── alert-init.js │ ├── alert.js │ ├── app.js │ ├── bootstrap.js │ ├── clipboard.js │ ├── cses.js │ ├── darkmode-init.js │ ├── darkmode.js │ ├── gym-sim.js │ ├── highlight.js │ ├── index.js │ ├── instant.page.js │ ├── katex.js │ ├── lazysizes.js │ ├── mermaid.js │ ├── ratings.js │ ├── scroll-lock.js │ ├── to-top.js │ ├── training.js │ └── vendor │ │ └── .gitkeep └── scss │ ├── app.scss │ ├── common │ ├── _dark.scss │ ├── _fonts.scss │ ├── _global.scss │ └── _variables.scss │ ├── components │ ├── _alerts.scss │ ├── _buttons.scss │ ├── _code.scss │ ├── _comments.scss │ ├── _details.scss │ ├── _forms.scss │ ├── _images.scss │ ├── _mermaid.scss │ ├── _search.scss │ ├── _syntax.scss │ ├── _tables.scss │ ├── code-dark.scss │ ├── code-light.scss │ ├── cses-standings.scss │ ├── rating-style.scss │ └── tables.scss │ ├── layouts │ ├── _footer.scss │ ├── _header.scss │ ├── _pages.scss │ ├── _posts.scss │ └── _sidebar.scss │ └── vendor │ └── .gitkeep ├── babel.config.js ├── config.toml ├── config ├── _default │ ├── config.toml │ ├── markup.toml │ ├── menus.toml │ └── params.toml ├── next │ └── config.toml ├── postcss.config.js ├── production │ └── config.toml └── staging │ └── .gitkeep ├── content ├── ICPCing.md ├── _index.md ├── acerca.md ├── apunte │ ├── _index.md │ ├── anexos │ │ ├── _index.md │ │ └── template │ │ │ ├── img │ │ │ └── .gitkeep │ │ │ └── index.md │ ├── estructuras_de_datos │ │ ├── _index.md │ │ └── union_find │ │ │ ├── img │ │ │ └── disjointsets.png │ │ │ └── index.md │ ├── extras │ │ ├── _index.md │ │ ├── recurrencias_lineales │ │ │ ├── img │ │ │ │ └── .gitkeep │ │ │ └── index.md │ │ └── treaps │ │ │ ├── img │ │ │ ├── ABB1.png │ │ │ ├── ABB2.png │ │ │ ├── Heap1.png │ │ │ ├── Treap1.png │ │ │ ├── TreapsMerge1.png │ │ │ ├── TreapsMerge2.png │ │ │ ├── TreapsMerge3.png │ │ │ ├── TreapsSplit1.png │ │ │ ├── TreapsSplit2.png │ │ │ └── UnbalancedTreap.png │ │ │ └── index.md │ ├── geometria │ │ ├── _index.md │ │ └── puntos │ │ │ ├── img │ │ │ └── .gitkeep │ │ │ └── index.md │ ├── grafos │ │ ├── _index.md │ │ ├── busqueda_en_grafos │ │ │ ├── img │ │ │ │ ├── bfs_dfs.png │ │ │ │ └── bipartito.png │ │ │ └── index.md │ │ ├── caminos_ciclos_eulerianos │ │ │ ├── img │ │ │ │ ├── camino_euleriano.png │ │ │ │ ├── camino_euleriano.svg │ │ │ │ ├── ciclo_euleriano.png │ │ │ │ └── ciclo_euleriano.svg │ │ │ └── index.md │ │ ├── caminos_mas_cortos │ │ │ ├── img │ │ │ │ └── .gitkeep │ │ │ └── index.md │ │ ├── introduccion │ │ │ ├── img │ │ │ │ └── grafo.png │ │ │ └── index.md │ │ └── minimum_spanning_tree │ │ │ ├── img │ │ │ └── .gitkeep │ │ │ └── index.md │ ├── introduccion │ │ ├── _index.md │ │ ├── analisis_de_complejidad │ │ │ ├── img │ │ │ │ └── big-o.png │ │ │ └── index.md │ │ ├── compilacion_y_editores │ │ │ ├── img │ │ │ │ ├── codeblocks.png │ │ │ │ ├── geany.png │ │ │ │ ├── sublimetext.png │ │ │ │ ├── vim.png │ │ │ │ └── vscode.png │ │ │ └── index.md │ │ ├── funciones │ │ │ ├── img │ │ │ │ └── .gitkeep │ │ │ └── index.md │ │ ├── operadores_de_bits │ │ │ ├── img │ │ │ │ └── bitwise-binarioadecimal.png │ │ │ └── index.md │ │ ├── sintaxis_variables_tipos_ciclos │ │ │ ├── img │ │ │ │ └── .gitkeep │ │ │ └── index.md │ │ └── vectores │ │ │ ├── img │ │ │ └── matrix.png │ │ │ └── index.md │ ├── libreria_estandar │ │ ├── _index.md │ │ ├── char_string │ │ │ ├── img │ │ │ │ └── .gitkeep │ │ │ └── index.md │ │ ├── extras │ │ │ ├── _index.md │ │ │ └── permutaciones_de_un_arreglo │ │ │ │ ├── img │ │ │ │ └── .gitkeep │ │ │ │ └── index.md │ │ ├── pair_tuple │ │ │ ├── img │ │ │ │ └── .gitkeep │ │ │ └── index.md │ │ ├── priority_queue │ │ │ ├── img │ │ │ │ └── .gitkeep │ │ │ └── index.md │ │ ├── set_map_multiset │ │ │ ├── img │ │ │ │ └── .gitkeep │ │ │ └── index.md │ │ ├── sort │ │ │ ├── img │ │ │ │ └── .gitkeep │ │ │ └── index.md │ │ └── stack_queue │ │ │ ├── img │ │ │ ├── queue.png │ │ │ └── stack.png │ │ │ └── index.md │ ├── paradigmas_de_resolucion │ │ ├── _index.md │ │ ├── busqueda_binaria │ │ │ ├── img │ │ │ │ ├── bbin_1.png │ │ │ │ ├── bbin_1.svg │ │ │ │ ├── bbin_2.png │ │ │ │ ├── bbin_2.svg │ │ │ │ ├── bbin_3.png │ │ │ │ ├── bbin_3.svg │ │ │ │ ├── bbin_4.png │ │ │ │ ├── bbin_4.svg │ │ │ │ ├── bbin_5.png │ │ │ │ ├── bbin_5.svg │ │ │ │ ├── ternary.png │ │ │ │ └── ternary.svg │ │ │ └── index.md │ │ └── programacion_dinamica │ │ │ ├── img │ │ │ ├── arbol_f(5).png │ │ │ └── dp1_latex1.png │ │ │ └── index.md │ └── prologo │ │ ├── _index.md │ │ └── introduccion │ │ └── index.md ├── cses.md ├── equipos │ ├── icpc.md │ └── ieeextreme.md ├── gimnasio │ ├── cses.md │ ├── lv0.md │ ├── lv1.md │ ├── lv2.md │ ├── lv3.md │ ├── lv4.md │ └── semanales.md ├── ratings.md ├── recursos │ ├── _index.md │ └── recursos │ │ ├── _index.md │ │ ├── como_practicar │ │ ├── img │ │ │ ├── .gitkeep │ │ │ ├── logo_atcoder.png │ │ │ ├── logo_codeforces.png │ │ │ ├── logo_cses.png │ │ │ ├── logo_kattis.png │ │ │ └── logo_projecteuler.png │ │ └── index.md │ │ ├── competencias_importantes │ │ ├── img │ │ │ ├── logo_code_jam.png │ │ │ ├── logo_hacker_cup.png │ │ │ ├── logo_icpc.png │ │ │ ├── logo_ieeextreme.png │ │ │ ├── logo_ioi.png │ │ │ └── logo_oci.png │ │ └── index.md │ │ ├── entrenamientos │ │ ├── img │ │ │ ├── logo_code_jam.png │ │ │ ├── logo_hacker_cup.png │ │ │ ├── logo_icpc.png │ │ │ ├── logo_ieeextreme.png │ │ │ ├── logo_ioi.png │ │ │ └── logo_oci.png │ │ └── index.md │ │ └── introduccion │ │ ├── img │ │ └── .gitkeep │ │ └── index.md └── training-camps │ └── brasil.md ├── data ├── .gitkeep ├── docs-versions.yml ├── doks.json └── hyas.json ├── functions └── hi-from-lambda.js ├── images └── .gitkeep ├── layouts ├── 404.html ├── _default │ ├── _markup │ │ ├── .gitkeep │ │ └── render-heading.html │ ├── baseof.html │ ├── index.js │ ├── index.json │ ├── list.html │ ├── section.sitemap.xml │ ├── single.html │ ├── terms.html │ └── versions.html ├── blog │ ├── list.html │ └── single.html ├── brasilcamp │ └── single.html ├── contributors │ └── list.html ├── csesStandings │ └── single.html ├── docs │ ├── list.html │ └── single.html ├── equipos-icpc │ └── single.html ├── equipos-ieeextreme │ └── single.html ├── fullRatings │ └── single.html ├── gym │ └── single.html ├── icpcing │ └── single.html ├── index.headers ├── index.html ├── index.redirects ├── partials │ ├── content │ │ ├── card-image.html │ │ ├── figure.html │ │ └── image.html │ ├── footer │ │ ├── alert.html │ │ ├── cses-script.html │ │ ├── footer.html │ │ ├── fullRatings-script.html │ │ ├── gym-script.html │ │ ├── icpcing-script.html │ │ └── script-footer.html │ ├── head │ │ ├── favicons.html │ │ ├── head.html │ │ ├── opengraph.html │ │ ├── resource-hints.html │ │ ├── script-header.html │ │ ├── seo.html │ │ ├── structured-data.html │ │ ├── stylesheet.html │ │ └── twitter_cards.html │ ├── header │ │ ├── alert.html │ │ └── header.html │ ├── main │ │ ├── blog-meta.html │ │ ├── breadcrumb.html │ │ ├── date.html │ │ ├── docs-navigation.html │ │ ├── edit-page.html │ │ ├── headline-hash.html │ │ └── last-modified.html │ ├── mathjax.html │ └── sidebar │ │ ├── auto-collapsible-menu.html │ │ ├── auto-default-menu.html │ │ ├── docs-menu.html │ │ ├── docs-toc.html │ │ ├── manual-collapsible-menu.html │ │ ├── manual-default-menu.html │ │ └── recursos-menu.html ├── recursos │ ├── list.html │ └── single.html ├── robots.txt ├── rss.xml ├── shortcodes │ ├── alert.html │ ├── btn-copy.html │ ├── details.html │ ├── email.html │ ├── img-simple.html │ ├── img.html │ ├── mermaid.html │ ├── replit-out.html │ ├── replit.html │ └── video.html └── sitemap.xml ├── package-lock.json ├── package.json ├── static ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── apple-touch-icon.png ├── css │ └── vendor │ │ └── .gitkeep ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── favicon.svg ├── fonts │ ├── KaTeX_AMS-Regular.ttf │ ├── KaTeX_AMS-Regular.woff │ ├── KaTeX_AMS-Regular.woff2 │ ├── KaTeX_Caligraphic-Bold.ttf │ ├── KaTeX_Caligraphic-Bold.woff │ ├── KaTeX_Caligraphic-Bold.woff2 │ ├── KaTeX_Caligraphic-Regular.ttf │ ├── KaTeX_Caligraphic-Regular.woff │ ├── KaTeX_Caligraphic-Regular.woff2 │ ├── KaTeX_Fraktur-Bold.ttf │ ├── KaTeX_Fraktur-Bold.woff │ ├── KaTeX_Fraktur-Bold.woff2 │ ├── KaTeX_Fraktur-Regular.ttf │ ├── KaTeX_Fraktur-Regular.woff │ ├── KaTeX_Fraktur-Regular.woff2 │ ├── KaTeX_Main-Bold.ttf │ ├── KaTeX_Main-Bold.woff │ ├── KaTeX_Main-Bold.woff2 │ ├── KaTeX_Main-BoldItalic.ttf │ ├── KaTeX_Main-BoldItalic.woff │ ├── KaTeX_Main-BoldItalic.woff2 │ ├── KaTeX_Main-Italic.ttf │ ├── KaTeX_Main-Italic.woff │ ├── KaTeX_Main-Italic.woff2 │ ├── KaTeX_Main-Regular.ttf │ ├── KaTeX_Main-Regular.woff │ ├── KaTeX_Main-Regular.woff2 │ ├── KaTeX_Math-BoldItalic.ttf │ ├── KaTeX_Math-BoldItalic.woff │ ├── KaTeX_Math-BoldItalic.woff2 │ ├── KaTeX_Math-Italic.ttf │ ├── KaTeX_Math-Italic.woff │ ├── KaTeX_Math-Italic.woff2 │ ├── KaTeX_SansSerif-Bold.ttf │ ├── KaTeX_SansSerif-Bold.woff │ ├── KaTeX_SansSerif-Bold.woff2 │ ├── KaTeX_SansSerif-Italic.ttf │ ├── KaTeX_SansSerif-Italic.woff │ ├── KaTeX_SansSerif-Italic.woff2 │ ├── KaTeX_SansSerif-Regular.ttf │ ├── KaTeX_SansSerif-Regular.woff │ ├── KaTeX_SansSerif-Regular.woff2 │ ├── KaTeX_Script-Regular.ttf │ ├── KaTeX_Script-Regular.woff │ ├── KaTeX_Script-Regular.woff2 │ ├── KaTeX_Size1-Regular.ttf │ ├── KaTeX_Size1-Regular.woff │ ├── KaTeX_Size1-Regular.woff2 │ ├── KaTeX_Size2-Regular.ttf │ ├── KaTeX_Size2-Regular.woff │ ├── KaTeX_Size2-Regular.woff2 │ ├── KaTeX_Size3-Regular.ttf │ ├── KaTeX_Size3-Regular.woff │ ├── KaTeX_Size3-Regular.woff2 │ ├── KaTeX_Size4-Regular.ttf │ ├── KaTeX_Size4-Regular.woff │ ├── KaTeX_Size4-Regular.woff2 │ ├── KaTeX_Typewriter-Regular.ttf │ ├── KaTeX_Typewriter-Regular.woff │ ├── KaTeX_Typewriter-Regular.woff2 │ └── vendor │ │ ├── .gitkeep │ │ ├── fontawesome │ │ └── fa-solid-900.woff2 │ │ └── jost │ │ ├── jost-v4-latin-500.woff │ │ ├── jost-v4-latin-500.woff2 │ │ ├── jost-v4-latin-500italic.woff │ │ ├── jost-v4-latin-500italic.woff2 │ │ ├── jost-v4-latin-700.woff │ │ ├── jost-v4-latin-700.woff2 │ │ ├── jost-v4-latin-700italic.woff │ │ ├── jost-v4-latin-700italic.woff2 │ │ ├── jost-v4-latin-italic.woff │ │ ├── jost-v4-latin-italic.woff2 │ │ ├── jost-v4-latin-regular.woff │ │ └── jost-v4-latin-regular.woff2 ├── images │ ├── Argentina.png │ ├── Bolivia.png │ ├── Brazil.png │ ├── Chile.png │ ├── Colombia.png │ ├── CostaRica.png │ ├── Cuba.png │ ├── Ecuador.png │ ├── ElSalvador.png │ ├── Mexico.png │ ├── Peru.png │ ├── Uruguay.png │ ├── banner.svg │ ├── banner_dark.svg │ ├── camps │ │ └── 2024 │ │ │ └── brasil │ │ │ ├── pic1.jpg │ │ │ ├── pic2.jpg │ │ │ ├── pic3.jpg │ │ │ ├── pic4.jpg │ │ │ ├── pic5.jpg │ │ │ ├── pic6.jpg │ │ │ └── pic7.jpg │ ├── ieeextreme │ │ └── 2024 │ │ │ ├── premio1.jpg │ │ │ ├── premio2.jpg │ │ │ ├── premio3.jpg │ │ │ └── sedeudp.jpg │ ├── teams │ │ ├── 2012 │ │ │ ├── ch1.jpg │ │ │ ├── ch2.jpg │ │ │ └── ch3.jpg │ │ ├── 2013 │ │ │ ├── ch1.jpg │ │ │ ├── ch2.jpg │ │ │ └── ch3.jpg │ │ ├── 2014 │ │ │ ├── ch1.jpg │ │ │ ├── ch2.jpg │ │ │ └── ch3.jpg │ │ ├── 2015 │ │ │ ├── ch1.jpg │ │ │ ├── ch2.jpg │ │ │ └── ch3.jpg │ │ ├── 2016 │ │ │ ├── ch1.jpg │ │ │ ├── ch2.jpg │ │ │ └── ch3.jpg │ │ ├── 2017 │ │ │ ├── ch1.jpg │ │ │ ├── ch2.jpg │ │ │ └── ch3.jpg │ │ ├── 2018 │ │ │ ├── ch1.jpg │ │ │ ├── ch2.jpg │ │ │ └── ch3.jpg │ │ ├── 2019 │ │ │ ├── ch1.jpg │ │ │ ├── ch2.jpg │ │ │ └── ch3.jpg │ │ ├── 2020 │ │ │ ├── ch1.jpg │ │ │ ├── ch2.jpg │ │ │ └── ch3.jpg │ │ ├── 2021 │ │ │ ├── ddd.jpg │ │ │ ├── dijkstra2.jpg │ │ │ └── graph.jpg │ │ ├── 2022 │ │ │ ├── blueghost.jpg │ │ │ ├── david.jpg │ │ │ └── dijkstra.jpg │ │ ├── 2023 │ │ │ ├── ctf.jpg │ │ │ ├── ferard.jpg │ │ │ └── wpp.jpg │ │ └── 2024 │ │ │ ├── gatas.jpg │ │ │ ├── globos.jpg │ │ │ ├── globospre.jpg │ │ │ ├── offbyone.jpg │ │ │ └── tocarpasto.jpg │ ├── universities │ │ ├── OCI.png │ │ ├── PUC.png │ │ ├── UChile.png │ │ ├── UChileaux.png │ │ ├── UDEC.png │ │ ├── UDEC3.png │ │ ├── UDECaux.png │ │ ├── UTFSM.png │ │ └── UTFSMaux.png │ └── vendor │ │ └── .gitkeep ├── js │ └── vendor │ │ └── .gitkeep ├── site.webmanifest └── videos │ ├── flower.mp4 │ └── flower.webm └── theme.toml /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | indent_style = space 7 | indent_size = 2 8 | end_of_line = lf 9 | charset = utf-8 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | assets/js/index.js 2 | assets/js/katex.js 3 | assets/js/vendor 4 | node_modules -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "commonjs": true, 5 | "es6": true, 6 | "node": true 7 | }, 8 | "extends": "eslint:recommended", 9 | "globals": { 10 | "Atomics": "readonly", 11 | "SharedArrayBuffer": "readonly" 12 | }, 13 | "parserOptions": { 14 | "ecmaVersion": 2018, 15 | "sourceType": "module" 16 | }, 17 | "rules": { 18 | "no-console": 0, 19 | "quotes": ["error", "single"], 20 | "comma-dangle": [ 21 | "error", 22 | { 23 | "arrays": "always-multiline", 24 | "objects": "always-multiline", 25 | "imports": "always-multiline", 26 | "exports": "always-multiline", 27 | "functions": "ignore" 28 | } 29 | ] 30 | } 31 | } -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: doks # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-report---.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "Bug report \U0001F41E" 3 | about: Create a report to help us improve 4 | 5 | --- 6 | 7 | ## Description 8 | 9 | Describe the issue that you're seeing. 10 | 11 | ### Steps to reproduce 12 | 13 | Clear steps describing how to reproduce the issue. Please please please link to a demo project if possible, this makes your issue _much_ easier to diagnose (seriously). 14 | 15 | ### Expected result 16 | 17 | What should happen? 18 | 19 | ### Actual result 20 | 21 | What happened. 22 | 23 | ### Environment 24 | 25 | Paste the information here as shown by `npm run check` 26 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | contact_links: 2 | - name: Question 🙋 3 | url: https://github.com/h-enk/doks/discussions/categories/q-a 4 | about: Ask your question in Doks Discussions -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request---.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "Feature request \U0001F680" 3 | about: Suggest an idea for Doks 4 | 5 | --- 6 | 7 | ## Summary 8 | 9 | Brief explanation of the feature. 10 | 11 | ### Basic example 12 | 13 | Include a basic example or links here. 14 | 15 | ### Motivation 16 | 17 | Why are we doing this? What use cases does it support? What is the expected outcome? 18 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "npm" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "daily" 12 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Summary 2 | 3 | Brief explanation of the proposed changes. 4 | 5 | ## Basic example 6 | 7 | Include a basic example, screenshots, or links. 8 | 9 | ## Motivation 10 | 11 | Why are we doing this? What use cases does it support? What is the expected outcome? 12 | 13 | ## Checks 14 | 15 | - [ ] Read [Create a Pull Request](https://getdoks.org/docs/contributing/how-to-contribute/#create-a-pull-request) 16 | - [ ] Supports all screen sizes (if relevant) 17 | - [ ] Supports both light and dark mode (if relevant) 18 | - [ ] Passes `npm run test` 19 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | name: "CodeQL" 7 | 8 | on: 9 | push: 10 | branches: [master] 11 | pull_request: 12 | # The branches below must be a subset of the branches above 13 | branches: [master] 14 | schedule: 15 | - cron: '0 11 * * 5' 16 | 17 | jobs: 18 | analyze: 19 | name: Analyze 20 | runs-on: ubuntu-latest 21 | 22 | strategy: 23 | fail-fast: false 24 | matrix: 25 | # Override automatic language detection by changing the below list 26 | # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] 27 | language: ['javascript'] 28 | # Learn more... 29 | # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection 30 | 31 | steps: 32 | - name: Checkout repository 33 | uses: actions/checkout@v2 34 | 35 | # Initializes the CodeQL tools for scanning. 36 | - name: Initialize CodeQL 37 | uses: github/codeql-action/init@v1 38 | with: 39 | languages: ${{ matrix.language }} 40 | # If you wish to specify custom queries, you can do so here or in a config file. 41 | # By default, queries listed here will override any specified in a config file. 42 | # Prefix the list here with "+" to use these queries and those in the config file. 43 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 44 | 45 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 46 | # If this step fails, then you should remove it and run the build manually (see below) 47 | - name: Autobuild 48 | uses: github/codeql-action/autobuild@v1 49 | 50 | # ℹ️ Command-line programs to run using the OS shell. 51 | # 📚 https://git.io/JvXDl 52 | 53 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 54 | # and modify them (or add more) to build your code if your project 55 | # uses a compiled language 56 | 57 | #- run: | 58 | # make bootstrap 59 | # make release 60 | 61 | - name: Perform CodeQL Analysis 62 | uses: github/codeql-action/analyze@v1 63 | -------------------------------------------------------------------------------- /.github/workflows/cses.yml: -------------------------------------------------------------------------------- 1 | name: auto deploy cses standings 2 | 3 | on: 4 | schedule: 5 | - cron: '*/30 * * * *' 6 | workflow_dispatch: 7 | 8 | jobs: 9 | deploy: 10 | runs-on: ubuntu-18.04 11 | steps: 12 | - uses: actions/checkout@v2 13 | with: 14 | submodules: true # Checkout cses-standings submodule 15 | fetch-depth: 0 # Fetch all history for all branches and tags 16 | 17 | - name: Setup Python 18 | uses: actions/setup-python@v2 19 | with: 20 | python-version: '3.8.5' 21 | 22 | - run: | 23 | python -m pip install --upgrade pip 24 | pip install -r cses-standings/requirements.txt 25 | mkdir cses 26 | cp -r cses-standings/static cses/static 27 | python cses-standings/main.py -u cses-users.txt -o cses/cses.html 28 | 29 | - name: Deploy 30 | uses: peaceiris/actions-gh-pages@v3 31 | with: 32 | github_token: ${{ secrets.GITHUB_TOKEN }} 33 | publish_dir: cses 34 | destination_dir: ./ 35 | keep_files: true 36 | 37 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: github pages 2 | 3 | on: 4 | workflow_dispatch: 5 | push: 6 | branches: 7 | - main # Set a branch to deploy 8 | 9 | jobs: 10 | deploy: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v2 14 | with: 15 | submodules: true # Fetch Hugo themes (true OR recursive) 16 | fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod 17 | 18 | - name: Setup Hugo 19 | uses: peaceiris/actions-hugo@v2 20 | with: 21 | hugo-version: '0.107.0' 22 | extended: true 23 | 24 | - run: npm install 25 | 26 | - name: Caching 27 | uses: actions/cache@v3 28 | with: 29 | path: /tmp/hugo_cache 30 | key: ${{ runner.os }}-hugomod-${{ hashFiles('**/go.sum') }} 31 | restore-keys: | 32 | ${{ runner.os }}-hugomod-${{ hashFiles('**/go.sum') }} 33 | 34 | - run: hugo --gc --minify 35 | 36 | - name: Deploy 37 | uses: peaceiris/actions-gh-pages@v3 38 | with: 39 | github_token: ${{ secrets.GITHUB_TOKEN }} 40 | publish_dir: ./public 41 | cname: uchile.progcomp.cl 42 | -------------------------------------------------------------------------------- /.github/workflows/node.js-ci.yml: -------------------------------------------------------------------------------- 1 | name: Hyas CI 2 | 3 | on: 4 | push: 5 | branches: master 6 | pull_request: 7 | branches: master 8 | 9 | jobs: 10 | build: 11 | runs-on: ${{ matrix.os }} 12 | 13 | strategy: 14 | matrix: 15 | os: [ubuntu-latest, windows-latest, macos-latest] 16 | node: [16.x, 18.x] 17 | 18 | steps: 19 | - name: Check out Hyas project 20 | uses: actions/checkout@v2 21 | 22 | - name: Set up Node.js ${{ matrix.node }} 23 | uses: actions/setup-node@v2 24 | with: 25 | node-version: ${{ matrix.node }} 26 | 27 | - name: Install dependencies 28 | run: npm ci 29 | 30 | - name: Run Hyas test script 31 | run: npm test 32 | 33 | - name: Build production website 34 | run: npm run build -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: 'Close stale issues and PRs' 2 | on: 3 | schedule: 4 | - cron: '0 0 * * *' 5 | 6 | jobs: 7 | stale: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/stale@v4 11 | with: 12 | stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.' 13 | stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.' 14 | close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.' 15 | close-pr-message: 'This PR was closed because it has been stalled for 5 days with no activity.' 16 | days-before-stale: 30 17 | days-before-close: 5 18 | days-before-pr-close: 5 19 | exempt-issue-labels: 'keep' -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | public 3 | resources 4 | .hugo_build.lock -------------------------------------------------------------------------------- /.markdownlint-cli2.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "default": true, 4 | "MD013": false, 5 | "MD024": false, 6 | "MD026": false, 7 | "MD033": false, 8 | "MD034": false 9 | }, 10 | "ignores": ["node_modules", "CHANGELOG.md", "README.md"] 11 | } -------------------------------------------------------------------------------- /.markdownlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "comment": "Hyas rules", 3 | 4 | "default": true, 5 | "line_length": false, 6 | "no-inline-html": false, 7 | "no-trailing-punctuation": false, 8 | "no-duplicate-heading": false, 9 | "no-bare-urls": false 10 | } -------------------------------------------------------------------------------- /.markdownlintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | CHANGELOG.md 3 | README.md -------------------------------------------------------------------------------- /.stylelintignore: -------------------------------------------------------------------------------- 1 | assets/scss/components/_syntax.scss 2 | assets/scss/vendor 3 | node_modules -------------------------------------------------------------------------------- /.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "stylelint-config-standard-scss", 3 | "rules": { 4 | "no-empty-source": null, 5 | "string-quotes": "double", 6 | "scss/comment-no-empty": null, 7 | "max-line-length": null, 8 | "scss/at-extend-no-missing-placeholder": null, 9 | "scss/dollar-variable-colon-space-after": null, 10 | "scss/dollar-variable-empty-line-before": null, 11 | "color-function-notation": null, 12 | "alpha-value-notation": null, 13 | "selector-id-pattern": null, 14 | "selector-class-pattern": null, 15 | "scss/no-global-function-names": null, 16 | "number-max-precision": null, 17 | "hue-degree-notation": null, 18 | "value-no-vendor-prefix": null, 19 | "property-no-vendor-prefix": null, 20 | "at-rule-no-unknown": [ 21 | true, 22 | { 23 | "ignoreAtRules": [ 24 | "extend", 25 | "at-root", 26 | "debug", 27 | "warn", 28 | "error", 29 | "if", 30 | "else", 31 | "for", 32 | "each", 33 | "while", 34 | "mixin", 35 | "include", 36 | "content", 37 | "return", 38 | "function", 39 | "tailwind", 40 | "apply", 41 | "responsive", 42 | "variants", 43 | "screen" 44 | ] 45 | } 46 | ] 47 | } 48 | } -------------------------------------------------------------------------------- /.versionrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": [ 3 | {"type": "feat", "section": "Features"}, 4 | {"type": "fix", "section": "Bug Fixes"}, 5 | {"type": "chore", "hidden": true}, 6 | {"type": "deps", "section": "Dependencies"}, 7 | {"type": "docs", "section": "Documentation"}, 8 | {"type": "style", "hidden": true}, 9 | {"type": "refactor", "hidden": true}, 10 | {"type": "perf", "hidden": true}, 11 | {"type": "test", "hidden": true} 12 | ], 13 | "bumpFiles": [ 14 | { 15 | "filename": "package.json", 16 | "type": "json" 17 | }, 18 | { 19 | "filename": "package-lock.json", 20 | "type": "json" 21 | }, 22 | { 23 | "filename": "data/doks.json", 24 | "type": "json" 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018-present, Gridsome 4 | Copyright (c) 2020-present, Henk Verlinde 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Programación Competitiva UChile 2 | 3 | Este repositorio contiene el código fuente para el sitio web del grupo organizado de Programación Competitiva de la Universidad de Chile. 4 | 5 | Disponible en [este link](https://uchile.progcomp.cl) :) 6 | 7 | ## Cómo probar la página localmente 8 | 9 | Para ver en vivo los cambios, basta con correr: 10 | 11 | ``` 12 | npm install 13 | npm run start 14 | ``` 15 | 16 | ## Secciones y artículos 17 | 18 | Las páginas tipo wiki tienen secciones y artículos, donde las secciones pueden agrupar otras secciones 19 | y artículos. 20 | 21 | ### Agregar una sección 22 | 23 | Para agregar una sección, por ejemplo, a la página de apunte: 24 | ``` 25 | npm run create -- --kind section apunte/mi_seccion 26 | ``` 27 | Esto creará el directorio `content/apunte/mi_seccion` con un archivo `_index.md`. En ese archivo 28 | se establecen metadatos de la sección, como el título que se muestra y su peso. Las secciones se ordenan 29 | de arriba hacia abajo por sus pesos de forma creciente. 30 | 31 | ### Agregar un artículo 32 | Para agregar un artículo a una sección: 33 | ``` 34 | npm run create -- --kind article apunte/mi_seccion/mi_articulo 35 | ``` 36 | Esto creará la siguiente estructura: 37 | ``` 38 | . 39 | └── content/ 40 | └── apunte/ 41 | └── mi_seccion/ 42 | └── mi_articulo/ 43 | ├── img/ 44 | └── index.md 45 | ``` 46 | En ella, `index.md` contiene metadatos del artículo y también el artículo en sí, en Markdown. La carpeta `img/` está 47 | pensada para guardar las imagenes a usar en el artículo ahí de ser necesario. 48 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Reporting Security Issues 2 | 3 | The Doks team and community take security issues in Doks seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions. 4 | 5 | To report a security issue, email [security@getdoks.org](mailto:security@getdoks.org) and include the word "SECURITY" in the subject line. 6 | 7 | We'll endeavor to respond quickly, and will keep you updated throughout the process. 8 | -------------------------------------------------------------------------------- /archetypes/article/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /archetypes/article/index.md: -------------------------------------------------------------------------------- 1 | {{- $path := (path.Dir .File.Path) -}} 2 | {{- $parent := (path.Dir (path.Dir .File.Path)) -}} 3 | {{- $menu_name := (strings.TrimSuffix "/" (path.Dir (.Site.GetPage .File.Path).FirstSection.File.Path)) -}} 4 | --- 5 | title: "Título del artículo" 6 | type: docs 7 | menu: 8 | {{ $menu_name }}: 9 | identifier: "{{ replace $path "/" "-" }}" 10 | parent: "{{ replace $parent "/" "-" }}" 11 | weight: 999 # El menú lateral ordena artículos por su peso 12 | --- -------------------------------------------------------------------------------- /archetypes/blog.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ replace .Name "-" " " | title }}" 3 | description: "" 4 | excerpt: "" 5 | date: {{ .Date }} 6 | lastmod: {{ .Date }} 7 | draft: true 8 | weight: 50 9 | images: [] 10 | categories: [] 11 | tags: [] 12 | contributors: [] 13 | pinned: false 14 | homepage: false 15 | --- 16 | -------------------------------------------------------------------------------- /archetypes/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ replace .Name "-" " " | title }}" 3 | description: "" 4 | date: {{ .Date }} 5 | lastmod: {{ .Date }} 6 | draft: true 7 | images: [] 8 | --- 9 | -------------------------------------------------------------------------------- /archetypes/docs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ replace .Name "-" " " | title }}" 3 | description: "" 4 | lead: "" 5 | date: {{ .Date }} 6 | lastmod: {{ .Date }} 7 | draft: true 8 | images: [] 9 | menu: 10 | docs: 11 | parent: "" 12 | identifier: "{{ .Name }}-{{ delimit (shuffle (split (md5 .Name) "" )) "" }}" 13 | weight: 999 14 | toc: true 15 | --- 16 | -------------------------------------------------------------------------------- /archetypes/docs/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Docs" 3 | description: "" 4 | lead: "" 5 | date: 2022-01-25T14:40:56+01:00 6 | lastmod: 2022-01-25T14:40:56+01:00 7 | draft: false 8 | images: [] 9 | type: docs 10 | --- 11 | -------------------------------------------------------------------------------- /archetypes/docs/lorem/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Lorem" 3 | description: "" 4 | lead: "" 5 | date: 2022-01-25T14:41:21+01:00 6 | lastmod: 2022-01-25T14:41:21+01:00 7 | draft: false 8 | images: [] 9 | type: docs 10 | --- 11 | -------------------------------------------------------------------------------- /archetypes/docs/lorem/ipsum/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Ipsum" 3 | description: "" 4 | lead: "" 5 | date: 2022-01-25T14:41:39+01:00 6 | lastmod: 2022-01-25T14:41:39+01:00 7 | draft: false 8 | images: [] 9 | type: docs 10 | menu: 11 | {{ .Section }}: 12 | parent: "lorem" 13 | identifier: "{{ .Name }}-{{ delimit (shuffle (split (md5 .Name) "" )) "" }}" 14 | weight: 100 15 | toc: true 16 | --- 17 | -------------------------------------------------------------------------------- /archetypes/section/_index.md: -------------------------------------------------------------------------------- 1 | {{- $path := (path.Dir .File.Path) -}} 2 | {{- $parent := (path.Dir (path.Dir .File.Path)) -}} 3 | {{- $menu_name := (strings.TrimSuffix "/" (path.Dir (.Site.GetPage .File.Path).FirstSection.File.Path)) -}} 4 | --- 5 | title: "Título de la sección" 6 | type: docs 7 | menu: 8 | {{ $menu_name }}: 9 | identifier: "{{ replace $path "/" "-" }}" 10 | {{ if (ne $parent $menu_name) -}} 11 | parent: "{{ replace $parent "/" "-" }}" 12 | {{- end }} 13 | weight: 999 # Las secciones se ordenan de forma ascendente por su peso 14 | --- -------------------------------------------------------------------------------- /assets/fonts/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/assets/fonts/.gitkeep -------------------------------------------------------------------------------- /assets/images/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/assets/images/.gitkeep -------------------------------------------------------------------------------- /assets/images/default-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/assets/images/default-image.png -------------------------------------------------------------------------------- /assets/js/alert-init.js: -------------------------------------------------------------------------------- 1 | Object.keys(localStorage).forEach(function(key) { 2 | if (/^global-alert-/.test(key)) { 3 | document.documentElement.setAttribute('data-global-alert', 'closed'); 4 | } 5 | }); -------------------------------------------------------------------------------- /assets/js/alert.js: -------------------------------------------------------------------------------- 1 | var announcement = document.getElementById('announcement'); 2 | 3 | if (announcement !== null) { 4 | 5 | var id = announcement.dataset.id; 6 | 7 | Object.keys(localStorage).forEach(function(key) { 8 | if (/^global-alert-/.test(key)) { 9 | if (key !== id ) { 10 | localStorage.removeItem(key); 11 | document.documentElement.removeAttribute('data-global-alert'); 12 | } 13 | } 14 | }); 15 | 16 | announcement.addEventListener('closed.bs.alert', () => { 17 | localStorage.setItem(id, 'closed'); 18 | }); 19 | 20 | } -------------------------------------------------------------------------------- /assets/js/app.js: -------------------------------------------------------------------------------- 1 | if (localStorage.getItem('theme') === 'dark') { 2 | 3 | document.body.classList.add('dark'); 4 | 5 | } 6 | 7 | document.getElementById('mode').addEventListener('click', () => { 8 | 9 | document.body.classList.toggle('dark'); 10 | 11 | localStorage.setItem('theme', document.body.classList.contains('dark') ? 'dark' : 'light'); 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /assets/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | import 'bootstrap/dist/js/bootstrap.bundle.min.js' 2 | // import 'bootstrap/dist/js/bootstrap.min.js' 3 | -------------------------------------------------------------------------------- /assets/js/clipboard.js: -------------------------------------------------------------------------------- 1 | import Clipboard from 'clipboard'; 2 | 3 | var pre = document.getElementsByTagName('pre'); 4 | 5 | for (var i = 0; i < pre.length; ++ i) 6 | { 7 | var element = pre[i]; 8 | var mermaid = element.getElementsByClassName('language-mermaid')[0]; 9 | 10 | if (mermaid == null) { 11 | element.insertAdjacentHTML('afterbegin', ''); 12 | } 13 | } 14 | 15 | var clipboard = new Clipboard('.btn-copy', { 16 | 17 | target: function(trigger) { 18 | return trigger.nextElementSibling; 19 | }, 20 | 21 | }); 22 | 23 | clipboard.on('success', function(e) { 24 | 25 | /* 26 | console.info('Action:', e.action); 27 | console.info('Text:', e.text); 28 | console.info('Trigger:', e.trigger); 29 | */ 30 | 31 | e.clearSelection(); 32 | }); 33 | 34 | clipboard.on('error', function(e) { 35 | console.error('Action:', e.action); 36 | console.error('Trigger:', e.trigger); 37 | }); 38 | -------------------------------------------------------------------------------- /assets/js/darkmode-init.js: -------------------------------------------------------------------------------- 1 | const globalDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; 2 | const localMode = localStorage.getItem('theme'); 3 | 4 | if (globalDark && (localMode === null)) { 5 | 6 | localStorage.setItem('theme', 'dark'); 7 | document.documentElement.setAttribute('data-dark-mode', ''); 8 | 9 | } 10 | 11 | if (globalDark && (localMode === 'dark')) { 12 | 13 | document.documentElement.setAttribute('data-dark-mode', ''); 14 | 15 | } 16 | 17 | if (localMode === 'dark') { 18 | 19 | document.documentElement.setAttribute('data-dark-mode', ''); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /assets/js/darkmode.js: -------------------------------------------------------------------------------- 1 | const mode = document.getElementById('mode'); 2 | 3 | if (mode !== null) { 4 | 5 | window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { 6 | 7 | if (event.matches) { 8 | 9 | localStorage.setItem('theme', 'dark'); 10 | document.documentElement.setAttribute('data-dark-mode', ''); 11 | 12 | } else { 13 | 14 | localStorage.setItem('theme', 'light'); 15 | document.documentElement.removeAttribute('data-dark-mode'); 16 | 17 | } 18 | 19 | }) 20 | 21 | mode.addEventListener('click', () => { 22 | 23 | document.documentElement.toggleAttribute('data-dark-mode'); 24 | localStorage.setItem('theme', document.documentElement.hasAttribute('data-dark-mode') ? 'dark' : 'light'); 25 | 26 | }); 27 | 28 | if (localStorage.getItem('theme') === 'dark') { 29 | 30 | document.documentElement.setAttribute('data-dark-mode', ''); 31 | 32 | } else { 33 | 34 | document.documentElement.removeAttribute('data-dark-mode'); 35 | 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /assets/js/highlight.js: -------------------------------------------------------------------------------- 1 | import hljs from 'highlight.js/lib/core'; 2 | 3 | import javascript from 'highlight.js/lib/languages/javascript'; 4 | import json from 'highlight.js/lib/languages/json'; 5 | import bash from 'highlight.js/lib/languages/bash'; 6 | import xml from 'highlight.js/lib/languages/xml'; 7 | import ini from 'highlight.js/lib/languages/ini'; 8 | import yaml from 'highlight.js/lib/languages/yaml'; 9 | import markdown from 'highlight.js/lib/languages/markdown'; 10 | import python from 'highlight.js/lib/languages/python'; 11 | 12 | hljs.registerLanguage('javascript', javascript); 13 | hljs.registerLanguage('json', json); 14 | hljs.registerLanguage('bash', bash); 15 | hljs.registerLanguage('html', xml); 16 | hljs.registerLanguage('ini', ini); 17 | hljs.registerLanguage('toml', ini); 18 | hljs.registerLanguage('yaml', yaml); 19 | hljs.registerLanguage('md', markdown); 20 | hljs.registerLanguage('python', python); 21 | 22 | document.addEventListener('DOMContentLoaded', () => { 23 | document.querySelectorAll('pre code:not(.language-mermaid)').forEach((block) => { 24 | hljs.highlightElement(block); 25 | }); 26 | }); 27 | -------------------------------------------------------------------------------- /assets/js/instant.page.js: -------------------------------------------------------------------------------- 1 | import 'instant.page'; 2 | -------------------------------------------------------------------------------- /assets/js/katex.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | renderMathInElement(document.body, { 3 | delimiters: [ 4 | {left: '$$', right: '$$', display: true}, 5 | {left: '$', right: '$', display: false}, 6 | {left: '\\(', right: '\\)', display: false}, 7 | {left: '\\[', right: '\\]', display: true}, 8 | ], 9 | }); 10 | }); 11 | -------------------------------------------------------------------------------- /assets/js/lazysizes.js: -------------------------------------------------------------------------------- 1 | import 'lazysizes'; 2 | -------------------------------------------------------------------------------- /assets/js/mermaid.js: -------------------------------------------------------------------------------- 1 | import mermaid from 'mermaid'; 2 | 3 | var config = { 4 | theme: 'default', 5 | fontFamily: '"Jost", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";', 6 | }; 7 | 8 | document.addEventListener('DOMContentLoaded', () => { 9 | mermaid.initialize(config); 10 | mermaid.init(undefined, '.language-mermaid'); 11 | }); 12 | -------------------------------------------------------------------------------- /assets/js/scroll-lock.js: -------------------------------------------------------------------------------- 1 | // Adds scroll position lock for default docs sidebar 2 | 3 | if (document.querySelector('#sidebar-default') !== null) { 4 | let sidebar = document.getElementById('sidebar-default'); 5 | 6 | let pos = sessionStorage.getItem('sidebar-scroll'); 7 | if (pos !== null) { 8 | sidebar.scrollTop = parseInt(pos, 10); 9 | } 10 | 11 | window.addEventListener('beforeunload', () => { 12 | sessionStorage.setItem('sidebar-scroll', sidebar.scrollTop); 13 | }); 14 | } 15 | -------------------------------------------------------------------------------- /assets/js/to-top.js: -------------------------------------------------------------------------------- 1 | var topbutton = document.getElementById('toTop'); 2 | 3 | if (topbutton !== null) { 4 | 5 | topbutton.style.display = 'none'; 6 | window.onscroll = function() { 7 | scrollFunction() 8 | }; 9 | 10 | } 11 | 12 | function scrollFunction() { 13 | 14 | if (document.body.scrollTop > 40 || document.documentElement.scrollTop > 40) { 15 | topbutton.style.display = 'block'; 16 | } else { 17 | topbutton.style.display = 'none'; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /assets/js/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/assets/js/vendor/.gitkeep -------------------------------------------------------------------------------- /assets/scss/app.scss: -------------------------------------------------------------------------------- 1 | /** Import Bootstrap functions */ 2 | @import "bootstrap/scss/functions"; 3 | 4 | /** Import theme variables */ 5 | @import "common/variables"; 6 | 7 | /** Import Bootstrap */ 8 | @import "bootstrap/scss/bootstrap"; 9 | 10 | /** Import FontAwesome */ 11 | @import "@fortawesome/fontawesome-free/scss/solid"; 12 | /** Import highlight.js */ 13 | // @import "highlight.js/scss/github-dark-dimmed"; 14 | 15 | /** Import KaTeX */ 16 | @import "katex/dist/katex"; 17 | 18 | /** Import theme styles */ 19 | @import "common/fonts"; 20 | @import "common/global"; 21 | @import "common/dark"; 22 | @import "components/alerts"; 23 | @import "components/buttons"; 24 | @import "components/code"; 25 | @import "components/details"; 26 | @import "components/syntax"; 27 | @import "components/comments"; 28 | @import "components/forms"; 29 | @import "components/images"; 30 | @import "components/mermaid"; 31 | @import "components/search"; 32 | @import "components/tables"; 33 | @import "layouts/footer"; 34 | @import "layouts/header"; 35 | @import "layouts/pages"; 36 | @import "layouts/posts"; 37 | @import "layouts/sidebar"; 38 | 39 | /* Import Chroma */ 40 | @import "components/code-light"; 41 | @import "components/code-dark"; 42 | 43 | /* Tables */ 44 | @import "components/tables"; 45 | 46 | /* CSES Styles */ 47 | @import "components/cses-standings"; 48 | 49 | /* Standings Syles */ 50 | @import "components/rating-style"; -------------------------------------------------------------------------------- /assets/scss/components/_code.scss: -------------------------------------------------------------------------------- 1 | pre, 2 | code, 3 | kbd, 4 | samp { 5 | font-family: $font-family-monospace; 6 | font-size: $font-size-code; 7 | border-radius: $border-radius; 8 | } 9 | 10 | code { 11 | background: $beige; 12 | color: $black; 13 | padding: 0.25rem 0.5rem; 14 | } 15 | 16 | pre { 17 | margin: 2rem 0; 18 | } 19 | 20 | pre code { 21 | display: block; 22 | overflow-x: auto; 23 | line-height: $line-height-base; 24 | padding: 1.25rem 1.5rem; 25 | tab-size: 4; 26 | scrollbar-width: thin; 27 | scrollbar-color: transparent transparent; 28 | } 29 | 30 | .hljs { 31 | padding: 1.5rem !important; 32 | } 33 | 34 | @include media-breakpoint-down(sm) { 35 | pre, 36 | code, 37 | kbd, 38 | samp { 39 | border-radius: 0; 40 | } 41 | 42 | pre { 43 | margin: 2rem -1.5rem; 44 | } 45 | } 46 | 47 | pre code::-webkit-scrollbar { 48 | height: 5px; 49 | } 50 | 51 | pre code::-webkit-scrollbar-thumb { 52 | background: $gray-400; 53 | } 54 | 55 | pre code:hover { 56 | scrollbar-width: thin; 57 | scrollbar-color: $gray-500 transparent; 58 | } 59 | 60 | pre code::-webkit-scrollbar-thumb:hover { 61 | background: $gray-500; 62 | } 63 | 64 | code.language-mermaid { 65 | background: none; 66 | } 67 | -------------------------------------------------------------------------------- /assets/scss/components/_comments.scss: -------------------------------------------------------------------------------- 1 | .comment-list { 2 | @extend .list-unstyled; 3 | } 4 | 5 | .comment-list ol { 6 | list-style: none; 7 | } 8 | 9 | .comment-form p { 10 | @extend .form-group !optional; 11 | } 12 | 13 | .comment-form input[type="text"], 14 | .comment-form input[type="email"], 15 | .comment-form input[type="url"], 16 | .comment-form textarea { 17 | @extend .form-control; 18 | } 19 | 20 | .comment-form input[type="submit"] { 21 | @extend .btn; 22 | @extend .btn-secondary; 23 | } 24 | 25 | blockquote { 26 | margin-bottom: 1rem; 27 | font-size: 1.25rem; 28 | border-left: 3px solid $gray-300; 29 | padding-left: 1rem; 30 | } 31 | -------------------------------------------------------------------------------- /assets/scss/components/_details.scss: -------------------------------------------------------------------------------- 1 | details { 2 | display: block; 3 | border: 1px solid $gray-200; 4 | border-radius: 0.25rem; 5 | padding: 0.5rem 1rem 0; 6 | margin: 0.5rem 0; 7 | } 8 | 9 | /* 10 | details summary { 11 | &::marker { 12 | content: ""; 13 | } 14 | } 15 | */ 16 | 17 | summary { 18 | list-style: none; 19 | display: inline-block; 20 | width: calc(100% + 2rem); 21 | margin: -0.5rem -1rem 0; 22 | padding: 0.5rem 0.75rem; 23 | } 24 | 25 | summary::-webkit-details-marker { 26 | display: none; 27 | } 28 | 29 | summary:hover { 30 | background: $gray-100; 31 | } 32 | 33 | details summary::before { 34 | display: inline-block; 35 | content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%2829, 45, 53, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e"); 36 | transition: transform 0.35s ease; 37 | transform-origin: center center; 38 | margin-right: 0.375rem; 39 | } 40 | 41 | details[open] > summary::before { 42 | transform: rotate(90deg); 43 | } 44 | 45 | /* 46 | details summary > * { 47 | display: inline-block; 48 | } 49 | */ 50 | 51 | details[open] { 52 | padding: 0.5rem 1rem; 53 | } 54 | 55 | details[open] > summary { 56 | border-bottom: 1px solid $gray-300; 57 | margin-bottom: 0.5rem; 58 | } 59 | 60 | details h2, 61 | details h3, 62 | details h4 { 63 | margin: 1rem 0 0.5rem; 64 | } 65 | 66 | details p:last-child { 67 | margin-bottom: 0; 68 | } 69 | 70 | details ul, 71 | details ol { 72 | margin-bottom: 0; 73 | } 74 | 75 | details pre { 76 | margin: 0 0 1rem; 77 | } 78 | -------------------------------------------------------------------------------- /assets/scss/components/_forms.scss: -------------------------------------------------------------------------------- 1 | /** Search form */ 2 | .search-form { 3 | @extend .form-inline !optional; 4 | } 5 | 6 | .search-form label { 7 | @extend .form-group; 8 | 9 | font-weight: normal; 10 | } 11 | 12 | .search-form .search-field { 13 | @extend .form-control; 14 | } 15 | 16 | .search-form .search-submit { 17 | @extend .btn; 18 | @extend .btn-secondary; 19 | } 20 | -------------------------------------------------------------------------------- /assets/scss/components/_images.scss: -------------------------------------------------------------------------------- 1 | figure { 2 | margin: 0 0 1rem; 3 | display: inline-block; 4 | } 5 | 6 | figure img { 7 | margin-bottom: 0.5rem; 8 | line-height: 1; 9 | max-width: 100%; 10 | height: auto; 11 | } 12 | 13 | figure figcaption { 14 | margin: 0.25rem 0 0.75rem; 15 | font-size: 0.875em; 16 | color: #6c757d; 17 | } 18 | 19 | .figure-caption { 20 | margin: 0.25rem 0 0.75rem; 21 | } 22 | 23 | figure.wide { 24 | margin: 2rem -1.5rem; 25 | } 26 | 27 | figure.wide .figure-caption { 28 | margin: 0.25rem 1.5rem 0.75rem; 29 | } 30 | 31 | @include media-breakpoint-up(md) { 32 | figure.wide { 33 | margin: 2rem -2.5rem; 34 | } 35 | 36 | figure.wide .figure-caption { 37 | margin: 0.25rem 2.5rem 0.75rem; 38 | } 39 | } 40 | 41 | @include media-breakpoint-up(lg) { 42 | figure.wide { 43 | margin: 2rem -5rem; 44 | } 45 | 46 | figure.wide .figure-caption { 47 | margin: 0.25rem 5rem 0.75rem; 48 | } 49 | } 50 | 51 | .blur-up { 52 | filter: blur(5px); 53 | } 54 | 55 | .blur-up.lazyloaded { 56 | filter: unset; 57 | } 58 | 59 | .img-simple { 60 | margin-top: 0.375rem; 61 | margin-bottom: 1.25rem; 62 | } 63 | 64 | [data-dark-mode] img.invertible{ 65 | filter: invert(89%); 66 | } -------------------------------------------------------------------------------- /assets/scss/components/_mermaid.scss: -------------------------------------------------------------------------------- 1 | .mermaid { 2 | margin: 1.5rem 0; 3 | padding: 1.5rem; 4 | } 5 | 6 | .mermaid svg { 7 | height: auto; 8 | } 9 | -------------------------------------------------------------------------------- /assets/scss/components/_search.scss: -------------------------------------------------------------------------------- 1 | .navbar-form { 2 | position: relative; 3 | } 4 | 5 | #suggestions { 6 | position: absolute; 7 | right: 0; 8 | margin-top: 0.5rem; 9 | width: calc(100vw - 3rem); 10 | max-width: calc(400px - 3rem); 11 | z-index: $zindex-dropdown; 12 | 13 | @include media-breakpoint-up(md) { 14 | right: -2rem; 15 | } 16 | 17 | @include media-breakpoint-up(lg) { 18 | right: 0; 19 | } 20 | } 21 | 22 | #suggestions a, 23 | .suggestion__no-results { 24 | padding: 0.75rem; 25 | margin: 0 0.5rem; 26 | } 27 | 28 | #suggestions a { 29 | display: block; 30 | text-decoration: none; 31 | } 32 | 33 | #suggestions a:focus { 34 | background: $gray-100; 35 | outline: 0; 36 | } 37 | 38 | #suggestions div:not(:first-child) { 39 | border-top: 1px dashed $gray-200; 40 | } 41 | 42 | #suggestions div:first-child { 43 | margin-top: 0.5rem; 44 | } 45 | 46 | #suggestions div:last-child { 47 | margin-bottom: 0.5rem; 48 | } 49 | 50 | #suggestions a:hover { 51 | background: $gray-100; 52 | } 53 | 54 | #suggestions span { 55 | display: flex; 56 | font-size: $font-size-base; 57 | } 58 | 59 | .suggestion__title { 60 | font-weight: $headings-font-weight; 61 | color: $black; 62 | } 63 | 64 | .suggestion__description, 65 | .suggestion__no-results { 66 | color: $gray-700; 67 | } 68 | 69 | @include media-breakpoint-up(lg) { 70 | #suggestions { 71 | width: 31.125rem; 72 | max-width: 31.125rem; 73 | } 74 | 75 | #suggestions a { 76 | display: flex; 77 | } 78 | 79 | .suggestion__title { 80 | width: 9rem; 81 | padding-right: 1rem; 82 | border-right: 1px solid $gray-200; 83 | display: inline-block; 84 | text-align: right; 85 | } 86 | 87 | .suggestion__description { 88 | width: 19rem; 89 | padding-left: 1rem; 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /assets/scss/components/_syntax.scss: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Based on Ascetic by (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 1.25rem 1.5rem; 11 | background: $beige; 12 | color: $body-color; 13 | } 14 | 15 | .hljs-string, 16 | .hljs-variable, 17 | .hljs-template-variable, 18 | .hljs-symbol, 19 | .hljs-bullet, 20 | .hljs-section, 21 | .hljs-addition, 22 | .hljs-attribute, 23 | .hljs-link { 24 | color: $pink-500; 25 | } 26 | 27 | .hljs-comment, 28 | .hljs-quote, 29 | .hljs-meta, 30 | .hljs-deletion { 31 | color: #888; 32 | } 33 | 34 | .hljs-keyword, 35 | .hljs-selector-tag, 36 | .hljs-section, 37 | .hljs-name, 38 | .hljs-type, 39 | .hljs-strong { 40 | font-weight: bold; 41 | } 42 | 43 | .hljs-emphasis { 44 | font-style: italic; 45 | } 46 | 47 | [data-dark-mode] body .hljs { 48 | background: $body-overlay-dark; 49 | color: $body-color-dark; 50 | } 51 | 52 | [data-dark-mode] body .hljs-string, 53 | [data-dark-mode] body .hljs-variable, 54 | [data-dark-mode] body .hljs-template-variable, 55 | [data-dark-mode] body .hljs-symbol, 56 | [data-dark-mode] body .hljs-bullet, 57 | [data-dark-mode] body .hljs-section, 58 | [data-dark-mode] body .hljs-addition, 59 | [data-dark-mode] body .hljs-attribute, 60 | [data-dark-mode] body .hljs-link { 61 | color: $blue-300; 62 | } 63 | -------------------------------------------------------------------------------- /assets/scss/components/_tables.scss: -------------------------------------------------------------------------------- 1 | table { 2 | @extend .table; 3 | 4 | margin: 3rem 0; 5 | } 6 | -------------------------------------------------------------------------------- /assets/scss/components/cses-standings.scss: -------------------------------------------------------------------------------- 1 | $accepted-bg: #005800; 2 | $attempted-bg: #aa0000; 3 | 4 | .cses-table { 5 | border-style: dashed; 6 | 7 | td { 8 | min-width: 50px; 9 | } 10 | 11 | .problem-name { 12 | text-align: left; 13 | } 14 | 15 | // Unloaded cells 16 | .task-score:before { 17 | font-family: "Font Awesome 5 Free"; 18 | font-weight: 900; 19 | content: '\f128'; 20 | color: $gray-600; 21 | } 22 | 23 | // Accepted 24 | .task-score.accepted:before { 25 | font-family: "Font Awesome 5 Free"; 26 | font-weight: 900; 27 | content: '\f00c'; 28 | color: $accepted-bg; 29 | } 30 | 31 | .task-score.accepted { 32 | background-color: #c3e8c5; 33 | } 34 | 35 | // Attempted 36 | .task-score.attempted:before { 37 | font-family: "Font Awesome 5 Free"; 38 | font-weight: 900; 39 | content: '\f00d'; 40 | color: $attempted-bg; 41 | } 42 | 43 | .task-score.attempted { 44 | background-color: #ffc3c3; 45 | } 46 | 47 | // Not attempted 48 | .task-score.none:before { 49 | font-family: "Font Awesome 5 Free"; 50 | font-weight: 900; 51 | content: '\f068'; 52 | } 53 | } 54 | 55 | .cses-table td:first-child, 56 | .cses-table th:first-child { 57 | min-width: 250px; 58 | } 59 | 60 | [data-dark-mode] .cses-table { 61 | td { 62 | background-color: lighten($body-bg-dark, 2%); 63 | } 64 | 65 | .task-score.attempted { 66 | background-color: darken($attempted-bg, 1%); 67 | } 68 | 69 | .task-score.accepted { 70 | background-color: darken($accepted-bg, 1%) 71 | } 72 | 73 | .task-score:before { 74 | color: #ffe7e7; 75 | } 76 | } 77 | 78 | [data-dark-mode] #gym-tabs { 79 | border-color: $border-dark; 80 | 81 | 82 | .nav-link { 83 | color: $link-color-dark; 84 | } 85 | 86 | .nav-link.active { 87 | background-color: $body-overlay-dark; 88 | color: $body-color-dark; 89 | } 90 | 91 | .nav-link.active { 92 | border-color: $border-dark; 93 | } 94 | } 95 | 96 | [data-dark-mode] #gym-tab-content td:first-child, 97 | [data-dark-mode] #gym-tab-content th:first-child { 98 | background-color: lighten($body-bg-dark, 0%) !important; 99 | } -------------------------------------------------------------------------------- /assets/scss/components/tables.scss: -------------------------------------------------------------------------------- 1 | /*! purgecss start ignore */ 2 | body.dark .table { 3 | @extend .table-dark; 4 | } 5 | /*! purgecss end ignore */ 6 | -------------------------------------------------------------------------------- /assets/scss/layouts/_footer.scss: -------------------------------------------------------------------------------- 1 | .footer { 2 | border-top: 1px solid $gray-200; 3 | padding-top: 1.125rem; 4 | padding-bottom: 1.125rem; 5 | } 6 | 7 | .footer ul { 8 | margin-bottom: 0; 9 | } 10 | 11 | .footer li { 12 | font-size: $font-size-sm; 13 | margin-bottom: 0; 14 | } 15 | 16 | @include media-breakpoint-up(md) { 17 | .footer li { 18 | font-size: $font-size-base; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /assets/scss/layouts/_pages.scss: -------------------------------------------------------------------------------- 1 | .docs-content > h2[id]::before, 2 | .docs-content > h3[id]::before, 3 | .docs-content > h4[id]::before { 4 | display: block; 5 | height: 6rem; 6 | margin-top: -6rem; 7 | content: ""; 8 | } 9 | 10 | .anchor { 11 | visibility: hidden; 12 | } 13 | 14 | h1:hover a, 15 | h2:hover a, 16 | h3:hover a, 17 | h4:hover a { 18 | visibility: visible; 19 | text-decoration: none; 20 | } 21 | 22 | .card-list { 23 | margin-top: 2.25rem; 24 | } 25 | 26 | .page-footer-meta { 27 | margin-top: 3rem; 28 | } 29 | 30 | .edit-page, 31 | .last-modified { 32 | font-size: $font-size-sm; 33 | margin-top: 0.25rem; 34 | margin-bottom: 0.25rem; 35 | } 36 | 37 | @include media-breakpoint-up(md) { 38 | .edit-page, 39 | .last-modified { 40 | font-size: $font-size-base; 41 | margin-top: 0.75rem; 42 | margin-bottom: 0.25rem; 43 | } 44 | } 45 | 46 | .edit-page svg, 47 | .last-modified svg { 48 | margin-right: 0.25rem; 49 | margin-bottom: 0.25rem; 50 | } 51 | 52 | p.meta { 53 | margin-top: 0.5rem; 54 | font-size: $font-size-base; 55 | } 56 | 57 | .breadcrumb { 58 | margin-top: 2.25rem; 59 | font-size: $font-size-base; 60 | } 61 | 62 | .page-link:hover { 63 | text-decoration: none; 64 | } 65 | -------------------------------------------------------------------------------- /assets/scss/layouts/_posts.scss: -------------------------------------------------------------------------------- 1 | .home .card, 2 | .contributors.list .card, 3 | .blog.list .card, 4 | .blog.single .card, 5 | .categories.list .card, 6 | .tags.list .card { 7 | margin-top: 2rem; 8 | margin-bottom: 2rem; 9 | transition: transform 0.3s; 10 | } 11 | 12 | .home .card:hover, 13 | .contributors.list .card:hover, 14 | .blog.list .card:hover, 15 | .blog.single .card:hover, 16 | .categories.list .card:hover, 17 | .tags.list .card:hover { 18 | transform: scale(1.025); 19 | } 20 | 21 | .contributors.list .card.card-terms:hover, 22 | .categories.list .card.card-terms:hover, 23 | .tags.list .card.card-terms:hover { 24 | transform: none; 25 | } 26 | 27 | .home .card-body, 28 | .contributors.list .card-body, 29 | .blog.list .card-body, 30 | .blog.single .card-body, 31 | .categories.list .card-body, 32 | .tags.list .card-body { 33 | padding: 0 2rem 1rem; 34 | } 35 | 36 | .contributors.list .card-terms .card-body, 37 | .categories.list .card-terms .card-body, 38 | .tags.list .card-terms .card-body { 39 | padding: 1rem; 40 | } 41 | 42 | .blog-header { 43 | text-align: center; 44 | margin-bottom: 2rem; 45 | } 46 | 47 | .blog-footer { 48 | text-align: center; 49 | } 50 | 51 | .related-posts { 52 | margin-top: 4rem; 53 | } 54 | 55 | h2.section-title { 56 | margin-bottom: 1.25rem; 57 | } 58 | -------------------------------------------------------------------------------- /assets/scss/layouts/_sidebar.scss: -------------------------------------------------------------------------------- 1 | .docs-links, 2 | .docs-toc { 3 | scrollbar-width: thin; 4 | scrollbar-color: $white $white; 5 | } 6 | 7 | .docs-links::-webkit-scrollbar, 8 | .docs-toc::-webkit-scrollbar { 9 | width: 5px; 10 | } 11 | 12 | .docs-links::-webkit-scrollbar-track, 13 | .docs-toc::-webkit-scrollbar-track { 14 | background: $white; 15 | } 16 | 17 | .docs-links::-webkit-scrollbar-thumb, 18 | .docs-toc::-webkit-scrollbar-thumb { 19 | background: $white; 20 | } 21 | 22 | .docs-links:hover, 23 | .docs-toc:hover { 24 | scrollbar-width: thin; 25 | scrollbar-color: $gray-200 $white; 26 | } 27 | 28 | .docs-links:hover::-webkit-scrollbar-thumb, 29 | .docs-toc:hover::-webkit-scrollbar-thumb { 30 | background: $gray-200; 31 | } 32 | 33 | .docs-links::-webkit-scrollbar-thumb:hover, 34 | .docs-toc::-webkit-scrollbar-thumb:hover { 35 | background: $gray-200; 36 | } 37 | 38 | .docs-links h3, 39 | .page-links h3 { 40 | text-transform: uppercase; 41 | font-size: $font-size-base; 42 | margin: 1.25rem 0 0.5rem; 43 | padding: 1.5rem 0 0; 44 | } 45 | 46 | @include media-breakpoint-up(lg) { 47 | .docs-links h3, 48 | .page-links h3 { 49 | margin: 1.125rem 1.5rem 0.75rem 0; 50 | padding: 1.375rem 0 0; 51 | } 52 | } 53 | 54 | .docs-links h3:not(:first-child) { 55 | border-top: 1px solid $gray-200; 56 | } 57 | 58 | a.docs-link { 59 | color: $body-color; 60 | display: block; 61 | padding: 0.125rem 0; 62 | font-size: $font-size-base; 63 | } 64 | 65 | .page-links li { 66 | margin-top: 0.375rem; 67 | padding-top: 0.375rem; 68 | } 69 | 70 | .page-links li ul li { 71 | border-top: none; 72 | padding-left: 1rem; 73 | margin-top: 0.125rem; 74 | padding-top: 0.125rem; 75 | } 76 | 77 | .page-links li:not(:first-child) { 78 | border-top: 1px dashed $gray-200; 79 | } 80 | 81 | .page-links a { 82 | color: $body-color; 83 | display: block; 84 | padding: 0.125rem 0; 85 | font-size: $font-size-base * 0.9375; 86 | } 87 | 88 | .docs-link:hover, 89 | .docs-link.active, 90 | .page-links a:hover { 91 | text-decoration: none; 92 | color: $link-color; 93 | } 94 | 95 | .nav-link.active, 96 | .dropdown-menu-main .dropdown-item.active, 97 | .docs-link.active { 98 | font-weight: 500; 99 | } 100 | 101 | .docs-links h3.sidebar-link, 102 | .page-links h3.sidebar-link { 103 | text-transform: none; 104 | font-size: $font-size-md; 105 | font-weight: normal; 106 | } 107 | 108 | .docs-links h3.sidebar-link a, 109 | .page-links h3.sidebar-link a { 110 | color: $body-color; 111 | } 112 | 113 | .docs-links h3.sidebar-link a:hover, 114 | .page-links h3.sidebar-link a:hover { 115 | text-decoration: underline; 116 | } 117 | -------------------------------------------------------------------------------- /assets/scss/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/assets/scss/vendor/.gitkeep -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@babel/preset-env', 5 | { 6 | targets: { 7 | browsers: [ 8 | // Best practice: https://github.com/babel/babel/issues/7789 9 | '>=1%', 10 | 'not ie 11', 11 | 'not op_mini all' 12 | ] 13 | } 14 | } 15 | ] 16 | ] 17 | }; -------------------------------------------------------------------------------- /config/_default/config.toml: -------------------------------------------------------------------------------- 1 | baseurl = "/" 2 | canonifyURLs = false 3 | disableAliases = true 4 | disableHugoGeneratorInject = true 5 | enableEmoji = true 6 | enableGitInfo = false 7 | enableRobotsTXT = true 8 | paginate = 7 9 | rssLimit = 10 10 | 11 | # outputs 12 | [outputs] 13 | home = ["HTML", "RSS"] 14 | section = ["HTML", "RSS", "SITEMAP"] 15 | 16 | # add output format for section sitemap.xml 17 | [outputFormats.SITEMAP] 18 | mediaType = "application/xml" 19 | baseName = "sitemap" 20 | isHTML = false 21 | isPlainText = true 22 | noUgly = true 23 | rel = "sitemap" 24 | 25 | [caches] 26 | [caches.getjson] 27 | dir = ":cacheDir/:project" 28 | maxAge = "10s" 29 | 30 | [sitemap] 31 | changefreq = "weekly" 32 | filename = "sitemap.xml" 33 | priority = 0.5 34 | 35 | [taxonomies] 36 | contributor = "contributors" 37 | category = "categories" 38 | tag = "tags" 39 | 40 | [permalinks] 41 | blog = "/blog/:title/" 42 | # docs = "/docs/1.0/:sections[1:]/:title/" 43 | 44 | [minify.tdewolff.html] 45 | keepWhitespace = false 46 | 47 | [related] 48 | threshold = 80 49 | includeNewer = true 50 | toLower = false 51 | [[related.indices]] 52 | name = "categories" 53 | weight = 100 54 | [[related.indices]] 55 | name = "tags" 56 | weight = 80 57 | [[related.indices]] 58 | name = "date" 59 | weight = 10 60 | 61 | [module] 62 | [module.hugoVersion] 63 | extended = true 64 | min = "0.80.0" 65 | max = "" 66 | [[module.mounts]] 67 | source = "assets" 68 | target = "assets" 69 | [[module.mounts]] 70 | source = "static" 71 | target = "static" 72 | [[module.mounts]] 73 | source = "layouts" 74 | target = "layouts" 75 | [[module.mounts]] 76 | source = "node_modules/flexsearch" 77 | target = "assets/js/vendor/flexsearch" 78 | [[module.mounts]] 79 | source = "node_modules/katex" 80 | target = "assets/js/vendor/katex" 81 | [[module.mounts]] 82 | source = "node_modules/mermaid" 83 | target = "assets/js/vendor/mermaid" 84 | [[module.mounts]] 85 | source = "node_modules/@hyas/images/layouts" 86 | target = "layouts" 87 | -------------------------------------------------------------------------------- /config/_default/markup.toml: -------------------------------------------------------------------------------- 1 | defaultMarkdownHandler = "goldmark" 2 | 3 | [goldmark] 4 | [goldmark.extensions] 5 | linkify = false 6 | [goldmark.parser] 7 | autoHeadingID = true 8 | autoHeadingIDType = "github" 9 | [goldmark.parser.attribute] 10 | block = true 11 | title = true 12 | [goldmark.renderer] 13 | unsafe = true 14 | 15 | [highlight] 16 | codeFences = true 17 | guessSyntax = false 18 | hl_Lines = "" 19 | lineNoStart = 1 20 | lineNos = false 21 | lineNumbersInTable = true 22 | noClasses = false 23 | style = "dracula" 24 | tabWidth = 4 25 | 26 | [tableOfContents] 27 | endLevel = 3 28 | ordered = false 29 | startLevel = 2 30 | -------------------------------------------------------------------------------- /config/_default/params.toml: -------------------------------------------------------------------------------- 1 | # Meta Data for SEO 2 | 3 | ## Homepage 4 | title = "Programación Competitiva UChile" 5 | titleSeparator = "-" 6 | logo = "images/banner.svg" 7 | titleAddition = "Inicio" 8 | description = "Grupo organizado de Programación Competitiva en la Universidad de Chile." 9 | 10 | ## Open Graph 11 | images = ["logo_redondo.png"] 12 | ogLocale = "es_CL" 13 | domainTLD = "doks.netlify.app" 14 | titleHome = "Programación Competitiva UChile" 15 | 16 | ## Twitter Cards 17 | twitterSite = "@dccuchile" 18 | twitterCreator = "@dccuchile" 19 | 20 | schemaSection = "blog" 21 | 22 | ## Sitelinks Search Box 23 | siteLinksSearchBox = false 24 | 25 | ## Chrome Browser 26 | themeColor = "#fff" 27 | 28 | # Images 29 | quality = 85 30 | bgColor = "#fff" 31 | landscapePhotoWidths = [900, 800, 700, 600, 500] 32 | portraitPhotoWidths = [800, 700, 600, 500] 33 | lqipWidth = "20x" 34 | smallLimit = "300" 35 | 36 | # Images 37 | imageResponsive = true 38 | imageConvertTo = "webp" 39 | imageImageSizes = ["480","720","1080","1280","1600","2048"] 40 | singleSize = false 41 | imageAddClass = "img-fluid lazyload blur-up" 42 | 43 | ### Image template 44 | defaultImage = "default-image.png" # put in `./assets/images/` 45 | fillImage = "1270x740 Center" # normalize image size 46 | 47 | # Footer 48 | footer = "Sitio generado con Hugo y Doks" 49 | 50 | # Alert 51 | alert = false 52 | alertDismissable = true 53 | alertText = "" 54 | 55 | # Edit Page 56 | # repoHost [Github | Gitea | GitLab | Bitbucket | BitbucketServer ] is used for building the edit link based on git hoster 57 | repoHost = "GitHub" 58 | docsRepo = "https://github.com/progcompuch/apunte" 59 | docsRepoBranch = "main" 60 | docsRepoSubPath = "" 61 | editPage = false 62 | lastMod = false 63 | 64 | [sections] 65 | sectionNav = ["apunte", "recursos"] 66 | 67 | [options] 68 | lazySizes = true 69 | clipBoard = true 70 | instantPage = true 71 | flexSearch = true 72 | searchSectionsShow = [] 73 | searchSectionsIndex = [] 74 | darkMode = true 75 | bootStrapJs = true 76 | breadCrumb = false 77 | highLight = true 78 | kaTex = true 79 | multilingualMode = false 80 | docsVersioning = false 81 | fullWidth = false 82 | navbarSticky = true 83 | toTopButton = false 84 | scrollSpy = false # experimental; needs Bootstrap >= 5.2.0-beta1 85 | 86 | [menu] 87 | [menu.section] 88 | auto = false 89 | collapsibleSidebar = true 90 | -------------------------------------------------------------------------------- /config/next/config.toml: -------------------------------------------------------------------------------- 1 | canonifyURLs = false 2 | -------------------------------------------------------------------------------- /config/postcss.config.js: -------------------------------------------------------------------------------- 1 | const autoprefixer = require('autoprefixer'); 2 | const purgecss = require('@fullhuman/postcss-purgecss'); 3 | const whitelister = require('purgecss-whitelister'); 4 | 5 | module.exports = { 6 | plugins: [ 7 | autoprefixer(), 8 | purgecss({ 9 | content: [ 10 | './layouts/**/*.html', 11 | './content/**/*.md', 12 | ], 13 | safelist: [ 14 | 'lazyloaded', 15 | 'table', 16 | 'thead', 17 | 'tbody', 18 | 'tr', 19 | 'th', 20 | 'td', 21 | 'h5', 22 | 'alert-link', 23 | 'container-xxl', 24 | 'container-fluid', 25 | 'offcanvas-backdrop', 26 | 'img-fluid', 27 | 'lazyload', 28 | 'blur-up', 29 | 'figcaption', 30 | ...whitelister([ 31 | './assets/scss/components/_alerts.scss', 32 | './assets/scss/components/_buttons.scss', 33 | './assets/scss/components/_code.scss', 34 | './assets/scss/components/_diagrams.scss', 35 | './assets/scss/components/_syntax.scss', 36 | './assets/scss/components/_search.scss', 37 | './assets/scss/common/_dark.scss', 38 | './assets/scss/components/code-dark.scss', 39 | './assets/scss/components/cses-standings.scss', 40 | './node_modules/bootstrap/scss/_dropdown.scss', 41 | './node_modules/katex/dist/katex.css', 42 | './node_modules/bootstrap/scss/_tables.scss', 43 | ]), 44 | ], 45 | }), 46 | ], 47 | } 48 | -------------------------------------------------------------------------------- /config/production/config.toml: -------------------------------------------------------------------------------- 1 | canonifyURLs = false 2 | -------------------------------------------------------------------------------- /config/staging/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/config/staging/.gitkeep -------------------------------------------------------------------------------- /content/ICPCing.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Contest para Simular en Equipo 3 | description: "Contests simulados por otros equipos" 4 | date: 2025-05-30T08:47:36.000+00:00 5 | images: [] 6 | type: icpcing 7 | --- -------------------------------------------------------------------------------- /content/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Programación Competitiva UChile 3 | lead: Información y material de programación competitiva para la Universidad de Chile 4 | date: 2020-10-06T08:47:36.000+00:00 5 | images: [] 6 | 7 | --- 8 | -------------------------------------------------------------------------------- /content/acerca.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Acerca 3 | description: "Creadores, licencia y agradecimientos" 4 | date: 2020-10-06T08:47:36.000+00:00 5 | images: [] 6 | type: about 7 | --- 8 | 9 | El objetivo de este sitio es servir como apoyo para los cursos de Programación Competitiva de la [Universidad de Chile](https://uchile.cl), pero no busca limitarse con solo eso, sino ser un material abierto y disponible para quien quiera aprender a cuenta propia o aprender más allá de lo visto en el curso, incluso sin necesitar de experiencias previas programando. 10 | 11 | # Creadores y Licencia 12 | 13 | Este sitio fue creado por Blaz Korecic y Vicente Ramirez, interesados por la programación competitiva, y se entrega bajo licencia CC BY-SA 4.0. 14 | 15 | # Agradecimientos 16 | 17 | A continuación se nombran, en orden cronológico, a las personas que han colaborado de una forma u otra en el diseño y la redacción de este apunte: 18 | 19 | * David Ibáñez 20 | * Daniel Báez 21 | * Javier Oliva 22 | * Javier Marinkovic 23 | -------------------------------------------------------------------------------- /content/apunte/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Apunte" 3 | description: "Apunte para la Programación Competitiva" 4 | type: docs 5 | --- 6 | -------------------------------------------------------------------------------- /content/apunte/anexos/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Anexos" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-anexos" 7 | 8 | weight: 999 # Las secciones se ordenan de forma ascendente por su peso 9 | --- -------------------------------------------------------------------------------- /content/apunte/anexos/template/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/anexos/template/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Template" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-anexos-template" 7 | parent: "apunte-anexos" 8 | weight: 999 # El menú lateral ordena artículos por su peso 9 | --- 10 | ## Template base 11 | 12 | El template básico para C++ que usamos en programación competitiva es el siguiente: 13 | 14 | ```c++ 15 | #include 16 | using namespace std; 17 | int main() { 18 | ios_base::sync_with_stdio(0); cin.tie(0); 19 | 20 | // codigo aqui :D 21 | 22 | return 0; 23 | } 24 | ``` 25 | No es necesario entender que hacen estas líneas, pero aquí hay una explicación mala: 26 | 27 | La primera línea incluye todas las librerías estandar de C++ (iostream, vector, etc.) 28 | para ahorrarnos tener que memorizar de donde viene cada función. 29 | 30 | La segunda línea nos ahorra tener que escribir `std::` antes de cada cosa que usamos 31 | de la librería estándar. Como en las competencias solo podemos usar la librería estándar 32 | nunca va a ser necesario especificar de donde viene lo que usamos. 33 | 34 | La cuarta línea hace que `cin` y `cout` sean casi tan rápidos como `scanf` 35 | y `printf`. Recomendamos siempre `cin` y `cout` porque su formateo de input 36 | y output es muy conveniente en comparación con la alternativa. No vale la pena la 37 | optimización de tiempo, en general no va a hacer que un problema pase de dar TLE a AC. 38 | Cuidado que si se pone esta línea, **no se pueden mezclar `scanf` y `printf` (IO de C) con `cin` y `cout` (IO de C++)**. 39 | 40 | ## Multiples Casos de Prueba 41 | 42 | Cuando te piden resolver el mismo problema, pero el input tiene varios casos de prueba 43 | se puede usar: 44 | 45 | ```c++ 46 | #include 47 | using namespace std; 48 | void solve() { 49 | // codigo aqui :D 50 | } 51 | int main() { 52 | ios_base::sync_with_stdio(0); cin.tie(0); 53 | 54 | int t; cin >> t; 55 | while (t--) solve(); 56 | return 0; 57 | } 58 | ``` 59 | 60 | Al hacerlo de esta forma, la función `solve` es llamada exactamente $t$ veces (la cantidad 61 | de casos de prueba). -------------------------------------------------------------------------------- /content/apunte/estructuras_de_datos/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Estructuras de datos" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-estructuras_de_datos" 7 | 8 | weight: 50 # Las secciones se ordenan de forma ascendente por su peso 9 | --- -------------------------------------------------------------------------------- /content/apunte/estructuras_de_datos/union_find/img/disjointsets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/estructuras_de_datos/union_find/img/disjointsets.png -------------------------------------------------------------------------------- /content/apunte/extras/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Extras" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-extras" 7 | 8 | weight: 70 # Las secciones se ordenan de forma ascendente por su peso 9 | --- -------------------------------------------------------------------------------- /content/apunte/extras/recurrencias_lineales/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/extras/treaps/img/ABB1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/extras/treaps/img/ABB1.png -------------------------------------------------------------------------------- /content/apunte/extras/treaps/img/ABB2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/extras/treaps/img/ABB2.png -------------------------------------------------------------------------------- /content/apunte/extras/treaps/img/Heap1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/extras/treaps/img/Heap1.png -------------------------------------------------------------------------------- /content/apunte/extras/treaps/img/Treap1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/extras/treaps/img/Treap1.png -------------------------------------------------------------------------------- /content/apunte/extras/treaps/img/TreapsMerge1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/extras/treaps/img/TreapsMerge1.png -------------------------------------------------------------------------------- /content/apunte/extras/treaps/img/TreapsMerge2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/extras/treaps/img/TreapsMerge2.png -------------------------------------------------------------------------------- /content/apunte/extras/treaps/img/TreapsMerge3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/extras/treaps/img/TreapsMerge3.png -------------------------------------------------------------------------------- /content/apunte/extras/treaps/img/TreapsSplit1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/extras/treaps/img/TreapsSplit1.png -------------------------------------------------------------------------------- /content/apunte/extras/treaps/img/TreapsSplit2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/extras/treaps/img/TreapsSplit2.png -------------------------------------------------------------------------------- /content/apunte/extras/treaps/img/UnbalancedTreap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/extras/treaps/img/UnbalancedTreap.png -------------------------------------------------------------------------------- /content/apunte/geometria/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Geometría" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-geometria" 7 | 8 | weight: 70 # Las secciones se ordenan de forma ascendente por su peso 9 | --- 10 | -------------------------------------------------------------------------------- /content/apunte/geometria/puntos/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/grafos/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Grafos" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-grafos" 7 | 8 | weight: 60 # Las secciones se ordenan de forma ascendente por su peso 9 | --- -------------------------------------------------------------------------------- /content/apunte/grafos/busqueda_en_grafos/img/bfs_dfs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/grafos/busqueda_en_grafos/img/bfs_dfs.png -------------------------------------------------------------------------------- /content/apunte/grafos/busqueda_en_grafos/img/bipartito.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/grafos/busqueda_en_grafos/img/bipartito.png -------------------------------------------------------------------------------- /content/apunte/grafos/caminos_ciclos_eulerianos/img/camino_euleriano.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/grafos/caminos_ciclos_eulerianos/img/camino_euleriano.png -------------------------------------------------------------------------------- /content/apunte/grafos/caminos_ciclos_eulerianos/img/ciclo_euleriano.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/grafos/caminos_ciclos_eulerianos/img/ciclo_euleriano.png -------------------------------------------------------------------------------- /content/apunte/grafos/caminos_mas_cortos/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/grafos/introduccion/img/grafo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/grafos/introduccion/img/grafo.png -------------------------------------------------------------------------------- /content/apunte/grafos/minimum_spanning_tree/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/introduccion/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Introducción" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-introduccion" 7 | weight: 20 # Las secciones se ordenan de forma ascendente por su peso 8 | --- -------------------------------------------------------------------------------- /content/apunte/introduccion/analisis_de_complejidad/img/big-o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/introduccion/analisis_de_complejidad/img/big-o.png -------------------------------------------------------------------------------- /content/apunte/introduccion/compilacion_y_editores/img/codeblocks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/introduccion/compilacion_y_editores/img/codeblocks.png -------------------------------------------------------------------------------- /content/apunte/introduccion/compilacion_y_editores/img/geany.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/introduccion/compilacion_y_editores/img/geany.png -------------------------------------------------------------------------------- /content/apunte/introduccion/compilacion_y_editores/img/sublimetext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/introduccion/compilacion_y_editores/img/sublimetext.png -------------------------------------------------------------------------------- /content/apunte/introduccion/compilacion_y_editores/img/vim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/introduccion/compilacion_y_editores/img/vim.png -------------------------------------------------------------------------------- /content/apunte/introduccion/compilacion_y_editores/img/vscode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/introduccion/compilacion_y_editores/img/vscode.png -------------------------------------------------------------------------------- /content/apunte/introduccion/funciones/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/introduccion/operadores_de_bits/img/bitwise-binarioadecimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/introduccion/operadores_de_bits/img/bitwise-binarioadecimal.png -------------------------------------------------------------------------------- /content/apunte/introduccion/sintaxis_variables_tipos_ciclos/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/introduccion/vectores/img/matrix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/introduccion/vectores/img/matrix.png -------------------------------------------------------------------------------- /content/apunte/libreria_estandar/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Librería estándar de C++" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-libreria_estandar" 7 | weight: 30 # Las secciones se ordenan de forma ascendente por su peso 8 | --- -------------------------------------------------------------------------------- /content/apunte/libreria_estandar/char_string/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/libreria_estandar/extras/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Extras" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-libreria_estandar-extras" 7 | parent: "apunte-libreria_estandar" 8 | weight: 9999 # Las secciones se ordenan de forma ascendente por su peso 9 | --- 10 | -------------------------------------------------------------------------------- /content/apunte/libreria_estandar/extras/permutaciones_de_un_arreglo/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/libreria_estandar/extras/permutaciones_de_un_arreglo/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Permutaciones de un vector" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-libreria_estandar-extras-permutaciones_de_un_arreglo" 7 | parent: "apunte-libreria_estandar-extras" 8 | weight: 10 # El menú lateral ordena artículos por su peso 9 | --- 10 | ## Código 11 | A veces necesitamos iterar por todas las permutaciones de un vector `A`. Una forma típica de programar algoritmos de fuerza bruta como este es con recursión (backtracking), pero con la función `next_permutation` de la librería estándar podemos escribirlo más simple: 12 | ```cpp 13 | vector A; 14 | // ...imaginemos que A tiene elementos 15 | sort(A.begin(), A.end()); 16 | do{ 17 | // procesamos la permutación actual 18 | } while(next_permutation(A.begin(), A.end())); // avanzamos a la siguiente permutación 19 | ``` 20 | 21 | ## Explicación 22 | Diremos que una permutación es menor o mayor que otra si es lexicográficamente menor o mayor, respectivamente. 23 | * Primero ordenamos `A`, de forma que corresponda a la menor permutación. 24 | * En el ciclo procesamos cada permutación. La función `next_permutation` convierte `A` en la permutación que le sigue lexicográficamente, y retorna 25 | falso si no tiene una permutación mayor, es decir, cuando `A` es la mayor permutación de todas. Por esto empezamos con la menor (la ordenada). 26 | 27 | Si tenemos $n$ elementos distintos, la complejidad es $O(n \log n + n \cdot n!)$, pues hay $n!$ permutaciones y `next_permutation` toma tiempo lineal, y el $n \log n$ es por el `sort`. Si se repiten elementos podría ser un poco más rápido, ya que hay menos permutaciones posibles. 28 | 29 | ## Problemas para practicar 30 | * [CSES 1622 - Creating Strings](https://cses.fi/problemset/task/1622) -------------------------------------------------------------------------------- /content/apunte/libreria_estandar/pair_tuple/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/libreria_estandar/priority_queue/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/apunte/libreria_estandar/priority_queue/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Priority queue" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-libreria_estandar-priority_queue" 7 | parent: "apunte-libreria_estandar" 8 | weight: 60 # El menú lateral ordena artículos por su peso 9 | --- 10 | ### Priority Queue 11 | 12 | La priority_queue es un contenedor de elementos que permite insertar y obtener el máximo elemento con complejidad $O( \log(n) \cdot k )$ donde $k$ es la complejidad de comparar dos elementos. Puede que esto suene como una estructura limitada que cumple una función muy específica, pero esto es algo que se ve repetido bastante en algoritmos y problemas. 13 | 14 | Esta estructura internamente implementa un [heap](https://es.wikipedia.org/wiki/Mont%C3%ADculo_(inform%C3%A1tica)), no es necesaria entenderla a profundidad para usarla. 15 | 16 | ```c++ 17 | // se construye una priority queue vacía 18 | priority_queue pq; 19 | 20 | // insertamos todos los números del 0 al 9 21 | for (int i=0;i<10;i++) pq.push(i); 22 | 23 | // mientras hayan elementos en la pq 24 | while (!pq.empty()){ 25 | 26 | // imprimo el más grande 27 | cout< , greater > pq; 41 | ``` 42 | 43 | 2. Invertir el orden al insertar y sacar los elementos: 44 | ```c++ 45 | priority_queue pq; 46 | 47 | // multiplicamos por -1 al insertar 48 | for (int i=0;i<10;i++) pq.push(-i); 49 | 50 | while (!pq.empty()){ 51 | 52 | // imprimimos multiplicado por -1 53 | cout<<-1*pq.top()< a; 27 | sort(a.begin(),a.end()); 28 | ``` 29 | 30 | Y el vector queda ordenado. 31 | 32 | Si tenemos un vector de pares los elementos quedan ordenados por el primer elemento y en caso de empate, por el segundo. 33 | 34 | ```c++ 35 | vector< pair > a = { {1,3} , {2,1}, {1,2} , {3,0} }; 36 | sort(a.begin(),a.end()); 37 | for (int i=0;i <3 +1;i++){ 38 | cout<()` de c++: 48 | 49 | ```c++ 50 | vector a; 51 | sort(a.begin(),a.end(),greater()); 52 | ``` 53 | 54 | Podemos definir nuestra propia función de la siguiente forma: 55 | 56 | ```c++ 57 | // devuelve true si a va antes b 58 | bool mySort(pair a, pair b){ 59 | if (a.first < b.first) return true; 60 | if (b.first < a.first) return false; 61 | return b.second < a.second; 62 | } 63 | 64 | ... 65 | 66 | vector< pair > a; 67 | sort(a.begin(),a.end(),mySort); 68 | ``` 69 | 70 | Con esto programamos una forma de ordenar los elementos de menor a mayor por el primer elemento y en caso de empate de mayor a menor por el segundo. -------------------------------------------------------------------------------- /content/apunte/libreria_estandar/stack_queue/img/queue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/libreria_estandar/stack_queue/img/queue.png -------------------------------------------------------------------------------- /content/apunte/libreria_estandar/stack_queue/img/stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/libreria_estandar/stack_queue/img/stack.png -------------------------------------------------------------------------------- /content/apunte/paradigmas_de_resolucion/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Paradigmas de resolución" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-paradigmas_de_resolucion" 7 | 8 | weight: 40 # Las secciones se ordenan de forma ascendente por su peso 9 | --- -------------------------------------------------------------------------------- /content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/bbin_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/bbin_1.png -------------------------------------------------------------------------------- /content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/bbin_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/bbin_2.png -------------------------------------------------------------------------------- /content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/bbin_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/bbin_3.png -------------------------------------------------------------------------------- /content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/bbin_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/bbin_4.png -------------------------------------------------------------------------------- /content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/bbin_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/bbin_5.png -------------------------------------------------------------------------------- /content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/ternary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/paradigmas_de_resolucion/busqueda_binaria/img/ternary.png -------------------------------------------------------------------------------- /content/apunte/paradigmas_de_resolucion/programacion_dinamica/img/arbol_f(5).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/paradigmas_de_resolucion/programacion_dinamica/img/arbol_f(5).png -------------------------------------------------------------------------------- /content/apunte/paradigmas_de_resolucion/programacion_dinamica/img/dp1_latex1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/apunte/paradigmas_de_resolucion/programacion_dinamica/img/dp1_latex1.png -------------------------------------------------------------------------------- /content/apunte/prologo/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Prólogo" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-prologo" 7 | 8 | weight: 10 # Las secciones se ordenan de forma ascendente por su peso 9 | --- -------------------------------------------------------------------------------- /content/apunte/prologo/introduccion/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Introducción" 3 | type: docs 4 | menu: 5 | apunte: 6 | identifier: "apunte-prologo-introduccion" 7 | parent: "apunte-prologo" 8 | weight: 1 # El menú lateral ordena artículos por su peso 9 | --- 10 | Este apunte recoge los contenidos usualmente vistos los cursos de **Taller de Programación Competitiva** del [Departamento de Ciencias de la Computación](https://dcc.uchile.cl) de la [Facultad de Ciencias Físicas y Matemáticas](https://ingenieria.uchile.cl) de la [Universidad de Chile](https://uchile.cl). El objetivo de estos cursos es acercar al estudiante al área de la programación competitiva, aplicando eficazmente estructuras de datos y algoritmos para resolver en corto tiempo problemas de programación complejos, limitados en tiempo y memoria computacional. 11 | 12 | Este apunte también funciona como un documento vivo, en el que se le invita a quienes lo leen a modificarlo, copiarlo y/o a aportar con pull requests nuevas secciones, ejemplos y ejercicios. 13 | 14 | 15 | ## ¿Por dónde partir? 16 | 17 | ### Contenido del curso 18 | 19 | Los capítulos de la barra lateral se muestran un orden de complejidad ascendiente. Por lo tanto, es recomendable seguirlos en ese mismo orden, no obstante, siéntete libre de omitir secciones en las que te manejes. 20 | 21 | ### Preparación del entorno de programación 22 | 23 | Para manejar las herramientas mínimas requeridas para programar, revisa la página sobre [Compilación y Editores de Texto]({{< ref "/apunte/introduccion/compilacion_y_editores" >}}). 24 | -------------------------------------------------------------------------------- /content/cses.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: CSES Standings 3 | description: "Resultados del CSES problemset" 4 | date: 2020-10-06T08:47:36.000+00:00 5 | images: [] 6 | type: csesStandings 7 | --- -------------------------------------------------------------------------------- /content/equipos/icpc.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: ICPC 3 | date: 2025-02-04 4 | description: "Equipos UChile para la ICPC" 5 | date: 2020-10-06T08:47:36.000+00:00 6 | images: [] 7 | type: equipos-icpc 8 | menu: 9 | main: 10 | identifier: "equipos-icpc" 11 | parent: "Equipos" 12 | weight: 61 13 | --- 14 | -------------------------------------------------------------------------------- /content/equipos/ieeextreme.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: IEEEXtreme 3 | date: 2025-02-04 4 | description: "Equipos UChile para la IEEEXtreme" 5 | date: 2020-10-06T08:47:36.000+00:00 6 | images: [] 7 | type: equipos-ieeextreme 8 | menu: 9 | main: 10 | identifier: "equipos-ieeextreme" 11 | parent: "Equipos" 12 | weight: 62 13 | --- 14 | -------------------------------------------------------------------------------- /content/gimnasio/cses.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "CSES" 3 | date: 2025-02-01 4 | type: gym 5 | images: [] 6 | description: "" 7 | menu: 8 | main: 9 | identifier: "gimnasio-cses" 10 | parent: "Gimnasio" 11 | weight: 57 12 | --- -------------------------------------------------------------------------------- /content/gimnasio/lv0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Nuevo en C++" 3 | date: 2025-02-01 4 | type: gym 5 | images: [] 6 | description: "" 7 | menu: 8 | main: 9 | identifier: "gimnasio-0" 10 | parent: "Gimnasio" 11 | weight: 51 12 | --- -------------------------------------------------------------------------------- /content/gimnasio/lv1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Básico 1" 3 | date: 2025-02-01 4 | type: gym 5 | images: [] 6 | description: "" 7 | menu: 8 | main: 9 | identifier: "gimnasio-1" 10 | parent: "Gimnasio" 11 | weight: 53 12 | --- -------------------------------------------------------------------------------- /content/gimnasio/lv2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Básico 2" 3 | date: 2025-02-01 4 | type: gym 5 | images: [] 6 | description: "" 7 | menu: 8 | main: 9 | identifier: "gimnasio-2" 10 | parent: "Gimnasio" 11 | weight: 54 12 | --- -------------------------------------------------------------------------------- /content/gimnasio/lv3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Intermedio 1" 3 | date: 2025-02-01 4 | type: gym 5 | images: [] 6 | description: "" 7 | menu: 8 | main: 9 | identifier: "gimnasio-3" 10 | parent: "Gimnasio" 11 | weight: 55 12 | --- 13 | -------------------------------------------------------------------------------- /content/gimnasio/lv4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Intermedio 2" 3 | date: 2025-02-01 4 | type: gym 5 | images: [] 6 | description: "" 7 | menu: 8 | main: 9 | identifier: "gimnasio-4" 10 | parent: "Gimnasio" 11 | weight: 56 12 | --- 13 | -------------------------------------------------------------------------------- /content/gimnasio/semanales.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Semanal" 3 | date: 2025-02-01 4 | type: gym 5 | images: [] 6 | description: "" 7 | menu: 8 | main: 9 | identifier: "gimnasio-s" 10 | parent: "Gimnasio" 11 | weight: 52 12 | --- -------------------------------------------------------------------------------- /content/ratings.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Ratings 3 | description: "Ratings" 4 | date: 2020-10-06T08:47:36.000+00:00 5 | images: [] 6 | type: fullRatings 7 | --- -------------------------------------------------------------------------------- /content/recursos/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Recursos" 3 | description: "Información general, tips para empezar y practicar" 4 | type: docs 5 | --- 6 | -------------------------------------------------------------------------------- /content/recursos/recursos/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Recursos" 3 | type: docs 4 | menu: 5 | recursos: 6 | identifier: "recursos-recursos" 7 | 8 | weight: 10 # Las secciones se ordenan de forma ascendente por su peso 9 | --- -------------------------------------------------------------------------------- /content/recursos/recursos/como_practicar/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/recursos/recursos/como_practicar/img/logo_atcoder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/como_practicar/img/logo_atcoder.png -------------------------------------------------------------------------------- /content/recursos/recursos/como_practicar/img/logo_codeforces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/como_practicar/img/logo_codeforces.png -------------------------------------------------------------------------------- /content/recursos/recursos/como_practicar/img/logo_cses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/como_practicar/img/logo_cses.png -------------------------------------------------------------------------------- /content/recursos/recursos/como_practicar/img/logo_kattis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/como_practicar/img/logo_kattis.png -------------------------------------------------------------------------------- /content/recursos/recursos/como_practicar/img/logo_projecteuler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/como_practicar/img/logo_projecteuler.png -------------------------------------------------------------------------------- /content/recursos/recursos/como_practicar/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Cómo practicar" 3 | type: docs 4 | menu: 5 | recursos: 6 | identifier: "recursos-recursos-como_practicar" 7 | parent: "recursos-recursos" 8 | weight: 20 # El menú lateral ordena artículos por su peso 9 | --- 10 | Dependiendo de qué aspecto de la programación competitiva quieres practicar, recomendamos los siguientes sitios: 11 | 12 | ## Codeforces 13 |
14 | 15 | Es una página rusa dedicada a la programación competitiva. Tiene miles de problemas disponibles, y realizan competencias casi todas las semanas. 16 | 17 | Codeforces tiene un sistema de rating parecido al Elo del ajedrez, y dependiendo de cómo el usuario se posicione en una competencia su rating puede subir o bajar. 18 | 19 | ## AtCoder 20 |
21 | 22 | Es una página japonesa que tiene un formato similar al de Codeforces, organizando rondas casi todas las semanas y con un sistema de rating parecido. 23 | 24 | ## CSES 25 |
26 | 27 | Creado por Antti Laaksonen y Topi Talvitie, es un sitio finlandés de competencias. En él, se encuentra un "problem set" muy completo con todos los problemas clásicos de cada tópico. 28 | 29 | Es excelente para aprender tópicos nuevos y practicar problemas relacionados al mismo tiempo, así como también para familiarizarse con los problemas más clásicos. 30 | 31 | ## Kattis 32 |
33 | 34 | Kattis tiene varios mirrors de competencias estadounidenses estilo ICPC, así que es un buen sitio para practicar para la ICPC. 35 | 36 | ## Project Euler 37 |
38 | Project Euler contiene mayoritariamente problemas matemáticos, así que es bueno si uno quiere especializarse en ese tópico. Los problemas no tienen límite de tiempo, ya que en vez de enviar el código hay que enviar solo el output. -------------------------------------------------------------------------------- /content/recursos/recursos/competencias_importantes/img/logo_code_jam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/competencias_importantes/img/logo_code_jam.png -------------------------------------------------------------------------------- /content/recursos/recursos/competencias_importantes/img/logo_hacker_cup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/competencias_importantes/img/logo_hacker_cup.png -------------------------------------------------------------------------------- /content/recursos/recursos/competencias_importantes/img/logo_icpc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/competencias_importantes/img/logo_icpc.png -------------------------------------------------------------------------------- /content/recursos/recursos/competencias_importantes/img/logo_ieeextreme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/competencias_importantes/img/logo_ieeextreme.png -------------------------------------------------------------------------------- /content/recursos/recursos/competencias_importantes/img/logo_ioi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/competencias_importantes/img/logo_ioi.png -------------------------------------------------------------------------------- /content/recursos/recursos/competencias_importantes/img/logo_oci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/competencias_importantes/img/logo_oci.png -------------------------------------------------------------------------------- /content/recursos/recursos/entrenamientos/img/logo_code_jam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/entrenamientos/img/logo_code_jam.png -------------------------------------------------------------------------------- /content/recursos/recursos/entrenamientos/img/logo_hacker_cup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/entrenamientos/img/logo_hacker_cup.png -------------------------------------------------------------------------------- /content/recursos/recursos/entrenamientos/img/logo_icpc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/entrenamientos/img/logo_icpc.png -------------------------------------------------------------------------------- /content/recursos/recursos/entrenamientos/img/logo_ieeextreme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/entrenamientos/img/logo_ieeextreme.png -------------------------------------------------------------------------------- /content/recursos/recursos/entrenamientos/img/logo_ioi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/entrenamientos/img/logo_ioi.png -------------------------------------------------------------------------------- /content/recursos/recursos/entrenamientos/img/logo_oci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/content/recursos/recursos/entrenamientos/img/logo_oci.png -------------------------------------------------------------------------------- /content/recursos/recursos/entrenamientos/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Entrenamientos" 3 | type: docs 4 | menu: 5 | recursos: 6 | identifier: "recursos-recursos-entrenamientos" 7 | parent: "recursos-recursos" 8 | weight: 30 # El menú lateral ordena artículos por su peso 9 | --- 10 | ### Reuniones Semanales 11 | Nos reunimos los miércoles a las 12:00, simulamos una competencia Beginner de atcoder por 70 minutos y luego discutimos los problemas otros 20 minutos. 12 | ### Discusiones post competencia 13 | Después de competencias en codeforces y atcoder nos reunimos en discord para discutir los problemas. 14 | ### Entrenamientos en equipo 15 | Una vez decididos los equipos para representar a la universidad en la ICPC, los miembros de un equipo se ponen de acuerdo para simular competencias ICPC de 5 horas. Después se discuten los problemas. 16 | ### Entrenamientos en campamentos internacionales 17 | A lo largo del año se realizan campamentos de entrenamiento en distintas partes del mundo. Nosotros participamos en el entrenamiento de Argentina y de Brasil. Estos campamentos suelen tener una duración de dos semanas, son presenciales y en equipo. 18 | - Campamento de Argentina: Duración de dos semanas en invierno. Pedimos financiamiento a la universidad para los miembros del equipo que tengan un rating al menos celeste en codeforces o atcoder. Pueden ver los ratings en la sección Ratings. [Argentina](https://www.pc-arg.com/tc-arg) 19 | - Campamento de Brasil: Duración de dos semanas en verano. Pedimos financiamiento a la universidad para un equipo que clasifique a la fase super regional de la ICPC y tenga miembros con rating al menos azul en codeforces o atcoder. [Brasil](https://maratona.ic.unicamp.br/MaratonaVerao2025/) 20 | 21 | Además del entrenamiento pueden recibir oportunidades de práctica profesional de parte de los sponsors. -------------------------------------------------------------------------------- /content/recursos/recursos/introduccion/img/.gitkeep: -------------------------------------------------------------------------------- 1 | En este directorio van las imágenes del artículo. -------------------------------------------------------------------------------- /content/training-camps/brasil.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Training Camp Brasileño 3 | description: "Training Camp Brasileño" 4 | date: 2020-10-06T08:47:36.000+00:00 5 | images: [] 6 | type: brasilcamp 7 | menu: 8 | main: 9 | identifier: "training-camp-brasil" 10 | parent: "Camps" 11 | weight: 73 12 | --- 13 | -------------------------------------------------------------------------------- /data/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/data/.gitkeep -------------------------------------------------------------------------------- /data/docs-versions.yml: -------------------------------------------------------------------------------- 1 | # - group: v1.x 2 | # baseurl: "https://getbootstrap.com" 3 | # description: "Every minor and patch release from v1 is listed below." 4 | # versions: 5 | # - v: "1.0.0" 6 | # - v: "1.1.0" 7 | # - v: "1.1.1" 8 | # - v: "1.2.0" 9 | # - v: "1.3.0" 10 | # - v: "1.4.0" 11 | # 12 | # - group: v2.x 13 | # baseurl: "https://getbootstrap.com" 14 | # description: "Every minor and patch release from v2 is listed below." 15 | # versions: 16 | # - v: "2.0.0" 17 | # - v: "2.0.1" 18 | # - v: "2.0.2" 19 | # - v: "2.0.3" 20 | # - v: "2.0.4" 21 | # - v: "2.1.0" 22 | # - v: "2.1.1" 23 | # - v: "2.2.0" 24 | # - v: "2.2.1" 25 | # - v: "2.2.2" 26 | # - v: "2.3.0" 27 | # - v: "2.3.1" 28 | # - v: "2.3.2" 29 | # 30 | # - group: v3.x 31 | # baseurl: "https://getbootstrap.com/docs" 32 | # description: "Every minor and patch release from v3 is listed below. Last update was v3.4.1." 33 | # versions: 34 | # - v: "3.3" 35 | # - v: "3.4" 36 | # 37 | # - group: v4.x 38 | # baseurl: "https://getbootstrap.com/docs" 39 | # description: "Our previous major release with its minor releases. Last update was v4.6.0." 40 | # versions: 41 | # - v: "4.0" 42 | # - v: "4.1" 43 | # - v: "4.2" 44 | # - v: "4.3" 45 | # - v: "4.4" 46 | # - v: "4.5" 47 | # - v: "4.6" 48 | 49 | - group: v0.x 50 | baseurl: "/docs" 51 | description: "Current major release. Last update was v0.2.0." 52 | versions: 53 | - v: "0.1" 54 | - v: "0.2" 55 | 56 | - group: v1.x 57 | baseurl: "/docs" 58 | description: "Every minor and patch release from v1 is listed below. Last update was v1.0.0." 59 | versions: 60 | - v: "1.0" 61 | -------------------------------------------------------------------------------- /data/doks.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "doks", 3 | "version": "0.1.5" 4 | } 5 | -------------------------------------------------------------------------------- /data/hyas.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hyas", 3 | "version": "1.3.5" 4 | } -------------------------------------------------------------------------------- /functions/hi-from-lambda.js: -------------------------------------------------------------------------------- 1 | exports.handler = (event, context, callback) => { 2 | callback (null, { 3 | statusCode: 200, 4 | headers: { 5 | 'Content-Type': 'application/json', 6 | }, 7 | body: JSON.stringify({ 8 | message: 'Hi from Lambda.', 9 | }), 10 | }); 11 | } 12 | -------------------------------------------------------------------------------- /images/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/images/.gitkeep -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

Página no encontrada :(

6 |

Si piensas que esto es un error, puedes crear un issue en el repositorio de Github.

7 |
8 |
9 |
10 | {{ end }} -------------------------------------------------------------------------------- /layouts/_default/_markup/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/layouts/_default/_markup/.gitkeep -------------------------------------------------------------------------------- /layouts/_default/_markup/render-heading.html: -------------------------------------------------------------------------------- 1 | {{ .Text | safeHTML }} 2 | -------------------------------------------------------------------------------- /layouts/_default/baseof.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ partial "head/head.html" . }} 5 | {{ block "head/custom_head" . }}{{ end }} 6 | 7 | {{ if eq .Kind "home" -}} 8 | {{ .Scratch.Set "class" "home" -}} 9 | {{ else if eq .Kind "404" -}} 10 | {{ .Scratch.Set "class" "error404" -}} 11 | {{ else if eq .Kind "page" -}} 12 | {{ .Scratch.Set "class" .Type -}} 13 | {{ .Scratch.Add "class" " single" -}} 14 | {{ else -}} 15 | {{ .Scratch.Set "class" .Type -}} 16 | {{ .Scratch.Add "class" " list" -}} 17 | {{ end -}} 18 | 19 | {{ partial "header/header.html" . }} 20 |
21 |
22 | {{ block "main" . }}{{ end }} 23 |
24 |
25 | {{ block "sidebar-prefooter" . }}{{ end }} 26 | {{ block "sidebar-footer" . }}{{ end }} 27 | {{ partial "footer/footer.html" . }} 28 | {{ partial "footer/script-footer.html" . }} 29 | {{ if eq .Site.Params.options.toTopButton true -}} 30 |
31 | Top 32 |
33 | {{ end }} 34 | 35 | -------------------------------------------------------------------------------- /layouts/_default/index.js: -------------------------------------------------------------------------------- 1 | var docs = [ 2 | {{ range $index, $page := (where .Site.Pages "Section" "docs") -}} 3 | { 4 | id: {{ $index }}, 5 | title: "{{ .Title }}", 6 | description: "{{ .Params.description }}", 7 | href: "{{ .URL | relURL }}" 8 | }, 9 | {{ end -}} 10 | ]; -------------------------------------------------------------------------------- /layouts/_default/index.json: -------------------------------------------------------------------------------- 1 | {{- $.Scratch.Add "index" slice -}} 2 | {{- range .Site.RegularPages -}} 3 | {{- $.Scratch.Add "index" (dict "title" .Title "description" .Params.description "contents" .Plain "RelPermalink" .RelPermalink) -}} 4 | {{- end -}} 5 | {{- $.Scratch.Get "index" | jsonify -}} -------------------------------------------------------------------------------- /layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |

{{ .Title }}

5 | {{ with .Content -}}
{{ . }}
{{ end -}} 6 |
7 |
8 |
9 | {{ $paginator := .Paginate (.Data.Pages) -}} 10 | {{ range $paginator.Pages -}} 11 |
12 |
13 | {{- .Scratch.Set "fillImage" "1270x620 Center" -}} 14 | {{ partial "content/card-image.html" . }} 15 |
16 |
17 |

{{ .Params.title }}

18 |

{{ .Params.excerpt | safeHTML }}

19 | {{ partial "main/blog-meta.html" . -}} 20 |
21 |
22 |
23 |
24 | {{ end -}} 25 |
26 |
27 |
28 | {{ $.Scratch.Set "paginator" true }} 29 | {{ template "_internal/pagination.html" . }} 30 |
31 |
32 | {{ end }} -------------------------------------------------------------------------------- /layouts/_default/section.sitemap.xml: -------------------------------------------------------------------------------- 1 | {{ printf "" | safeHTML -}} 2 | 4 | {{ range $i, $e := .Data.Pages -}} 5 | {{ if ne .Params.sitemap_exclude true }} 6 | 7 | {{ .Permalink }}{{ if not .Lastmod.IsZero }} 8 | {{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }}{{ with .Sitemap.ChangeFreq }} 9 | {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} 10 | {{ .Sitemap.Priority }}{{ end }}{{ if .IsTranslated }}{{ range .Translations }} 11 | {{ end }} 16 | {{ end }} 21 | 22 | {{ end -}} 23 | {{ end -}} 24 | {{ range .Sections -}} 25 | {{ range $i, $e := .Data.Pages -}} 26 | {{ if ne .Params.sitemap_exclude true -}} 27 | 28 | {{ .Permalink }}{{ if not .Lastmod.IsZero }} 29 | {{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }}{{ with .Sitemap.ChangeFreq }} 30 | {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} 31 | {{ .Sitemap.Priority }}{{ end }}{{ if .IsTranslated }}{{ range .Translations }} 32 | {{ end }} 37 | {{ end }} 42 | 43 | {{ end -}} 44 | {{ end -}} 45 | {{ end -}} 46 | -------------------------------------------------------------------------------- /layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

{{ .Title }}

6 | {{ .Content }} 7 |
8 |
9 |
10 | {{ end }} 11 | -------------------------------------------------------------------------------- /layouts/_default/terms.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |

{{ .Title }}

5 |
{{ .Content }}
6 |
7 | {{ range .Paginator.Pages }} 8 |
9 |
10 | 13 |
14 |
15 | {{ end }} 16 |
17 | {{ template "_internal/pagination.html" . }} 18 |
19 |
20 | {{ end }} 21 | -------------------------------------------------------------------------------- /layouts/_default/versions.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |

{{ .Title }}

4 |

{{ .Params.lead | safeHTML }}

5 | {{ .Content }} 6 |
7 | {{ range $release := sort (index $.Site.Data "docs-versions") "group" "desc" -}} 8 |
9 |

{{ $release.group }}

10 |

{{ $release.description }}

11 | {{ $versions := sort $release.versions "v" "desc" -}} 12 | {{ range $i, $version := $versions -}} 13 | {{ $len := len $versions -}} 14 | {{ if (eq $i 0) }}{{ end }} 22 | {{ end -}} 23 |
24 | {{ end -}} 25 |
26 |
27 | {{ end }} 28 | -------------------------------------------------------------------------------- /layouts/blog/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

{{ .Title }}

6 |
{{ .Content }}
7 |
8 | {{ range .Data.Pages -}} 9 |
10 |
11 |

{{ .Params.title }}

12 |

{{ .Params.lead | safeHTML }}

13 | {{ partial "main/blog-meta.html" . -}} 14 |
15 |
16 | {{ end -}} 17 |
18 |
19 |
20 |
21 | {{ end }} -------------------------------------------------------------------------------- /layouts/blog/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |
6 |

{{ .Title }}

7 | {{ partial "main/blog-meta.html" . }} 8 |
9 |
10 |
11 |
12 | {{- .Scratch.Set "fillImage" "1270x715 Center" -}} 13 | {{ partial "content/figure.html" . }} 14 |
15 |
16 |
17 | {{ .Content }} 18 | {{ if .Params.tags -}} 19 |
20 | {{ range $index, $tag := .Params.tags -}} 21 | {{ . }} 22 | {{ end -}} 23 |
24 | {{ end -}} 25 |
26 |
27 |
28 | 29 | {{ $related := .Site.RegularPages.Related . | first 3 -}} 30 | {{ with $related -}} 31 | 55 | {{ end -}} 56 | 57 | {{ end }} 58 | 59 | 60 | -------------------------------------------------------------------------------- /layouts/contributors/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

{{ .Title }}

6 |
{{ .Content }}
7 |
8 | {{ range .Data.Pages -}} 9 |
10 |
11 |

{{ .Params.title }}

12 | {{ if eq .Section "blog" -}} 13 |

{{ .Params.lead | safeHTML }}

14 | {{ partial "main/blog-meta.html" . -}} 15 | {{ end -}} 16 |
17 |
18 | {{ end -}} 19 |
20 |
21 |
22 |
23 | {{ end }} -------------------------------------------------------------------------------- /layouts/csesStandings/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |

{{ .Title }}

4 | {{ $titles := slice "Introductory Problems" "Sorting and Searching" "Dynamic Programming" "Graph Algorithms" "Range Queries" "Tree Algorithms" "Mathematics" "String Algorithms" "Geometry" "Advanced Techniques" "Additional Problems" }} 5 | 6 | {{ $userNames := .Site.Params.csesNames }} 7 | {{ $problemUrl := .Site.Params.csesProblemUrl }} 8 | 9 |
10 |

Totales

11 | 12 | 13 | 14 | 15 | {{ range $userName := $userNames }} 16 | 17 | {{ end }} 18 | 19 | 20 | 21 | {{ range $userNames }} 22 | 23 | {{ end }} 24 | 25 | 26 |
{{ $userName }}
Total Resueltos
27 |

Problem set

28 | 29 | 30 | {{ range $title := $titles }} 31 | 32 | 33 | 34 | {{ range $userName := $userNames }} 35 | 36 | {{ end }} 37 | 38 | {{ end }} 39 | 40 |

{{ $title }}

{{ $userName }}
41 |
42 |
43 | {{ end }} 44 | -------------------------------------------------------------------------------- /layouts/docs/list.html: -------------------------------------------------------------------------------- 1 | {{ define "head/custom_head" }} 2 | {{ $first_page := index .CurrentSection.Pages.ByWeight 0}} 3 | 4 | {{ end }} -------------------------------------------------------------------------------- /layouts/docs/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 | 7 |
8 | {{ if ne .Params.toc false -}} 9 | 12 | {{ end -}} 13 | {{ if .Params.toc -}} 14 |
15 | {{ else -}} 16 |
17 | {{ end -}} 18 | {{ if .Site.Params.options.breadCrumb -}} 19 | 20 | 26 | {{ end }} 27 |

{{ .Title }}

28 |

{{ .Params.lead | safeHTML }}

29 | {{ if ne .Params.toc false -}} 30 | 33 | {{ end -}} 34 | {{ .Content }} 35 | 43 | {{ partial "main/docs-navigation.html" . }} 44 | 51 |
52 |
53 | {{ end }} 54 | -------------------------------------------------------------------------------- /layouts/index.headers: -------------------------------------------------------------------------------- 1 | /* 2 | Strict-Transport-Security: max-age=31536000; includeSubDomains; preload 3 | X-Content-Type-Options: nosniff 4 | X-XSS-Protection: 1; mode=block 5 | Content-Security-Policy: default-src 'self'; frame-ancestors https://jamstackthemes.dev; manifest-src 'self' https://*.netlify.app; connect-src 'self' https://*.netlify.app; font-src 'self' https://*.netlify.app; img-src 'self' https://*.netlify.app data: https://i.giphy.com; script-src 'self' https://*.netlify.app 'sha512-RGGByJUOP98hE4wFZM78RM/3MijWJs0Tm0DbfrFhCDCXKXfDx60fii+syp5iMs3UcNX/1H4zJNgmqSejfhHrYw==' 'sha512-RBYr6Ld4w1yVqaACrgrBLQfPgGhj/1jyacA74WxJ1KM6KVcSWymwrdDwb3HDcdpwiNJ5yssot1He0U9vXoQVlg==' 'sha256-aWZ3y/RxbBYKHXH0z8+8ljrHG1mSBvyzSfxSMjBSaXk=' 'sha256-vOgyKS2vkH4n5TxBJpeh9SgzrE6LVGsAeOAvEST6oCc='; style-src 'self' https://*.netlify.app 'unsafe-inline' 6 | X-Frame-Options: SAMEORIGIN 7 | Referrer-Policy: strict-origin 8 | Feature-Policy: geolocation 'self' 9 | Cache-Control: public, max-age=31536000 10 | Access-Control-Allow-Origin: * 11 | -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

{{ .Title }}

6 |
7 |
8 |

{{ .Params.lead | safeHTML }}

9 | Leer apunte 10 |
11 |
12 |
13 | {{ end }} 14 | 15 | 16 | {{ define "sidebar-footer" }} 17 |
18 |
19 |
20 | {{- .Content -}} 21 |
22 |
23 |
24 | {{ end }} 25 | -------------------------------------------------------------------------------- /layouts/index.redirects: -------------------------------------------------------------------------------- 1 | {{- range $p := .Site.Pages -}} 2 | {{- range .Aliases }} 3 | {{ . }} {{ $p.RelPermalink }} 4 | {{- end }} 5 | {{- end }} 6 | 7 | # /docs/1.0/prologue/ /docs/1.0/prologue/introduction/ 8 | # /docs/1.0/help/ /docs/1.0/help/how-to-update/ 9 | # /docs/1.0/ /docs/1.0/prologue/introduction/ 10 | # /docs/ /docs/1.0/prologue/introduction/ 11 | # 12 | # /docs/0.1/* https://v0-1-0--doks-versioning-poc.netlify.app/docs/0.1/:splat 200 13 | # /docs/0.2/* https://v0-2-0--doks-versioning-poc.netlify.app/docs/0.2/:splat 200 14 | -------------------------------------------------------------------------------- /layouts/partials/content/card-image.html: -------------------------------------------------------------------------------- 1 | {{ $fillImage := .Scratch.Get "fillImageCard" }} 2 | {{ if not $fillImage -}} 3 | {{ $fillImage = site.Params.fillImage }} 4 | {{ end -}} 5 | 6 | {{ $image := .Resources.GetMatch (printf "**%s" (index .Params.images 0)) }} 7 | {{ if not $image -}} 8 | {{ $image = resources.Get (printf "%s%s" "images/" site.Params.defaultImage) }} 9 | {{ end -}} 10 | 11 | {{ $webp := printf "%s%s" $fillImage " webp" }} 12 | {{ $image = $image.Resize $webp}} 13 | 14 | {{ $lqip := $image.Resize site.Params.lqipWidth -}} 15 | 16 | {{ .Title }} 23 | -------------------------------------------------------------------------------- /layouts/partials/content/figure.html: -------------------------------------------------------------------------------- 1 | {{ $fillImage := .Scratch.Get "fillImage" }} 2 | {{ if not $fillImage -}} 3 | {{ $fillImage = site.Params.fillImage }} 4 | {{ end -}} 5 | 6 | {{ $image := .Resources.GetMatch (printf "**%s" (index .Params.images 0)) }} 7 | {{ if not $image -}} 8 | {{ $image = resources.Get (printf "%s%s" "images/" site.Params.defaultImage) }} 9 | {{ end -}} 10 | 11 | {{ $image = $image.Fill $fillImage }} 12 | {{ $lqip := $image.Resize site.Params.lqipWidth -}} 13 | 14 | {{ $imgSrc := "" -}} 15 | {{ $imgSrcSet := slice -}} 16 | 17 | {{ $widths := site.Params.landscapePhotoWidths -}} 18 | {{ if gt $image.Height $image.Width -}} 19 | {{ $widths = site.Params.portraitPhotoWidths -}} 20 | {{ end -}} 21 | 22 | {{ range $widths -}} 23 | {{ $srcUrl := (printf "%dx" . | $image.Resize).Permalink -}} 24 | {{ if eq $imgSrc "" -}}{{ $imgSrc = $srcUrl -}}{{ end -}} 25 | {{ $imgSrcSet = $imgSrcSet | append (printf "%s %dw" $srcUrl .) -}} 26 | {{ end -}} 27 | {{ $imgSrcSet = (delimit $imgSrcSet ",") -}} 28 | 29 | {{ if gt $image.Width site.Params.smallLimit -}} 30 |
31 | {{ .Title }} 32 | 33 | 34 |
35 | {{ else -}} 36 | {{ .Title }} 37 | {{ end -}} 38 | -------------------------------------------------------------------------------- /layouts/partials/content/image.html: -------------------------------------------------------------------------------- 1 | {{ $image := .Resources.GetMatch (printf "**%s" (index .Params.images 0)) }} 2 | {{ if not $image -}} 3 | {{ $image = resources.Get (printf "%s%s" "images/" site.Params.defaultImage) }} 4 | {{ end -}} 5 | 6 | {{ $image = $image.Fill site.Params.fillImage }} 7 | {{ $lqip := $image.Resize site.Params.lqipWidth -}} 8 | 9 | {{ $imgSrc := "" -}} 10 | {{ $imgSrcSet := slice -}} 11 | 12 | {{ $widths := site.Params.landscapePhotoWidths -}} 13 | {{ if gt $image.Height $image.Width -}} 14 | {{ $widths = site.Params.portraitPhotoWidths -}} 15 | {{ end -}} 16 | 17 | {{ range $widths -}} 18 | {{ $srcUrl := (printf "%dx" . | $image.Resize).Permalink -}} 19 | {{ if eq $imgSrc "" -}}{{ $imgSrc = $srcUrl -}}{{ end -}} 20 | {{ $imgSrcSet = $imgSrcSet | append (printf "%s %dw" $srcUrl .) -}} 21 | {{ end -}} 22 | {{ $imgSrcSet = (delimit $imgSrcSet ",") -}} 23 | 24 | {{ if gt $image.Width site.Params.smallLimit -}} 25 |
26 | {{ .Title }} 27 | 28 | 29 |
30 | {{ else -}} 31 | {{ .Title }} 32 | {{ end -}} 33 | -------------------------------------------------------------------------------- /layouts/partials/footer/alert.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/partials/footer/cses-script.html: -------------------------------------------------------------------------------- 1 | {{ $csesTemplate := resources.Get "js/cses.js" -}} 2 | {{ $cses := $csesTemplate | resources.ExecuteAsTemplate "cses.js" . -}} 3 | {{ if eq (hugo.Environment) "development" -}} 4 | 5 | {{ else -}} 6 | {{ $csesProd := $cses | resources.Minify | resources.Fingerprint "sha512" -}} 7 | 8 | {{ end }} 9 | -------------------------------------------------------------------------------- /layouts/partials/footer/footer.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |
    6 |
  • {{ .Site.Params.footer | safeHTML }}
  • 7 |
8 |
9 |
10 |
    11 | {{ range .Site.Menus.footer -}} 12 |
  • {{ .Name }}
  • 13 | {{ end -}} 14 |
15 |
16 |
17 |
18 |
-------------------------------------------------------------------------------- /layouts/partials/footer/fullRatings-script.html: -------------------------------------------------------------------------------- 1 | {{ $fullRatingsTemplate := resources.Get "js/ratings.js" -}} 2 | {{ $fullRatings := $fullRatingsTemplate | resources.ExecuteAsTemplate "ratings.js" . -}} 3 | {{ if eq (hugo.Environment) "development" -}} 4 | 5 | {{ else -}} 6 | {{ $fullRatingsProd := $fullRatings | resources.Minify | resources.Fingerprint "sha512" -}} 7 | 8 | {{ end }} 9 | -------------------------------------------------------------------------------- /layouts/partials/footer/gym-script.html: -------------------------------------------------------------------------------- 1 | {{ $gymTemplate := resources.Get "js/training.js" -}} 2 | {{ $gym := $gymTemplate | resources.ExecuteAsTemplate "training.js" . -}} 3 | {{ if eq (hugo.Environment) "development" -}} 4 | 5 | {{ else -}} 6 | {{ $gymProd := $gym | resources.Minify | resources.Fingerprint "sha512" -}} 7 | 8 | {{ end }} 9 | -------------------------------------------------------------------------------- /layouts/partials/footer/icpcing-script.html: -------------------------------------------------------------------------------- 1 | {{ $icpcingTemplate := resources.Get "js/gym-sim.js" -}} 2 | {{ $icpcing := $icpcingTemplate | resources.ExecuteAsTemplate "gym-sim.js" . -}} 3 | {{ if eq (hugo.Environment) "development" -}} 4 | 5 | {{ else -}} 6 | {{ $icpcingProd := $icpcing | resources.Minify | resources.Fingerprint "sha512" -}} 7 | 8 | {{ end }} 9 | -------------------------------------------------------------------------------- /layouts/partials/head/favicons.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ if os.FileExists "static/favicon.svg" -}} 4 | 5 | {{ end -}} 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /layouts/partials/head/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ block "head/resource-hints" . }}{{ partial "head/resource-hints.html" . }}{{ end }} 5 | {{ block "head/script-header" . }}{{ partial "head/script-header.html" . }}{{ end }} 6 | {{ block "head/stylesheet" . }}{{ partial "head/stylesheet.html" . }}{{ end }} 7 | {{ block "head/seo" . }}{{ partial "head/seo.html" . }}{{ end }} 8 | {{ block "head/favicons" . }}{{ partial "head/favicons.html" . }}{{ end }} -------------------------------------------------------------------------------- /layouts/partials/head/resource-hints.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ if .Site.Params.options.kaTex -}} 5 | 6 | 7 | {{ end -}} 8 | -------------------------------------------------------------------------------- /layouts/partials/head/script-header.html: -------------------------------------------------------------------------------- 1 | {{ if .Site.Params.options.darkMode -}} 2 | {{ $darkModeInit := resources.Get "js/darkmode-init.js" | js.Build | minify -}} 3 | 4 | {{ end -}} 5 | {{- if and (.Site.Params.alert) (.Site.Params.alertDismissable) -}} 6 | {{ $alertInit := resources.Get "js/alert-init.js" | js.Build | minify -}} 7 | 8 | {{- end -}} -------------------------------------------------------------------------------- /layouts/partials/head/seo.html: -------------------------------------------------------------------------------- 1 | {{ if eq .Kind "404" -}} 2 | 3 | {{ else -}} 4 | {{ with .Params.robots -}} 5 | 6 | {{ else -}} 7 | 8 | 9 | 10 | {{ end -}} 11 | {{ end -}} 12 | 13 | {{ if .IsHome -}} 14 | {{ .Site.Params.title }} {{ .Site.Params.titleSeparator }} {{ .Site.Params.titleAddition }} 15 | {{ else -}} 16 | {{ .Title }} {{ .Site.Params.titleSeparator }} {{ .Site.Params.title }} 17 | {{ end -}} 18 | 19 | {{ with .Description -}} 20 | 21 | {{ else -}} 22 | {{ with .Summary | plainify -}} 23 | 24 | {{ else -}} 25 | 26 | {{ end -}} 27 | {{ end -}} 28 | 29 | {{ if $.Scratch.Get "paginator" }} 30 | 31 | {{ if .Paginator.HasPrev -}} 32 | 33 | {{ end -}} 34 | {{ if .Paginator.HasNext -}} 35 | 36 | {{ end -}} 37 | {{ else -}} 38 | 39 | {{ end -}} 40 | 41 | {{ partial "head/opengraph.html" . }} 42 | {{ partial "head/twitter_cards.html" . }} 43 | 44 | {{ range .AlternativeOutputFormats -}} 45 | 46 | {{ end -}} 47 | 48 | {{ partial "head/structured-data.html" . }} 49 | -------------------------------------------------------------------------------- /layouts/partials/head/stylesheet.html: -------------------------------------------------------------------------------- 1 | {{ if eq (hugo.Environment) "development" -}} 2 | {{ $options := (dict "targetPath" "main.css" "enableSourceMap" true "includePaths" (slice "node_modules")) -}} 3 | {{ $css := resources.Get "scss/app.scss" | toCSS $options -}} 4 | 5 | {{ else -}} 6 | {{ $options := (dict "targetPath" "main.css" "outputStyle" "compressed" "includePaths" (slice "node_modules")) -}} 7 | {{ $css := resources.Get "scss/app.scss" | toCSS $options | postCSS (dict "config" "config/postcss.config.js") -}} 8 | {{ $secureCSS := $css | resources.Fingerprint "sha512" -}} 9 | 10 | {{ end -}} 11 | -------------------------------------------------------------------------------- /layouts/partials/head/twitter_cards.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {{ with $.Params.images -}} 7 | 8 | {{ else -}} 9 | {{ $images := $.Resources.ByType "image" -}} 10 | {{ $featured := $images.GetMatch "*feature*" -}} 11 | {{ if not $featured -}} 12 | {{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" -}} 13 | {{ end -}} 14 | {{ with $featured -}} 15 | 16 | {{ else -}} 17 | {{ with $.Site.Params.images -}} 18 | 19 | {{ else -}} 20 | 21 | {{ end -}} 22 | {{ end -}} 23 | {{ end -}} 24 | 25 | -------------------------------------------------------------------------------- /layouts/partials/header/alert.html: -------------------------------------------------------------------------------- 1 | {{ if .Site.Params.alertDismissable -}} 2 | 6 | {{ else -}} 7 | 10 | {{ end -}} -------------------------------------------------------------------------------- /layouts/partials/main/blog-meta.html: -------------------------------------------------------------------------------- 1 | {{ $last := 0 }} 2 | {{ if .Params.contributors }} 3 | {{ $last = sub (len .Params.contributors) 1 }} 4 | {{ end }} 5 | 6 |

Publicado el{{ if .Params.categories -}} in {{ range $index, $category := .Params.categories -}} 7 | {{ if gt $index 0 -}}, {{ end -}} 8 | {{ . }} 9 | {{ end -}}{{ end -}} on {{ .PublishDate.Format "January 2, 2006" }} by 10 | {{ if .Params.contributors -}} 11 | {{ range $index, $contributor := .Params.contributors }} 12 | {{ if gt $index 0 }}{{ if eq $index $last }} and {{ else }}, {{ end }}{{ end }} 13 | {{ . }} 14 | {{ end -}} 15 | {{ end -}} ‐ {{ .ReadingTime -}} min read

16 | -------------------------------------------------------------------------------- /layouts/partials/main/breadcrumb.html: -------------------------------------------------------------------------------- 1 | {{ with .Parent -}} 2 | {{ partial "main/breadcrumb.html" . -}} 3 | 4 | {{ end -}} -------------------------------------------------------------------------------- /layouts/partials/main/date.html: -------------------------------------------------------------------------------- 1 | 5 | {{ $format := default "January 2, 2006" .Format -}} 6 | {{ return (.Date.Format $format) -}} -------------------------------------------------------------------------------- /layouts/partials/main/docs-navigation.html: -------------------------------------------------------------------------------- 1 | {{ $siblings := .Parent.Pages }} 2 | {{ $cur := . }} 3 | {{ $index_of := 0 }} 4 | {{ range $idx, $page := $siblings }} 5 | {{ if eq $page $cur }} 6 | {{ $index_of = $idx }} 7 | {{ end }} 8 | {{ end }} 9 | {{ if (gt (len $siblings) 1) }} 10 |
11 | {{ with (index $siblings (sub $index_of 1)) -}} 12 | 13 |
14 |
15 | ← {{ .Title }} 16 |
17 |
18 |
19 | {{ end -}} 20 | {{ with (index $siblings (add $index_of 1)) -}} 21 | 22 |
23 |
24 | {{ .Title }} → 25 |
26 |
27 |
28 | {{ end -}} 29 |
30 | {{ end }} -------------------------------------------------------------------------------- /layouts/partials/main/edit-page.html: -------------------------------------------------------------------------------- 1 | {{ $parts := slice .Site.Params.docsRepo }} 2 | 3 | {{ if (eq .Site.Params.repoHost "GitHub") }} 4 | {{ $parts = $parts | append "blob" .Site.Params.docsRepoBranch }} 5 | {{ else if (eq .Site.Params.repoHost "Gitea") }} 6 | {{ $parts = $parts | append "_edit" .Site.Params.docsRepoBranch }} 7 | {{ else if (eq .Site.Params.repoHost "GitLab") }} 8 | {{ $parts = $parts | append "-/blob" .Site.Params.docsRepoBranch }} 9 | {{ else if (eq .Site.Params.repoHost "Bitbucket") }} 10 | {{ $parts = $parts | append "src" .Site.Params.docsRepoBranch }} 11 | {{ else if (eq .Site.Params.repoHost "BitbucketServer") }} 12 | {{ $parts = $parts | append "browse" .Site.Params.docsRepoBranch }} 13 | {{ end }} 14 | 15 | {{ if isset .Site.Params "docsreposubpath" }} 16 | {{ if not (eq .Site.Params.docsRepoSubPath "") }} 17 | {{ $parts = $parts | append .Site.Params.docsRepoSubPath }} 18 | {{ end }} 19 | {{ end }} 20 | 21 | {{ $filePath := replace .File.Path "\\" "/" }} 22 | 23 | {{ $parts = $parts | append "content" .Lang $filePath }} 24 | 25 | {{ $url := delimit $parts "/" }} 26 | 27 | 35 | -------------------------------------------------------------------------------- /layouts/partials/main/headline-hash.html: -------------------------------------------------------------------------------- 1 | {{ . | replaceRE "()" `${1} ${3}` | safeHTML }} -------------------------------------------------------------------------------- /layouts/partials/main/last-modified.html: -------------------------------------------------------------------------------- 1 | {{ if and .GitInfo .Site.Params.docsRepo -}} 2 | {{- $date := partial "main/date" (dict "Date" .GitInfo.AuthorDate.Local "Format" .Site.Params.BookDateFormat) -}} 3 | {{- $commitPath := default "commit" .Site.Params.BookCommitPath -}} 4 | 10 | {{ end -}} -------------------------------------------------------------------------------- /layouts/partials/mathjax.html: -------------------------------------------------------------------------------- 1 | 20 | 21 | -------------------------------------------------------------------------------- /layouts/partials/sidebar/auto-default-menu.html: -------------------------------------------------------------------------------- 1 | 2 | {{ $currentPage := . -}} 3 | {{ $section := $currentPage.Section -}} 4 | {{ range (where .Site.Sections "Section" "in" $section) }} 5 | {{ range .Sections }} 6 | {{ $active := in $currentPage.RelPermalink .RelPermalink }} 7 |

{{ .Title }}

8 |
    9 | {{ range .Pages }} 10 | {{ if .IsNode }} 11 | {{ $active := in $currentPage.RelPermalink .RelPermalink }} 12 |

    {{ .Title }}

    13 |
      14 | {{ range .Pages }} 15 | {{ if .IsNode }} 16 | {{ $active := in $currentPage.RelPermalink .RelPermalink }} 17 |
      {{ .Title }}
      18 |
        19 | {{ range .Pages }} 20 | {{ $active := in $currentPage.RelPermalink .RelPermalink }} 21 |
      • {{ .Name }}
      • 22 | {{ end }} 23 |
      24 | {{ else }} 25 | {{ $active := in $currentPage.RelPermalink .RelPermalink }} 26 |
    • {{ .Name }}
    • 27 | {{ end }} 28 | {{ end }} 29 |
    30 | {{ else }} 31 | {{ $active := in $currentPage.RelPermalink .RelPermalink }} 32 |
  • {{ .Name }}
  • 33 | {{ end }} 34 | {{ end }} 35 |
36 | {{ end }} 37 | {{ end }} 38 | -------------------------------------------------------------------------------- /layouts/partials/sidebar/docs-menu.html: -------------------------------------------------------------------------------- 1 | {{ if and .Site.Params.menu.section.auto .Site.Params.menu.section.collapsibleSidebar -}} 2 | {{ partial "sidebar/auto-collapsible-menu.html" . -}} 3 | {{ else if and .Site.Params.menu.section.auto (not .Site.Params.menu.section.collapsibleSidebar) -}} 4 | {{ partial "sidebar/auto-default-menu.html" . -}} 5 | {{ else if and (not .Site.Params.menu.section.auto) .Site.Params.menu.section.collapsibleSidebar -}} 6 | {{ partial "sidebar/manual-collapsible-menu.html" . -}} 7 | {{ else if and (not .Site.Params.menu.section.auto) (not .Site.Params.menu.section.collapsibleSidebar) -}} 8 | {{ partial "sidebar/manual-default-menu.html" . -}} 9 | {{ end -}} -------------------------------------------------------------------------------- /layouts/partials/sidebar/docs-toc.html: -------------------------------------------------------------------------------- 1 | {{ if and (ne .Params.toc false) (ne .TableOfContents "") -}} 2 |
3 | 10 |
11 |
12 | 15 |
16 |
17 |
18 | 26 | {{ end -}} 27 | -------------------------------------------------------------------------------- /layouts/partials/sidebar/manual-default-menu.html: -------------------------------------------------------------------------------- 1 | 2 | {{ $currentPage := . -}} 3 | {{ $section := $currentPage.Section -}} 4 | {{ range (index .Site.Menus $section) -}} 5 |

{{ .Name }}

6 | {{ if .HasChildren -}} 7 |
    8 | {{ range .Children -}} 9 | {{ if .HasChildren -}} 10 |

    {{ .Name }}

    11 | {{ if .HasChildren -}} 12 |
      13 | {{ range .Children -}} 14 | {{ if .HasChildren -}} 15 |
      {{ .Name }}
      16 | {{ if .HasChildren -}} 17 |
        18 | {{ range .Children -}} 19 | {{- $active := or ($currentPage.IsMenuCurrent $section .) ($currentPage.HasMenuCurrent $section .) -}} 20 | {{- $active = or $active (eq $currentPage.Section .Identifier) -}} 21 |
      • {{ .Name }}
      • 22 | {{ end -}} 23 |
      24 | {{ end -}} 25 | {{ else -}} 26 | {{- $active := or ($currentPage.IsMenuCurrent $section .) ($currentPage.HasMenuCurrent $section .) -}} 27 | {{- $active = or $active (eq $currentPage.Section .Identifier) -}} 28 |
    • {{ .Name }}
    • 29 | {{ end -}} 30 | {{ end -}} 31 |
    32 | {{ end -}} 33 | {{ else -}} 34 | {{- $active := or ($currentPage.IsMenuCurrent $section .) ($currentPage.HasMenuCurrent $section .) -}} 35 | {{- $active = or $active (eq $currentPage.Section .Identifier) -}} 36 |
  • {{ .Name }}
  • 37 | {{ end -}} 38 | {{ end -}} 39 |
40 | {{ end -}} 41 | {{ end -}} 42 | -------------------------------------------------------------------------------- /layouts/partials/sidebar/recursos-menu.html: -------------------------------------------------------------------------------- 1 | {{ $currentPage := . -}} 2 | {{ range .Site.Menus.recursos -}} 3 |

{{ .Name }}

4 | {{ if .HasChildren -}} 5 |
    6 | {{ range .Children -}} 7 | {{- $active := or ($currentPage.IsMenuCurrent "recursos" .) ($currentPage.HasMenuCurrent "recursos" .) -}} 8 | {{- $active = or $active (eq .Name $currentPage.Title) -}} 9 |
  • {{ .Name }}
  • 10 | {{ end -}} 11 |
12 | {{ end -}} 13 | {{ end -}} 14 | -------------------------------------------------------------------------------- /layouts/recursos/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

{{ .Title }}

6 |
{{ .Content }}
7 |
8 | {{ $currentSection := .CurrentSection }} 9 | {{ range where .Site.RegularPages "Section" .Section }} 10 | {{ if in (.Permalink | string) $currentSection.RelPermalink }} 11 |
12 | 15 |
16 | {{ end }} 17 | {{ end }} 18 |
19 |
20 |
21 |
22 | {{ end }} -------------------------------------------------------------------------------- /layouts/recursos/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 | 7 |
8 | {{ if ne .Params.toc false -}} 9 | 12 | {{ end -}} 13 | {{ if .Params.toc -}} 14 |
15 | {{ else -}} 16 |
17 | {{ end -}} 18 |

{{ .Title }}

19 |

{{ .Params.lead | safeHTML }}

20 | {{ partial "main/headline-hash.html" .Content }} 21 | {{ if .Site.Params.editPage -}} 22 | {{ partial "main/edit-page.html" . }} 23 | {{ end -}} 24 | {{ partial "main/docs-navigation.html" . }} 25 |
26 |
27 | {{ end }} 28 | -------------------------------------------------------------------------------- /layouts/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | {{ if eq (hugo.Environment) "production" -}} 3 | Allow: / 4 | {{ else -}} 5 | Disallow: / 6 | {{ end }} 7 | Sitemap: {{ "sitemap.xml" | absURL -}} 8 | -------------------------------------------------------------------------------- /layouts/rss.xml: -------------------------------------------------------------------------------- 1 | {{ printf "" | safeHTML }} 2 | 3 | 4 | {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} 5 | {{ .Permalink }} 6 | Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} 7 | Hugo -- gohugo.io{{ with .Site.Params.languageTag | default "es-CL" }} 8 | {{.}}{{end}}{{ with .Site.Author.email }} 9 | {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} 10 | {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Params.copyRight }} 11 | {{ . | safeHTML }}{{end}}{{ if not .Date.IsZero }} 12 | {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} 13 | {{ with .OutputFormats.Get "RSS" }} 14 | {{ printf "" .Permalink .MediaType | safeHTML }} 15 | {{ end }} 16 | {{ range .Pages }}{{ if ne .Params.feed_exclude true }} 17 | 18 | {{ .Title }} 19 | {{ .Permalink }} 20 | {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} 21 | {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} 22 | {{ .Permalink }} 23 | {{ .Summary | html }} 24 | 25 | {{ end }}{{ end }} 26 | 27 | 28 | -------------------------------------------------------------------------------- /layouts/shortcodes/alert.html: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /layouts/shortcodes/btn-copy.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /layouts/shortcodes/details.html: -------------------------------------------------------------------------------- 1 | 2 | {{ with .Get 0 -}}{{ . | safeHTML }}{{ else -}}{{ errorf "No summary provided"}}{{ end -}} 3 | {{ with .Inner -}}{{ . | markdownify}}{{ else -}}{{ errorf "No details provided"}}{{ end -}} 4 | -------------------------------------------------------------------------------- /layouts/shortcodes/email.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/shortcodes/img-simple.html: -------------------------------------------------------------------------------- 1 | {{ $image := .Page.Resources.GetMatch (printf "*%s*" (.Get "src")) -}} 2 | {{ $lqip := $image.Resize $.Site.Params.lqipWidth -}} 3 | -------------------------------------------------------------------------------- /layouts/shortcodes/img.html: -------------------------------------------------------------------------------- 1 | {{ $image := .Page.Resources.GetMatch (printf "*%s*" (.Get "src")) -}} 2 | {{ $lqip := $image.Resize $.Site.Params.lqipWidth -}} 3 | 4 | {{ $imgSrc := "" -}} 5 | {{ $imgSrcSet := slice -}} 6 | 7 | {{ $widths := $.Site.Params.landscapePhotoWidths -}} 8 | {{ if gt $image.Height $image.Width -}} 9 | {{ $widths = $.Site.Params.portraitPhotoWidths -}} 10 | {{ end -}} 11 | 12 | {{ range $widths -}} 13 | {{ $srcUrl := (printf "%dx" . | $image.Resize).Permalink -}} 14 | {{ if eq $imgSrc "" -}}{{ $imgSrc = $srcUrl -}}{{ end -}} 15 | {{ $imgSrcSet = $imgSrcSet | append (printf "%s %dw" $srcUrl .) -}} 16 | {{ end -}} 17 | {{ $imgSrcSet = (delimit $imgSrcSet ",") -}} 18 | 19 | 20 | 21 | 22 | {{ with .Get "caption" }}
{{ . | safeHTML }}
{{ end }} 23 | 24 | -------------------------------------------------------------------------------- /layouts/shortcodes/mermaid.html: -------------------------------------------------------------------------------- 1 | {{ if .Page.Params.mermaid -}} 2 |
3 | {{ $data := replaceRE "(^\\s+```)" "" .Inner -}} 4 | {{ replaceRE "(```\\s+$)" "" $data -}} 5 |
6 | {{ else -}} 7 | {{ errorf "Failed to process mermaid shortcode: %s. Set mermaid to true in page front matter." .Position }} 8 | {{ end -}} 9 | -------------------------------------------------------------------------------- /layouts/shortcodes/replit-out.html: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 | {{ $name := default (.Get "name") (.Get 0) | string }} 15 | {{ $lines := default (.Get "lines") (.Get 1) | default 21 | int }} 16 | {{ $author := default (.Get "author") (.Get 2) | default "@progcompuch" | string }} 17 | 18 | 19 | {{ if hasPrefix $author "@" | not}} 20 | {{ warnf "[replit-out shortcode] Did you forget to prefix the author name with '@'?" }} 21 | {{ end }} 22 | {{ if eq $name "" }} 23 | {{ errorf "[replit-out shortcode] missing required argument 'name' (or positional argument 0)."}} 24 | {{ end }} 25 | 26 | 27 | {{ $height := mul $lines 16 | math.Round | add 90 }} 28 | 29 | 32 | -------------------------------------------------------------------------------- /layouts/shortcodes/replit.html: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | {{ $name := default (.Get "name") (.Get 0) | string }} 19 | {{ $lines := default (.Get "lines") (.Get 1) | default 21 | int }} 20 | {{ $author := default (.Get "author") (.Get 2) | default "@progcompuch" | string }} 21 | 22 | 23 | {{ if hasPrefix $author "@" | not }} 24 | {{ warnf "[replit shortcode] Did you forget to prefix the author name with '@'?" }} 25 | {{ end }} 26 | {{ if eq $name "" }} 27 | {{ errorf "[replit shortcode] Missing required argument 'name' (or positional argument 0)." }} 28 | {{ end }} 29 | 30 | 31 | {{ $height := mul 17 $lines | math.Round | add 140 }} 32 | 33 | 36 | -------------------------------------------------------------------------------- /layouts/shortcodes/video.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | {{ with .Get "webm-src" -}} 4 | 5 | {{ end -}} 6 | {{ with .Get "mp4-src" -}} 7 | 8 | {{ end -}} 9 | Sorry, your browser doesn't support embedded videos. 10 | 11 |
12 | -------------------------------------------------------------------------------- /layouts/sitemap.xml: -------------------------------------------------------------------------------- 1 | {{ printf "" | safeHTML }} 2 | 4 | {{ range .Data.Pages }}{{ if ne .Params.sitemap_exclude true }} 5 | 6 | {{ .Permalink }}{{ if not .Lastmod.IsZero }} 7 | {{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }}{{ with .Sitemap.ChangeFreq }} 8 | {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} 9 | {{ .Sitemap.Priority }}{{ end }}{{ if .IsTranslated }}{{ range .Translations }} 10 | {{ end }} 15 | {{ end }} 20 | 21 | {{ end }}{{ end }} 22 | 23 | -------------------------------------------------------------------------------- /static/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/android-chrome-192x192.png -------------------------------------------------------------------------------- /static/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/android-chrome-512x512.png -------------------------------------------------------------------------------- /static/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/apple-touch-icon.png -------------------------------------------------------------------------------- /static/css/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/css/vendor/.gitkeep -------------------------------------------------------------------------------- /static/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/favicon-16x16.png -------------------------------------------------------------------------------- /static/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/favicon-32x32.png -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/favicon.ico -------------------------------------------------------------------------------- /static/fonts/KaTeX_AMS-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_AMS-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_AMS-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_AMS-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_AMS-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_AMS-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Caligraphic-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Caligraphic-Bold.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Caligraphic-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Caligraphic-Bold.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Caligraphic-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Caligraphic-Bold.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Caligraphic-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Caligraphic-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Caligraphic-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Caligraphic-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Caligraphic-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Caligraphic-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Fraktur-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Fraktur-Bold.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Fraktur-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Fraktur-Bold.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Fraktur-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Fraktur-Bold.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Fraktur-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Fraktur-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Fraktur-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Fraktur-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Fraktur-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Fraktur-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-Bold.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-Bold.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-Bold.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-BoldItalic.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-BoldItalic.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-BoldItalic.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-Italic.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-Italic.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-Italic.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Main-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Main-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Math-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Math-BoldItalic.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Math-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Math-BoldItalic.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Math-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Math-BoldItalic.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Math-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Math-Italic.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Math-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Math-Italic.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Math-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Math-Italic.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_SansSerif-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_SansSerif-Bold.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_SansSerif-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_SansSerif-Bold.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_SansSerif-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_SansSerif-Bold.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_SansSerif-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_SansSerif-Italic.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_SansSerif-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_SansSerif-Italic.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_SansSerif-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_SansSerif-Italic.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_SansSerif-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_SansSerif-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_SansSerif-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_SansSerif-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_SansSerif-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_SansSerif-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Script-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Script-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Script-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Script-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Script-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Script-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size1-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size1-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size1-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size1-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size1-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size1-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size2-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size2-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size2-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size2-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size2-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size2-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size3-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size3-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size3-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size3-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size3-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size3-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size4-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size4-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size4-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size4-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Size4-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Size4-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/KaTeX_Typewriter-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Typewriter-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/KaTeX_Typewriter-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Typewriter-Regular.woff -------------------------------------------------------------------------------- /static/fonts/KaTeX_Typewriter-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/KaTeX_Typewriter-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/.gitkeep -------------------------------------------------------------------------------- /static/fonts/vendor/fontawesome/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/fontawesome/fa-solid-900.woff2 -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-500.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-500.woff -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-500.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-500.woff2 -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-500italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-500italic.woff -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-500italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-500italic.woff2 -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-700.woff -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-700.woff2 -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-700italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-700italic.woff -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-700italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-700italic.woff2 -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-italic.woff -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-italic.woff2 -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-regular.woff -------------------------------------------------------------------------------- /static/fonts/vendor/jost/jost-v4-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/fonts/vendor/jost/jost-v4-latin-regular.woff2 -------------------------------------------------------------------------------- /static/images/Argentina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/Argentina.png -------------------------------------------------------------------------------- /static/images/Bolivia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/Bolivia.png -------------------------------------------------------------------------------- /static/images/Brazil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/Brazil.png -------------------------------------------------------------------------------- /static/images/Chile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/Chile.png -------------------------------------------------------------------------------- /static/images/Colombia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/Colombia.png -------------------------------------------------------------------------------- /static/images/CostaRica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/CostaRica.png -------------------------------------------------------------------------------- /static/images/Cuba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/Cuba.png -------------------------------------------------------------------------------- /static/images/Ecuador.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/Ecuador.png -------------------------------------------------------------------------------- /static/images/ElSalvador.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/ElSalvador.png -------------------------------------------------------------------------------- /static/images/Mexico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/Mexico.png -------------------------------------------------------------------------------- /static/images/Peru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/Peru.png -------------------------------------------------------------------------------- /static/images/Uruguay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/Uruguay.png -------------------------------------------------------------------------------- /static/images/camps/2024/brasil/pic1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/camps/2024/brasil/pic1.jpg -------------------------------------------------------------------------------- /static/images/camps/2024/brasil/pic2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/camps/2024/brasil/pic2.jpg -------------------------------------------------------------------------------- /static/images/camps/2024/brasil/pic3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/camps/2024/brasil/pic3.jpg -------------------------------------------------------------------------------- /static/images/camps/2024/brasil/pic4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/camps/2024/brasil/pic4.jpg -------------------------------------------------------------------------------- /static/images/camps/2024/brasil/pic5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/camps/2024/brasil/pic5.jpg -------------------------------------------------------------------------------- /static/images/camps/2024/brasil/pic6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/camps/2024/brasil/pic6.jpg -------------------------------------------------------------------------------- /static/images/camps/2024/brasil/pic7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/camps/2024/brasil/pic7.jpg -------------------------------------------------------------------------------- /static/images/ieeextreme/2024/premio1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/ieeextreme/2024/premio1.jpg -------------------------------------------------------------------------------- /static/images/ieeextreme/2024/premio2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/ieeextreme/2024/premio2.jpg -------------------------------------------------------------------------------- /static/images/ieeextreme/2024/premio3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/ieeextreme/2024/premio3.jpg -------------------------------------------------------------------------------- /static/images/ieeextreme/2024/sedeudp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/ieeextreme/2024/sedeudp.jpg -------------------------------------------------------------------------------- /static/images/teams/2012/ch1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2012/ch1.jpg -------------------------------------------------------------------------------- /static/images/teams/2012/ch2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2012/ch2.jpg -------------------------------------------------------------------------------- /static/images/teams/2012/ch3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2012/ch3.jpg -------------------------------------------------------------------------------- /static/images/teams/2013/ch1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2013/ch1.jpg -------------------------------------------------------------------------------- /static/images/teams/2013/ch2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2013/ch2.jpg -------------------------------------------------------------------------------- /static/images/teams/2013/ch3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2013/ch3.jpg -------------------------------------------------------------------------------- /static/images/teams/2014/ch1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2014/ch1.jpg -------------------------------------------------------------------------------- /static/images/teams/2014/ch2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2014/ch2.jpg -------------------------------------------------------------------------------- /static/images/teams/2014/ch3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2014/ch3.jpg -------------------------------------------------------------------------------- /static/images/teams/2015/ch1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2015/ch1.jpg -------------------------------------------------------------------------------- /static/images/teams/2015/ch2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2015/ch2.jpg -------------------------------------------------------------------------------- /static/images/teams/2015/ch3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2015/ch3.jpg -------------------------------------------------------------------------------- /static/images/teams/2016/ch1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2016/ch1.jpg -------------------------------------------------------------------------------- /static/images/teams/2016/ch2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2016/ch2.jpg -------------------------------------------------------------------------------- /static/images/teams/2016/ch3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2016/ch3.jpg -------------------------------------------------------------------------------- /static/images/teams/2017/ch1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2017/ch1.jpg -------------------------------------------------------------------------------- /static/images/teams/2017/ch2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2017/ch2.jpg -------------------------------------------------------------------------------- /static/images/teams/2017/ch3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2017/ch3.jpg -------------------------------------------------------------------------------- /static/images/teams/2018/ch1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2018/ch1.jpg -------------------------------------------------------------------------------- /static/images/teams/2018/ch2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2018/ch2.jpg -------------------------------------------------------------------------------- /static/images/teams/2018/ch3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2018/ch3.jpg -------------------------------------------------------------------------------- /static/images/teams/2019/ch1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2019/ch1.jpg -------------------------------------------------------------------------------- /static/images/teams/2019/ch2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2019/ch2.jpg -------------------------------------------------------------------------------- /static/images/teams/2019/ch3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2019/ch3.jpg -------------------------------------------------------------------------------- /static/images/teams/2020/ch1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2020/ch1.jpg -------------------------------------------------------------------------------- /static/images/teams/2020/ch2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2020/ch2.jpg -------------------------------------------------------------------------------- /static/images/teams/2020/ch3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2020/ch3.jpg -------------------------------------------------------------------------------- /static/images/teams/2021/ddd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2021/ddd.jpg -------------------------------------------------------------------------------- /static/images/teams/2021/dijkstra2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2021/dijkstra2.jpg -------------------------------------------------------------------------------- /static/images/teams/2021/graph.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2021/graph.jpg -------------------------------------------------------------------------------- /static/images/teams/2022/blueghost.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2022/blueghost.jpg -------------------------------------------------------------------------------- /static/images/teams/2022/david.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2022/david.jpg -------------------------------------------------------------------------------- /static/images/teams/2022/dijkstra.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2022/dijkstra.jpg -------------------------------------------------------------------------------- /static/images/teams/2023/ctf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2023/ctf.jpg -------------------------------------------------------------------------------- /static/images/teams/2023/ferard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2023/ferard.jpg -------------------------------------------------------------------------------- /static/images/teams/2023/wpp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2023/wpp.jpg -------------------------------------------------------------------------------- /static/images/teams/2024/gatas.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2024/gatas.jpg -------------------------------------------------------------------------------- /static/images/teams/2024/globos.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2024/globos.jpg -------------------------------------------------------------------------------- /static/images/teams/2024/globospre.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2024/globospre.jpg -------------------------------------------------------------------------------- /static/images/teams/2024/offbyone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2024/offbyone.jpg -------------------------------------------------------------------------------- /static/images/teams/2024/tocarpasto.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/teams/2024/tocarpasto.jpg -------------------------------------------------------------------------------- /static/images/universities/OCI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/universities/OCI.png -------------------------------------------------------------------------------- /static/images/universities/PUC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/universities/PUC.png -------------------------------------------------------------------------------- /static/images/universities/UChile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/universities/UChile.png -------------------------------------------------------------------------------- /static/images/universities/UChileaux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/universities/UChileaux.png -------------------------------------------------------------------------------- /static/images/universities/UDEC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/universities/UDEC.png -------------------------------------------------------------------------------- /static/images/universities/UDEC3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/universities/UDEC3.png -------------------------------------------------------------------------------- /static/images/universities/UDECaux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/universities/UDECaux.png -------------------------------------------------------------------------------- /static/images/universities/UTFSM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/universities/UTFSM.png -------------------------------------------------------------------------------- /static/images/universities/UTFSMaux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/universities/UTFSMaux.png -------------------------------------------------------------------------------- /static/images/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/images/vendor/.gitkeep -------------------------------------------------------------------------------- /static/js/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/js/vendor/.gitkeep -------------------------------------------------------------------------------- /static/site.webmanifest: -------------------------------------------------------------------------------- 1 | {"name":"Programación Competitiva UChile","short_name":"ProgComp UCh","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#fff","background_color":"#fff","display":"standalone"} 2 | -------------------------------------------------------------------------------- /static/videos/flower.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/videos/flower.mp4 -------------------------------------------------------------------------------- /static/videos/flower.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/progcompuch/apunte/f3a2b46f9dd8e63bfe0a84b38aac608b082433e8/static/videos/flower.webm -------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | name = "Doks" 2 | license = "MIT" 3 | licenselink = "https://github.com/h-enk/doks/blob/master/LICENSE" 4 | description = "Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." 5 | 6 | homepage = "https://github.com/h-enk/doks" 7 | demosite = "https://doks.netlify.app" 8 | 9 | tags = ["landing page", "documentation", "blog", "minimal", "modern", "customizable", "search", "dark mode", "bootstrap"] 10 | features = ["security aware", "fast by default", "seo-ready", "development tools", "bootstrap framework", "netlify-ready", "full text search", "page layouts", "dark mode"] 11 | 12 | [author] 13 | name = "Henk Verlinde" 14 | homepage = "https://henkverlinde.com" 15 | --------------------------------------------------------------------------------