Initial Commit.

This commit is contained in:
mertbakir 2020-09-01 01:03:58 +03:00 committed by mertbakir
commit 22e073f558
33 changed files with 663 additions and 0 deletions

43
.gitignore vendored Normal file
View file

@ -0,0 +1,43 @@
# Hugo default output directory
/public
/resources
# Test files
node_modules
npm-debug.log
# Temporary files
tmp
# Visual Studio
.vs
# Adobe files
*.ai
*.psd
*.indd
*.indb
# Compressed files
*.zip
*.gz
*.tar
*.7z
# Folder view configuration files
.DS_Store
Desktop.ini
# Thumbnail cache files
._*
Thumbs.db
# Sass
.sass-cache
# Files that might appear on external disks
.Spotlight-V100
.Trashes
# Local
/_local

20
LICENSE Normal file
View file

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2020 MERT BAKIR
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

42
README.md Normal file
View file

@ -0,0 +1,42 @@
# To Do:
1. ~~Write proper README.~~
2. Projects Section
3. Papers Section
# Features
* Simple, easy to use, single page, A4-sized Resume generator.
* Print friendly, just use your browser or save as PDF.
* Write your resume in yaml. All content stored in data files.
* Configure sections from ```config.toml```.
# How To Use
## Download
1. Create a hugo project.
2. Go to themes folder.
3. Clone this theme.
```
cd themes
$ git clone https://gitlab.com/mertbakir/resume-a4.git
```
## Start
1. Go to ```exampleSite``` and copy ```config.toml``` to the root directory of your hugo project.
2. Open ```config.toml``` and add your relevant information.
3. Copy ```data``` folder from ```exampleSite``` to root directory. All you need is that folder.
4. Create your resume in yaml files.
## Notes
* Enable/Disable Sections in ```config.toml```
* Set avatar link in ```config.toml```, keep your image under ```static``` folder if you want.
* Contacts, useFontAwesome, dateUpdated pparameters in the config file are used in footer only, not in the resume itself.
# License
This project is open-sourced and licensed under the terms of the MIT license. I would be happy though, if you give attribution. <3

2
archetypes/default.md Normal file
View file

@ -0,0 +1,2 @@
+++
+++

116
assets/sass/_base.scss Normal file
View file

@ -0,0 +1,116 @@
* {
margin: 0;
padding: 0;
}
body {
background: #FFF;
font-family: $font-1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
text-decoration: none;
}
li {
list-style-type: square;
padding-left: 0px;
list-style-position: inside;
margin: 8px 0;
}
.resumeCanvas {
margin: 2.5rem auto;
padding: 0 0.45in 0.5in 0.45in;
width: 8.25in;
height: 11.75in;
background-color: #FFF;
-moz-box-shadow: 2px 2px 10px #aaa;
-webkit-box-shadow: 2px 2px 10px #aaa;
box-shadow: 2px 2px 10px #aaa;
box-sizing: border-box;
}
.gridParent {
width: 100%;
height: 100%;
display: grid;
grid-template-columns: repeat(7, 1fr);
grid-template-rows: repeat(6, 1fr);
grid-column-gap: 0px;
grid-row-gap: 0px;
}
.flex-row{
display: flex;
flex-direction: row;
justify-content: space-between;
}
.titleHeader {
display: flex;
flex-direction: column;
justify-content: center;
font-family: $font-1;
h1 {
font-size: 64px;
color: $heading-color;
letter-spacing: 0.15rem;
}
}
header {
grid-area: 1 / 1 / 2 / 8;
border-bottom: $border-color 1px solid;
}
.leftSide {
grid-area: 2 / 1 / 7 / 6;
display: flex;
flex-direction: column;
justify-content: flex-start;
border-right: $border-color 1px solid;
padding-right: 16px;
}
.rightSide {
grid-area: 2 / 6 / 7 / 8;
display: flex;
flex-direction: column;
justify-content: flex-start;
margin-left: 8px;
li {
list-style-type: none;
padding: 0;
}
}
.leftSide, .rightSide {
margin-top: 12px;
font-size: 14px;
h1, h2, h3 {
line-height: 1.2;
}
h1 {
margin-bottom: 16px;
font-size: 24px;
}
h2 {
font-size: 20px;
margin-bottom: 4px;
}
h3 {
font-size: 16px;
}
p {
font-size: 14px;
margin: 8px 0;
line-height: 1.5;
text-align: justify;
}
}

26
assets/sass/_footer.scss Normal file
View file

