From b6ee04c7eb4c64bbac5eabae437dd90fcc185486 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Mon, 20 May 2019 19:37:39 +0430 Subject: [PATCH 1/5] Fix typo in the schema emitempty --- schema.json | 3 +-- schema/schema.go | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/schema.json b/schema.json index ad509c7..613c228 100644 --- a/schema.json +++ b/schema.json @@ -220,8 +220,7 @@ "institution", "area", "studyType", - "startDate", - "endDate" + "startDate" ], "type": "object" }, diff --git a/schema/schema.go b/schema/schema.go index 6e7342d..7ba871b 100644 --- a/schema/schema.go +++ b/schema/schema.go @@ -64,7 +64,7 @@ type educationSchema struct { Area string `json:"area" schema:"description:area of study;example:Engineering"` StudyType string `json:"studyType" schema:"description:type of study;example:Bachelor"` StartDate string `json:"startDate" schema:"description:start date;format:date;example:2017-06-28"` - EndDate string `json:"endDate,omitepmty" schema:"description:end date;format:date;example:2013-06-28"` + EndDate string `json:"endDate,omitempty" schema:"description:end date;format:date;example:2013-06-28"` Score scoreSchema `json:"score,omitempty"` Courses []string `json:"courses,omitempty" schema:"description:notable courses/subjects;items_example:CS302 - Introduction to Algorithms"` Honors []string `json:"honors,omitempty" schema:"description:some education honours;items_example:Magna Cum Laude"` From d69c831ce2b3e2349331cb951d7f0dbe44cfa076 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Mon, 20 May 2019 19:40:24 +0430 Subject: [PATCH 2/5] Make language and level required in the language section --- schema.json | 3 ++- schema/schema.go | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/schema.json b/schema.json index 613c228..bff64ed 100644 --- a/schema.json +++ b/schema.json @@ -270,7 +270,8 @@ } }, "required": [ - "language" + "language", + "level" ], "type": "object" }, diff --git a/schema/schema.go b/schema/schema.go index 7ba871b..43395e3 100644 --- a/schema/schema.go +++ b/schema/schema.go @@ -153,8 +153,8 @@ type referenceSchema struct { } type languageSchema struct { - Language string `json:"language,omitepty" schema:"description:name of language;example:English"` - Level string `json:"level,omitempty" schema:"description:proficiency level for the language;enum:basic,conversational,fluent,native;example:fluent"` + Language string `json:"language" schema:"description:name of language;example:English"` + Level string `json:"level" schema:"description:proficiency level for the language;enum:basic,conversational,fluent,native;example:fluent"` } type interestSchema struct { From 6c642544a7cb9274355504b8ad732e540165d1be Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Tue, 21 May 2019 15:36:47 +0430 Subject: [PATCH 3/5] Add the basic port of orbit theme --- .../orbit/layouts/partials/contant.html | 43 +++ .../orbit/layouts/partials/education.html | 24 ++ .../orbit/layouts/partials/experiences.html | 36 ++ .../orbit/layouts/partials/interests.html | 11 + .../orbit/layouts/partials/languages.html | 16 + .../orbit/layouts/partials/profile.html | 13 + .../orbit/layouts/partials/projects.html | 20 ++ .../orbit/layouts/partials/skills.html | 37 ++ .../orbit/layouts/partials/summary.html | 12 + theme/defaults/orbit/static/css/orbit-6.css | 340 ++++++++++++++++++ .../defaults/orbit/static/images/favicon.ico | Bin 0 -> 1150 bytes 11 files changed, 552 insertions(+) create mode 100644 theme/defaults/orbit/layouts/partials/contant.html create mode 100644 theme/defaults/orbit/layouts/partials/education.html create mode 100644 theme/defaults/orbit/layouts/partials/experiences.html create mode 100644 theme/defaults/orbit/layouts/partials/interests.html create mode 100644 theme/defaults/orbit/layouts/partials/languages.html create mode 100644 theme/defaults/orbit/layouts/partials/profile.html create mode 100644 theme/defaults/orbit/layouts/partials/projects.html create mode 100644 theme/defaults/orbit/layouts/partials/skills.html create mode 100644 theme/defaults/orbit/layouts/partials/summary.html create mode 100644 theme/defaults/orbit/static/css/orbit-6.css create mode 100644 theme/defaults/orbit/static/images/favicon.ico diff --git a/theme/defaults/orbit/layouts/partials/contant.html b/theme/defaults/orbit/layouts/partials/contant.html new file mode 100644 index 0000000..15bb424 --- /dev/null +++ b/theme/defaults/orbit/layouts/partials/contant.html @@ -0,0 +1,43 @@ +
+
    + {{ with .personal.email }} + + {{ end }} + + {{ with .personal.phone }} +
  • + + {{.}} +
  • + {{ end }} + + {{ with .personal.url }} +
  • + + {{ . | replaceRE "^https?://(.*)" "$1" }} +
  • + {{ end }} + + {{ with .personal.profiles }} + {{ range . }} + + {{ end }} + {{ end }} +
+
\ No newline at end of file diff --git a/theme/defaults/orbit/layouts/partials/education.html b/theme/defaults/orbit/layouts/partials/education.html new file mode 100644 index 0000000..efe63e9 --- /dev/null +++ b/theme/defaults/orbit/layouts/partials/education.html @@ -0,0 +1,24 @@ +{{ with .education }} +
+

Education

+ {{ range . }} +
+

+ {{ .studyType }} in {{ .area }} +

+ +
{{ .institution }}
+ +
+ {{ .startDate | dateFormat "2006" }} + - + {{ with .endDate }} + {{ . | dateFormat "2006" }} + {{ else }} + Present + {{ end }} +
+
+ {{ end }} +
+{{ end }} \ No newline at end of file diff --git a/theme/defaults/orbit/layouts/partials/experiences.html b/theme/defaults/orbit/layouts/partials/experiences.html new file mode 100644 index 0000000..c91cad2 --- /dev/null +++ b/theme/defaults/orbit/layouts/partials/experiences.html @@ -0,0 +1,36 @@ +{{ with .work }} +
+

+ + Experiences +

+ + {{ range . }} +
+
+
+

{{ .position }}

+
+ {{ .startDate | dateFormat "2006" }} + - + {{ with .endDate }} + {{ . | dateFormat "2006" }} + {{ else }} + Present + {{ end }} +
+
+
+ {{ .name }} +
+
+ + {{ with .summary }} +
+

{{ . }}

+
+ {{ end }} +
+ {{ end }} +
+{{ end }} \ No newline at end of file diff --git a/theme/defaults/orbit/layouts/partials/interests.html b/theme/defaults/orbit/layouts/partials/interests.html new file mode 100644 index 0000000..02136e8 --- /dev/null +++ b/theme/defaults/orbit/layouts/partials/interests.html @@ -0,0 +1,11 @@ +{{ with .interests }} +
+

Interests

+ +
    + {{ range . }} +
  • {{ .name }}
  • + {{ end }} +
+
+{{ end }} \ No newline at end of file diff --git a/theme/defaults/orbit/layouts/partials/languages.html b/theme/defaults/orbit/layouts/partials/languages.html new file mode 100644 index 0000000..b2611ec --- /dev/null +++ b/theme/defaults/orbit/layouts/partials/languages.html @@ -0,0 +1,16 @@ +{{ with .languages }} +
+

Languages

+ +
    + {{ range . }} +
  • + {{ .language }} + + ({{ .level | title }}) + +
  • + {{ end }} +
+
+{{ end }} \ No newline at end of file diff --git a/theme/defaults/orbit/layouts/partials/profile.html b/theme/defaults/orbit/layouts/partials/profile.html new file mode 100644 index 0000000..0f795de --- /dev/null +++ b/theme/defaults/orbit/layouts/partials/profile.html @@ -0,0 +1,13 @@ +
+ {{ with .personal.image }} + + {{ end }} + + {{ with .personal.name }} +

{{ . }}

+ {{ end }} + + {{ with .core.title}} +

{{ . }}

+ {{ end }} +
\ No newline at end of file diff --git a/theme/defaults/orbit/layouts/partials/projects.html b/theme/defaults/orbit/layouts/partials/projects.html new file mode 100644 index 0000000..912b3e6 --- /dev/null +++ b/theme/defaults/orbit/layouts/partials/projects.html @@ -0,0 +1,20 @@ +{{ with .projects }} +
+

+ + Projects +

+ + {{ range . }} +
+ + {{ .name }} + + {{ with .description}} + - + {{ . }} + {{ end }} +
+ {{ end }} +
+{{ end }} \ No newline at end of file diff --git a/theme/defaults/orbit/layouts/partials/skills.html b/theme/defaults/orbit/layouts/partials/skills.html new file mode 100644 index 0000000..1c63d79 --- /dev/null +++ b/theme/defaults/orbit/layouts/partials/skills.html @@ -0,0 +1,37 @@ +{{ with .skills }} +
+

+ + Skills & Proficiency +

+ +
+ {{ range . }} +
+

{{ .name }}

+ + {{ $level := "" }} + {{ if eq .proficiency "beginner" }} + {{ $level = "20" }} + {{ else if eq .proficiency "early" }} + {{ $level = "40" }} + {{ else if eq .proficiency "competent" }} + {{ $level = "60" }} + {{ else if eq .proficiency "advanced" }} + {{ $level = "80" }} + {{ else if eq .proficiency "expert" }} + {{ $level = "100" }} + {{ end }} +
+
+
+
+
+ {{ end }} +
+
+{{ end }} \ No newline at end of file diff --git a/theme/defaults/orbit/layouts/partials/summary.html b/theme/defaults/orbit/layouts/partials/summary.html new file mode 100644 index 0000000..15660be --- /dev/null +++ b/theme/defaults/orbit/layouts/partials/summary.html @@ -0,0 +1,12 @@ +{{ with .personal.summary }} +
+

+ + Career Profile +

+ +
+

{{ . }}

+
+
+{{ end }} \ No newline at end of file diff --git a/theme/defaults/orbit/static/css/orbit-6.css b/theme/defaults/orbit/static/css/orbit-6.css new file mode 100644 index 0000000..670ff30 --- /dev/null +++ b/theme/defaults/orbit/static/css/orbit-6.css @@ -0,0 +1,340 @@ +/*! + * Template Name: Orbit - Bootstrap 4 Resume/CV Template for Developers + * Version: 2.0 + * Author: Xiaoying Riley + * Copyright: 3rd Wave Media + * Twitter: @3rdwave_themes + * License: Creative Commons Attribution 3.0 License + * Website: http://themes.3rdwavemedia.com/ +*/ +body { + font-family: 'Roboto', sans-serif; + color: #545E6C; + background: #f5f5f5; + font-size: 14px; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +h1, h2, h3, h4, h5, h6 { + font-weight: 700; +} + +a { + color: #2e4049; + -webkit-transition: all 0.4s ease-in-out; + -moz-transition: all 0.4s ease-in-out; + -ms-transition: all 0.4s ease-in-out; + -o-transition: all 0.4s ease-in-out; +} + +a:hover { + text-decoration: underline; + color: #10171a; +} + +a:focus { + text-decoration: none; +} + +p { + line-height: 1.5; +} + +.wrapper { + background: #4B6A78; + max-width: 960px; + margin: 0 auto; + margin-top: 30px; + position: relative; + -webkit-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1); + box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1); +} + +.sidebar-wrapper { + background: #4B6A78; + position: absolute; + right: 0; + width: 240px; + height: 100%; + min-height: 800px; + color: #fff; +} + +.sidebar-wrapper a { + color: #fff; +} + +.sidebar-wrapper .profile-container { + padding: 30px; + background: rgba(0, 0, 0, 0.2); + text-align: center; + color: #fff; +} + +.sidebar-wrapper .name { + font-size: 32px; + font-weight: 900; + margin-top: 0; + margin-bottom: 10px; +} + +.sidebar-wrapper .tagline { + color: rgba(255, 255, 255, 0.6); + font-size: 16px; + font-weight: 400; + margin-top: 0; + margin-bottom: 0; +} + +.sidebar-wrapper .profile { + margin-bottom: 15px; +} + +.sidebar-wrapper .contact-list .svg-inline--fa { + margin-right: 5px; + font-size: 18px; + vertical-align: middle; +} + +.sidebar-wrapper .contact-list li { + margin-bottom: 15px; +} + +.sidebar-wrapper .contact-list li:last-child { + margin-bottom: 0; +} + +.sidebar-wrapper .contact-list .email .svg-inline--fa { + font-size: 14px; +} + +.sidebar-wrapper .container-block { + padding: 30px; +} + +.sidebar-wrapper .container-block-title { + text-transform: uppercase; + font-size: 16px; + font-weight: 700; + margin-top: 0; + margin-bottom: 15px; +} + +.sidebar-wrapper .degree { + font-size: 14px; + margin-top: 0; + margin-bottom: 5px; +} + +.sidebar-wrapper .education-container .item { + margin-bottom: 15px; +} + +.sidebar-wrapper .education-container .item:last-child { + margin-bottom: 0; +} + +.sidebar-wrapper .education-container .meta { + color: rgba(255, 255, 255, 0.6); + font-weight: 500; + margin-bottom: 0px; + margin-top: 0; + font-size: 14px; +} + +.sidebar-wrapper .education-container .time { + color: rgba(255, 255, 255, 0.6); + font-weight: 500; + margin-bottom: 0px; +} + +.sidebar-wrapper .languages-container .lang-desc { + color: rgba(255, 255, 255, 0.6); +} + +.sidebar-wrapper .languages-list { + margin-bottom: 0; +} + +.sidebar-wrapper .languages-list li { + margin-bottom: 10px; +} + +.sidebar-wrapper .languages-list li:last-child { + margin-bottom: 0; +} + +.sidebar-wrapper .interests-list { + margin-bottom: 0; +} + +.sidebar-wrapper .interests-list li { + margin-bottom: 10px; +} + +.sidebar-wrapper .interests-list li:last-child { + margin-bottom: 0; +} + +.main-wrapper { + background: #fff; + padding: 60px; + padding-right: 300px; +} + +.main-wrapper .section-title { + text-transform: uppercase; + font-size: 20px; + font-weight: 500; + color: #2e4049; + position: relative; + margin-top: 0; + margin-bottom: 20px; +} + +.main-wrapper .section-title .icon-holder { + width: 30px; + height: 30px; + margin-right: 8px; + display: inline-block; + color: #fff; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + background: #2e4049; + text-align: center; + font-size: 16px; + position: relative; + top: -8px; +} + +.main-wrapper .section-title .icon-holder .svg-inline--fa { + font-size: 14px; + margin-top: 6px; +} + +.main-wrapper .section { + margin-bottom: 60px; +} + +.main-wrapper .experiences-section .item { + margin-bottom: 30px; +} + +.main-wrapper .upper-row { + position: relative; + overflow: hidden; + margin-bottom: 2px; +} + +.main-wrapper .job-title { + color: #3F4650; + font-size: 16px; + margin-top: 0; + margin-bottom: 0; + font-weight: 500; +} + +.main-wrapper .time { + position: absolute; + right: 0; + top: 0; + color: #97AAC3; +} + +.main-wrapper .company { + margin-bottom: 10px; + color: #97AAC3; +} + +.main-wrapper .project-title { + font-size: 16px; + font-weight: 400; + margin-top: 0; + margin-bottom: 5px; +} + +.main-wrapper .projects-section .intro { + margin-bottom: 30px; +} + +.main-wrapper .projects-section .item { + margin-bottom: 15px; +} + +.skillset .item { + margin-bottom: 15px; + overflow: hidden; +} + +.skillset .level-title { + font-size: 14px; + margin-top: 0; + margin-bottom: 12px; +} + +.skillset .level-bar { + height: 12px; + background: #f5f5f5; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} + +.skillset .theme-progress-bar { + background: #5f8697; +} + +.footer { + padding: 30px; + padding-top: 60px; +} + +.footer .copyright { + line-height: 1.6; + color: #545E6C; + font-size: 13px; +} + +.footer .fa-heart { + color: #fb866a; +} + +@media (max-width: 767.98px) { + .sidebar-wrapper { + position: static; + width: inherit; + } + .main-wrapper { + padding: 30px; + } + .main-wrapper .time { + position: static; + display: block; + margin-top: 5px; + } + .main-wrapper .upper-row { + margin-bottom: 0; + } +} + +@media (min-width: 992px) { + .skillset .level-title { + display: inline-block; + float: left; + width: 30%; + margin-bottom: 0; + } +} diff --git a/theme/defaults/orbit/static/images/favicon.ico b/theme/defaults/orbit/static/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1e7aaf56c0fdc1feeb49108559367fbeef4c57e6 GIT binary patch literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYJy!TFFt)FkwO- zIsWVF>M8<;)n5<>nvqY68GU_y`B1(8fiwvJoiu4uHZf*^)S>AGo594y^mp2{Y3caP zShQ$S6i6M^PMFACeBeVjW6hd10WdX$ z=nWe-_)?;O)22;6==$Hhc_W1GekCQPy9x>l_mJHqA|mn%!do;h>I2%FxaD+WxUz!U<*|LPeS{@61x{E%m0 T_`uJ=@PHi^f9yx71?d3*)tQP? literal 0 HcmV?d00001 From acbbf721b658ae36f9c5b85f8b0e6e8cd6857f61 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Tue, 21 May 2019 15:42:34 +0430 Subject: [PATCH 4/5] Replace orbit with the test-theme --- cmd/render.go | 2 +- example.html | 234 +++++++++++++++++- .../test-theme/layouts/resumic/single.html | 6 - 3 files changed, 232 insertions(+), 10 deletions(-) delete mode 100644 theme/defaults/test-theme/layouts/resumic/single.html diff --git a/cmd/render.go b/cmd/render.go index 49b65a3..f44d81e 100644 --- a/cmd/render.go +++ b/cmd/render.go @@ -56,7 +56,7 @@ var renderCmd = &cobra.Command{ } func init() { - renderCmd.Flags().StringP("theme", "t", "test-theme", "Theme to use") + renderCmd.Flags().StringP("theme", "t", "orbit", "Theme to use") renderCmd.Flags().StringP("themesDir", "d", "", "Filesystem path to themes directory") rootCmd.AddCommand(renderCmd) } diff --git a/example.html b/example.html index 4f87ed4..5f60c00 100644 --- a/example.html +++ b/example.html @@ -1,6 +1,234 @@ - + + + + + John Doe resume + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+

+ + Career Profile +

+ +
+

The man who sold the world!

+
+
+ + +
+

+ + Experiences +

+ + +
+
+
+

Software Engineer

+
+ 2017 + - + + 2018 + +
+
+
+ XYZ Inc +
+
+ + +
+

Developing and maintaining the company website using syna

+
+ +
+ +
+ + +
+

+ + Projects +

+ + +
+ + File Transfer application + + + - + Developed a client and server based application + +
- John Doe - Software Engineer +
+ + +
+

+ + Skills & Proficiency +

+ +
+ +
+

Web Development

+ + + + + +
+
+
+
+
+ +
+
+ +
+
+ + + - \ No newline at end of file + \ No newline at end of file diff --git a/theme/defaults/test-theme/layouts/resumic/single.html b/theme/defaults/test-theme/layouts/resumic/single.html deleted file mode 100644 index dbc871c..0000000 --- a/theme/defaults/test-theme/layouts/resumic/single.html +++ /dev/null @@ -1,6 +0,0 @@ - - - {{ $resume := index $.Site.Data.resumic .File.BaseFileName }} - {{ $resume.personal.name }} - {{ $resume.core.title }} - - \ No newline at end of file From 272fe26fb14761d4e02bf4a53b02796deefc9c7f Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Tue, 28 May 2019 14:41:53 +0430 Subject: [PATCH 5/5] Fix the bug in the gitignore --- .gitignore | 2 +- .../orbit/layouts/resumic/single.html | 52 +++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 theme/defaults/orbit/layouts/resumic/single.html diff --git a/.gitignore b/.gitignore index 5952cfd..7d76bbd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ *.exe -resumic \ No newline at end of file +/resumic diff --git a/theme/defaults/orbit/layouts/resumic/single.html b/theme/defaults/orbit/layouts/resumic/single.html new file mode 100644 index 0000000..b8aef92 --- /dev/null +++ b/theme/defaults/orbit/layouts/resumic/single.html @@ -0,0 +1,52 @@ +{{- $resume := index $.Site.Data.resumic .File.BaseFileName -}} + + + + + {{ with $resume.personal.name }} {{ . }} {{ end }} resume + + + + + + + + + + + + + + + + + + + + +
+ + +
+ {{ partial "summary" $resume }} + {{ partial "experiences" $resume }} + {{ partial "projects" $resume }} + {{ partial "skills" $resume }} +
+
+ + + + + \ No newline at end of file