helvetic-resume 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/_data/ca.yaml +46 -0
  4. data/_data/common.yaml +11 -0
  5. data/_data/en.yaml +46 -0
  6. data/_data/es.yaml +46 -0
  7. data/_data/it.yaml +46 -0
  8. data/_includes/bar_graph.liquid +17 -0
  9. data/_includes/bluesky.liquid +5 -0
  10. data/_includes/dot-accent.liquid +3 -0
  11. data/_includes/dot.liquid +3 -0
  12. data/_includes/dribbble.liquid +5 -0
  13. data/_includes/email.liquid +5 -0
  14. data/_includes/footer.liquid +38 -0
  15. data/_includes/github.liquid +4 -0
  16. data/_includes/head.liquid +28 -0
  17. data/_includes/header.liquid +23 -0
  18. data/_includes/instagram.liquid +18 -0
  19. data/_includes/language-menu.liquid +32 -0
  20. data/_includes/linkedin.liquid +8 -0
  21. data/_includes/medium.liquid +9 -0
  22. data/_includes/post_block.liquid +9 -0
  23. data/_includes/previous-next.liquid +22 -0
  24. data/_includes/previous-next_has-categories.liquid +41 -0
  25. data/_includes/print-button.liquid +4 -0
  26. data/_includes/theme-toggle.liquid +19 -0
  27. data/_includes/twitter.liquid +9 -0
  28. data/_layouts/about.liquid +42 -0
  29. data/_layouts/category-post.liquid +20 -0
  30. data/_layouts/category_index.liquid +13 -0
  31. data/_layouts/default.liquid +14 -0
  32. data/_layouts/home.liquid +96 -0
  33. data/_layouts/page.liquid +12 -0
  34. data/_layouts/post.liquid +20 -0
  35. data/_layouts/redirect.liquid +22 -0
  36. data/_pages/404.md +8 -0
  37. data/_pages/ca/articles.md +25 -0
  38. data/_pages/ca/documentacio.md +91 -0
  39. data/_pages/ca/quant-a-mi.md +60 -0
  40. data/_pages/en/about-me.md +59 -0
  41. data/_pages/en/docs.md +91 -0
  42. data/_pages/en/reports.md +25 -0
  43. data/_pages/es/articulos.md +25 -0
  44. data/_pages/es/documentacion.md +93 -0
  45. data/_pages/es/sobre-mi.md +60 -0
  46. data/_pages/it/articoli.md +25 -0
  47. data/_pages/it/chi-sono.md +58 -0
  48. data/_pages/it/documenti.md +93 -0
  49. data/_posts/ca/2024-05-15-el-gran-massimo-vignelli.md +45 -0
  50. data/_posts/ca/2024-10-14-creilles.md +38 -0
  51. data/_posts/ca/2025-02-06-exemple-markdown.md +172 -0
  52. data/_posts/ca/2025-03-02-benvinguts-a-jekyll.md +60 -0
  53. data/_posts/en/2024-05-15-the-great-massimo-vignelli.md +45 -0
  54. data/_posts/en/2024-10-14-potatoes.md +38 -0
  55. data/_posts/en/2025-02-06-markdown-sample.md +174 -0
  56. data/_posts/en/2025-03-02-welcome-to-jekyll.md +59 -0
  57. data/_posts/es/2024-05-15-es-el-gran-massimo-vignelli.md +45 -0
  58. data/_posts/es/2024-10-14-patatas.md +38 -0
  59. data/_posts/es/2025-02-06-ejemplo-markdown.md +172 -0
  60. data/_posts/es/2025-03-03-bienvenido-a-jekyll.md +60 -0
  61. data/_posts/it/2024-05-15-il-grande-massimo-vignelli.md +45 -0
  62. data/_posts/it/2024-10-14-patate.md +38 -0
  63. data/_posts/it/2025-02-06-esempio-markdown.md +175 -0
  64. data/_posts/it/2025-03-02-benvenuti-a-jekyll.md +59 -0
  65. data/_sass/_base.scss +110 -0
  66. data/_sass/_components.scss +161 -0
  67. data/_sass/_themes.scss +196 -0
  68. data/_sass/_utilities.scss +700 -0
  69. data/_sass/_variables.scss +43 -0
  70. data/assets/css/print.scss +128 -0
  71. data/assets/css/style.scss +7 -0
  72. data/assets/images/avatar.webp +0 -0
  73. data/assets/images/theme_black.png +0 -0
  74. data/assets/images/theme_blue.png +0 -0
  75. data/assets/images/theme_magenta.png +0 -0
  76. data/assets/images/theme_mint.png +0 -0
  77. data/assets/images/theme_orange.png +0 -0
  78. data/assets/images/theme_red.png +0 -0
  79. data/assets/images/theme_white.png +0 -0
  80. data/assets/images/theme_yellow.png +0 -0
  81. data/assets/js/print-button.js +16 -0
  82. data/assets/js/theme-toggle.js +105 -0
  83. data/scripts/entrypoint.sh +35 -0
  84. data/scripts/post-create.sh +21 -0
  85. metadata +250 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a1a91fd48ceab008157d0db90c659950e0e1249f8af609c0abcb5550fc5b6f8b
