├── layouts ├── _default │ ├── list.html │ ├── single.html │ └── baseof.html ├── content │ └── _redirects ├── partials │ ├── _avatar.html │ ├── _profile.html │ ├── _contacts.html │ ├── _diplomas.html │ ├── _interests.html │ ├── _languages.html │ ├── _skills.html │ ├── _education.html │ ├── _references.html │ ├── head.html │ └── _experience.html ├── 404.html └── index.html ├── assets └── scss │ ├── _custom.scss │ ├── _functions.scss │ ├── components │ ├── _education.scss │ ├── _404.scss │ ├── _interests.scss │ ├── _languages.scss │ ├── _avatar.scss │ ├── _section.scss │ ├── _contact.scss │ ├── _skills.scss │ ├── _side_section.scss │ ├── _references.scss │ └── _experience.scss │ ├── _abstract.scss │ ├── _typography.scss │ ├── _mixins.scss │ ├── _base.scss │ ├── _layout.scss │ └── main.scss ├── exampleSite ├── .gitignore ├── static │ └── img │ │ └── avatar.jpg ├── config.toml └── data │ ├── de │ └── content.yaml │ └── content.yaml ├── images ├── tn.png ├── screenshot.png ├── screenshot-full.png └── screenshot-funny-colors.png ├── static └── img │ └── avatar.jpg ├── .gitignore ├── i18n ├── eo.toml ├── en.toml ├── de.toml ├── es.toml ├── fr.toml └── pl.toml ├── theme.toml ├── LICENSE └── README.md /layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/scss/_custom.scss: -------------------------------------------------------------------------------- 1 | // override me 2 | -------------------------------------------------------------------------------- /layouts/content/_redirects: -------------------------------------------------------------------------------- 1 | /* /404.html 404 -------------------------------------------------------------------------------- /exampleSite/.gitignore: -------------------------------------------------------------------------------- 1 | public/ 2 | resources/ 3 | -------------------------------------------------------------------------------- /images/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ineesalmeida/almeida-cv/HEAD/images/tn.png -------------------------------------------------------------------------------- /assets/scss/_functions.scss: -------------------------------------------------------------------------------- 1 | @function paper_height($width) { 2 | @return $width / 0.70695553; 3 | } -------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ineesalmeida/almeida-cv/HEAD/images/screenshot.png -------------------------------------------------------------------------------- /static/img/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ineesalmeida/almeida-cv/HEAD/static/img/avatar.jpg -------------------------------------------------------------------------------- /images/screenshot-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ineesalmeida/almeida-cv/HEAD/images/screenshot-full.png -------------------------------------------------------------------------------- /assets/scss/components/_education.scss: -------------------------------------------------------------------------------- 1 | .education { 2 | &__item { 3 | @include avoid-break; 4 | } 5 | } -------------------------------------------------------------------------------- /exampleSite/static/img/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ineesalmeida/almeida-cv/HEAD/exampleSite/static/img/avatar.jpg -------------------------------------------------------------------------------- /images/screenshot-funny-colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ineesalmeida/almeida-cv/HEAD/images/screenshot-funny-colors.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # OS 2 | .DS_Store 3 | ._* 4 | 5 | # IDE 6 | .idea/ 7 | .vscode/ 8 | .settings/ 9 | *.subliime-workspace 10 | *.sublime-project 11 | -------------------------------------------------------------------------------- /assets/scss/components/_404.scss: -------------------------------------------------------------------------------- 1 | .pageNotFound { 2 | padding-top: 8rem; 3 | @include hz-center; 4 | 5 | &__text { 6 | padding-top: 3rem; 7 | } 8 | } -------------------------------------------------------------------------------- /assets/scss/_abstract.scss: -------------------------------------------------------------------------------- 1 | // WIDTHS 2 | $width-left-col: 56rem; // 70% 3 | $page-width: 80rem; 4 | $width-right-col: $page-width - $width-left-col; 5 | 6 | // ANIMATIONS 7 | $cubic: 0.63, 0.21, 0.76, 1.58; 8 | -------------------------------------------------------------------------------- /layouts/partials/_avatar.html: -------------------------------------------------------------------------------- 1 | {{ if .BasicInfo.Photo }} 2 |
3 |
4 | photo of me 5 |
6 |
7 | {{ end }} -------------------------------------------------------------------------------- /assets/scss/components/_interests.scss: -------------------------------------------------------------------------------- 1 | .interests { 2 | display: block; 3 | -moz-column-count: 2; 4 | column-count: 2; 5 | width: 100%; 6 | text-align: right; 7 | @include avoid-break; 8 | 9 | &__item:nth-child(n+4) { 10 | text-align: left; 11 | } 12 | } -------------------------------------------------------------------------------- /assets/scss/components/_languages.scss: -------------------------------------------------------------------------------- 1 | .language { 2 | &__item { 3 | display: table; 4 | width: 100%; 5 | } 6 | 7 | &__name, 8 | &__level { 9 | display: table-cell; 10 | width: 50%; 11 | } 12 | &__level { 13 | text-align: right; 14 | } 15 | } -------------------------------------------------------------------------------- /layouts/_default/baseof.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{- partial "head.html" . -}} 4 | 5 | {{- partial "header.html" . -}} 6 |
7 | {{- block "main" . }}{{- end }} 8 |
9 | {{- partial "footer.html" . -}} 10 | 11 | 12 | -------------------------------------------------------------------------------- /layouts/partials/_profile.html: -------------------------------------------------------------------------------- 1 | {{ if .Profile }} 2 |
3 |
4 |

{{ i18n "profile" }}

5 |
6 |
7 |

{{ .Profile | safeHTML | emojify }}

