update layouts

This commit is contained in:
Kovasky Buezo
2025-08-23 23:04:17 -02:30
parent 97c45e37f6
commit 8218ce4caa
22 changed files with 323 additions and 225 deletions
+1 -1
View File
@@ -10,7 +10,7 @@
<a class="card my-3 h-100 p-3" href="{{ .url }}" title="{{ .title }}" target="_blank">
{{if .image }}
<div class="card-head">
<img class="card-img-top" src="{{ .image }}">
<img class="card-img-top" loading="lazy" src="{{ .image }}" alt="{{ .alt }}">
</div>
{{ end }}
<div class="card-body bg-transparent">
+3 -11
View File
@@ -15,24 +15,16 @@
<input type="email" class="form-control" name="email" required="true" placeholder='{{ .Site.Params.contact.formspree.emailCaption | emojify | default "Enter your email" }}'>
</div>
<div class="form-group pt-3">
<textarea class="form-control" name="message" required="true" placeholder='{{ .Site.Params.contact.formspree.messageCaption | emojify | default "Enter your message" }}' rows="{{ .Site.Params.contact.formspree.messageRows | default 3 }}"></textarea>
<textarea class="form-control" name="message" required="true" placeholder='{{ .Site.Params.contact.formspree.messageCaption | emojify | default "Enter your message" }}' rows="3"></textarea>
</div>
<div class="form-group text-center pt-3">
<button type="submit" class="btn">{{ .Site.Params.contact.btnName | default "Get in Touch" }}</button>
</div>
</form>
</div>
{{ else if or (.Site.Params.contact.email) (.Site.Params.contact.btnLink) }}
{{ else if .Site.Params.contact.email }}
<div class="text-center pt-3">
<a
href='{{ if .Site.Params.contact.btnLink }}
{{ .Site.Params.contact.btnLink | default "#" }}
{{ else }}
mailto:{{ .Site.Params.contact.email }}
{{ end }}'
target="_blank"
class="btn"
>
<a href="mailto:{{ .Site.Params.contact.email }}" class="btn">
{{ .Site.Params.contact.btnName | default "Get in Touch" }}
</a>
</div>
+1 -29
View File
@@ -11,12 +11,10 @@
<li class="nav-item px-1 bg-transparent" role="presentation">
<div
class="nav-link active bg-transparent"
aria-selected="true"
role="tab"
data-bs-toggle="pill"
id='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}-tab'
data-bs-target='#pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
aria-controls='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
data-bs-target='#pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
>
{{ .company }}
</div>
@@ -25,12 +23,10 @@
<li class="nav-item px-1 bg-transparent" role="presentation">
<div
class="nav-link bg-transparent"
aria-selected="true"
role="tab"
data-bs-toggle="pill"
id='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}-tab'
data-bs-target='#pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
aria-controls='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
>
{{ .company }}
</div>
@@ -53,18 +49,6 @@
<a href="{{ .companyUrl }}" target="_blank">{{ .company }}</a>
<div class="pb-1">
<small>{{ .date }}</small>
{{ if .info.enable | default true }}
<span class="p-2">
<span
style="cursor: pointer;"
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-original-title={{ .info.content | default (print "Working as a " .job " at " .company ) }}
>
<i class="fas fa-info-circle fa-xs"></i>
</span>
</span>
{{ end }}
</div>
{{ if .featuredLink.enable | default false }}
@@ -92,18 +76,6 @@
<div class="pb-1">
<small>{{ .date }}</small>
{{ if .info.enable | default true }}
<span class="p-2">
<span
style="cursor: pointer;"
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-original-title={{ .info.content | default (print "Worked as a " .job " at " .company ) }}
>
<i class="fas fa-info-circle fa-xs"></i>
</span>
</span>
{{ end }}
</div>
{{ if .featuredLink.enable | default false }}
@@ -1,26 +1,19 @@
<div class="container py-4">
<div class="row justify-content-center">
<div class="col-md-4 text-center">
{{ if or .Site.Params.navbar.brandLogo .Site.Params.favicon }}
<div class="pb-2">
<a href="{{ .Site.BaseURL }}" title="{{ .Site.Title }}">
<img alt="Footer logo" src="{{ .Site.Params.navbar.brandLogo | default .Site.Params.favicon }}"
height="40px" width="40px">
</a>
</div>
{{ end }}
<div class="pb-2">
<a href="{{ .Site.BaseURL }}" title="{{ .Site.Title }}">
<img alt="Footer logo" src="{{ .Site.Params.navbar.brandLogo | default .Site.Params.favicon }}"
height="40px" width="40px">
</a>
</div>
&copy; {{ now.Format "2006"}} {{ .Site.Params.copyright }} {{ .Site.Params.terms.copyright | default "All Rights Reserved" }}
<div class="text-secondary">
Made with
{{ .Site.Params.madeWith }}
<span class="text-danger">
&#10084;
</span>
and
<a href="https://github.com/gurusabarish/hugo-profile" target="_blank"
title="Designed and developed by gurusabarish">
Hugo Profile
</a>
</div>
</div>
</div>
</div>
</div>
@@ -14,7 +14,11 @@
{{ if and (not (.Site.Params.footer.recentPosts.disableFeaturedImage | default false)) (.Params.image) }}
<div class="card-header">
<a href="{{ .RelPermalink }}">
<img src="{{ .Params.image }}" class="card-img-top" alt="{{ .Title }}">
{{ with .Resources.GetMatch .Params.image }}
<img loading="lazy" src="{{ .Permalink }}" class="card-img-top" alt="{{ $.Title }}">
{{ else }}
<img loading="lazy" src="{{ .RelPermalink }}/{{ .Params.image }}" class="card-img-top" alt="{{ .Title }}">
{{ end }}
</a>
</div>
{{ end }}
@@ -23,7 +27,7 @@
<h5 class="card-title bg-transparent" title="{{ .Title }}">{{ .Title | truncate 25 }}</h5>
</a>
<div class="card-text secondary-font">
<p>{{ .Summary | truncate 300}}</p>
<p>{{ .Summary | truncate 300 | plainify}}</p>
</div>
</div>
<div class="mt-auto card-footer">
@@ -3,7 +3,7 @@
<span class="px-1">
<a href="{{ .Site.Params.footer.socialNetworks.github }}" aria-label="github">
<svg xmlns="http://www.w3.org/2000/svg" width="2.7em" height="2.7em" viewBox="0 0 1792 1792">
<path id="footer-socialNetworks-github-svg-path"
<path
d="M522 1352q-8 9-20-3-13-11-4-19 8-9 20 3 12 11 4 19zm-42-61q9 12 0 19-8 6-17-7t0-18q9-7 17 6zm-61-60q-5 7-13 2-10-5-7-12 3-5 13-2 10 5 7 12zm31 34q-6 7-16-3-9-11-2-16 6-6 16 3 9 11 2 16zm129 112q-4 12-19 6-17-4-13-15t19-7q16 5 13 16zm63 5q0 11-16 11-17 2-17-11 0-11 16-11 17-2 17 11zm58-10q2 10-14 14t-18-8 14-15q16-2 18 9zm964-956v960q0 119-84.5 203.5t-203.5 84.5h-224q-16 0-24.5-1t-19.5-5-16-14.5-5-27.5v-239q0-97-52-142 57-6 102.5-18t94-39 81-66.5 53-105 20.5-150.5q0-121-79-206 37-91-8-204-28-9-81 11t-92 44l-38 24q-93-26-192-26t-192 26q-16-11-42.5-27t-83.5-38.5-86-13.5q-44 113-7 204-79 85-79 206 0 85 20.5 150t52.5 105 80.5 67 94 39 102.5 18q-40 36-49 103-21 10-45 15t-57 5-65.5-21.5-55.5-62.5q-19-32-48.5-52t-49.5-24l-20-3q-21 0-29 4.5t-5 11.5 9 14 13 12l7 5q22 10 43.5 38t31.5 51l10 23q13 38 44 61.5t67 30 69.5 7 55.5-3.5l23-4q0 38 .5 103t.5 68q0 22-11 33.5t-22 13-33 1.5h-224q-119 0-203.5-84.5t-84.5-203.5v-960q0-119 84.5-203.5t203.5-84.5h960q119 0 203.5 84.5t84.5 203.5z" />
<metadata>
+64 -38
View File
@@ -40,7 +40,7 @@
if(resetHeaderStyle) {
profileHeaderElem.classList.remove("showHeaderOnTop");
}
prevScrollPos = currentScrollPos;
prevScrollPos = currentScrollPos;
});
</script>
{{ end }}
@@ -50,10 +50,10 @@
<nav class="pt-3 navbar navbar-expand-lg {{ if .Site.Params.animate }}animate{{ end }}">
<div class="container-fluid mx-xs-2 mx-sm-5 mx-md-5 mx-lg-5">
<!-- navbar brand -->
<a class="navbar-brand primary-font text-wrap" href="{{ .Site.BaseURL | relURL }}">
{{ if and (or (.Site.Params.favicon) (.Site.Params.navbar.brandLogo)) (.Site.Params.navbar.showBrandLogo | default true) }}
<a class="navbar-brand primary-font text-wrap" href="{{ "/" | relLangURL }}">
{{ if and (or (.Site.Params.favicon) (.Site.Params.navbar.brandLogo)) .Site.Params.navbar.showBrandLogo | default true }}
<img src="{{ .Site.Params.navbar.brandLogo | default .Site.Params.favicon }}" width="30" height="30"
class="d-inline-block align-top">
class="d-inline-block align-top" alt="favicon">
{{ .Site.Params.navbar.brandName | default .Site.Params.title }}
{{ else }}
{{ .Site.Params.navbar.brandName | default .Site.Params.title }}
@@ -62,8 +62,9 @@
{{ if not (.Site.Params.navbar.disableSearch | default false) }}
<div>
<input id="search" autocomplete="off" class="form-control mr-sm-2 d-none d-md-block" placeholder='{{ .Site.Params.navbar.searchPlaceholder | default "Ctrl + k to Search..."}}'
aria-label="Search" oninput="searchOnChange(event)">
<input id="search" autocomplete="off" class="form-control mr-sm-2 d-none d-md-block"
placeholder='{{ .Site.Params.navbar.searchPlaceholder | default "Ctrl + k to Search..."}}'
aria-label="Search">
</div>
{{ end }}
@@ -85,10 +86,10 @@
</div>
</li>
{{ end }}
{{ if and (.Site.Params.about.enable | default false) (not (.Site.Params.navbar.menus.disableAbout | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#about" aria-label="about">
<a class="nav-link" href="{{ "/" | relLangURL }}#about" aria-label="about">
{{ .Site.Params.about.title | default "About" }}
</a>
</li>
@@ -96,59 +97,52 @@
{{ if and (.Site.Params.experience.enable | default false) (not (.Site.Params.navbar.menus.disableExperience | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#experience"
<a class="nav-link" href="{{ "/" | relLangURL }}#experience"
aria-label="experience">
{{ .Site.Params.experience.title | default "Experience" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.education.enable | default false) (not (.Site.Params.navbar.menus.disableEducation | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#education"
aria-label="education">
{{ .Site.Params.education.title | default "Education" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.projects.enable | default false) (not (.Site.Params.navbar.menus.disableProjects | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#projects"
aria-label="projects">
{{ .Site.Params.projects.title | default "Projects" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.achievements.enable | default false) (not (.Site.Params.navbar.menus.disableAchievements | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#achievements"
<a class="nav-link" href="{{ "/" | relLangURL }}#achievements"
aria-label="achievements">
{{ .Site.Params.achievements.title | default "Achievements" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.projects.enable | default false) (not (.Site.Params.navbar.menus.disableProjects | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ "/" | relLangURL }}#projects"
aria-label="projects">
{{ .Site.Params.projects.title | default "Projects" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.education.enable | default false) (not (.Site.Params.navbar.menus.disableEducation | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ "/" | relLangURL }}#education"
aria-label="education">
{{ .Site.Params.education.title | default "Education" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.contact.enable | default false) (not (.Site.Params.navbar.menus.disableContact | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#contact"
<a class="nav-link" href="{{ "/" | relLangURL }}#contact"
aria-label="contact">
{{ .Site.Params.contact.title | default "Contact" }}
</a>
</li>
{{ end }}
{{ if and .Site.Menus.main (.Site.Params.navbar.enableSeparator | default false) }}
<li class="nav-item navbar-text d-none d-lg-block d-xl-block"><div class="nav-link nav-link-sep"></div></li>
<div class="dropdown-divider"></div>
{{ end }}
<!-- custom menus from the user -->
{{ range .Site.Menus.main }}
{{ if .HasChildren }}
<!-- Dropdown menu -->
<li class="nav-item navbar-text dropdown">
<li class="nav-item navbar-text dropdown dropstart">
<a class="nav-link dropdown-toggle" href="{{ .URL }}" id="navbarDropdown" role="button"
data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="{{ .Title }}">
{{ .Name }}
@@ -172,7 +166,39 @@
</li>
{{end}}
{{end}}
{{ if hugo.IsMultilingual }}
{{ if eq (len $.Page.Translations) 0 }}
<li class="nav-item navbar-text">
<a class="nav-link" title="{{ .Site.Language.LanguageName }}">
{{ .Site.Language.LanguageName }}
</a>
</li>
{{ else }}
<li class="nav-item navbar-text dropdown">
<a class="nav-link dropdown-toggle" id="navbarDropdown" role="button"
data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"
title="{{ .Site.Language.LanguageName }}">
{{ .Site.Language.LanguageName }}
</a>
<div class="dropdown-menu shadow-lg rounded" aria-labelledby="navbarDropdown">
{{ range $.Site.Languages }}
{{ if ne .Lang $.Site.Language.Lang }}
{{ $transPages := where $.Page.Translations "Lang" .Lang }}
{{ if gt (len $transPages) 0 }}
{{ $transPage := index $transPages 0 }}
<a class="dropdown-item text-center nav-link"
href="{{ $transPage.RelPermalink }}">
{{ .LanguageName }}
</a>
{{ end }}
{{ end }}
{{ end }}
</div>
</li>
{{ end }}
{{ end }}
{{ if (not .Site.Params.theme.disableThemeToggle | default false) }}
<li class="nav-item navbar-text">
<!-- darkmode mode toggle -->
+6 -6
View File
@@ -6,9 +6,9 @@
<span class="subtitle">
{{ .Site.Params.hero.intro }}
</span>
<h2>
<h1>
{{ .Site.Params.hero.title }}
</h2>
</h1>
<h3>
{{ .Site.Params.hero.subtitle }}
</h3>
@@ -33,17 +33,17 @@
</div>
<div class="col-sm-12 col-md-12 col-lg-4">
<div class="row justify-content-center">
<div class="col-sm-12 col-md-9 pt-5 image {{ if .Site.Params.animate }}animate{{ end }} px-5 px-md-5 px-lg-0 text-center">
<div class="col-sm-12 col-md-9 pt-5 image px-5 px-md-5 px-lg-0 text-center">
<img src="{{ .Site.Params.hero.image }}"
class="img-thumbnail mx-auto{{ if .Site.Params.hero.roundImage }} rounded-circle{{ end }}"
alt=""
alt="hero image"
>
</div>
</div>
</div>
</div>
</div>
{{ if .Site.Params.hero.bottomImage.enable | default true }}
<!-- {{ if .Site.Params.hero.bottomImage.enable | default false }}
<div class="hero-bottom-svg d-md-block d-lg-block d-none">
<svg xmlns="http://www.w3.org/2000/svg" width="201" height="201" viewBox="0 0 201 201">
<g id="Group_1168" data-name="Group 1168" transform="translate(-384 -1392)">
@@ -306,6 +306,6 @@
</g>
</svg>
</div>
{{ end }}
{{ end }} -->
</section>
{{ end }}
+9 -10
View File
@@ -1,23 +1,22 @@
<span>
{{ range .Site.Params.hero.socialLinks.fontAwesomeIcons }}
<span class="px-1">
<a href="{{ .url }}"
{{ if not (hasPrefix .url "#") }} target="_blank" {{ end }}
class="btn social-icon"
>
<i class="{{ .icon }}"></i>
<a href="{{ .url }}" target="_blank" class="btn social-icon">
{{/* Extract icon name from Font Awesome class */}}
{{ $iconName := replace .icon "fab fa-" "" }}
{{ $iconName = replace $iconName "fas fa-" "" }}
{{ $iconName = replace $iconName "fa fa-" "" }}
{{ $iconName = replace $iconName "fa-" "" }}
{{ partial "icon" (dict "icon" $iconName "class" "fa-solid fa-comments") }}
</a>
</span>
{{ end }}
{{ range .Site.Params.hero.socialLinks.customIcons }}
<span class="px-1">
<a href="{{ .url }}"
{{ if not (hasPrefix .url "#") }} target="_blank" {{ end }}
class="btn social-icon"
>
<a href="{{ .url }}" target="_blank" class="btn social-icon">
<img src="{{ .icon }}">
</a>
</span>
{{ end }}
</span>
</span>
+2 -2
View File
@@ -7,7 +7,7 @@
<div class="col-lg-4 col-md-6 my-3">
<div class="card my-3 h-100" title="{{ .title }}">
<div class="card-head">
<img class="card-img-top" src="{{ .image }}" alt="{{ .title }}">
<img class="card-img-top" loading="lazy" src="{{ .image }}" alt="{{ .title }}">
</div>
<div class="card-body bg-transparent p-3">
<div class="pb-2 bg-transparent">
@@ -56,7 +56,7 @@
</div>
<h5 class="card-title bg-transparent">{{ .Title | truncate 50 }}</h5>
<div class="card-text bg-transparent secondary-font">
{{ .Summary | truncate 100 | safeHTML }}
{{ .Summary | truncate 100 | plainify | safeHTML }}
</div>
</div>
<div class="card-footer py-3">