4
+ data.tar.gz: 38749f05a23f62ddc1efeb73acbbe8da6ff722edb66a452f1154a979bb187529
5
+ SHA512:
6
+ metadata.gz: dc5267faeff4fc4c2b1283f01d5fa8ea34ee610ec68c55783f0dddb1ea0f54befca0f0cc2cc2a1ac91b2dcf7818353be3c5493e7dd5e17754331d91b90cadb60
7
+ data.tar.gz: aba5dc64c2b90c92ebeac7264858863e6ecf60a47772e2db5523cfb355e3a8dc33da8a6dfbeaf4e6a09d66f0e35112915f8ddbe2934fa36773d63655a40bfa41
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2025 hipervincle
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/_data/ca.yaml ADDED
@@ -0,0 +1,46 @@
1
+ title: Helvetic Resume
2
+ description: Un tema tipogràfic audaç inspirat pel disseny suís.
3
+ previous: Anterior
4
+ next: Següent
5
+ print: Imprimeix
6
+ job: Rellotgera, Pilot, Programadora
7
+ contact: Contacte
8
+ links: Enllaços
9
+ watchmaking:
10
+ title: Rellotgeria
11
+ skills:
12
+ - name: Haute Horlogerie
13
+ level: 12
14
+ - name: Disseny de complicacions
15
+ level: 11
16
+ - name: Temps de precisió
17
+ level: 12
18
+ - name: Micro-mecànica
19
+ level: 10
20
+ - name: Restauració
21
+ level: 9
22
+ flying:
23
+ title: Aeronàutica
24
+ skills:
25
+ - name: Pilot d'helicòpter (VFR)
26
+ level: 11
27
+ - name: Plans de vol
28
+ level: 10
29
+ - name: Procediments d'emergència
30
+ level: 12
31
+ - name: Vol de muntanya
32
+ level: 9
33
+ programming:
34
+ title: Lingüística
35
+ skills:
36
+ - name: Disseny de llenguatges
37
+ level: 12
38
+ - name: Desenvolupament de compilador (pdc)
39
+ level: 8
40
+ - name: Sintàxi i semàntica
41
+ level: 11
42
+ - name: Algorisme lògic
43
+ level: 9
44
+ footer:
45
+ attribution: Desenvolupat sobre el tema <a href="https://github.com/broccolini/swiss" target="_blank">swiss</a> de la gran <a href="https://github.com/broccolini" target="_blank">broccolini</a>.
46
+ bluesky: Publica a
data/_data/common.yaml ADDED
@@ -0,0 +1,11 @@
1
+ # use this file to store info that does not require localization
2
+ phone: +41 44 123 4567
3
+ address: Uhrstraße, 12, 8032 Zürich
4
+ email: augusta@chronotempus.ch
5
+ links:
6
+ - name: chronotempus.ch
7
+ url: https://chronotempus.ch
8
+ - name: linkedin.com/in/chronotempus
9
+ url: https://linkedin.com/in/chronotempus
10
+ - name: github.com/chronotempus
11
+ url: https://github.com/chronotempus
data/_data/en.yaml ADDED
@@ -0,0 +1,46 @@
1
+ title: Helvetic Resume
2
+ description: A bold typographic theme inspired by Swiss design.
3
+ previous: Previous
4
+ next: Next
5
+ print: Print
6
+ job: Clockmaker, Pilot, Programmer
7
+ contact: Contact
8
+ links: Links
9
+ watchmaking:
10
+ title: Watchmaking
11
+ skills:
12
+ - name: Haute Horlogerie
13
+ level: 12
14
+ - name: Complication Design
15
+ level: 11
16
+ - name: Precision Timing
17
+ level: 12
18
+ - name: Micro-mechanics
19
+ level: 10
20
+ - name: Restoration
21
+ level: 9
22
+ flying:
23
+ title: Aeronautical
24
+ skills:
25
+ - name: Helicopter Pilot (VFR)
26
+ level: 11
27
+ - name: Flight Planning
28
+ level: 10
29
+ - name: Emergency Procedures
30
+ level: 12
31
+ - name: Mountain Flying
32
+ level: 9
33
+ programming:
34
+ title: Linguistics
35
+ skills:
36
+ - name: Language Design
37
+ level: 12
38
+ - name: Compiler Development (PoC)
39
+ level: 8
40
+ - name: Syntax & Semantics
41
+ level: 11
42
+ - name: Algorithmic Logic
43
+ level: 9
44
+ footer:
45
+ attribution: Based on lovely <a href="https://github.com/broccolini" target="_blank">broccolini</a>'s <a href="https://github.com/broccolini/swiss" target="_blank">swiss theme</a>.
46
+ bluesky: Post on
data/_data/es.yaml ADDED
@@ -0,0 +1,46 @@
1
+ title: Helvetic Resume
2
+ description: Un tema tipográfico audaz inspirado por el diseño suizo.
3
+ previous: Anterior
4
+ next: Siguiente
5
+ print: Imprimir
6
+ job: Relojera, Piloto, Programadora
7
+ contact: Contacto
8
+ links: Enlaces
9
+ watchmaking:
10
+ title: Relojería
11
+ skills:
12
+ - name: Haute Horlogerie
13
+ level: 12
14
+ - name: Diseño de complicaciones
15
+ level: 11
16
+ - name: Tiempo de precisión
17
+ level: 12
18
+ - name: Micro-mecánica
19
+ level: 10
20
+ - name: Restauración
21
+ level: 9
22
+ flying:
23
+ title: Aeronáutica
24
+ skills:
25
+ - name: Piloto de helicóptero (VFR)
26
+ level: 11
27
+ - name: Planes de vuelo
28
+ level: 10
29
+ - name: Procedimientos de emergencia
30
+ level: 12
31
+ - name: Vuelo de montaña
32
+ level: 9
33
+ programming:
34
+ title: Lingüística
35
+ skills:
36
+ - name: Diseño de lenguajes
37
+ level: 12
38
+ - name: Desarrollo de compilador (pdc)
39
+ level: 8
40
+ - name: Sintaxis y semántica
41
+ level: 11
42
+ - name: Algortimo lógico
43
+ level: 9
44
+ footer:
45
+ attribution: Desarrollado sobre el tema <a href="https://github.com/broccolini/swiss" target="_blank">swiss</a> de la gran <a href="https://github.com/broccolini" target="_blank">broccolini</a>.
46
+ bluesky: Comparte en
data/_data/it.yaml ADDED
@@ -0,0 +1,46 @@
1
+ title: Helvetic Resume
2
+ description: Un tema tipografico audace ispirato al design svizzero.
3
+ previous: Anteriore
4
+ next: Prossimo
5
+ print: Stampa
6
+ job: Orologiaio, Pilota, Programmatore
7
+ contact: Contatto
8
+ links: Collegamenti
9
+ watchmaking:
10
+ title: Orologeria
11
+ skills:
12
+ - name: Haute Horlogerie
13
+ level: 12
14
+ - name: Design di complicazioni
15
+ level: 11
16
+ - name: Tempismo di precisione
17
+ level: 12
18
+ - name: Micro-meccanica
19
+ level: 10
20
+ - name: Restauro
21
+ level: 9
22
+ flying:
23
+ title: Aeronautica
24
+ skills:
25
+ - name: Pilota di elicottero (VFR)
26
+ level: 11
27
+ - name: Planning di volo
28
+ level: 10
29
+ - name: Procedure di emergenza
30
+ level: 12
31
+ - name: Vuolo di montagna
32
+ level: 9
33
+ programming:
34
+ title: Linguistica
35
+ skills:
36
+ - name: Design di linguaggi
37
+ level: 12
38
+ - name: Desarrollo di compilatore (pdc)
39
+ level: 8
40
+ - name: Sintassi e semantica
41
+ level: 11
42
+ - name: Algortimo logico
43
+ level: 9
44
+ footer:
45
+ attribution: Sviluppato sul tema <a href="https://github.com/broccolini/swiss" target="_blank">swiss</a> della grande <a href="https://github.com/broccolini" target="_blank">broccolini</a>.
46
+ bluesky: Pubblica su
@@ -0,0 +1,17 @@
1
+ {% assign y_pos = 15 %}
2
+ <div class="block">
3
+ <h2>{{ include.title }}</h2>
4
+ <svg xmlns="http://www.w3.org/2000/svg" width="{{ include.width }}" height="{{ include.height }}">
5
+ {% for item in include.items %}
6
+ {% if item.name %}
7
+ {% assign item_name = item.name %}
8
+ {% else %}
9
+ {% assign item_name = item %}
10
+ {% endif %}
11
+ <text x="0" y="{{ y_pos }}" class="text-color">{{ item_name }}</text>
12
+ <rect x="0" width="{{ include.width }}" height="3" y="{{ y_pos | plus: 8 }}" fill="#bbb" rx="3" ry="3"/>
13
+ <rect x="0" width="{{ include.width | divided_by: 12 | times: item.level }}" height="3" y="{{ y_pos | plus: 8 }}" class="text-accent" rx="3" ry="3"/>
14
+ {% assign y_pos = y_pos | plus: 40 %}
15
+ {% endfor %}
16
+ </svg>
17
+ </div>
@@ -0,0 +1,5 @@
1
+ <a href="https://bsky.app/profile/{{ site.bluesky_username }}" title="Follow {{site.user_name}} on Bluesky" class="link-social block">
2
+ <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 32 32" aria-hidden="true">
3
+ <path d="M16 0A16 16 0 1 0 16 32A16 16 0 1 0 16 0ZM16 15.6c0.815-1.585 3.034-4.54 5.098-5.996 1.977-1.396 2.73-1.154 3.225-0.93 0.572 0.259 0.676 1.137 0.676 1.655 0 0.516-0.284 4.238-0.468 4.859-0.611 2.052-2.785 2.745-4.787 2.523-0.102-0.015-0.206-0.029-0.311-0.042l0.311 0.042c2.934 0.435 5.255 2.078 2.055 5.309-4.262 3.722-5.085-0.835-5.8-3.231-0.715 2.396-2.107 7.124-5.867 3.231-3.418-3.805-0.812-4.874 2.123-5.309 0.104-0.012 0.208-0.026 0.311-0.042l-0.311 0.042c-2.002 0.222-4.176-0.471-4.787-2.523-0.184-0.621-0.468-4.343-0.468-4.859 0-0.516 0.104-1.395 0.676-1.654 0.494-0.224 1.248-0.466 3.225 0.93 2.064 1.456 4.283 4.411 5.098 5.996z"/>
4
+ </svg>
5
+ </a>
@@ -0,0 +1,3 @@
1
+ <svg height="32" class="header-social-accent" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true">
2
+ <circle cx="8" cy="8" r="8"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true">
2
+ <circle cx="8" cy="8" r="8"/>
3
+ </svg>
@@ -0,0 +1,5 @@
1
+ <a href="https://dribbble.com/{{ site.social_username }}" title="Follow me on Dribbble" class="link-social block">
2
+ <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414">
3
+ <path d="M8 16c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm6.747-6.905c-.234-.074-2.115-.635-4.257-.292.894 2.456 1.258 4.456 1.328 4.872 1.533-1.037 2.624-2.68 2.93-4.58zM10.67 14.3c-.102-.6-.5-2.688-1.46-5.18l-.044.014C5.312 10.477 3.93 13.15 3.806 13.4c1.158.905 2.614 1.444 4.194 1.444.947 0 1.85-.194 2.67-.543zm-7.747-1.72c.155-.266 2.03-3.37 5.555-4.51.09-.03.18-.056.27-.08-.173-.39-.36-.778-.555-1.16C4.78 7.85 1.47 7.807 1.17 7.8l-.003.208c0 1.755.665 3.358 1.756 4.57zM1.31 6.61c.307.005 3.122.017 6.318-.832-1.132-2.012-2.353-3.705-2.533-3.952-1.912.902-3.34 2.664-3.784 4.785zM6.4 1.368c.188.253 1.43 1.943 2.548 4 2.43-.91 3.46-2.293 3.582-2.468C11.323 1.827 9.736 1.176 8 1.176c-.55 0-1.087.066-1.6.19zm6.89 2.322c-.145.194-1.29 1.662-3.816 2.694.16.325.31.656.453.99.05.117.1.235.147.352 2.274-.286 4.533.172 4.758.22-.015-1.613-.59-3.094-1.543-4.257z"/>
4
+ </svg>
5
+ </a>
@@ -0,0 +1,5 @@
1
+ <a href="mailto:{{ site.user_email }}" title="Email {{site.user_name}}" class="link-social block">
2
+ <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 32 32" aria-hidden="true">
3
+ <path fill-rule="evenodd" d="M16 0A16 16 0 1 0 16 32A16 16 0 1 0 16 0ZM26 11c0-1.1-0.9-2-2-2H8c-1.1 0-2 0.9-2 2v10c0 1.1 0.9 2 2 2h16c1.1 0 2-0.9 2-2V11zm-2 0l-8 6-8-6h16zm0 10H8v-8l8 6 8-6v8z"/>
4
+ </svg>
5
+ </a>
@@ -0,0 +1,38 @@
1
+ {% assign lang = site.active_lang %}
2
+ <footer class="border-top-thin clearfix mt-2 mt-lg-4">
3
+ <div class="container mx-auto px-2">
4
+ <p class="col-8 sm-width-full left py-2 mb-0">
5
+ <a href="https://opensource.org/license/MIT" class="no-underline">©</a>
6
+ <a class="no-underline" href="https://github.com/{{ site.github_username }}" target="_blank">{{ site.user_name }}</a>, 2025.
7
+ {{ site.data[lang].footer.attribution }}
8
+ </p>
9
+ <ul class="list-reset right sm-width-full py-2 mb-2 mb-lg-0 flex items-center">
10
+ <li class="mr-1 flex items-center">
11
+ <a
12
+ class="bluesky flex items-center"
13
+ href="https://bsky.app/intent/compose?text={{ site.data[lang].title | url_encode }}%20Check%20this%20out%20{{ site.url }}{{ page.url }}"
14
+ >
15
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 22">
16
+ <path fill="#fff" d="M12 10.8c-1.087 -2.114 -4.046 -6.053 -6.798 -7.995C2.566 0.944 1.561 1.266 0.902 1.565 0.139 1.908 0 3.08 0 3.768c0 0.69 0.378 5.65 0.624 6.479 0.815 2.736 3.713 3.66 6.383 3.364 0.136 -0.02 0.275 -0.039 0.415 -0.056 -0.138 0.022 -0.276 0.04 -0.415 0.056 -3.912 0.58 -7.387 2.005 -2.83 7.078 5.013 5.19 6.87 -1.113 7.823 -4.308 0.953 3.195 2.05 9.271 7.733 4.308 4.267 -4.308 1.172 -6.498 -2.74 -7.078a8.741 8.741 0 0 1 -0.415 -0.056c0.14 0.017 0.279 0.036 0.415 0.056 2.67 0.297 5.568 -0.628 6.383 -3.364 0.246 -0.828 0.624 -5.79 0.624 -6.478 0 -0.69 -0.139 -1.861 -0.902 -2.206 -0.659 -0.298 -1.664 -0.62 -4.3 1.24C16.046 4.748 13.087 8.687 12 10.8Z" stroke-width="1"></path>
17
+ </svg>
18
+ <span>{{ site.data[lang].footer.bluesky }} Bluesky</span>
19
+ </a>
20
+ </li>
21
+ <li class="flex items-center" id="github">
22
+ <a
23
+ class="github-button"
24
+ href="https://github.com/{{ site.github_username }}/{{ site.github_repo }}"
25
+ data-icon="octicon-star"
26
+ data-count-href="{{ site.github_username }}/{{ github_repo }}/stargazers"
27
+ data-count-api="/repos/{{ site.github_username }}/{{ github_repo }}#stargazers_count"
28
+ data-count-aria-label="# stargazers on GitHub"
29
+ aria-label="Star {{ site.github_username }}/{{ github_repo }} on GitHub"
30
+ >Star</a
31
+ >
32
+ </li>
33
+ <li class="flex items-center ml-2">
34
+ {% include language-menu.liquid %}
35
+ </li>
36
+ </ul>
37
+ </div>
38
+ </footer>
@@ -0,0 +1,4 @@
1
+ <a href="https://github.com/{{ site.github_username }}/{{ site.github_repo }}" title="Fork me on GitHub" class="link-social block">
2
+ <svg height="32" class="octicon-mark-github header-social" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path>
3
+ </svg>
4
+ </a>
@@ -0,0 +1,28 @@
1
+ <head>
2
+ {% assign lang = site.active_lang %}
3
+ <meta charset="utf-8">
4
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+
7
+ <title>
8
+ {% if page.title and site.title -%}
9
+ {{- page.title | escape }} | {{ site.data[lang].title | escape -}}
10
+ {%- else -%}
11
+ {{- site.data[lang].title | escape -}}
12
+ {%- endif %}
13
+ </title>
14
+ <meta
15
+ name="description"
16
+ content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.data[lang].description }}{% endif %}"
17
+ >
18
+
19
+ {% assign user_url = site.url | append: site.baseurl %}
20
+ {% assign full_base_url = user_url | default: site.github.url %}
21
+ <link rel="stylesheet" href="{{ '/assets/css/style.css' | prepend: full_base_url }}">
22
+ <link rel="stylesheet" href="{{ '/assets/css/print.css' | prepend: full_base_url }}" media="print">
23
+ <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
24
+
25
+ <script async defer src="https://buttons.github.io/buttons.js"></script>
26
+ <script src="{{ site.baseurl }}/assets/js/theme-toggle.js"></script>
27
+ <script src="{{ site.baseurl }}/assets/js/print-button.js"></script>
28
+ </head>
@@ -0,0 +1,23 @@
1
+ {% assign lang = site.active_lang %}
2
+ <header class="px-2 header-sticky flex navigation">
3
+ <div class="left py-1 mt-1 mt-lg-0">
4
+ <a class="link-primary text-accent" href="{{ site.baseurl }}/">{{ site.data[lang].title }}</a>
5
+ </div>
6
+ <nav class="right py-1 mt-1 mt-lg-0">
7
+ <ul class="list-reset right py-1 header-text font-smoothing mt-lg-1 mb-2 mb-lg-1">
8
+ {% assign sorted_pages = site.pages | sort: "order" %}
9
+ {% for page in sorted_pages %}
10
+ {% if page.title and page.permalink != '/404' and page.lang == lang %}
11
+ <li class="inline-block">
12
+ <a class="align-middle link-primary mr-2 mr-lg-0 ml-lg-2" href="{{ page.url | prepend: site.baseurl }}">
13
+ {{ page.title }}
14
+ </a>
15
+ </li>
16
+ {% endif %}
17
+ {% endfor %}
18
+ <li class="inline-block">
19
+ {% include theme-toggle.liquid class="inline-block align-top ml-2" %}
20
+ </li>
21
+ </ul>
22
+ </nav>
23
+ </header>
@@ -0,0 +1,18 @@
1
+ <a href="https://www.instagram.com/{{ site.social_username }}" title="Follow me on Instagram" class="link-social block">
2
+ <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true">
3
+ <g>
4
+ <path d="M11.9,5.1c-0.1-0.2-0.2-0.4-0.4-0.6s-0.3-0.3-0.6-0.4C10.8,4,10.5,4,10,3.9c-0.5,0-0.7,0-2,0s-1.5,0-2,0
5
+ C5.5,4,5.2,4,5.1,4.1C4.8,4.2,4.7,4.3,4.5,4.5S4.2,4.8,4.1,5.1C4,5.2,4,5.5,3.9,6c0,0.5,0,0.7,0,2s0,1.5,0,2c0,0.5,0.1,0.8,0.2,0.9
6
+ c0.1,0.2,0.2,0.4,0.4,0.6c0.2,0.2,0.3,0.3,0.6,0.4C5.2,12,5.5,12,6,12.1c0.5,0,0.7,0,2,0c1.3,0,1.5,0,2,0c0.5,0,0.8-0.1,0.9-0.2
7
+ c0.2-0.1,0.4-0.2,0.6-0.4s0.3-0.3,0.4-0.6c0.1-0.2,0.2-0.4,0.2-0.9c0-0.5,0-0.7,0-2s0-1.5,0-2C12,5.5,12,5.2,11.9,5.1z M8,10.6
8
+ c-1.4,0-2.6-1.1-2.6-2.6c0-1.4,1.1-2.6,2.6-2.6c1.4,0,2.6,1.1,2.6,2.6C10.6,9.4,9.4,10.6,8,10.6z M10.7,5.9c-0.3,0-0.6-0.3-0.6-0.6
9
+ s0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6S11,5.9,10.7,5.9z"/>
10
+ <path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M13,10.1c0,0.5-0.1,0.9-0.2,1.2c-0.1,0.3-0.3,0.6-0.6,0.9
11
+ c-0.3,0.3-0.6,0.4-0.9,0.6c-0.3,0.1-0.7,0.2-1.2,0.2c-0.5,0-0.7,0-2.1,0s-1.5,0-2.1,0c-0.5,0-0.9-0.1-1.2-0.2
12
+ c-0.3-0.1-0.6-0.3-0.9-0.6c-0.3-0.3-0.4-0.6-0.6-0.9C3.1,11,3.1,10.6,3,10.1C3,9.5,3,9.4,3,8s0-1.5,0-2.1c0-0.5,0.1-0.9,0.2-1.2
13
+ c0.1-0.3,0.3-0.6,0.6-0.9c0.3-0.3,0.6-0.4,0.9-0.6C5,3.1,5.4,3.1,5.9,3C6.5,3,6.6,3,8,3s1.5,0,2.1,0c0.5,0,0.9,0.1,1.2,0.2
14
+ c0.3,0.1,0.6,0.3,0.9,0.6c0.3,0.3,0.4,0.6,0.6,0.9C12.9,5,12.9,5.4,13,5.9c0,0.5,0,0.7,0,2.1S13,9.5,13,10.1z"/>
15
+ <circle cx="8" cy="8" r="1.7"/>
16
+ </g>
17
+ </svg>
18
+ </a>
@@ -0,0 +1,32 @@
1
+ <div class="language-menu inline-flex">
2
+ {% for lang in site.languages %}
3
+ {% if page.slug %}
4
+ {% assign posts = site.posts | where: "slug", page.slug | where: "lang", lang %}
5
+ {% assign target_post = posts.first %}
6
+ {% if target_post %}
7
+ {% assign target_url = target_post.url %}
8
+ {% else %}
9
+ {% assign target_url = page.url %}
10
+ {% endif %}
11
+ {% else %}
12
+ {% assign target_url = page.url %}
13
+ {% endif %}
14
+
15
+ <a
16
+ {% if lang == site.active_lang %}
17
+ class="selected"
18
+ {% endif %}
19
+ {% static_href -%}
20
+ href="{% if lang == site.default_lang %}{{ site.baseurl }}{{ target_url }}{% else %}{{ site.baseurl }}/{{ lang }}{{ target_url }}{% endif %}"
21
+ {% endstatic_href %}
22
+ >
23
+ {{- lang -}}
24
+ </a>
25
+ {%- if forloop.last == false -%}
26
+ {{ ' ' -}}
27
+ {{- site.langsep }}
28
+ {%- endif -%}
29
+ {% endfor %}
30
+ </div>
31
+
32
+
@@ -0,0 +1,8 @@
1
+ <a href="https://linkedin.com/in/{{ site.linkedin_username }}" title="Follow {{site.user_name}} on LinkedIn" class="link-social block">
2
+ <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 32 32" aria-hidden="true">
3
+ <path d="M16,0C7.163,0,0,7.163,0,16s7.163,16,16,16s16-7.163,16-16S24.837,0,16,0z M10.954,22h-2.95v-9.492h2.95V22z M9.449,11.151
4
+ c-0.951,0-1.72-0.771-1.72-1.72c0-0.949,0.77-1.719,1.72-1.719c0.948,0,1.719,0.771,1.719,1.719
5
+ C11.168,10.38,10.397,11.151,9.449,11.151z M22.004,22h-2.948v-4.616c0-1.101-0.02-2.517-1.533-2.517c-1.535,0-1.771,1.199-1.771,2.437
6
+ V22h-2.948v-9.492h2.83v1.297h0.04c0.394-0.746,1.356-1.533,2.791-1.533c2.987,0,3.539,1.966,3.539,4.522V22z"></path>
7
+ </svg>
8
+ </a>
@@ -0,0 +1,9 @@
1
+ <a href="https://medium.com/@{{ site.social_username }}" title="Follow {{ site.user_name }} on Medium" class="link-social block">
2
+ <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true">
3
+ <path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M6.3,12.1c0,0.2-0.1,0.3-0.3,0.3c-0.1,0-0.1,0-0.2-0.1l-2.6-1.3
4
+ C3.1,11.1,3,10.9,3,10.7V4.3c0-0.2,0.1-0.3,0.2-0.3c0,0,0.1,0,0.2,0l0.1,0h0l2.9,1.4c0,0,0,0,0,0V12.1z M9.3,10.8L9,10.7L7,9.6v-3
5
+ l0.2,0.3l0.2,0.3l0.2,0.3L9,10l0,0l0.3,0.5L9.7,11L9.3,10.8z M9.7,9.8L9.3,9.3L9,8.8L7.8,6.9L9,4.9l0.3-0.5l0.2-0.2
6
+ C9.6,4.1,9.7,4,9.8,4c0,0,0,0,0,0c0,0,0.1,0,0.1,0l3,1.5c0,0,0,0,0,0l0,0c0,0,0,0,0,0.1L10,10.4L9.7,9.8z M13,12.1
7
+ c0,0.2-0.1,0.3-0.3,0.3c-0.1,0-0.2,0-0.3-0.1l-1.7-0.9l-0.5-0.2l0.2-0.3h0L13,6.8V12.1z"/>
8
+ </svg>
9
+ </a>
@@ -0,0 +1,9 @@
1
+ <!-- Renders post date, title, and snippet of text. -->
2
+ {% assign lang = site.active_lang %}
3
+ <div class="py-2 mb-2 prose">
4
+ <a class="no-underline h5 bold text-accent" title="{{ post.url | prepend: site.baseurl }}" href="{{ post.url | prepend: site.baseurl }}">{{ post.date | localize: "%-d %B %Y", lang}}</a>
5
+ <h2 class="h1 lh-condensed col-9 mt-0">
6
+ <a class="link-primary" title="{{ post.url | prepend: site.baseurl }}" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
7
+ </h2>
8
+ <p>{{ post.content | strip_html | truncatewords:30 }}</p>
9
+ </div>
@@ -0,0 +1,22 @@
1
+ <!-- Use if you want to show previous and next for all posts. -->
2
+ {% assign user_url = site.url | append: site.baseurl %}
3
+ {% assign full_base_url = user_url | default: site.github.url %}
4
+ {% assign lang = site.active_lang %}
5
+ {% if page.previous.url and page.previous.lang == lang %}
6
+ <div class="col-4 sm-width-full left mr-lg-4 mt-3">
7
+ <a class="no-underline border-top-thin py-1 block" href="{{ page.previous.url | prepend: full_base_url }}">
8
+ <span class="h5 bold text-accent">{{ site.data[lang].previous }}</span>
9
+ <p class="bold h3 link-primary mb-1">{{ page.previous.title }}</p>
10
+ <p>{{ page.previous.content | strip_html | truncatewords:20 }}</p>
11
+ </a>
12
+ </div>
13
+ {% endif %}
14
+ {% if page.next.url and page.next.lang == lang %}
15
+ <div class="col-4 sm-width-full left mt-3">
16
+ <a class="no-underline border-top-thin py-1 block" href="{{ page.next.url | prepend: full_base_url }}">
17
+ <span class="h5 bold text-accent">{{ site.data[lang].next }}</span>
18
+ <p class="bold h3 link-primary mb-1">{{ page.next.title }}</p>
19
+ <p>{{ page.next.content | strip_html | truncatewords:20 }}</p>
20
+ </a>
21
+ </div>
22
+ {% endif %}
@@ -0,0 +1,41 @@
1
+ <!-- Use if you want to show previous and next for posts within a category. -->
2
+ {% assign lang = site.active_lang %}
3
+ {% if page.categories %}
4
+ {% assign category = page.categories[0] %}
5
+ {% assign posts = site.categories[category] | where: "lang", lang %}
6
+ {% for post in posts %}
7
+ {% if post.url == page.url %}
8
+ {% assign post_index0 = forloop.index0 %}
9
+ {% assign post_index1 = forloop.index %}
10
+ {% endif %}
11
+ {% endfor %}
12
+ {% for post in posts %}
13
+ {% if post_index0 == forloop.index %}
14
+ {% assign next_post = post %}
15
+
16
+ {% endif %}
17
+ {% if post_index1 == forloop.index0 %}
18
+ {% assign prev_post = post %}
19
+ {% endif %}
20
+ {% endfor %}
21
+ {% endif %}
22
+ {% assign user_url = site.url | append: site.baseurl %}
23
+ {% assign full_base_url = user_url | default: site.github.url %}
24
+ {% if prev_post %}
25
+ <div class="col-4 sm-width-full left mr-lg-4 mt-3">
26
+ <a class="no-underline border-top-thin py-1 block" href="{{ prev_post.url | prepend: full_base_url }}">
27
+ <span class="h5 bold text-accent">{{ site.data[lang].previous }}</span>
28
+ <p class="bold h3 link-primary mb-1">{{ prev_post.title }}</p>
29
+ <p>{{ prev_post.content | strip_html | truncatewords:20 }}</p>
30
+ </a>
31
+ </div>
32
+ {% endif %}
33
+ {% if next_post %}
34
+ <div class="col-4 sm-width-full left mt-3">
35
+ <a class="no-underline border-top-thin py-1 block" href="{{ next_post.url | prepend: full_base_url }}">
36
+ <span class="h5 bold text-accent">{{ site.data[lang].next }}</span>
37
+ <p class="bold h3 link-primary mb-1">{{ next_post.title }}</p>
38
+ <p>{{ next_post.content | strip_html | truncatewords:20 }}</p>
39
+ </a>
40
+ </div>
41
+ {% endif %}
@@ -0,0 +1,4 @@
1
+ <button class="print-button link-primary">
2
+ <i class="fa-regular fa-file-pdf fa-xl"></i>
3
+ {{ site.data[lang].print }}
4
+ </button>
@@ -0,0 +1,19 @@
1
+ <button class="theme-toggle link-primary inline-block align-top mr-2 mr-lg-0 ml-lg-2 {% if include.class %}{{ include.class }}{% endif %}" id="theme-toggle" title="Dark or Light" aria-label="auto" aria-live="polite">
2
+ <svg class="sun-and-moon" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24">
3
+ <mask class="moon" id="moon-mask">
4
+ <rect x="0" y="0" width="100%" height="100%" fill="white" />
5
+ <circle cx="24" cy="10" r="6" fill="black" />
6
+ </mask>
7
+ <circle class="sun " cx="12" cy="12" r="6" mask="url(#moon-mask)" fill="currentColor" />
8
+ <g class="sun-beams" stroke="currentColor">
9
+ <line x1="12" y1="1" x2="12" y2="3" />
10
+ <line x1="12" y1="21" x2="12" y2="23" />
11
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64" />
12
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78" />
13
+ <line x1="1" y1="12" x2="3" y2="12" />
14
+ <line x1="21" y1="12" x2="23" y2="12" />
15
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36" />
16
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22" />
17
+ </g>
18
+ </svg>
19
+ </button>
@@ -0,0 +1,9 @@
1
+ <a href="https://twitter.com/{{ site.social_username }}" title="Follow me on twitter" class="link-social block">
2
+ <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true">
3
+ <path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M12,6c0,0.1,0,0.2,0,0.3c0,2.7-2.1,5.8-5.8,5.8
4
+ c-1.2,0-2.2-0.3-3.1-0.9c0.2,0,0.3,0,0.5,0c1,0,1.8-0.3,2.5-0.9c-0.9,0-1.7-0.6-1.9-1.4c0.1,0,0.3,0,0.4,0c0.2,0,0.4,0,0.5-0.1
5
+ c-0.9-0.2-1.6-1-1.6-2v0C3.7,6.9,4,7,4.3,7.1c-0.5-0.4-0.9-1-0.9-1.7c0-0.4,0.1-0.7,0.3-1c1,1.2,2.5,2.1,4.2,2.1
6
+ c0-0.2-0.1-0.3-0.1-0.5c0-1.1,0.9-2,2.1-2c0.6,0,1.1,0.2,1.5,0.6c0.5-0.1,0.9-0.3,1.3-0.5c-0.2,0.5-0.5,0.9-0.9,1.1
7
+ c0.4,0,0.8-0.2,1.2-0.3h0C12.7,5.3,12.4,5.7,12,6z"/>
8
+ </svg>
9
+ </a>
@@ -0,0 +1,42 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ {% assign lang = site.active_lang %}
5
+ <article class="container mx-auto px-2 mt2 mb4">
6
+ <header>
7
+ <h1 class="h0 py-4 mt-3">{{ page.headline }}</h1>
8
+ <p class="job">{{ site.data[lang].job }}</p>
9
+ </header>
10
+ {% include print-button.liquid %}
11
+ <div class="col-4 sm-width-full border-top-thin" id="divider"></div>
12
+ <div class="about">
13
+ <div class="prose mb-4 py-2">
14
+ {{ content }}
15
+ </div>
16
+ <div class="right-column">
17
+ <div class="contact-data">
18
+ <h2>{{ site.data[lang].contact }}</h2>
19
+ <p><i class="fa-solid fa-phone"></i> {{ site.data.common.phone }}</p>
20
+ <p><i class="fa-solid fa-location-dot"></i> {{ site.data.common.address }}</p>
21
+ <p><i class="fa-solid fa-at"></i> <a href="mailto:{{ site.data.common.email }}">{{ site.data.common.email }}</a></p>
22
+ </div>
23
+ <div class="links">
24
+ <h2>{{ site.data[lang].links }}</h2>
25
+ {% for link in site.data.common.links %}
26
+ <p><a href="{{ link.url }}">{{ link.name }}</a></p>
27
+ {% endfor %}
28
+ </div>
29
+ <div class="graphs">
30
+ {% assign watchmaking_title=site.data[lang].watchmaking.title %}
31
+ {% assign watchmaking_skills=site.data[lang].watchmaking.skills %}
32
+ {% assign flying_title=site.data[lang].flying.title %}
33
+ {% assign flying_skills=site.data[lang].flying.skills %}
34
+ {% assign programming_title=site.data[lang].programming.title %}
35
+ {% assign programming_skills=site.data[lang].programming.skills %}
36
+ {% include bar_graph.liquid title=watchmaking_title items=watchmaking_skills height="150" width="200" %}
37
+ {% include bar_graph.liquid title=flying_title items=flying_skills height="150" width="200" %}
38
+ {% include bar_graph.liquid title=programming_title items=programming_skills height="220" width="200" %}
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </article>
@@ -0,0 +1,20 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ {% assign lang = site.active_lang %}
5
+ <article class="container px-2 mx-auto mb4" itemscope itemtype="http://schema.org/BlogPosting">
6
+ <h1 class="h0 col-9 sm-width-full py-4 mt-3 inline-block" itemprop="name headline">{{ page.headline }}</h1>
7
+ <div class="col-4 sm-width-full mt-1 border-top-thin ">
8
+ <p class="mb-3 py-2 bold h4">
9
+ <time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | localize: '%-d %B %Y', lang }}</time>
10
+ </p>
11
+ </div>
12
+
13
+ <div class="prose" itemprop="articleBody">
14
+ {{ content }}
15
+ </div>
16
+ </article>
17
+
18
+ <div class="container mx-auto px-2 py-2 clearfix">
19
+ {% include previous-next_has-categories.liquid %}
20
+ </div>