8 |
9 |
10 | {{ end }} 11 | -------------------------------------------------------------------------------- /layouts/partials/_contacts.html: -------------------------------------------------------------------------------- 1 | {{ if .BasicInfo.Contacts }} 2 |
3 | 10 |
11 | {{ end }} 12 | -------------------------------------------------------------------------------- /i18n/eo.toml: -------------------------------------------------------------------------------- 1 | [profile] 2 | other = "Resumo" 3 | 4 | [experience] 5 | other = "Sperteco" 6 | 7 | [education] 8 | other = "Edukiteco" 9 | 10 | [references] 11 | other = "Referencoj" 12 | 13 | [skills] 14 | other = "Lertoj" 15 | 16 | [languages] 17 | other = "Lingvoj" 18 | 19 | [diplomas] 20 | other = "Diplomoj" 21 | 22 | [interests] 23 | other = "Hobioj" 24 | -------------------------------------------------------------------------------- /i18n/en.toml: -------------------------------------------------------------------------------- 1 | [profile] 2 | other = "Profile" 3 | 4 | [experience] 5 | other = "Experience" 6 | 7 | [education] 8 | other = "Education" 9 | 10 | [references] 11 | other = "References" 12 | 13 | [skills] 14 | other = "Skills" 15 | 16 | [languages] 17 | other = "Languages" 18 | 19 | [diplomas] 20 | other = "Diplomas" 21 | 22 | [interests] 23 | other = "Interests" 24 | -------------------------------------------------------------------------------- /i18n/de.toml: -------------------------------------------------------------------------------- 1 | [profile] 2 | other = "Profil" 3 | 4 | [experience] 5 | other = "Erfahrung" 6 | 7 | [education] 8 | other = "Bildung" 9 | 10 | [references] 11 | other = "Referenzen" 12 | 13 | [skills] 14 | other = "Skills" 15 | 16 | [languages] 17 | other = "Sprachen" 18 | 19 | [diplomas] 20 | other = "Zertifizierungen" 21 | 22 | [interests] 23 | other = "Interessen" 24 | -------------------------------------------------------------------------------- /i18n/es.toml: -------------------------------------------------------------------------------- 1 | [profile] 2 | other = "Perfil" 3 | 4 | [experience] 5 | other = "Experiencia" 6 | 7 | [education] 8 | other = "Educación" 9 | 10 | [references] 11 | other = "Referencias" 12 | 13 | [skills] 14 | other = "Habilidades" 15 | 16 | [languages] 17 | other = "Idiomas" 18 | 19 | [diplomas] 20 | other = "Certificaciones" 21 | 22 | [interests] 23 | other = "Intereses" 24 | -------------------------------------------------------------------------------- /i18n/fr.toml: -------------------------------------------------------------------------------- 1 | [profile] 2 | other = "Profil" 3 | 4 | [experience] 5 | other = "Experiences" 6 | 7 | [education] 8 | other = "Formation" 9 | 10 | [references] 11 | other = "References" 12 | 13 | [skills] 14 | other = "Compétences" 15 | 16 | [languages] 17 | other = "Langues" 18 | 19 | [diplomas] 20 | other = "Diplômes" 21 | 22 | [interests] 23 | other = "Centres d'intérêts" 24 | -------------------------------------------------------------------------------- /i18n/pl.toml: -------------------------------------------------------------------------------- 1 | [profile] 2 | other = "Profil" 3 | 4 | [experience] 5 | other = "Doświadczenie" 6 | 7 | [education] 8 | other = "Wykształcenie" 9 | 10 | [references] 11 | other = "Referencje" 12 | 13 | [skills] 14 | other = "Umiejętności" 15 | 16 | [languages] 17 | other = "Języki" 18 | 19 | [diplomas] 20 | other = "Dyplomy" 21 | 22 | [interests] 23 | other = "Zainteresowania" 24 | -------------------------------------------------------------------------------- /layouts/partials/_diplomas.html: -------------------------------------------------------------------------------- 1 | {{ if .Diplomas }} 2 |
3 |
4 |

{{ i18n "diplomas" }}

5 |
6 |
7 | 12 |
13 |
14 | {{ end }} 15 | -------------------------------------------------------------------------------- /layouts/partials/_interests.html: -------------------------------------------------------------------------------- 1 | {{ if .Interests }} 2 |
3 |
4 |

{{ i18n "interests" }}

5 |
6 |
7 | 12 |
13 |
14 | {{ end }} 15 | -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ partial "head.html" . }} 4 | 5 |
6 |
7 |

