jsonresume-renderer 0.5.0

Generates a file from a JSON Resume and a template.
Documentation
pub mod schema {
    use chrono::NaiveDate;
    use serde::{Deserialize, Serialize};

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    pub struct JsonResume {
        basics: Basics,
        work: Option<Vec<Work>>,
        volunteer: Option<Vec<Volunteer>>,
        education: Option<Vec<Education>>,
        awards: Option<Vec<Award>>,
        certificates: Option<Vec<Certificate>>,
        publications: Option<Vec<Publication>>,
        skills: Option<Vec<Skill>>,
        languages: Option<Vec<Language>>,
        interests: Option<Vec<Interest>>,
        references: Option<Vec<Reference>>,
        projects: Option<Vec<Project>>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Basics {
        name: Option<String>,
        label: Option<String>,
        image: Option<String>,
        email: Option<String>,
        phone: Option<String>,
        url: Option<String>,
        summary: Option<String>,
        location: Location,
        profiles: Option<Vec<Profile>>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Profile {
        network: Option<String>,
        username: Option<String>,
        url: Option<String>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Location {
        address: Option<String>,
        postal_code: Option<String>,
        city: Option<String>,
        country_code: Option<String>,
        region: Option<String>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Work {
        name: Option<String>,
        position: Option<String>,
        url: Option<String>,
        start_date: Option<NaiveDate>,
        end_date: Option<NaiveDate>,
        summary: Option<String>,
        highlights: Option<Vec<String>>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Volunteer {
        organization: Option<String>,
        position: Option<String>,
        url: Option<String>,
        start_date: Option<NaiveDate>,
        end_date: Option<NaiveDate>,
        summary: Option<String>,
        highlights: Option<Vec<String>>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Education {
        institution: Option<String>,
        url: Option<String>,
        area: Option<String>,
        study_type: Option<String>,
        start_date: Option<NaiveDate>,
        end_date: Option<NaiveDate>,
        score: Option<String>,
        courses: Option<Vec<String>>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Award {
        title: Option<String>,
        date: Option<String>,
        awarder: Option<String>,
        summary: Option<String>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Certificate {
        name: Option<String>,
        date: Option<String>,
        issuer: Option<String>,
        url: Option<String>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Publication {
        name: Option<String>,
        publisher: Option<String>,
        release_date: Option<String>,
        url: Option<String>,
        summary: Option<String>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Skill {
        name: Option<String>,
        level: Option<String>,
        keywords: Option<Vec<String>>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Language {
        language: Option<String>,
        fluency: Option<String>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Interest {
        name: Option<String>,
        keywords: Option<Vec<String>>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Reference {
        name: Option<String>,
        reference: Option<String>,
    }

    #[derive(Debug, Serialize, Deserialize)]
    #[serde(rename_all = "camelCase")]
    struct Project {
        name: Option<String>,
        description: Option<String>,
        highlights: Option<Vec<String>>,
        keywords: Option<Vec<String>>,
        start_date: Option<NaiveDate>,
        end_date: Option<NaiveDate>,
        url: Option<String>,
        roles: Option<Vec<String>>,
        entity: Option<String>,
        #[serde(rename = "type")]
        kind: Option<String>,
    }
}