@ -0,0 +1,26 @@
footer {
width: 8.25in;
margin: 36px auto;
display: block;
text-align: center;
}
.link-text {
font-weight: 700;
}
footer {
a {
color: $turk;
padding: 0 4px;
&:hover {
color: white;
background-color: $turk;
transition: all 0.35s ease-out;
transition-property: all 0.35s ease-out;
-webkit-transition-property: all 0.35s ease-out;
-moz-transition-property: all 0.35s ease-out;
-o-transition-property: all 0.35s ease-out;
}
}
}

View file

@ -0,0 +1,58 @@
.section {
margin-bottom: 20px;
}
.item {
margin-bottom: 14px;
}
.section {
.item:last-child {
margin-bottom: 0px;
}
}
.group {
.item {
margin-top: 0;
}
}
.section-title {
border-left: solid 6px $heading-color;
padding-left: 8px;
font-family: $font-1;
}
.job-title {
font-size: 14px;
}
.item-title {
margin-bottom: 2px;
}
.item-title-span {
font-weight: 400;
font-size: 14px;
}
.item-info
{
font-weight: 400;
font-size: 14px;
}
.avatar {
display: block;
margin: 1rem auto;
padding: 1rem;
object-fit: cover;
height: 140px;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
-o-border-radius: 50%;
border-radius: 50%;
}

23
assets/sass/_print.scss Normal file
View file

@ -0,0 +1,23 @@
/* Print */
@media print{
@page {
size: A4;
margin:0;
}
html, body {
width: 210mm;
height: 297mm;
background: #FFF;
overflow: hidden;
margin: 0; padding:0;
}
.resumeCanvas {
margin: 0;
width: 100%; height: 100%;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}
}

View file

@ -0,0 +1,22 @@
*::-webkit-scrollbar {
width: 12px;
height: 8px;
}
*::-webkit-scrollbar-thumb {
background-color: $toprak;
outline: 1px solid $toprak;
}
*::-webkit-scrollbar-track {
background-color: lighten($toprak, 50%);
}
::selection {
background: $toprak;
color: white;
}
::-moz-selection {
background: $toprak;
color: white;
}

11
assets/sass/main.scss Normal file
View file

@ -0,0 +1,11 @@
$font-1: 'PT Sans', 'IBM Plex Sans', 'Arial', sans-serif;
$border-color: #bfbfbf;
$heading-color: #202020;
$toprak: #b56b00;
$turk: #E30A17;
@import "base";
@import "redundant";
@import "footer";
@import "item_styling";
@import "print";

32
exampleSite/config.toml Normal file
View file

@ -0,0 +1,32 @@
baseURL = "/"
languageCode = "en-us"
title = "Résumé | MERT BAKIR"
disableKinds = ["taxonomy", "term"]
theme = "resume-A4"
[params]
dateUpdated = "01 September, 2020"
useFontAwesome = true
avatar = "avatar.jpg"
[params.display]
experience = true
education = true
languages = true
awards = true
skills = true
skills_grouped = false
interests = true
contact = true
tagline = true
objective = true
projects = false
papers = false
avatar = true
footer = true
[params.contacts]
linkedin = "https://www.linkedin.com/in/mertbakir/"
gitlab = "https://gitlab.com/mertbakir/resume-A4"
website = "https://mertbakir.gitlab.io/about/"
download = ""

View file

@ -0,0 +1,9 @@
- name: "Msc. Industrial Engineering"
university: "Yildiz Technical University"
date: "2019- 2021"
gpa: "3.63 / 4.00"
- name: "Bsc. Industrial Engineering"
university: "Gazi University"
date: "2013 - 2017"
gpa : "3.35 / 4.00"

View file

@ -0,0 +1,20 @@
- name: "Monitoring Team Leader"
company: "Turkish Technic"
details: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ornare sollicitudin fringilla.
Aenean nec volutpat arcu. Maecenas quis tempus risus. Curabitur condimentum ligula in erat pharetra porta.
Nam suscipit nisi a bibendum lacinia. Donec aliquet, nibh dignissim placerat efficit"
date: "2019 - Present"
- name: "System Engineer"
company: "Turkish Technic"
date: "10.2018 - Present"
details: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ornare sollicitudin fringilla.
Aenean nec volutpat arcu. Maecenas quis tempus risus. Curabitur condimentum ligula in erat pharetra porta.
Nam suscipit nisi a bibendum lacinia. Donec aliquet, nibh dignissim placerat efficit"
- name: "Graduate Project - Intern"
company: "Turkish Aerospace Industries"
date: "11.2016 - 07.2017"
details: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ornare sollicitudin fringilla.
Aenean nec volutpat arcu. Maecenas quis tempus risus. Curabitur condimentum ligula in erat pharetra porta.
Nam suscipit nisi a bibendum lacinia. Donec aliquet, nibh dignissim placerat efficit"

