cvbuilder

package
v0.0.0-...-f1fd0e3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2023 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TemplatesDir               = "templates"
	CVTemplateName             = "cv.html.tmpl"
	JobApplicationTemplateName = "job_application.html.tmpl"

	ContentDir                = "content"
	JobApplicationsContentDir = "content/applications"
	CVYAMLFileName            = "cv"
	PersonalInfoYAMLFileName  = "personal_info"

	OutputDir                = "output"
	JobApplicationsOutputDir = "output/applications"

	CSSFileName = "styles.css"
)

Variables

This section is empty.

Functions

func BuildCV

func BuildCV(language string) (outputPath string, err error)

func BuildJobApplication

func BuildJobApplication(applicationName string, language string) (outputPath string, err error)

Types

type CV

type CV struct {
	EducationHeader              string      `yaml:"educationHeader"              validate:"required"`
	Education                    []Education `yaml:"education"                    validate:"required,dive"`
	EducationSpecializationLabel string      `yaml:"educationSpecializationLabel" validate:"required"`

	WorkExperienceHeader         string           `yaml:"workExperienceHeader"         validate:"required"`
	WorkExperience               []WorkExperience `yaml:"workExperience"               validate:"required,dive"`
	WorkExperienceReferenceLabel string           `yaml:"workExperienceReferenceLabel" validate:"required"`
}

type CVTemplate

type CVTemplate struct {
	CV
	PersonalInfo PersonalInfo
}

type Education

type Education struct {
	StudyProgram   string `yaml:"studyProgram"   validate:"required"`
	School         string `yaml:"school"         validate:"required"`
	Time           string `yaml:"time"           validate:"required"`
	Specialization string `yaml:"specialization" validate:"required"`
	ImagePath      string `yaml:"imagePath"      validate:"required,filepath"`
}

type JobApplicationTemplate

type JobApplicationTemplate struct {
	Application  template.HTML
	PersonalInfo PersonalInfo
}

type PersonalInfo

type PersonalInfo struct {
	Name        string `yaml:"name"        validate:"required"`
	Email       string `yaml:"email"       validate:"required,email"`
	PhoneNumber string `yaml:"phoneNumber" validate:"required"`

	ProfilePicturePath string `yaml:"profilePicturePath" validate:"required,filepath"`
	SignatureImagePath string `yaml:"signatureImagePath" validate:"required,filepath"`
	SignaturePrefix    string `yaml:"signaturePrefix"    validate:"required"`

	Website struct {
		Text string `yaml:"text" validate:"required_with=Link"`
		Link string `yaml:"link" validate:"url,required_with=Text"`
	} `yaml:"website"` // Optional.
	GitHubLink   string `yaml:"githubLink"   validate:"url"` // Optional.
	LinkedInLink string `yaml:"linkedinLink" validate:"url"` // Optional.

	Age       string `yaml:"age"` // Optional only if Birthday and AgeSuffix are set.
	Birthday  string `yaml:"birthday"  validate:"required_without=Age,omitempty,datetime=2006-01-02"`
	AgeSuffix string `yaml:"ageSuffix" validate:"required_without=Age"`
}

type WorkExperience

type WorkExperience struct {
	Title        string                  `yaml:"title"        validate:"required"`
	Organization template.HTML           `yaml:"organization" validate:"required"`
	Time         string                  `yaml:"time"         validate:"required"`
	Description  template.HTML           `yaml:"description"  validate:"required"`
	ImagePath    string                  `yaml:"imagePath"    validate:"required,filepath"`
	Reference    WorkExperienceReference `yaml:"reference"    validate:"excluded_without=Reference.Name"` // Optional.
}

type WorkExperienceReference

type WorkExperienceReference struct {
	Name        string `yaml:"name"`
	Title       string `yaml:"title"       validate:"required_with=Name"`
	PhoneNumber string `yaml:"phoneNumber"`
	Email       string `yaml:"email"       validate:"omitempty,email"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL