ResumeProject

Struct ResumeProject 

Source
pub struct ResumeProject { /* private fields */ }

Implementations§

Source§

impl ResumeProject

Source

pub fn builder() -> ResumeProjectBuilder

Examples found in repository?
examples/example_template_resume.rs (line 55)
11fn generate_resume(output_filename: &str, output_directory: &str) -> Result<(), ResumeBuilderError> {
12    let contact_info = ContactInfo::builder()
13        .name("Your Name".to_string())
14        .email(Email::new("youremail@example.com".to_string()))
15        .linkedin(LinkedInInfo::new("https://www.linkedin.com/in/yourprofile".to_string()))
16        .github(GitHubInfo::new("https://github.com/yourprofile".to_string()))
17        .phone(PhoneNumber::new("Your Phone Number".to_string()))
18        .location("City, State, ZIP Code".to_string())
19        .build()
20        .expect("Failed to build ContactInfo");
21
22    let resume = ResumeBuilder::new()
23        .contact_info(contact_info)
24        .abstract_text("A brief summary about yourself, your skills, and your career goals.".to_string())
25        .work_experience(vec![
26            ResumeWorkExperience::builder()
27                .company("Company Name".to_string())
28                .location("Location".to_string())
29                .role("Role".to_string())
30                .dates(date_range!(start => (2020, 1, 1), end => (2021, 12, 31)))
31                .responsibilities(vec![
32                    "Responsibility or achievement 1".to_string(),
33                    "Responsibility or achievement 2".to_string(),
34                    "Responsibility or achievement 3".to_string(),
35                ])
36                .build(),
37            // Add more work experience as needed
38        ])
39        .education(vec![
40            ResumeEducationInfo::builder()
41                .institution("Institution Name".to_string())
42                .location("Location".to_string())
43                .degree("Degree Title".to_string())
44                .dates(date_range!(start => (2016, 9, 1), end => (2020, 6, 30)))
45                .build(),
46            // Add more education as needed
47        ])
48        .skills(vec![
49            skill!("Skill 1"),
50            skill!("Skill 2"),
51            skill!("Skill 3"),
52            skill!("Skill 4"),
53        ])
54        .projects(vec![
55            ResumeProject::builder()
56                .title("Project Title".to_string())
57                .dates(date_range!(start => (2019, 1, 1), end => (2019, 12, 31)))
58                .description(vec![
59                    "Description of the project and your role in it".to_string(),
60                ])
61                .build(),
62            ResumeProject::builder()
63                .title("Project2 Title".to_string())
64                .dates(date_range!(start => (2024, 1, 1), end => (2024, 12, 31)))
65                .description(vec![
66                    "Description of the second project and your role in it".to_string(),
67                ])
68                .build(),
69
70            ResumeProject::builder()
71                .title("Project3 Title".to_string())
72                .dates(date_range!(start => (2024, 3, 1), end => (2025, 12, 31)))
73                .description(vec![
74                    "Description of the third project and your role in it".to_string(),
75                ])
76                .build(),
77            // Add more projects as needed
78        ])
79        .certifications(vec![
80            ResumeCertification::builder()
81                .name("Certification Name".to_string())
82                .issuing_organization("First Issuing Organization".to_string())
83                .date(date!(2020, 6, 1))
84                .build(),
85            ResumeCertification::builder()
86                .name("Certification2 Name".to_string())
87                .issuing_organization("Second Issuing Organization".to_string())
88                .date(date!(2021, 8, 10))
89                .build(),
90            ResumeCertification::builder()
91                .name("Certification3 Name".to_string())
92                .issuing_organization("Third Issuing Organization".to_string())
93                .date(date!(2023, 2, 14))
94                .build(),
95            // Add more certifications as needed
96        ])
97        .languages(vec![
98            Language::new(LanguageName::English, ProficiencyLevel::Native),
99            // Add more languages as needed
100        ])
101        .interests(vec![
102            ResumeInterest::new("Interest 1".to_string()),
103            ResumeInterest::new("Interest 2".to_string()),
104            ResumeInterest::new("Interest 3".to_string()),
105            ResumeInterest::new("Interest 4".to_string()),
106        ])
107        .build()
108        .expect("Failed to build resume");
109
110    let latex_content = resume.latex();
111
112    let output_path = format!("{}/{}", output_directory, output_filename);
113
114    write_content(&latex_content, &output_path)?;
115
116    pdflatex(output_directory, &output_path)?;
117
118    println!("Resume LaTeX file generated and compiled successfully.");
119
120    Ok(())
121}
Source

pub fn new(title: String, dates: DateRange, description: Vec<String>) -> Self

Source

pub fn title(&self) -> &str

Source

pub fn dates(&self) -> &DateRange

Source

pub fn description(&self) -> &[String]

Trait Implementations§

Source§

impl Clone for ResumeProject

Source§

fn clone(&self) -> ResumeProject

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ResumeProject

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl LatexSectionItem for ResumeProject

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.