View file

@ -0,0 +1,46 @@
skills:
- "Python - R - SQL"
- "InfluxDB/TICK Stack"
- "Grafana - PowerBI"
- "Excel - Minitab - SPSS"
- "GAMS - PuLP - OR-Tools"
- "C# - Git - Docker - NGINX"
skillsGrouped:
- groupName: "Databases & Visualization"
skills: ["Grafana - Kibana - PowerBI", "InfluxDB - TICK Stack"]
- groupName: "Data Analysis & Analytics"
skills: ["Python - R - SQL", "Excel - Minitab - SPSS", "GAMS - PuLP - OR Tools"]
- groupName: "Programming & Systems"
skills: ["C# - Git - Docker - NGINX", "Linux - CentOS RHEL"]
interests:
- "Data Science"
- "AI Applications"
- "Optimization Problems"
languages:
- name: "Turkish"
level: "Native"
- name: "English"
level: "Professional"
certificates: ["YDS: 86.25 - 2018", "TOEFL: 109 - 2021"]
awards:
- name: "Tübitak - Graduation Project"
date: "2017"
details: "A Decision Support System for 3D Cutting Problem"
about:
- name: "MERT BAKIR"
tagline: "Industrial Engineer"
phone: "5070*4****"
email: "yourmail@yourdomain"
details: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ornare sollicitudin fringilla.
Aenean nec volutpat arcu. Maecenas quis tempus risus. Curabitur condimentum ligula in erat pharetra porta.
Nam suscipit nisi a bibendum lacinia."

BIN
images/one-page-resume.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

BIN
images/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

BIN
images/tn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

71
layouts/home.html Normal file
View file

@ -0,0 +1,71 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}"><!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
{{ $style := resources.Get "sass/main.scss" | toCSS | minify | fingerprint }}
<link rel="stylesheet" href="{{ $style.Permalink }}" />
<link href="https://fonts.googleapis.com/css2?family=PT+Sans:wght@400;700&display=swap" rel="stylesheet">
{{ if .Site.Params.useFontAwesome }}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.14.0/css/all.min.css" integrity="sha512-1PKOgIY59xJ8Co8+NE6FZ+LOAZKjy+KY8iq0G4B3CyeY6wYHN3yt9PW0XpSriVlkMXe40PTKnXrLnZ9+fkDaog==" crossorigin="anonymous" />
{{ end }}
<title itemprop="name">{{ .Site.Title }}</title>
</head>
<body>
<main class="resumeCanvas">
<div class="gridParent">
<header class="flex-row">{{ partial "header" . }}</header>
<div class="leftSide">
{{ if .Site.Params.display.objective }}
{{ partial "objective" . }}
{{ end }}
{{ if .Site.Params.display.experience }}
{{ partial "experience" . }}
{{ end }}
{{ if .Site.Params.display.projects }}
{{ partial "projects" . }}
{{ end }}
{{ if .Site.Params.display.papers }}
{{ partial "papers" . }}
{{ end }}
</div>
<div class="rightSide">
{{ if .Site.Params.display.education }}
{{ partial "education" . }}
{{ end }}
{{ if .Site.Params.display.languages }}
{{ partial "languages" . }}
{{ end }}
{{ if .Site.Params.display.awards }}
{{ partial "awards" . }}
{{ end }}
{{ if .Site.Params.display.skills }}
{{ partial "skills" . }}
{{ end }}
{{ if .Site.Params.display.skills_grouped }}
{{ partial "skills_grouped" . }}
{{ end }}
{{ if .Site.Params.display.interests }}
{{ partial "interests" . }}
{{ end }}
</div>
</main>
{{ if .Site.Params.display.footer }}
<footer>{{ partial "footer" .}}</footer>
{{ end }}
</body>
</html>

View file

@ -0,0 +1,9 @@
<div class="section">
<h1 class="section-title">Awards</h1>
{{ range .Site.Data.features.awards }}
<div class="item">
<h3 class="item-title">{{ .name }}</h3>
{{ .details | markdownify }} - {{ .date }}
</div>
{{ end }}
</div>

View file

