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/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
+
+
+
+
+
+
+
+
+
Developing and maintaining the company website using syna
+
+
+
+
+
+
+
+
+
+
+ Projects
+
+
+
+
- John Doe - Software Engineer
+
+
+
+
+
+
+ Skills & Proficiency
+
+
+
+
+
+
Web Development
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/schema.json b/schema.json
index ad509c7..bff64ed 100644
--- a/schema.json
+++ b/schema.json
@@ -220,8 +220,7 @@
"institution",
"area",
"studyType",
- "startDate",
- "endDate"
+ "startDate"
],
"type": "object"
},
@@ -271,7 +270,8 @@
}
},
"required": [
- "language"
+ "language",
+ "level"
],
"type": "object"
},
diff --git a/schema/schema.go b/schema/schema.go
index 6e7342d..43395e3 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"`
@@ -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 {
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 @@
+
\ 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 }}
+
+
+
+
+
+ {{ .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 . }}
+
+
+
+ {{ 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/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
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 0000000..1e7aaf5
Binary files /dev/null and b/theme/defaults/orbit/static/images/favicon.ico differ
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