2025-10-20 08:54:21 +01:00
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="{{if eq .Lang "es"}}es{{else}}en{{end}}">
|
2025-12-02 08:29:54 +00:00
|
|
|
{{template "head" .}}
|
2025-11-12 23:07:44 +00:00
|
|
|
<body {{if .ThemeClean}}class="theme-clean"{{end}}
|
2025-11-30 04:35:16 +00:00
|
|
|
_="on load call initScrollBehavior()
|
|
|
|
|
on scroll from window call handleScroll()
|
2025-12-02 17:55:45 +00:00
|
|
|
on keydown(key, target, ctrlKey, metaKey, altKey)
|
2025-12-02 16:23:40 +00:00
|
|
|
set ninjaKeys to #cmd-k-bar
|
2025-12-01 13:03:06 +00:00
|
|
|
set ninjaOpen to (ninjaKeys is not null and ninjaKeys.opened)
|
2025-12-02 17:55:45 +00:00
|
|
|
set skip to (target.tagName is 'INPUT' or target.tagName is 'TEXTAREA' or ninjaOpen)
|
|
|
|
|
set noMod to (not ctrlKey and not metaKey and not altKey)
|
|
|
|
|
if key is '?' and noMod and not skip then halt the event then call openModalShortcut('shortcuts-modal') end
|
|
|
|
|
if (key is 'l' or key is 'L') and noMod and not skip then halt the event then call handleToggleShortcut('lengthToggle', 'lengthToggleMenu') end
|
|
|
|
|
if (key is 'i' or key is 'I') and noMod and not skip then halt the event then call handleToggleShortcut('iconToggle', 'iconToggleMenu') end
|
|
|
|
|
if (key is 'v' or key is 'V') and noMod and not skip then halt the event then call handleToggleShortcut('themeToggle', 'themeToggleMenu') end
|
2025-11-15 15:59:54 +00:00
|
|
|
end">
|
2025-11-12 19:54:56 +00:00
|
|
|
|
2025-12-02 08:29:54 +00:00
|
|
|
<!-- ============================================ -->
|
|
|
|
|
<!-- TOP NAVIGATION & CONTROLS -->
|
|
|
|
|
<!-- ============================================ -->
|
|
|
|
|
<div id="top"></div>
|
2025-11-12 18:26:18 +00:00
|
|
|
{{template "action-bar" .}}
|
|
|
|
|
{{template "hamburger-menu" .}}
|
2025-11-18 15:49:30 +00:00
|
|
|
{{template "color-theme-switcher" .}}
|
2025-11-07 19:11:21 +00:00
|
|
|
|
2025-12-02 08:29:54 +00:00
|
|
|
<!-- ============================================ -->
|
|
|
|
|
<!-- MAIN CV CONTENT -->
|
|
|
|
|
<!-- ============================================ -->
|
2025-11-12 15:24:09 +00:00
|
|
|
<div id="zoom-wrapper" class="zoom-wrapper">
|
|
|
|
|
<div class="cv-container">
|
2025-11-12 18:55:06 +00:00
|
|
|
{{template "cv-content.html" .}}
|
2025-11-09 19:30:05 +00:00
|
|
|
</div>
|
2025-12-02 08:29:54 +00:00
|
|
|
</div>
|
2025-11-12 11:00:29 +00:00
|
|
|
|
2025-12-02 08:29:54 +00:00
|
|
|
<!-- ============================================ -->
|
|
|
|
|
<!-- PAGE FOOTER & NOTIFICATIONS -->
|
|
|
|
|
<!-- ============================================ -->
|
2025-11-17 17:10:46 +00:00
|
|
|
{{template "page-footer" .}}
|
2025-11-12 18:26:18 +00:00
|
|
|
{{template "error-toast" .}}
|
2025-11-20 13:00:06 +00:00
|
|
|
{{template "pdf-toast" .}}
|
2025-11-23 08:21:12 +00:00
|
|
|
|
2025-12-02 08:29:54 +00:00
|
|
|
<!-- ============================================ -->
|
|
|
|
|
<!-- FLOATING BUTTONS -->
|
|
|
|
|
<!-- ============================================ -->
|
2025-11-23 08:21:12 +00:00
|
|
|
<div class="fixed-buttons-backdrop no-print"></div>
|
2025-11-12 18:26:18 +00:00
|
|
|
{{template "back-to-top" .}}
|
2025-11-17 08:34:50 +00:00
|
|
|
{{template "info-button" .}}
|
|
|
|
|
{{template "download-button" .}}
|
|
|
|
|
{{template "print-friendly-button" .}}
|
2025-12-01 13:03:06 +00:00
|
|
|
{{template "contact-button" .}}
|
2025-11-17 08:34:50 +00:00
|
|
|
{{template "zoom-toggle-button" .}}
|
|
|
|
|
{{template "shortcuts-button" .}}
|
2026-04-08 00:20:48 +01:00
|
|
|
{{template "chat-widget" .}}
|
2025-12-02 08:29:54 +00:00
|
|
|
|
|
|
|
|
<!-- ============================================ -->
|
|
|
|
|
<!-- MODALS -->
|
|
|
|
|
<!-- ============================================ -->
|
2025-11-12 18:26:18 +00:00
|
|
|
{{template "info-modal" .}}
|
2025-11-15 15:59:54 +00:00
|
|
|
{{template "shortcuts-modal" .}}
|
2025-11-12 18:26:18 +00:00
|
|
|
{{template "pdf-modal" .}}
|
2025-11-30 14:31:58 +00:00
|
|
|
{{template "contact-modal" .}}
|
2025-11-12 18:26:18 +00:00
|
|
|
{{template "zoom-control" .}}
|
2025-11-12 11:00:29 +00:00
|
|
|
|
2025-12-02 08:29:54 +00:00
|
|
|
<!-- ============================================ -->
|
|
|
|
|
<!-- SCRIPTS & ANALYTICS -->
|
|
|
|
|
<!-- ============================================ -->
|
|
|
|
|
{{template "body-scripts" .}}
|
2025-10-20 08:54:21 +01:00
|
|
|
</body>
|
|
|
|
|
</html>
|