Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a69388d9b8 | |||
| 600c50c71c | |||
| 36e3e4c09c | |||
| 803821d7e8 | |||
| 1ec4cd2688 | |||
| 9f5a44e24e | |||
| 32e95a572f | |||
| b8bee52c7c | |||
| 35bca71987 | |||
| cbdb07dbf1 | |||
| 970656789c | |||
| df78c743c8 | |||
| 96768ade2d | |||
| 11bddc36a2 |
@@ -8,7 +8,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout to latest commit
|
- name: Checkout to latest commit
|
||||||
uses: actions/checkout@v4.1.1
|
uses: actions/checkout@v4.1.2
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4.1.1
|
uses: actions/checkout@v4.1.2
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
# checkout to the commit that has been pushed
|
# checkout to the commit that has been pushed
|
||||||
- uses: actions/checkout@v4.1.1
|
- uses: actions/checkout@v4.1.2
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
@@ -35,7 +35,7 @@ jobs:
|
|||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.1.1
|
- uses: actions/checkout@v4.1.2
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
@@ -87,6 +87,6 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
# checkout to latest commit
|
# checkout to latest commit
|
||||||
- uses: actions/checkout@v4.1.1
|
- uses: actions/checkout@v4.1.2
|
||||||
# run markdown linter
|
# run markdown linter
|
||||||
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.15
|
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.15
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ For more details about the features please visit [here](https://toha-guides.netl
|
|||||||
- Português Europeu
|
- Português Europeu
|
||||||
- Català
|
- Català
|
||||||
- Português Brasileiro
|
- Português Brasileiro
|
||||||
|
- Nederlands
|
||||||
|
|
||||||
To know more about how to translate your site, please visit [here](https://toha-guides.netlify.app/posts/translation/). Follow, the data and post format from this [example site](https://hugo-toha.github.io).
|
To know more about how to translate your site, please visit [here](https://toha-guides.netlify.app/posts/translation/). Follow, the data and post format from this [example site](https://hugo-toha.github.io).
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ window.addEventListener('load', async () => {
|
|||||||
|
|
||||||
// save preference to local storage
|
// save preference to local storage
|
||||||
saveScheme(newScheme)
|
saveScheme(newScheme)
|
||||||
|
|
||||||
|
setImages(newScheme)
|
||||||
}
|
}
|
||||||
|
|
||||||
setScheme(loadScheme())
|
setScheme(loadScheme())
|
||||||
@@ -50,3 +52,19 @@ window.addEventListener('load', async () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
function setImages(newScheme) {
|
||||||
|
const els = Array.from(document.getElementsByClassName('logo-holder'));
|
||||||
|
for (const el of els) {
|
||||||
|
const light = el.querySelector('.light-logo');
|
||||||
|
const dark = el.querySelector('.dark-logo');
|
||||||
|
if (newScheme === "dark" && dark !== null) {
|
||||||
|
if (light !== null) light.style.display = 'none'
|
||||||
|
dark.style.display = 'inline'
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (light !== null) light.style.display = 'inline'
|
||||||
|
if (dark !== null) dark.style.display = 'none'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -79,6 +79,13 @@ window.addEventListener('DOMContentLoaded', () => {
|
|||||||
// pull template from hugo template definition
|
// pull template from hugo template definition
|
||||||
const templateDefinition = document.getElementById('search-result-template').innerHTML
|
const templateDefinition = document.getElementById('search-result-template').innerHTML
|
||||||
// replace values
|
// replace values
|
||||||
|
function adaptTags() {
|
||||||
|
const tags = value.item.tags;
|
||||||
|
let string = '';
|
||||||
|
if (tags) tags.forEach((t) => {string += '<li class="rounded"><a href="/tags/' + t.toLowerCase() + '/" class="btn btn-sm btn-info">' + t + "</a></li>"});
|
||||||
|
return string;
|
||||||
|
}
|
||||||
|
|
||||||
const output = render(templateDefinition, {
|
const output = render(templateDefinition, {
|
||||||
key,
|
key,
|
||||||
title: value.item.title,
|
title: value.item.title,
|
||||||
@@ -86,7 +93,7 @@ window.addEventListener('DOMContentLoaded', () => {
|
|||||||
date: value.item.date,
|
date: value.item.date,
|
||||||
summary: value.item.summary,
|
summary: value.item.summary,
|
||||||
link: value.item.permalink,
|
link: value.item.permalink,
|
||||||
tags: value.item.tags,
|
tags: adaptTags(),
|
||||||
categories: value.item.categories,
|
categories: value.item.categories,
|
||||||
snippet
|
snippet
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -56,14 +56,12 @@
|
|||||||
font-size: 0.5em;
|
font-size: 0.5em;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background: get-light-color('accent-color');
|
|
||||||
margin-left: 0.2em;
|
margin-left: 0.2em;
|
||||||
margin-right: 0.2em;
|
margin-right: 0.2em;
|
||||||
margin-top: 0.6em;
|
margin-top: 0.6em;
|
||||||
margin-bottom: 0.6em;
|
margin-bottom: 0.6em;
|
||||||
}
|
}
|
||||||
a {
|
a {
|
||||||
color: get-light-color('text-over-accent-color');
|
|
||||||
text-decoration: none !important;
|
text-decoration: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -143,17 +141,6 @@ html[data-theme='dark'] {
|
|||||||
color: get-dark-color('muted-text-color');
|
color: get-dark-color('muted-text-color');
|
||||||
}
|
}
|
||||||
|
|
||||||
.tags {
|
|
||||||
li {
|
|
||||||
background: get-dark-color('accent-color');
|
|
||||||
a {
|
|
||||||
background-color: get-dark-color('bg-card');
|
|
||||||
border: 1px solid get-dark-color('muted-text-color');
|
|
||||||
color: get-dark-color('text-over-accent-color');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon-button {
|
.icon-button {
|
||||||
background-color: get-dark-color('muted-text-color');
|
background-color: get-dark-color('muted-text-color');
|
||||||
color: get-dark-color('text-over-accent-color') !important;
|
color: get-dark-color('text-over-accent-color') !important;
|
||||||
|
|||||||
@@ -46,3 +46,13 @@ html[data-theme='dark'] {
|
|||||||
.svg-inverted {
|
.svg-inverted {
|
||||||
filter: invert(1);
|
filter: invert(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.logo-holder {
|
||||||
|
height: 64px;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-logo {
|
||||||
|
max-height: 100%;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
@@ -10,7 +10,7 @@ a {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.list-link {
|
.list-link, .taxonomy-term {
|
||||||
text-decoration: none !important;
|
text-decoration: none !important;
|
||||||
color: get-light-color('text-color');
|
color: get-light-color('text-color');
|
||||||
@include transition();
|
@include transition();
|
||||||
@@ -67,7 +67,7 @@ html[data-theme='dark'] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.list-link {
|
.list-link, .taxonomy-term {
|
||||||
color: get-dark-color('text-color');
|
color: get-dark-color('text-color');
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
|
|||||||
@@ -129,6 +129,12 @@
|
|||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.custom-section {
|
||||||
|
.custom-content {
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,6 +92,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.company-heading {
|
||||||
|
h5 {
|
||||||
|
display: inline;
|
||||||
|
margin-right: 0.25em;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@include media('<=medium') {
|
@include media('<=medium') {
|
||||||
.container {
|
.container {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
|||||||
@@ -35,6 +35,10 @@
|
|||||||
|
|
||||||
.project-card-footer {
|
.project-card-footer {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
.badge {
|
||||||
|
margin-left: 0.1em;
|
||||||
|
margin-right: 0.1em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.project-tags-holder {
|
.project-tags-holder {
|
||||||
|
|||||||
@@ -28,28 +28,40 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ define "content" }}
|
{{ define "content" }}
|
||||||
|
<script>
|
||||||
|
document.body.classList.replace('kind-page', 'kind-section');
|
||||||
|
</script>
|
||||||
<section class="content-section" id="content-section">
|
<section class="content-section" id="content-section">
|
||||||
<div class="content container-fluid" id="content">
|
<div class="content container-fluid" id="content">
|
||||||
<div class="container-fluid post-card-holder" id="post-card-holder">
|
<div class="container-fluid post-card-holder" id="post-card-holder">
|
||||||
<div id="search-results">
|
<div id="search-results" style="display: flex; flex-wrap: wrap;">
|
||||||
|
|
||||||
<script id="search-result-template" type="text/x-js-template">
|
<script id="search-result-template" type="text/x-js-template">
|
||||||
<div class="post-card">
|
<div class="post-card">
|
||||||
<a href="${link}" class="post-card-link">
|
<div class="card">
|
||||||
<div class="card" style="min-height: 352px;"><a href="${link}" class="post-card-link">
|
|
||||||
<div class="card-head">
|
<div class="card-head">
|
||||||
|
<a href="${link}" class="post-card-link">
|
||||||
<img class="card-img-top" src="${hero}" alt="Card Heading Image">
|
<img class="card-img-top" src="${hero}" alt="Card Heading Image">
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
<a href="${link}" class="post-card-link">
|
||||||
<h5 class="card-title">${title}</h5>
|
<h5 class="card-title">${title}</h5>
|
||||||
<p class="card-text post-summary">${summary}</p>
|
<p class="card-text post-summary">${summary}</p>
|
||||||
|
</a>
|
||||||
|
{{ if site.Params.features.tags.on_card }}
|
||||||
|
<div class="tags">
|
||||||
|
<ul style="padding-left: 0;">
|
||||||
|
${tags}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
<div class="card-footer">
|
<div class="card-footer">
|
||||||
<span class="float-left">${date}</span>
|
<span class="float-left">${date}</span>
|
||||||
<a href="${link}" class="float-right btn btn-outline-info btn-sm">Read</a>
|
<a href="${link}" class="float-right btn btn-outline-info btn-sm">Read</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -157,8 +157,8 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<!-- Keep backward compatibility with old config.yaml -->
|
<!-- Keep backward compatibility with old config.yaml -->
|
||||||
{{ if site.DisqusShortname }}
|
{{ if .Site.Config.Services.Disqus.Shortname }}
|
||||||
{{ partial "comments/disqus.html" (dict (slice "disqus" "shortName") site.DisqusShortname) }}
|
{{ partial "comments/disqus.html" (dict (slice "disqus" "shortName") .Site.Config.Services.Disqus.Shortname) }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -56,6 +56,6 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<!-- Keep backwards compatibility and consistency with HUGO defaults -->
|
<!-- Keep backwards compatibility and consistency with HUGO defaults -->
|
||||||
{{ if site.GoogleAnalytics }}
|
{{ if .Site.Config.Services.GoogleAnalytics.ID }}
|
||||||
{{ template "_internal/google_analytics.html" . }}
|
{{ template "_internal/google_analytics.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
<div class="post-card">
|
<div class="post-card">
|
||||||
<a href="{{ .RelPermalink | relLangURL }}" class="post-card-link">
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-head">
|
<div class="card-head">
|
||||||
|
<a href="{{ .RelPermalink | relLangURL }}" class="post-card-link">
|
||||||
<img class="card-img-top" src='{{ partial "helpers/get-hero.html" . }}' alt="Hero Image">
|
<img class="card-img-top" src='{{ partial "helpers/get-hero.html" . }}' alt="Hero Image">
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
<a href="{{ .RelPermalink | relLangURL }}" class="post-card-link">
|
||||||
<h5 class="card-title">{{ .Title }}</h5>
|
<h5 class="card-title">{{ .Title }}</h5>
|
||||||
<p class="card-text post-summary">{{ .Summary }}</p>
|
<p class="card-text post-summary">{{ .Summary }}</p>
|
||||||
|
</a>
|
||||||
{{ if and site.Params.features.tags.enable site.Params.features.tags.on_card }}
|
{{ if and site.Params.features.tags.enable site.Params.features.tags.on_card }}
|
||||||
{{ partial "misc/tags.html" .Params.tags }}
|
{{ partial "misc/tags.html" .Params.tags }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -20,5 +23,4 @@
|
|||||||
class="float-right btn btn-outline-info btn-sm">{{ i18n "read" }}</a>
|
class="float-right btn btn-outline-info btn-sm">{{ i18n "read" }}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<ul style="padding-left: 0;">
|
<ul style="padding-left: 0;">
|
||||||
{{ range . }}
|
{{ range . }}
|
||||||
{{ $url:= printf "tags/%s/" . }}
|
{{ $url:= printf "tags/%s/" . }}
|
||||||
<li class="rounded"><a href="{{ $url | urlize | relLangURL }}" class="btn, btn-sm">{{ . }}</a></li>
|
<li class="rounded"><a href="{{ $url | urlize | relLangURL }}" class="btn btn-sm btn-info">{{ . }}</a></li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -31,6 +31,18 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="details">
|
<td class="details">
|
||||||
<div class="degree-info card">
|
<div class="degree-info card">
|
||||||
|
|
||||||
|
{{ $logoImage:= resources.Get .institution.logo}}
|
||||||
|
{{ $darkLogoImage:= resources.Get .institution.darkLogo}}
|
||||||
|
{{ if $logoImage }}
|
||||||
|
<div class="logo-holder">
|
||||||
|
<img class="company-logo light-logo" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||||
|
{{ if $darkLogoImage }}
|
||||||
|
<img class="company-logo dark-logo" src="{{ $darkLogoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-10 col-md-8">
|
<div class="col-lg-10 col-md-8">
|
||||||
{{ if .institution.url }}
|
{{ if .institution.url }}
|
||||||
@@ -106,6 +118,14 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ if .custonSections }}
|
||||||
|
<div class="custom-section">
|
||||||
|
{{ range .custonSections }}
|
||||||
|
<h6 class="text-heading">{{ .name }}: </h6>
|
||||||
|
<div class="custom-content">{{ .content | markdownify }}</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="line">
|
<td class="line">
|
||||||
|
|||||||
@@ -31,6 +31,18 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="details">
|
<td class="details">
|
||||||
<div class="degree-info card">
|
<div class="degree-info card">
|
||||||
|
|
||||||
|
{{ $logoImage:= resources.Get .institution.logo}}
|
||||||
|
{{ $darkLogoImage:= resources.Get .institution.darkLogo}}
|
||||||
|
{{ if $logoImage }}
|
||||||
|
<div class="logo-holder">
|
||||||
|
<img class="company-logo light-logo" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||||
|
{{ if $darkLogoImage }}
|
||||||
|
<img class="company-logo dark-logo" src="{{ $darkLogoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-10 col-md-8">
|
<div class="col-lg-10 col-md-8">
|
||||||
{{ if .institution.url }}
|
{{ if .institution.url }}
|
||||||
@@ -106,6 +118,14 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ if .custonSections }}
|
||||||
|
<div class="custom-section">
|
||||||
|
{{ range .custonSections }}
|
||||||
|
<h6 class="text-heading">{{ .name }}: </h6>
|
||||||
|
<div class="custom-content">{{ .content | markdownify }}</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -18,11 +18,11 @@
|
|||||||
{{ if eq (mod $index 2) 0 }}
|
{{ if eq (mod $index 2) 0 }}
|
||||||
<div class="row align-items-center d-flex">
|
<div class="row align-items-center d-flex">
|
||||||
{{ partial "sections/experiences/vertical-line.html" $index }}
|
{{ partial "sections/experiences/vertical-line.html" $index }}
|
||||||
{{ partial "sections/experiences/experience-info.html" $experience }}
|
{{ partial "sections/experiences/positions.html" $experience }}
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="row align-items-center justify-content-end d-flex">
|
<div class="row align-items-center justify-content-end d-flex">
|
||||||
{{ partial "sections/experiences/experience-info.html" $experience }}
|
{{ partial "sections/experiences/positions.html" $experience }}
|
||||||
{{ partial "sections/experiences/vertical-line.html" $index }}
|
{{ partial "sections/experiences/vertical-line.html" $index }}
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
{{ if gt (len .positions) 1 }}
|
|
||||||
{{ partial "sections/experiences/multiple-positions.html" . }}
|
|
||||||
{{ else }}
|
|
||||||
{{ partial "sections/experiences/single-position.html" . }}
|
|
||||||
{{ end }}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
<div class="col-10 col-lg-8">
|
|
||||||
<div class="experience-entry-heading">
|
|
||||||
<!-- For multiple positions, give emphasis on the company name-->
|
|
||||||
<h5>{{ if .company.url }}<a href={{.company.url}} title="{{ .company.name }}" target="_blank" rel="noopener">{{ .company.name }}</a>{{ else }}{{ .company.name }}{{ end }}</h5>
|
|
||||||
|
|
||||||
<!-- Total experience duration on a company is time between the starting date of the oldest position and ending date of most recent position -->
|
|
||||||
{{ $oldestPosition := index (last 1 .positions) 0}}
|
|
||||||
{{ $mostRecentPosition := index (first 1 .positions) 0}}
|
|
||||||
<p class="text-muted">
|
|
||||||
{{ $oldestPosition.start }} - {{ if $mostRecentPosition.end }}{{ $mostRecentPosition.end }}{{ else }}{{ i18n "present" }}{{ end }},
|
|
||||||
{{ .company.location }}
|
|
||||||
</p>
|
|
||||||
<!-- Add company overview -->
|
|
||||||
<p>{{ .company.overview | markdownify }}</p>
|
|
||||||
</div>
|
|
||||||
<!-- Add the positions information -->
|
|
||||||
<div class="positions">
|
|
||||||
{{ range $index,$position:= .positions }}
|
|
||||||
<h6 class="designation">{{ $position.designation }}</h6>
|
|
||||||
<p class="text-muted">{{ $position.start }} - {{if $position.end }} {{ $position.end }} {{else}} {{ i18n "present" }} {{end}}</p>
|
|
||||||
<!-- Add the responsibilities handled at this position -->
|
|
||||||
<ul class="justify-content-around">
|
|
||||||
{{ range $position.responsibilities }}
|
|
||||||
<li>{{ . | markdownify }}</li>
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
<div class="col-10 col-lg-8">
|
||||||
|
<div class="experience-entry-heading">
|
||||||
|
{{ $logoImage:= resources.Get .company.logo}}
|
||||||
|
{{ $darkLogoImage:= resources.Get .company.darkLogo}}
|
||||||
|
{{ if $logoImage }}
|
||||||
|
<div class="logo-holder">
|
||||||
|
<img class="company-logo light-logo" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||||
|
{{ if $darkLogoImage }}
|
||||||
|
<img class="company-logo dark-logo" src="{{ $darkLogoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
<!-- Total experience duration on a company is time between the starting date of the oldest position and ending date of most recent position -->
|
||||||
|
{{ $oldestPosition := index (last 1 .positions) 0}}
|
||||||
|
{{ $mostRecentPosition := index (first 1 .positions) 0}}
|
||||||
|
<div class="company-heading">
|
||||||
|
<h5>{{ if .company.url }}<a href={{.company.url}} title="{{ .company.name }}" target="_blank" rel="noopener">{{ .company.name }}</a>{{ else }}{{ .company.name }}{{ end }}</h5>
|
||||||
|
<p class="text-muted">
|
||||||
|
{{ $oldestPosition.start }} - {{ if $mostRecentPosition.end }}{{ $mostRecentPosition.end }}{{ else }}{{ i18n "present" }}{{ end }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<p class="text-muted">
|
||||||
|
<i class="fa-solid fa-location-dot"></i> {{ .company.location }}
|
||||||
|
</p>
|
||||||
|
<!-- Add company overview -->
|
||||||
|
<p>{{ .company.overview | markdownify }}</p>
|
||||||
|
</div>
|
||||||
|
<!-- Add the positions information -->
|
||||||
|
<div class="positions">
|
||||||
|
{{ range $index,$position:= .positions }}
|
||||||
|
<div class="company-heading">
|
||||||
|
<h5 class="designation">{{ $position.designation }}</h5>
|
||||||
|
<p class="text-muted">{{ $position.start }} - {{if $position.end }} {{ $position.end }} {{else}} {{ i18n "present" }} {{end}}</p>
|
||||||
|
</div>
|
||||||
|
<!-- Add the responsibilities handled at this position -->
|
||||||
|
{{ if $position.responsibilities }}
|
||||||
|
<h6 class="text-heading">{{ i18n "responsibilities" }}</h6>
|
||||||
|
<ul class="justify-content-around">
|
||||||
|
{{ range $position.responsibilities }}
|
||||||
|
<li>{{ . | markdownify }}</li>
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
<div class="col-10 col-lg-8">
|
|
||||||
<div class="experience-entry-heading">
|
|
||||||
{{ $position:= index .positions 0 }}
|
|
||||||
<!-- For single position, give emphasis on the designation-->
|
|
||||||
<h5>{{ $position.designation }}</h5>
|
|
||||||
<h6>{{ if .company.url }}<a href={{.company.url}} title="{{ .company.name }}" target="_blank" rel="noopener">{{ .company.name }}</a>{{ else }}{{ .company.name }}{{ end }}</h6>
|
|
||||||
<!-- Add experience duration info -->
|
|
||||||
<p class="text-muted">{{ $position.start }} - {{ if $position.end }}{{ $position.end }}{{ else }}{{ i18n "present" }}{{ end }},
|
|
||||||
{{ .company.location }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<!-- Add company overview -->
|
|
||||||
<p>{{ .company.overview | markdownify }}</p>
|
|
||||||
<!-- Add the responsibilities handled at this position -->
|
|
||||||
{{ if $position.responsibilities }}
|
|
||||||
<h6 class="text-heading">{{ i18n "responsibilities" }}</h6>
|
|
||||||
<ul class="justify-content-around">
|
|
||||||
{{ range $position.responsibilities }}
|
|
||||||
<li>{{ . | markdownify }}</li>
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
+27
-20
@@ -1,24 +1,14 @@
|
|||||||
# theme.toml template for a Hugo theme
|
name = "Toha"
|
||||||
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
|
|
||||||
description = "A simple hugo theme for personal portfolio"
|
|
||||||
homepage = "https://hugo-toha.github.io/"
|
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
licenselink = "https://github.com/hugo-toha/toha/blob/master/LICENSE"
|
licenselink = "https://github.com/hugo-toha/toha/blob/master/LICENSE"
|
||||||
min_version = "0.118.0"
|
description = "A simple hugo theme for personal portfolio"
|
||||||
name = "Toha"
|
|
||||||
|
# The home page of the theme, where the source can be found.
|
||||||
|
homepage = "https://github.com/hugo-toha/toha"
|
||||||
|
|
||||||
|
# If you have a running demo of the theme.
|
||||||
|
demosite = "https://hugo-toha.github.io/"
|
||||||
|
|
||||||
features = [
|
|
||||||
"Minimalist Design",
|
|
||||||
"Fully Responsive",
|
|
||||||
"Multiple Language Support",
|
|
||||||
"Carefully Designed Cards",
|
|
||||||
"Experience Timeline",
|
|
||||||
"Achievement Gallery",
|
|
||||||
"Sidebar to Categorize the Posts",
|
|
||||||
"Short Codes",
|
|
||||||
"Google Analytics Support",
|
|
||||||
"Disqus Comment Support",
|
|
||||||
]
|
|
||||||
tags = [
|
tags = [
|
||||||
"Portfolio",
|
"Portfolio",
|
||||||
"Blog",
|
"Blog",
|
||||||
@@ -34,7 +24,24 @@ tags = [
|
|||||||
"Bootstrap",
|
"Bootstrap",
|
||||||
"Syntax highlighting",
|
"Syntax highlighting",
|
||||||
]
|
]
|
||||||
|
features = [
|
||||||
|
"Minimalist Design",
|
||||||
|
"Fully Responsive",
|
||||||
|
"Multiple Language Support",
|
||||||
|
"Carefully Designed Cards",
|
||||||
|
"Experience Timeline",
|
||||||
|
"Achievement Gallery",
|
||||||
|
"Sidebar to Categorize the Posts",
|
||||||
|
"Short Codes",
|
||||||
|
"Google Analytics Support",
|
||||||
|
"Disqus Comment Support",
|
||||||
|
]
|
||||||
|
|
||||||
[author]
|
[author]
|
||||||
homepage = "https://hossainemruz.github.io"
|
homepage = "https://hossainemruz.github.io"
|
||||||
name = "Emruz Hossain"
|
name = "Emruz Hossain"
|
||||||
|
|
||||||
|
[module]
|
||||||
|
[module.hugoVersion]
|
||||||
|
extended = true
|
||||||
|
min = "0.118.0"
|
||||||
Reference in New Issue
Block a user