@ -0,0 +1,10 @@
<div class="section">
<h1 class="section-title">Education</h1>
{{ range .Site.Data.education }}
<div class="item">
<h3 class="item-title">{{ .name }}</h3>
<span>{{ .university }}</span><br>
<span>{{ .date }} | GPA: {{ .gpa }}</span>
</div>
{{ end }}
</div>

View file

@ -0,0 +1,25 @@
<div class="section">
<h1 class="section-title">Experience</h1>
{{ $companies := slice }}
{{ range .Site.Data.experience }}
{{ $companies = $companies | append .company }}
{{ end }}
{{ $companies = uniq $companies }}
{{ range $companies }}
{{ $company := . }}
<div class="item group">
<h3 class="item-title">{{ $company }}</h3>
{{ range where $.Site.Data.experience "company" $company }}
<div class="item">
<div class="flex-row">
<span class="job-title">{{ .name }}</span>
<span class="date">{{ .date }}</span></div>
<p>{{ .details | markdownify }}</p>
</div>
{{ end }}
</div>
{{ end }}
</div>

View file

@ -0,0 +1,6 @@
Last updated on {{ .Site.Params.dateUpdated }}<br>
This page is print friendly, you can print via your browser or <a href="{{ .Site.Params.contacts.download }}"><span class="link-text">Download <span><i class="fas fa-save"></i></a>
<br>
Contact me on <a href="{{ .Site.Params.contacts.linkedin }}"><span class="link-text">Linkedin </span><i class="fab fa-linkedin"></i></a>
| See, this project at <a href="{{ .Site.Params.contacts.gitlab }}"> <span class="link-text">GitLab </span><i class="fab fa-gitlab"></i></a>
| Checkout my <a href="{{ .Site.Params.contacts.website }}"><span class="link-text">Website </span><i class="fas fa-globe"></i></a>

View file

@ -0,0 +1,10 @@
<div class="titleHeader">
{{ range .Site.Data.features.about }}
<h1 class="name">{{ .name }}</h1>
{{ if $.Site.Params.display.tagline }}<h3 class="tagline">{{ .tagline }}</h3>{{end}}
{{ if $.Site.Params.display.contact }}<span class="contact">{{ .phone }} | {{ .email }}</span>{{ end }}
{{ end }}
</div>
{{ if .Site.Params.display.avatar }}
<div><img class="avatar right" src="{{.Site.Params.avatar}}"></div>
{{ end }}

View file

@ -0,0 +1,8 @@
<div class="section">
<h1 class="section-title">Interests</h1>
<div class="item">
{{ range .Site.Data.features.interests }}
<li>{{.}}</li>
{{ end }}
</div>
</div>

View file

@ -0,0 +1,12 @@
<div class="section">
<h1 class="section-title">Languages</h1>
{{ range .Site.Data.features.languages }}
<div class="item">
<h3 class="item-title">{{ .name }}
<span class="item-title-span"> - {{ .level }}</span></h3>
{{ range .certificates }}
<li>{{.}}</li>
{{ end }}
</div>
{{ end }}
</div>

View file

@ -0,0 +1,8 @@
<div class="section">
<h1 class="section-title">Objective</h1>
<p>
{{ range .Site.Data.features.about }}
{{ .details }}
{{ end }}
</p>
</div>

View file

@ -0,0 +1,8 @@
<div class="section">
<h1 class="section-title">Skills</h1>
<div class="item">
{{ range .Site.Data.features.skills }}
<li>{{.}}</li>
{{ end }}
</div>
</div>

View file

@ -0,0 +1,11 @@
<div class="section">
<h1 class="section-title">Skills</h1>
{{ range .Site.Data.features.skillsGrouped }}
<div class="item">
<h3 class="item-title">{{ .groupName }}</h3>
{{ range .skills }}
<li>{{.}}</li>
{{ end }}
</div>
{{ end }}
</div>

View file

View file

Binary file not shown.

BIN
static/avatar.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

15
theme.toml Normal file
View file

@ -0,0 +1,15 @@
# theme.toml template for a Hugo theme
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
name = "Resume A4"
license = "MIT"
licenselink = "https://gitlab.com/mertbakir/resume-A4/LICENSE"
description = " Write your resume in yaml. Simple, easy to use, single page, A4-sized Resume generator."
homepage = "https://gitlab.com/mertbakir/resume-A4"
tags = ["resume", "single page", "simple"]
features = []
min_version = "0.41.0"
[author]
name = "MERT BAKIR"
homepage = "https://mertbakir.gitlab.io"