No more duplicated themes

This commit is contained in:
2018-05-09 23:30:40 +02:00
parent 5d82dbf58b
commit 6bfd12756d
15 changed files with 286 additions and 2223 deletions

View File

@@ -51,6 +51,7 @@ func (ct *ResumeDate) UnmarshalJSON(b []byte) (err error) {
// Resume represent Curriculum Vitae
type Resume struct {
Title string `json:"title"`
Language string `json:"lang"`
Basic Basic `json:"basics"`
Work []Work `json:"work"`
Volunteer []Volunteer `json:"volunteer"`
@@ -66,19 +67,19 @@ type Resume struct {
// Basic is the basic information for a resume
type Basic struct {
Name string `json:"name"`
Label string `json:"label"`
Image string `json:"image"`
Email string `json:"email"`
Phone string `json:"phone"`
URL string `json:"url"`
Summary string `json:"summary"`
ResumeLocation Location `json:"location"`
Profiles []SocialProfile `json:"profiles"`
Name string `json:"name"`
Label string `json:"label"`
Image string `json:"image"`
Email string `json:"email"`
Phone string `json:"phone"`
URL string `json:"url"`
Summary string `json:"summary"`
Location UserLocation `json:"location"`
Profiles []SocialProfile `json:"profiles"`
}
// Location is the location details of a resume owner.
type Location struct {
type UserLocation struct {
Address string `json:"address"`
PostalCode string `json:"postalCode"`
City string `json:"city"`
@@ -93,35 +94,35 @@ type SocialProfile struct {
URL string `json:"url"`
}
type JobHighlight struct {
type Highlight struct {
Title string `json:"title"`
Items []string `json:"items"`
}
// Work is the work details of the resume owner.
type Work struct {
Name string `json:"name"`
WorkLocation string `json:"location"`
Description string `json:"description"`
Position string `json:"position"`
URL string `json:"url"`
StartDate ResumeDate `json:"startDate"`
EndDate ResumeDate `json:"endDate"`
Summary string `json:"summary"`
Highlights []JobHighlight `json:"highlights"`
Keywords []string `json:"keywords"`
Name string `json:"name"`
Location string `json:"location"`
Description string `json:"description"`
Position string `json:"position"`
URL string `json:"url"`
StartDate ResumeDate `json:"startDate"`
EndDate ResumeDate `json:"endDate"`
Summary string `json:"summary"`
Highlights []Highlight `json:"highlights"`
Keywords []string `json:"keywords"`
}
// Volunteer is the volunteer details of the resume owner.
type Volunteer struct {
Organization string `json:"organization"`
Position string `json:"position"`
URL string `json:"url"`
StartDate ResumeDate `json:"startDate"`
EndDate ResumeDate `json:"endDate"`
Summary string `json:"summary"`
Highlights []string `json:"highlights"`
Keywords []string `json:"keywords"`
Organization string `json:"organization"`
Position string `json:"position"`
URL string `json:"url"`
StartDate ResumeDate `json:"startDate"`
EndDate ResumeDate `json:"endDate"`
Summary string `json:"summary"`
Highlights []Highlight `json:"highlights"`
Keywords []string `json:"keywords"`
}
// Education is the education details of the resume owner.
@@ -179,16 +180,16 @@ type Reference struct {
// Volunteer is the volunteer details of the resume owner.
type Project struct {
Name string `json:"name"`
Description string `json:"description"`
Highlights []string `json:"highlights"`
Keywords []string `json:"keywords"`
StartDate ResumeDate `json:"startDate"`
EndDate ResumeDate `json:"endDate"`
URL string `json:"url"`
Roles []string `json:"roles"`
Entity string `json:"entity"`
Type string `json:"type"`
Name string `json:"name"`
Description string `json:"description"`
Highlights []Highlight `json:"highlights"`
Keywords []string `json:"keywords"`
StartDate ResumeDate `json:"startDate"`
EndDate ResumeDate `json:"endDate"`
URL string `json:"url"`
Roles []string `json:"roles"`
Entity string `json:"entity"`
Type string `json:"type"`
}
func Parse(f string) (*Resume, error) {