Page not found :(

8 |

9 | You're an explorer, aren't ya?
10 | But the page you are attempting to access cannot be found.
11 | Go back to the main page 12 |

13 |
14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /assets/scss/_typography.scss: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Roboto', sans-serif; 3 | font-weight: 300; 4 | line-height: 1.7; 5 | font-size: 1.12rem; 6 | color: $color-dark; 7 | } 8 | 9 | .mainHeading { 10 | text-transform: uppercase; 11 | font-size: 5rem; 12 | color: $color-secondary; 13 | 14 | & span { 15 | color: $color-primary; 16 | } 17 | } 18 | 19 | .section__title { 20 | font-size: 2.1rem; 21 | color: $color-dark; 22 | } 23 | 24 | h1, 25 | h2 { 26 | text-transform: uppercase; 27 | font-family: 'Oswald', sans-serif; 28 | } 29 | -------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | # theme.toml template for a Hugo theme 2 | # See https://github.com/gohugoio/hugoThemes#themetoml for an example 3 | 4 | name = "Almeida CV" 5 | license = "MIT" 6 | licenselink = "https://github.com/ineesalmeida/almeida-cv/master/LICENSE" 7 | description = "Theme to build a customizeable printable CV with minor web responsiveness." 8 | homepage = "https://github.com/ineesalmeida/almeida-cv" 9 | tags = ["cv", "resume", "minimal", "simple"] 10 | features = ["simple", "cv", "printable"] 11 | min_version = "0.41.0" 12 | 13 | [author] 14 | name = "Inês Almeida" 15 | homepage = "ines-almeida.com" 16 | -------------------------------------------------------------------------------- /layouts/partials/_languages.html: -------------------------------------------------------------------------------- 1 | {{ if .Languages }} 2 |
3 |
4 |

{{ i18n "languages" }}

5 |
6 |
7 | 15 |
16 |
17 | {{ end }} 18 | -------------------------------------------------------------------------------- /layouts/partials/_skills.html: -------------------------------------------------------------------------------- 1 | {{ if .Skills }} 2 |
3 |
4 |

{{ i18n "skills" }}

5 |
6 |
7 | 20 |
21 |
22 | {{ end }} 23 | -------------------------------------------------------------------------------- /assets/scss/components/_avatar.scss: -------------------------------------------------------------------------------- 1 | .avatar { 2 | width: 100%; 3 | height: $width-right-col - 6rem; 4 | position: relative; 5 | overflow: hidden; 6 | 7 | &__container { 8 | @include hz-center; 9 | width: 100%; 10 | clip-path: circle(50% at 50% 56%); 11 | height: $width-right-col - 8rem; 12 | text-align: center; 13 | transition: all 0.3s cubic-bezier($cubic); 14 | 15 | &:hover { 16 | width: 110%; 17 | } 18 | } 19 | 20 | &__img { 21 | object-fit: cover; 22 | width: 110%; 23 | transition: all 0.3s cubic-bezier($cubic); 24 | @include all-center; 25 | 26 | &:hover { 27 | width: 105%; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /layouts/partials/_education.html: -------------------------------------------------------------------------------- 1 | {{ if .Education }} 2 |
3 |
4 |

5 | {{ i18n "education" }} 6 |

7 |
8 |
9 | {{ range .Education }} 10 |
11 |

{{ .Course | safeHTML }}

12 |

{{ .Place | safeHTML }}

13 |

{{ .Date | safeHTML }}

14 |
{{ .Details | safeHTML }}
15 |
16 | {{ end }} 17 |
18 |
19 | {{ end }} 20 | -------------------------------------------------------------------------------- /assets/scss/components/_section.scss: -------------------------------------------------------------------------------- 1 | .section { 2 | display: block; 3 | margin-bottom: 2rem; 4 | 5 | &__heading { 6 | width: 100%; 7 | overflow: hidden; 8 | } 9 | 10 | &__title { 11 | position: relative; 12 | 13 | &::after { 14 | content: ''; 15 | position: absolute; 16 | border-top: 1px solid; 17 | border-bottom: 1px solid; 18 | border-color: $color-secondary; 19 | width: 50rem; 20 | height: 4px; 21 | margin-left: 1.5rem; 22 | margin-top: 1.5rem; 23 | transition: all 0.5s ease-in-out; 24 | } 25 | 26 | &:hover::after { 27 | border-color: $color-primary; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /assets/scss/components/_contact.scss: -------------------------------------------------------------------------------- 1 | .contact { 2 | line-height: 2rem; 3 | 4 | &__item { 5 | position: relative; 6 | font-size: 1rem; 7 | 8 | & > i { 9 | background-color: $color-right-col-icon-background; 10 | color: $color-right-col-icon-primary; 11 | font-size: 1rem; 12 | text-align: center; 13 | border-radius: 50%; 14 | padding-top: 0.5rem; 15 | width: 2rem; 16 | height: 2rem; 17 | margin-right: 0.5rem; 18 | margin-bottom: 0.5rem; 19 | } 20 | & > span { 21 | @include vt-center; 22 | } 23 | } 24 | 25 | &__link { 26 | text-decoration: none; 27 | color: $color-dark; 28 | } 29 | } -------------------------------------------------------------------------------- /assets/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | @mixin shadow($distance) { 2 | -webkit-box-shadow: $distance * 1rem $distance * 2rem $distance * 3rem rgba($color-dark, $distance * 0.3); 3 | -moz-box-shadow: $distance * 1rem $distance * 2rem $distance * 3rem rgba($color-dark, $distance * 0.3); 4 | box-shadow: $distance * 1rem $distance * 2rem $distance * 3rem rgba($color-dark, $distance * 0.3); 5 | } 6 | 7 | @mixin hz-center { 8 | position: absolute; 9 | left: 50%; 10 | transform: translateX(-50%); 11 | } 12 | 13 | @mixin vt-center { 14 | position: absolute; 15 | top: 50%; 16 | transform: translateY(-50%); 17 | } 18 | 19 | @mixin all-center { 20 | position: absolute; 21 | top: 50%; 22 | left: 50%; 23 | transform: translateX(-50%) translateY(-50%); 24 | } 25 | 26 | @mixin avoid-break { 27 | @media print { 28 | page-break-inside: avoid; 29 | } 30 | } -------------------------------------------------------------------------------- /exampleSite/config.toml: -------------------------------------------------------------------------------- 1 | languageCode = "en-us" 2 | defaultContentLanguage = "en" 3 | enableRobotsTXT = true 4 | enableEmoji = true 5 | 6 | theme = "almeida-cv" 7 | disableKinds = ["page", "section", "taxonomy", "term", "RSS", "sitemap"] 8 | 9 | baseURL = "https://example.com/" 10 | title = "Example - CV" 11 | #googleAnalytics = "" 12 | 13 | [params] 14 | enableMetaTags = true 15 | colorLight = "#fff" 16 | colorDark = "#666" 17 | colorPageBackground = "#ddd" 18 | colorPrimary = "#e3bfb8" 19 | colorSecondary = "#aaa" 20 | colorIconPrimary = "#fff" 21 | colorIconBackground = "#e3bfb8" 22 | colorRightColumnBackground = "#f5f5f5" 23 | colorRightColumnHeadingText = "#666" 24 | colorRightColumnBodyText = "#666" 25 | colorRightColumnIconPrimary = "#fff" 26 | colorRightColumnIconBackground = "#e3bfb8" 27 | pages = 1 28 | # Set this param to 'true' to swap the bar positions 29 | swapColumns = false 30 | footerNote = "2020 © by Inês Almeida | ines-almeida.com" 31 | -------------------------------------------------------------------------------- /assets/scss/components/_skills.scss: -------------------------------------------------------------------------------- 1 | .skills { 2 | &__group { 3 | margin-bottom: 0.8rem; 4 | 5 | & span { 6 | font-weight: 700; 7 | display: inline-block; 8 | 9 | &::after{ 10 | content: ":" 11 | } 12 | 13 | &:hover ~ li { 14 | background-color: $color-primary; 15 | color: $color-light; 16 | } 17 | 18 | } 19 | 20 | & li{ 21 | display: inline-block; 22 | font-size: 105%; 23 | font-weight: 400; 24 | transition: all 0.2s ease-in-out; 25 | padding: 0 1px; 26 | border-radius: 2px; 27 | 28 | &:not(:last-child)::after{ 29 | content: ", " 30 | } 31 | 32 | &:hover { 33 | background-color: $color-primary; 34 | color: $color-light; 35 | } 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /assets/scss/components/_side_section.scss: -------------------------------------------------------------------------------- 1 | .sideSection { 2 | display: block; 3 | margin-bottom: 3rem; 4 | @include avoid-break; 5 | 6 | &__heading { 7 | width: 100%; 8 | overflow: hidden; 9 | text-align: center; 10 | margin-bottom: 1rem; 11 | color: $color-right-col-heading-text; 12 | } 13 | 14 | &__title { 15 | position: relative; 16 | 17 | &::after, 18 | &::before { 19 | content: ''; 20 | position: absolute; 21 | border-top: 1px solid $color-right-col-heading-text; 22 | border-bottom: 1px solid $color-right-col-heading-text; 23 | width: 10rem; 24 | height: 4px; 25 | margin-top: 1.1rem; 26 | } 27 | 28 | &::after { 29 | margin-left: 1rem; 30 | } 31 | 32 | &::before { 33 | margin-left: -11rem; 34 | } 35 | } 36 | 37 | & li { 38 | list-style: none; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /assets/scss/_base.scss: -------------------------------------------------------------------------------- 1 | *, 2 | *::after, 3 | *::before { 4 | margin: 0; 5 | padding: 0; 6 | box-sizing: inherit; 7 | } 8 | 9 | html { 10 | font-size: 62.5%; 11 | background-color: $color-page-background; 12 | 13 | @media print { 14 | background-color: $color-light; 15 | } 16 | } 17 | 18 | .content { 19 | // A4 paper 20 | width: $page-width; 21 | min-height: paper_height($page-width); 22 | background-color: $color-light; 23 | 24 | @media screen and (min-width: 60rem) { 25 | margin: 6rem 0; 26 | @include shadow(1); 27 | @include hz-center; 28 | } 29 | @media print { 30 | margin: 0; 31 | height: paper_height($page-width) * $pages; 32 | } 33 | } 34 | 35 | body { 36 | box-sizing: border-box; 37 | margin: 0px; 38 | } 39 | 40 | @media print { 41 | @page { 42 | margin: 0; 43 | size: A4; 44 | } 45 | } 46 | 47 | ::selection { 48 | color: $color-light; 49 | background-color: darken(rgba($color-primary, 0.6), 10%); 50 | } 51 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 Inês Almeida 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /assets/scss/_layout.scss: -------------------------------------------------------------------------------- 1 | .content { 2 | position: absolute; 3 | overflow: hidden; 4 | 5 | &__left { 6 | float: left; 7 | width: $width-left-col; 8 | height: 100%; 9 | padding: 3rem 4rem; 10 | 11 | @media screen { 12 | &::after { 13 | content: $footer-note; 14 | height: 4rem; 15 | width: 100%; 16 | position: absolute; 17 | bottom: 0.5rem; 18 | color: darken($color-light, 10%); 19 | } 20 | } 21 | } 22 | 23 | &__right { 24 | position: absolute; 25 | float: right; 26 | width: $width-right-col; 27 | background-color: $color-right-col-background; 28 | color: $color-right-col-body-text; 29 | height: 100%; 30 | padding: 2rem 3rem; 31 | right: 1rem; 32 | 33 | @include shadow(0.5); 34 | } 35 | 36 | &__swapped { 37 | &__left { 38 | float: right; 39 | } 40 | 41 | &__right { 42 | float: left; 43 | left: 1rem; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /layouts/partials/_references.html: -------------------------------------------------------------------------------- 1 | {{ if .References }} 2 |
3 |
4 |

{{ i18n "references" }}

5 |
6 |
7 |
8 | {{ range .References }} 9 |
10 |
11 |
12 |

13 | {{ .Name | safeHTML}} 14 |

15 |
16 |
17 |

18 | {{ .Relation | safeHTML}} 19 |

20 |
21 | {{ range .Contacts }} 22 |
  • 23 | {{ .Info | safeHTML }} 24 |
  • 25 | {{ end }} 26 |
    27 |
    28 | {{ end }} 29 |
    30 |
    31 |
    32 | {{ end }} 33 | -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | {{ $data := or (index .Site.Data .Site.Language.Lang).content .Site.Data.content }} 2 | {{ .Scratch.Set "data" $data }} 3 | 4 | 5 | {{ partial "head.html" . }} 6 | 7 |
    8 | {{ if .Site.Params.swapColumns }} 9 |
    10 | {{ else }} 11 |
    12 | {{ end }} 13 |

    {{ $data.BasicInfo.FirstName }} {{ $data.BasicInfo.LastName }}

    14 | {{ partial "_profile.html" $data }} 15 | {{ partial "_experience.html" $data }} 16 | {{ partial "_education.html" $data }} 17 | {{ partial "_references.html" $data }} 18 |
    19 | {{ if .Site.Params.swapColumns }} 20 |
    21 | {{ else }} 22 |
    23 | {{ end }} 24 | {{ partial "_avatar.html" $data }} 25 | {{ partial "_contacts.html" $data }} 26 | {{ partial "_skills.html" $data }} 27 | {{ partial "_languages.html" $data }} 28 | {{ partial "_diplomas.html" $data }} 29 | {{ partial "_interests.html" $data }} 30 |
    31 |
    32 | 33 | 34 | -------------------------------------------------------------------------------- /assets/scss/components/_references.scss: -------------------------------------------------------------------------------- 1 | .references { 2 | &__item { 3 | display: inline-block; 4 | min-width: 49%; 5 | @include avoid-break; 6 | &:not(:first-child) { 7 | padding-top: 1.5rem; 8 | } 9 | } 10 | 11 | &__header, 12 | &__subheader { 13 | display: block; 14 | width: 100%; 15 | } 16 | 17 | &__subheader { 18 | margin-bottom: 0.5rem; 19 | } 20 | 21 | &__person { 22 | position: relative; 23 | transition: transform 0.2s cubic-bezier($cubic); 24 | 25 | &:hover { 26 | transform: translateX(0.5rem); 27 | } 28 | } 29 | 30 | &__name, 31 | &__relation { 32 | text-align: left; 33 | width: 100%; 34 | color: $color-dark; 35 | } 36 | 37 | &__contact { 38 | position: relative; 39 | font-size: 1rem; 40 | 41 | & > i { 42 | background-color: $color-icon-background; 43 | color: $color-icon-primary; 44 | font-size: 1rem; 45 | text-align: center; 46 | border-radius: 50%; 47 | padding-top: 0.5rem; 48 | width: 2rem; 49 | height: 2rem; 50 | margin-right: 0.5rem; 51 | margin-bottom: 0.5rem; 52 | } 53 | & > span { 54 | @include vt-center; 55 | min-height: 1.5rem; 56 | line-height: 1.2rem; 57 | } 58 | } 59 | 60 | & li { 61 | list-style: none; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /layouts/partials/head.html: -------------------------------------------------------------------------------- 1 | {{ $style := resources.Get "scss/main.scss" | resources.ExecuteAsTemplate "style.main.scss" . | toCSS | minify | fingerprint }} 2 | {{ $data := .Scratch.Get "data" }} 3 | 4 | 5 | 6 | {{ .Site.Title }} 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | {{ if .Site.Params.enableMetaTags }} 16 | 17 | 18 | 19 | {{ with $data.BasicInfo.Photo }} 20 | 21 | {{ end }} 22 | {{ with $data.Profile | htmlUnescape | emojify | truncate 200 }} 23 | 24 | 25 | {{ end }} 26 | {{ end }} 27 | 28 | {{ if .Site.Config.Services.GoogleAnalytics.ID }} 29 | {{ template "_internal/google_analytics.html" . }} 30 | {{ end }} 31 | 32 | -------------------------------------------------------------------------------- /assets/scss/main.scss: -------------------------------------------------------------------------------- 1 | $color-light: {{ .Site.Params.colorLight | default "#fff"}} !default; 2 | $color-dark: {{ .Site.Params.colorDark | default "#666"}} !default; 3 | $color-page-background: {{ .Site.Params.colorPageBackground | default "#ddd" }} !default; 4 | 5 | $color-primary: {{ .Site.Params.colorPrimary | default "#e3bfb8"}} !default; 6 | 7 | $color-secondary: {{ .Site.Params.colorSecondary | default "#aaa"}} !default; 8 | 9 | $color-icon-primary: {{ .Site.Params.colorIconPrimary | default "#fff"}} !default; 10 | $color-icon-background: {{ .Site.Params.colorIconBackground | default "#e3bfb8"}} !default; 11 | 12 | $color-right-col-background: {{ .Site.Params.colorRightColumnBackground | default "#f5f5f5" }} !default; 13 | $color-right-col-heading-text: {{ .Site.Params.colorRightColumnHeadingText | default "#666" }} !default; 14 | $color-right-col-body-text: {{ .Site.Params.colorRightColumnBodyText | default "#666" }} !default; 15 | $color-right-col-icon-primary: {{ .Site.Params.colorRightColumnIconPrimary | default "#fff" }} !default; 16 | $color-right-col-icon-background: {{ .Site.Params.colorRightColumnIconBackground | default "#e3bfb8" }} !default; 17 | $footer-note: '{{ .Site.Params.footerNote| default "2020 © by Inês Almeida | ines-almeida.com " }}' !default; 18 | 19 | $pages: {{ .Site.Params.pages | default 1}} !default; 20 | 21 | @import "abstract"; 22 | @import "functions"; 23 | @import "mixins"; 24 | @import "layout"; 25 | @import "base"; 26 | @import "typography"; 27 | 28 | @import "components/section"; 29 | @import "components/side_section"; 30 | @import "components/experience"; 31 | @import "components/education"; 32 | @import "components/references"; 33 | @import "components/contact"; 34 | @import "components/avatar"; 35 | @import "components/skills"; 36 | @import "components/languages"; 37 | @import "components/interests"; 38 | @import "components/404"; 39 | 40 | @import "custom"; 41 | -------------------------------------------------------------------------------- /layouts/partials/_experience.html: -------------------------------------------------------------------------------- 1 | {{ if .Experience }} 2 |
    3 |
    4 |

    {{ i18n "experience" }}

    5 |
    6 |
    7 |
    8 | {{ range .Experience }} 9 | {{ if .Class }} 10 |
    11 | {{ else }} 12 |
    13 | {{ end }} 14 |
    15 |

    16 | {{ .Employer | safeHTML }} 17 |

    18 |

    {{ .Place | safeHTML }}

    19 |
    20 | {{ range .Positions }} 21 |
    22 |
    23 |

    24 | {{ .Title | safeHTML}} 25 |

    26 |

    {{ .Date | safeHTML }}

    27 |
    28 |
      29 | {{ range .Details }} 30 |
    • {{ . | safeHTML }}
    • 31 | {{ end }} 32 |
    33 |
    34 |
      35 | {{ range .Badges }} 36 |
    • {{ . }}
    • 37 | {{ end }} 38 |
    39 |
    40 |
    41 | {{ end }} 42 |
    43 | {{ end }} 44 |
    45 |
    46 |
    47 | {{ end }} 48 | -------------------------------------------------------------------------------- /assets/scss/components/_experience.scss: -------------------------------------------------------------------------------- 1 | .experience { 2 | &__extra_padding { 3 | padding-top: 4rem !important; 4 | } 5 | 6 | &__item { 7 | display: block; 8 | position: relative; 9 | @include avoid-break; 10 | &:not(:first-child) { 11 | padding-top: 1.5rem; 12 | } 13 | margin-bottom: 10px; 14 | margin-top: 10px; 15 | 16 | &::before { 17 | content: ""; 18 | height: 90%; 19 | width: 1.5px; 20 | position: absolute; 21 | background: linear-gradient($color-page-background, rgba(255, 255, 255, 0)); 22 | //background: linear-gradient(blue, red); 23 | margin-top: 25px; 24 | } 25 | } 26 | 27 | &__header, 28 | &__subheader { 29 | display: flex; 30 | width: 100%; 31 | height: 2.4rem; 32 | } 33 | 34 | &__job { 35 | position: relative; 36 | transition: transform 0.2s cubic-bezier($cubic); 37 | margin-bottom: 2rem; 38 | 39 | &:hover { 40 | transform: translateX(0.5rem); 41 | } 42 | } 43 | 44 | &__company, 45 | &__position { 46 | text-align: left; 47 | width: 70%; 48 | float: left; 49 | } 50 | 51 | &__company { 52 | color: $color-dark; 53 | } 54 | 55 | &__position { 56 | text-transform: uppercase; 57 | font-size: 1.3rem; 58 | color: $color-dark; 59 | margin-left: 1rem; 60 | } 61 | 62 | &__date, 63 | &__place { 64 | float: right; 65 | text-align: right; 66 | width: 30%; 67 | color: $color-secondary; 68 | } 69 | 70 | &__date { 71 | font-weight: 400; 72 | } 73 | 74 | &__place { 75 | &::before { 76 | font-family: 'Material Icons'; 77 | color: $color-icon-background; 78 | font-size: 1.4rem; 79 | content: 'place'; 80 | display: inline-block; 81 | padding-right: 3px; 82 | vertical-align: middle; 83 | font-weight: 900; 84 | } 85 | } 86 | 87 | &__bullet { 88 | list-style: square inside; 89 | margin-left: 1rem; 90 | } 91 | 92 | &__badges { 93 | display: block; 94 | text-align: right; 95 | margin-top: 0.5rem; 96 | margin-bottom: 0.5rem; 97 | } 98 | 99 | &__badge { 100 | font-size: 0.9rem; 101 | font-weight: 400; 102 | display: inline-block; 103 | background-color: $color-icon-background; 104 | color: $color-icon-primary; 105 | border-radius: 1rem; 106 | padding: 0.1rem 0.6rem; 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /exampleSite/data/de/content.yaml: -------------------------------------------------------------------------------- 1 | BasicInfo: 2 | FirstName: Inês 3 | LastName: Almeida 4 | Photo: img/avatar.jpg 5 | Contacts: 6 | - Icon: fas fa-phone 7 | Info: +44 123 456 789 8 | - Icon: fas fa-envelope 9 | Info: contact@ines-almeida.com 10 | - Icon: fas fa-globe 11 | Info: ines-almeida.com 12 | - Icon: fas fa-map-marker-alt 13 | Info: Portugal 14 | 15 | Profile: Deutscher Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 16 | 17 | Experience: 18 | - Employer: Super Coole Firma 19 | Place: Oxford, UK 20 | Positions: 21 | - Title: Software Entwicklerin 22 | Date: Jan 2020 - Jetzt 23 | Details: 24 | - Arcu vitae elementum curabitur vitae nunc sed velit 25 | - Viverra aliquet eget sit amet tellus cras adipiscing 26 | - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat 27 | - Nisl tincidunt eget nullam non nisi est 28 | - Sed viverra tellus in hac. 29 | - Lorem ipsum dolor sit amet, consectetur adipiscing elit 30 | Badges: ['Python', 'Django', 'OOP', 'Javascript', 'HTML', 'CSS', 'Agile'] 31 | - Title: Software Testerin 32 | Date: Mar 2019 - Jan 2020 33 | Details: 34 | - Nisl tincidunt eget nullam non nisi est 35 | - Sed viverra tellus in hac. 36 | - Lorem ipsum dolor sit amet, consectetur adipiscing elit 37 | Badges: ['Python', 'BDD', 'Selenium', 'OOP', 'Agile'] 38 | - Employer: Eine andere Supertolle Firma 39 | Place: Lisbon, PT 40 | Positions: 41 | - Title: Flow Cytometry Resource Specialist 42 | Date: Jan 2018 - Mar 2019 43 | Details: 44 | - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat 45 | - Nisl tincidunt eget nullam non nisi est 46 | - Sed viverra tellus in hac. 47 | - Lorem ipsum dolor sit amet, consectetur adipiscing elit 48 | Badges: ['Python', 'HTML', 'CSS', 'C#/Unity'] 49 | - Employer: Institute of Neural Engineering 50 | Place: Graz, AT 51 | Positions: 52 | - Title: Master's Thesis Research Intern 53 | Date: Oct 2016 - Jun 2017 54 | Details: 55 | - Arcu vitae elementum curabitur vitae nunc sed velit 56 | - Viverra aliquet eget sit amet tellus cras adipiscing 57 | - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat 58 | - Nisl tincidunt eget nullam non nisi est 59 | Badges: ['Python', 'MATLAB', 'Data Processing', 'Paradigm Design'] 60 | 61 | Education: 62 | - Course: BSc & MSc in Biomedical Engineering and Biophysics 63 | Place: University of Lisbon 64 | Date: Sep 2012 - Nov 2017 65 | Details: Specialised in data analysis 66 | 67 | Skills: 68 | - Family: Programming 69 | Items: 70 | - Python 71 | - HTML (including Jinja) 72 | - Javascript 73 | - CSS 74 | - SASS 75 | - SQL 76 | - C# 77 | - Bash 78 | - MATLAB 79 | - Family: Frameworks 80 | Items: 81 | - Django 82 | - Flask 83 | - Hugo 84 | - React 85 | - Family: Developer Tools 86 | Items: 87 | - Git 88 | - Docker 89 | - Jenkins 90 | - AWS 91 | - Family: Misc 92 | Items: 93 | - Adobe Tools 94 | - LaTeX 95 | 96 | Languages: 97 | - Name: Portuguese 98 | Level: Native 99 | - Name: English 100 | Level: C2 101 | - Name: Spanish 102 | Level: B1 103 | - Name: German 104 | Level: B1 105 | 106 | Diplomas: 107 | - ISTQB Tester Certification (2019) 108 | - English Cambridge CAE (2009) 109 | 110 | Interests: 111 | - Bouldering 112 | - Cooking 113 | - Windsurfing 114 | - Bossa Nova 115 | - Design 116 | - Languages 117 | -------------------------------------------------------------------------------- /exampleSite/data/content.yaml: -------------------------------------------------------------------------------- 1 | BasicInfo: 2 | FirstName: Inês 3 | LastName: Almeida 4 | Photo: img/avatar.jpg 5 | Contacts: 6 | - Icon: fas fa-phone 7 | Info: +44 123 456 789 8 | - Icon: fas fa-envelope 9 | Info: contact@ines-almeida.com 10 | - Icon: fas fa-globe 11 | Info: ines-almeida.com 12 | - Icon: fas fa-map-marker-alt 13 | Info: Portugal 14 | 15 | Profile: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 16 | 17 | Experience: 18 | - Employer: Super Cool Company 19 | Place: Oxford, UK 20 | Positions: 21 | - Title: Software Engineer 22 | Date: Jan 2020 - Present 23 | Details: 24 | - Arcu vitae elementum curabitur vitae nunc sed velit 25 | - Viverra aliquet eget sit amet tellus cras adipiscing 26 | - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat 27 | - Nisl tincidunt eget nullam non nisi est 28 | - Sed viverra tellus in hac. 29 | - Lorem ipsum dolor sit amet, consectetur adipiscing elit 30 | Badges: ['Python', 'Django', 'OOP', 'Javascript', 'HTML', 'CSS', 'Agile'] 31 | - Title: Software Tester 32 | Date: Mar 2019 - Jan 2020 33 | Details: 34 | - Nisl tincidunt eget nullam non nisi est 35 | - Sed viverra tellus in hac. 36 | - Lorem ipsum dolor sit amet, consectetur adipiscing elit 37 | Badges: ['Python', 'BDD', 'Selenium', 'OOP', 'Agile'] 38 | - Employer: Another super cool company 39 | Place: Lisbon, PT 40 | Positions: 41 | - Title: Flow Cytometry Resource Specialist 42 | Date: Jan 2018 - Mar 2019 43 | Details: 44 | - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat 45 | - Nisl tincidunt eget nullam non nisi est 46 | - Sed viverra tellus in hac. 47 | - Lorem ipsum dolor sit amet, consectetur adipiscing elit 48 | Badges: ['Python', 'HTML', 'CSS', 'C#/Unity'] 49 | - Employer: Institute of Neural Engineering 50 | Place: Graz, AT 51 | Class: "experience__extra_padding" 52 | Positions: 53 | - Title: Master's Thesis Research Intern 54 | Date: Oct 2016 - Jun 2017 55 | Details: 56 | - Arcu vitae elementum curabitur vitae nunc sed velit 57 | - Viverra aliquet eget sit amet tellus cras adipiscing 58 | - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat 59 | - Nisl tincidunt eget nullam non nisi est 60 | Badges: ['Python', 'MATLAB', 'Data Processing', 'Paradigm Design'] 61 | 62 | Education: 63 | - Course: BSc & MSc in Biomedical Engineering and Biophysics 64 | Place: University of Lisbon 65 | Date: Sep 2012 - Nov 2017 66 | Details: Specialised in data analysis 67 | 68 | References: 69 | - Name: Person One 70 | Relation: Co-worker at Super Cool Company 71 | Contacts: 72 | - Icon: fas fa-phone 73 | Info: +44 123 456 790 74 | - Icon: fas fa-envelope 75 | Info: contact@person-one.com 76 | - Icon: fas fa-map-marker-alt 77 | Info: Melbourne, Australia 78 | - Name: Person Two 79 | Relation: Boss at Super Cool Company 80 | Contacts: 81 | - Icon: fas fa-phone 82 | Info: +44 123 456 791 83 | - Icon: fas fa-envelope 84 | Info: contact@person-two.com 85 | - Icon: fas fa-map-marker-alt 86 | Info: Sydney, Australia 87 | 88 | 89 | Skills: 90 | - Family: Programming 91 | Items: 92 | - Python 93 | - HTML (including Jinja) 94 | - Javascript 95 | - CSS 96 | - SASS 97 | - SQL 98 | - C# 99 | - Bash 100 | - MATLAB 101 | - Family: Frameworks 102 | Items: 103 | - Django 104 | - Flask 105 | - Hugo 106 | - React 107 | - Family: Developer Tools 108 | Items: 109 | - Git 110 | - Docker 111 | - Jenkins 112 | - AWS 113 | - Family: Misc 114 | Items: 115 | - Adobe Tools 116 | - LaTeX 117 | 118 | Languages: 119 | - Name: Portuguese 120 | Level: Native 121 | - Name: English 122 | Level: C2 123 | - Name: Spanish 124 | Level: B1 125 | - Name: German 126 | Level: B1 127 | 128 | Diplomas: 129 | - ISTQB Tester Certification (2019) 130 | - English Cambridge CAE (2009) 131 | 132 | Interests: 133 | - Bouldering 134 | - Cooking 135 | - Windsurfing 136 | - Bossa Nova 137 | - Design 138 | - Languages 139 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Almeida CV Theme 2 | 3 | Theme to build a customizeable printable HTML/CSS CV. 4 | 5 | ![Screenshot](images/screenshot-full.png) 6 | 7 | # Features 8 | 9 | - Online CV with minor responsiveness 10 | - Printable as A4 PDF 11 | - HTML5 + CSS3 12 | - Customizeable colors 13 | 14 | ## Print your PDF CV 15 | 16 | When printing the page in the browser, you'll get a formatted A4 page that can be used as your PDF resume. 17 | If your page holds more than 1 A4 page, the content will be divided into the given amount of pages. 18 | 19 | For better formatting, you can set the number of pages in the `config.toml` file. 20 | 21 | If badges and other elements with background don't render correctly, remember to toggle the "Background Graphics" option in the print dialog. 22 | 23 | # Usage 24 | 25 | ## Install Hugo (extended) 26 | 27 | To use `almeida-cv` theme you need to install Hugo Extended by following https://gohugo.io/getting-started/installing/. 28 | 29 | ## Create your personal website 30 | 31 | ``` 32 | hugo new site 33 | cd 34 | git init 35 | git submodule add https://github.com/ineesalmeida/almeida-cv.git themes/almeida-cv 36 | ``` 37 | 38 | Replace the files in your site root's directory with the ones in `themes/almeida-cv/exampleSite`. 39 | 40 | ## Start Hugo in development mode 41 | 42 | ``` 43 | hugo server -D 44 | ``` 45 | 46 | Your site is now available at http://localhost:1313/. 47 | 48 | ## Customization 49 | 50 | Your professional data should be added in the `data/content.yaml` file. You can change the theme colors and number of 51 | pages in the `config.toml` file. For working example, see `exampleSite` directory. 52 | 53 | ### Configuration Parameters 54 | 55 | Below are the available parameters for `config.toml` and their descriptions: 56 | 57 | | Parameter | Description | Example/Default | 58 | | --------------------------------------- | --------------------------------------------------------- | ---------------------- | 59 | | `languageCode` | The language code for the site. | `en-us` | 60 | | `defaultContentLanguage` | The default content language. | `en` | 61 | | `enableRobotsTXT` | Enable generation of robots.txt. | `true` | 62 | | `enableEmoji` | Enable emoji support. | `true` | 63 | | `theme` | The theme to use. | `almeida-cv` | 64 | | `disableKinds` | List of page types to disable (e.g., RSS, sitemap, etc.). | See example | 65 | | `baseURL` | The base URL of the site. | `https://example.com/` | 66 | | `title` | The title of the site. | `Example - CV` | 67 | | `params.enableMetaTags` | Enable meta tags for SEO. | `true` | 68 | | `params.colorLight` | Light color for theme. | `#fff` | 69 | | `params.colorDark` | Dark color for theme. | `#666` | 70 | | `params.colorPageBackground` | Background color for the page. | `#ddd` | 71 | | `params.colorPrimary` | Primary color for highlights. | `#e3bfb8` | 72 | | `params.colorSecondary` | Secondary color for highlights. | `#aaa` | 73 | | `params.colorIconPrimary` | Primary color for icons. | `#fff` | 74 | | `params.colorIconBackground` | Background color for icons. | `#e3bfb8` | 75 | | `params.colorRightColumnBackground` | Background color for the right column. | `#f5f5f5` | 76 | | `params.colorRightColumnHeadingText` | Heading text color in the right column. | `#666` | 77 | | `params.colorRightColumnBodyText` | Body text color in the right column. | `#666` | 78 | | `params.colorRightColumnIconPrimary` | Primary color for icons in the right column. | `#fff` | 79 | | `params.colorRightColumnIconBackground` | Background color for icons in the right column. | `#e3bfb8` | 80 | | `params.pages` | Number of A4 pages to use for the CV. | `1` | 81 | | `params.swapColumns` | If `true`, swaps the left and right columns. | `false` | 82 | | `params.footerNote` | Text to display in the footer. | See example | 83 | 84 | Add or adjust these parameters in your `config.toml` to customize your CV's appearance and behavior. 85 | 86 | For more advanced customization, in your site root directory create `assets/scss/_custom.scss` file where you can 87 | overwrite theme SCSS as per your liking. 88 | 89 | ## Building 90 | 91 | To generate static files of your website, execute the following: 92 | 93 | ``` 94 | hugo --minify 95 | ``` 96 | 97 | within the root of your project. 98 | 99 | # Contributing 100 | 101 | Post bugs and contributions to the issue tracker. Or make a pull request. 102 | --------------------------------------------------------------------------------