From 7f291d30d87181a3528eb700dfa9f7ed3909c762 Mon Sep 17 00:00:00 2001 From: Sina Atalay Date: Tue, 6 Feb 2024 18:40:39 +0100 Subject: [PATCH] update schema.json --- docs/schema.json => schema.json | 1152 ++++++++++--------------------- 1 file changed, 364 insertions(+), 788 deletions(-) rename docs/schema.json => schema.json (60%) diff --git a/docs/schema.json b/schema.json similarity index 60% rename from docs/schema.json rename to schema.json index 02ebe7e..cde4cc7 100644 --- a/docs/schema.json +++ b/schema.json @@ -79,10 +79,10 @@ } ], "default": { + "top": "2 cm", "bottom": "2 cm", "left": "1.24 cm", - "right": "1.24 cm", - "top": "2 cm" + "right": "1.24 cm" }, "description": "Page margins for the classic theme.", "title": "Page Margins" @@ -94,8 +94,8 @@ } ], "default": { - "bottom": "0.2 cm", - "top": "0.2 cm" + "top": "0.2 cm", + "bottom": "0.2 cm" }, "description": "Section title margins for the classic theme.", "title": "Section Title Margins" @@ -120,8 +120,8 @@ } ], "default": { - "left": "0.4 cm", "top": "0.10 cm", + "left": "0.4 cm", "vertical_between_bullet_points": "0.10 cm" }, "description": "Highlights area margins for the classic theme.", @@ -134,8 +134,8 @@ } ], "default": { - "bottom": "0.2 cm", - "vertical_between_name_and_connections": "0.2 cm" + "vertical_between_name_and_connections": "0.2 cm", + "bottom": "0.2 cm" }, "description": "Header margins for the classic theme.", "title": "Header Margins" @@ -146,7 +146,44 @@ "additionalProperties": false }, "ClassicThemeOptions": { + "description": "", "properties": { + "theme": { + "const": "classic", + "title": "Theme" + }, + "font": { + "default": "SourceSans3", + "description": "The font of the CV.", + "enum": [ + "SourceSans3", + "Roboto", + "EBGaramond" + ], + "title": "Font", + "type": "string" + }, + "font_size": { + "default": "10pt", + "description": "The font size of the CV. It can be 10pt, 11pt, or 12pt.", + "enum": [ + "10pt", + "11pt", + "12pt" + ], + "title": "Font Size", + "type": "string" + }, + "page_size": { + "default": "a4paper", + "description": "The page size of the CV. It can be a4paper or letterpaper.", + "enum": [ + "a4paper", + "letterpaper" + ], + "title": "Page Size", + "type": "string" + }, "primary_color": { "default": "rgb(0,79,144)", "description": "The primary color of Classic Theme. It is used for the section titles, heading, and the links.\nThe color can be specified either with their [name](https://www.w3.org/TR/SVG11/types.html#ColorKeywords), hexadecimal value, RGB value, or HSL value.", @@ -206,19 +243,6 @@ } ], "default": { - "entry_area": { - "left_and_right": "0.2 cm", - "vertical_between": "0.12 cm" - }, - "header": { - "bottom": "0.2 cm", - "vertical_between_name_and_connections": "0.2 cm" - }, - "highlights_area": { - "left": "0.4 cm", - "top": "0.10 cm", - "vertical_between_bullet_points": "0.10 cm" - }, "page": { "bottom": "2 cm", "left": "1.24 cm", @@ -228,12 +252,28 @@ "section_title": { "bottom": "0.2 cm", "top": "0.2 cm" + }, + "entry_area": { + "left_and_right": "0.2 cm", + "vertical_between": "0.12 cm" + }, + "highlights_area": { + "left": "0.4 cm", + "top": "0.10 cm", + "vertical_between_bullet_points": "0.10 cm" + }, + "header": { + "bottom": "0.2 cm", + "vertical_between_name_and_connections": "0.2 cm" } }, "description": "Page, section title, entry field, and highlights field margins.", "title": "Margins" } }, + "required": [ + "theme" + ], "title": "ClassicThemeOptions", "type": "object", "additionalProperties": false @@ -295,6 +335,8 @@ "additionalProperties": false }, "CurriculumVitae": { + "additionalProperties": false, + "description": "This class is the data model of the CV.", "properties": { "name": { "description": "The name of the person.", @@ -337,6 +379,7 @@ "title": "Phone", "allOf": [ { + "format": "phone", "maxLength": 64, "minLength": 7, "type": "string" @@ -368,251 +411,18 @@ } ] }, - "summary": { - "default": null, - "description": "The summary of the person.", - "title": "Summary", - "allOf": [ - { - "type": "string" - } - ] - }, - "section_order": { - "default": null, - "description": "The order of sections in the CV. The section title should be used.", - "title": "Section Order", - "allOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - } - ] - }, - "education": { - "default": null, - "description": "The education entries of the person.", - "title": "Education", - "allOf": [ - { - "items": { - "$ref": "#/$defs/EducationEntry" - }, - "type": "array" - } - ] - }, - "experience": { - "default": null, - "description": "The experience entries of the person.", - "title": "Experience", - "allOf": [ - { - "items": { - "$ref": "#/$defs/ExperienceEntry" - }, - "type": "array" - } - ] - }, - "work_experience": { - "default": null, - "description": "The work experience entries of the person.", - "title": "Work Experience", - "allOf": [ - { - "items": { - "$ref": "#/$defs/ExperienceEntry" - }, - "type": "array" - } - ] - }, - "projects": { - "default": null, - "description": "The project entries of the person.", - "title": "Projects", - "allOf": [ - { - "items": { - "$ref": "#/$defs/NormalEntry" - }, - "type": "array" - } - ] - }, - "academic_projects": { - "default": null, - "description": "The academic project entries of the person.", - "title": "Academic Projects", - "allOf": [ - { - "items": { - "$ref": "#/$defs/NormalEntry" - }, - "type": "array" - } - ] - }, - "university_projects": { - "default": null, - "description": "The university project entries of the person.", - "title": "University Projects", - "allOf": [ - { - "items": { - "$ref": "#/$defs/NormalEntry" - }, - "type": "array" - } - ] - }, - "personal_projects": { - "default": null, - "description": "The personal project entries of the person.", - "title": "Personal Projects", - "allOf": [ - { - "items": { - "$ref": "#/$defs/NormalEntry" - }, - "type": "array" - } - ] - }, - "publications": { - "default": null, - "description": "The publication entries of the person.", - "title": "Publications", - "allOf": [ - { - "items": { - "$ref": "#/$defs/PublicationEntry" - }, - "type": "array" - } - ] - }, - "certificates": { - "default": null, - "description": "The certificate entries of the person.", - "title": "Certificates", - "allOf": [ - { - "items": { - "$ref": "#/$defs/NormalEntry" - }, - "type": "array" - } - ] - }, - "extracurricular_activities": { - "default": null, - "description": "The extracurricular activity entries of the person.", - "title": "Extracurricular Activities", - "allOf": [ - { - "items": { - "$ref": "#/$defs/ExperienceEntry" - }, - "type": "array" - } - ] - }, - "test_scores": { - "default": null, - "description": "The test score entries of the person.", - "title": "Test Scores", - "allOf": [ - { - "items": { - "$ref": "#/$defs/OneLineEntry" - }, - "type": "array" - } - ] - }, - "programming_skills": { - "default": null, - "description": "The programming skill entries of the person.", - "title": "Programming Skills", - "allOf": [ - { - "items": { - "$ref": "#/$defs/NormalEntry" - }, - "type": "array" - } - ] - }, - "skills": { - "default": null, - "description": "The skill entries of the person.", - "title": "Skills", - "allOf": [ - { - "items": { - "$ref": "#/$defs/OneLineEntry" - }, - "type": "array" - } - ] - }, - "other_skills": { - "default": null, - "description": "The skill entries of the person.", - "title": "Skills", - "allOf": [ - { - "items": { - "$ref": "#/$defs/OneLineEntry" - }, - "type": "array" - } - ] - }, - "awards": { - "default": null, - "description": "The award entries of the person.", - "title": "Awards", - "allOf": [ - { - "items": { - "$ref": "#/$defs/OneLineEntry" - }, - "type": "array" - } - ] - }, - "interests": { - "default": null, - "description": "The interest entries of the person.", - "title": "Interests", - "allOf": [ - { - "items": { - "$ref": "#/$defs/OneLineEntry" - }, - "type": "array" - } - ] - }, - "custom_sections": { - "default": null, - "description": "Custom sections with custom section titles can be rendered as well.", - "title": "Custom Sections", - "allOf": [ - { - "items": { + "sections": { + "additionalProperties": { + "anyOf": [ + { "discriminator": { "mapping": { "EducationEntry": "#/$defs/SectionWithEducationEntries", "ExperienceEntry": "#/$defs/SectionWithExperienceEntries", "NormalEntry": "#/$defs/SectionWithNormalEntries", "OneLineEntry": "#/$defs/SectionWithOneLineEntries", - "PublicationEntry": "#/$defs/SectionWithPublicationEntries" + "PublicationEntry": "#/$defs/SectionWithPublicationEntries", + "TextEntry": "#/$defs/SectionWithTextEntries" }, "propertyName": "entry_type" }, @@ -631,133 +441,126 @@ }, { "$ref": "#/$defs/SectionWithPublicationEntries" + }, + { + "$ref": "#/$defs/SectionWithTextEntries" } ] }, - "type": "array" - } - ] + { + "items": { + "anyOf": [ + { + "$ref": "#/$defs/EducationEntry" + }, + { + "$ref": "#/$defs/ExperienceEntry" + }, + { + "$ref": "#/$defs/PublicationEntry" + }, + { + "$ref": "#/$defs/NormalEntry" + }, + { + "$ref": "#/$defs/OneLineEntry" + }, + { + "type": "string" + } + ] + }, + "type": "array" + } + ] + }, + "default": null, + "description": "The sections of the CV.", + "title": "Sections", + "type": "object" } }, "required": [ "name" ], "title": "CurriculumVitae", - "type": "object", - "additionalProperties": false - }, - "Design": { - "properties": { - "theme": { - "const": "classic", - "default": "classic", - "description": "The only option is \"Classic\" for now.", - "title": "Theme name" - }, - "font": { - "default": "SourceSans3", - "description": "The font of the CV.", - "enum": [ - "SourceSans3", - "Roboto", - "EBGaramond" - ], - "title": "Font", - "type": "string" - }, - "font_size": { - "default": "10pt", - "description": "The font size of the CV. It can be 10pt, 11pt, or 12pt.", - "enum": [ - "10pt", - "11pt", - "12pt" - ], - "title": "Font Size", - "type": "string" - }, - "page_size": { - "default": "a4paper", - "description": "The page size of the CV. It can be a4paper or letterpaper.", - "enum": [ - "a4paper", - "letterpaper" - ], - "title": "Page Size", - "type": "string" - }, - "options": { - "default": null, - "description": "The options of the theme.", - "title": "Theme Options", - "allOf": [ - { - "$ref": "#/$defs/ClassicThemeOptions" - } - ] - } - }, - "title": "Design", - "type": "object", - "additionalProperties": false + "type": "object" }, "EducationEntry": { + "additionalProperties": false, + "description": "This class is the data model of `EducationEntry`.", "properties": { "start_date": { "default": null, - "description": "The start date of the event in YYYY-MM-DD format.", + "description": "The start date of the event in YYYY-MM-DD, YYYY-MM, or YYYY format.", "examples": [ "2020-09-24" ], "title": "Start Date", - "allOf": [ + "oneOf": [ { - "pattern": "\\d{4}-?(\\d{2})?-?(\\d{2})?", + "type": "integer" + }, + { + "pattern": "\\d{4}-\\d{2}(-\\d{2})?", "type": "string" + }, + { + "type": "null" } ] }, "end_date": { + "default": null, + "description": "The end date of the event in YYYY-MM-DD, YYYY-MM, or YYYY format. If the event is still ongoing, then type \"present\" or provide only the start date.", + "examples": [ + "2020-09-24", + "present" + ], + "title": "End Date", "oneOf": [ { "const": "present" }, { - "pattern": "\\d{4}-?(\\d{2})?-?(\\d{2})?", + "type": "integer" + }, + { + "pattern": "\\d{4}-\\d{2}(-\\d{2})?", "type": "string" }, { "type": "null" } - ], - "default": null, - "description": "The end date of the event in YYYY-MM-DD format. If the event is still ongoing, then the value should be \"present\".", - "examples": [ - "2020-09-24", - "present" - ], - "title": "End Date" + ] }, "date": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], "default": null, "description": "If the event is a one-day event, then this field should be filled in YYYY-MM-DD format. If the event is a multi-day event, then the start date and end date should be provided instead. All of them can't be provided at the same time.", "examples": [ "2020-09-24", "My Custom Date" ], - "title": "Date" + "title": "Date", + "oneOf": [ + { + "pattern": "\\d{4}-\\d{2}(-\\d{2})?", + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "string" + }, + { + "type": "null" + } + ] }, "highlights": { - "default": [], - "description": "The highlights of the event. It will be rendered as bullet points.", + "default": null, + "description": "The highlights of the event as a list of strings.", "examples": [ "Did this.", "Did that." @@ -774,7 +577,7 @@ }, "location": { "default": null, - "description": "The location of the event. It will be shown with the date in the same column.", + "description": "The location of the event.", "examples": [ "Istanbul, Turkey" ], @@ -797,6 +600,15 @@ } ] }, + "url_text": { + "default": null, + "title": "Url Text", + "allOf": [ + { + "type": "string" + } + ] + }, "institution": { "description": "The institution name. It will be shown as bold text.", "examples": [ @@ -810,7 +622,7 @@ "title": "Area", "type": "string" }, - "study_type": { + "degree": { "default": null, "description": "The type of the degree.", "examples": [ @@ -819,44 +631,12 @@ "PhD", "MS" ], - "title": "Study Type", + "title": "Degree", "allOf": [ { "type": "string" } ] - }, - "gpa": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The GPA of the degree.", - "title": "GPA" - }, - "transcript_url": { - "default": null, - "description": "The URL of the transcript. It will be shown as a link next to the GPA.", - "examples": [ - "https://example.com/transcript.pdf" - ], - "title": "Transcript URL", - "allOf": [ - { - "format": "uri", - "maxLength": 2083, - "minLength": 1, - "type": "string" - } - ] } }, "required": [ @@ -864,66 +644,83 @@ "area" ], "title": "EducationEntry", - "type": "object", - "additionalProperties": false + "type": "object" }, "ExperienceEntry": { + "additionalProperties": false, + "description": "This class is the data model of `ExperienceEntry`.", "properties": { "start_date": { "default": null, - "description": "The start date of the event in YYYY-MM-DD format.", + "description": "The start date of the event in YYYY-MM-DD, YYYY-MM, or YYYY format.", "examples": [ "2020-09-24" ], "title": "Start Date", - "allOf": [ + "oneOf": [ { - "pattern": "\\d{4}-?(\\d{2})?-?(\\d{2})?", + "type": "integer" + }, + { + "pattern": "\\d{4}-\\d{2}(-\\d{2})?", "type": "string" + }, + { + "type": "null" } ] }, "end_date": { + "default": null, + "description": "The end date of the event in YYYY-MM-DD, YYYY-MM, or YYYY format. If the event is still ongoing, then type \"present\" or provide only the start date.", + "examples": [ + "2020-09-24", + "present" + ], + "title": "End Date", "oneOf": [ { "const": "present" }, { - "pattern": "\\d{4}-?(\\d{2})?-?(\\d{2})?", + "type": "integer" + }, + { + "pattern": "\\d{4}-\\d{2}(-\\d{2})?", "type": "string" }, { "type": "null" } - ], - "default": null, - "description": "The end date of the event in YYYY-MM-DD format. If the event is still ongoing, then the value should be \"present\".", - "examples": [ - "2020-09-24", - "present" - ], - "title": "End Date" + ] }, "date": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], "default": null, "description": "If the event is a one-day event, then this field should be filled in YYYY-MM-DD format. If the event is a multi-day event, then the start date and end date should be provided instead. All of them can't be provided at the same time.", "examples": [ "2020-09-24", "My Custom Date" ], - "title": "Date" + "title": "Date", + "oneOf": [ + { + "pattern": "\\d{4}-\\d{2}(-\\d{2})?", + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "string" + }, + { + "type": "null" + } + ] }, "highlights": { - "default": [], - "description": "The highlights of the event. It will be rendered as bullet points.", + "default": null, + "description": "The highlights of the event as a list of strings.", "examples": [ "Did this.", "Did that." @@ -940,7 +737,7 @@ }, "location": { "default": null, - "description": "The location of the event. It will be shown with the date in the same column.", + "description": "The location of the event.", "examples": [ "Istanbul, Turkey" ], @@ -963,6 +760,15 @@ } ] }, + "url_text": { + "default": null, + "title": "Url Text", + "allOf": [ + { + "type": "string" + } + ] + }, "company": { "description": "The company name. It will be shown as bold text.", "title": "Company", @@ -979,66 +785,83 @@ "position" ], "title": "ExperienceEntry", - "type": "object", - "additionalProperties": false + "type": "object" }, "NormalEntry": { + "additionalProperties": false, + "description": "This class is the data model of `NormalEntry`.", "properties": { "start_date": { "default": null, - "description": "The start date of the event in YYYY-MM-DD format.", + "description": "The start date of the event in YYYY-MM-DD, YYYY-MM, or YYYY format.", "examples": [ "2020-09-24" ], "title": "Start Date", - "allOf": [ + "oneOf": [ { - "pattern": "\\d{4}-?(\\d{2})?-?(\\d{2})?", + "type": "integer" + }, + { + "pattern": "\\d{4}-\\d{2}(-\\d{2})?", "type": "string" + }, + { + "type": "null" } ] }, "end_date": { + "default": null, + "description": "The end date of the event in YYYY-MM-DD, YYYY-MM, or YYYY format. If the event is still ongoing, then type \"present\" or provide only the start date.", + "examples": [ + "2020-09-24", + "present" + ], + "title": "End Date", "oneOf": [ { "const": "present" }, { - "pattern": "\\d{4}-?(\\d{2})?-?(\\d{2})?", + "type": "integer" + }, + { + "pattern": "\\d{4}-\\d{2}(-\\d{2})?", "type": "string" }, { "type": "null" } - ], - "default": null, - "description": "The end date of the event in YYYY-MM-DD format. If the event is still ongoing, then the value should be \"present\".", - "examples": [ - "2020-09-24", - "present" - ], - "title": "End Date" + ] }, "date": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], "default": null, "description": "If the event is a one-day event, then this field should be filled in YYYY-MM-DD format. If the event is a multi-day event, then the start date and end date should be provided instead. All of them can't be provided at the same time.", "examples": [ "2020-09-24", "My Custom Date" ], - "title": "Date" + "title": "Date", + "oneOf": [ + { + "pattern": "\\d{4}-\\d{2}(-\\d{2})?", + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "string" + }, + { + "type": "null" + } + ] }, "highlights": { - "default": [], - "description": "The highlights of the event. It will be rendered as bullet points.", + "default": null, + "description": "The highlights of the event as a list of strings.", "examples": [ "Did this.", "Did that." @@ -1055,7 +878,7 @@ }, "location": { "default": null, - "description": "The location of the event. It will be shown with the date in the same column.", + "description": "The location of the event.", "examples": [ "Istanbul, Turkey" ], @@ -1078,6 +901,15 @@ } ] }, + "url_text": { + "default": null, + "title": "Url Text", + "allOf": [ + { + "type": "string" + } + ] + }, "name": { "description": "The name of the entry. It will be shown as bold text.", "title": "Name", @@ -1088,105 +920,12 @@ "name" ], "title": "NormalEntry", - "type": "object", - "additionalProperties": false + "type": "object" }, "OneLineEntry": { + "additionalProperties": false, + "description": "This class is the data model of `OneLineEntry`.", "properties": { - "start_date": { - "default": null, - "description": "The start date of the event in YYYY-MM-DD format.", - "examples": [ - "2020-09-24" - ], - "title": "Start Date", - "allOf": [ - { - "pattern": "\\d{4}-?(\\d{2})?-?(\\d{2})?", - "type": "string" - } - ] - }, - "end_date": { - "oneOf": [ - { - "const": "present" - }, - { - "pattern": "\\d{4}-?(\\d{2})?-?(\\d{2})?", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The end date of the event in YYYY-MM-DD format. If the event is still ongoing, then the value should be \"present\".", - "examples": [ - "2020-09-24", - "present" - ], - "title": "End Date" - }, - "date": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "If the event is a one-day event, then this field should be filled in YYYY-MM-DD format. If the event is a multi-day event, then the start date and end date should be provided instead. All of them can't be provided at the same time.", - "examples": [ - "2020-09-24", - "My Custom Date" - ], - "title": "Date" - }, - "highlights": { - "default": [], - "description": "The highlights of the event. It will be rendered as bullet points.", - "examples": [ - "Did this.", - "Did that." - ], - "title": "Highlights", - "allOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - } - ] - }, - "location": { - "default": null, - "description": "The location of the event. It will be shown with the date in the same column.", - "examples": [ - "Istanbul, Turkey" - ], - "title": "Location", - "allOf": [ - { - "type": "string" - } - ] - }, - "url": { - "default": null, - "title": "Url", - "allOf": [ - { - "format": "uri", - "maxLength": 2083, - "minLength": 1, - "type": "string" - } - ] - }, "name": { "description": "The name of the entry. It will be shown as bold text.", "title": "Name", @@ -1203,96 +942,12 @@ "details" ], "title": "OneLineEntry", - "type": "object", - "additionalProperties": false + "type": "object" }, "PublicationEntry": { + "additionalProperties": false, + "description": "This class is the data model of `PublicationEntry`.", "properties": { - "start_date": { - "default": null, - "description": "The start date of the event in YYYY-MM-DD format.", - "examples": [ - "2020-09-24" - ], - "title": "Start Date", - "allOf": [ - { - "pattern": "\\d{4}-?(\\d{2})?-?(\\d{2})?", - "type": "string" - } - ] - }, - "end_date": { - "oneOf": [ - { - "const": "present" - }, - { - "pattern": "\\d{4}-?(\\d{2})?-?(\\d{2})?", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The end date of the event in YYYY-MM-DD format. If the event is still ongoing, then the value should be \"present\".", - "examples": [ - "2020-09-24", - "present" - ], - "title": "End Date" - }, - "date": { - "description": "The date of the publication.", - "examples": [ - "2021-10-31" - ], - "title": "Publication Date", - "type": "string" - }, - "highlights": { - "default": [], - "description": "The highlights of the event. It will be rendered as bullet points.", - "examples": [ - "Did this.", - "Did that." - ], - "title": "Highlights", - "allOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - } - ] - }, - "location": { - "default": null, - "description": "The location of the event. It will be shown with the date in the same column.", - "examples": [ - "Istanbul, Turkey" - ], - "title": "Location", - "allOf": [ - { - "type": "string" - } - ] - }, - "url": { - "default": null, - "title": "Url", - "allOf": [ - { - "format": "uri", - "maxLength": 2083, - "minLength": 1, - "type": "string" - } - ] - }, "title": { "description": "The title of the publication. It will be shown as bold text.", "title": "Title of the Publication", @@ -1314,13 +969,20 @@ "title": "DOI", "type": "string" }, - "cited_by": { - "default": null, - "description": "The number of citations of the publication.", - "title": "Cited By", - "allOf": [ + "date": { + "description": "The date of the publication in YYYY-MM-DD, YYYY-MM, or YYYY format.", + "examples": [ + "2021-10-31", + "2010" + ], + "title": "Publication Date", + "oneOf": [ { "type": "integer" + }, + { + "pattern": "\\d{4}-\\d{2}(-\\d{2})?", + "type": "string" } ] }, @@ -1336,33 +998,21 @@ } }, "required": [ - "date", "title", "authors", - "doi" + "doi", + "date" ], "title": "PublicationEntry", - "type": "object", - "additionalProperties": false + "type": "object" }, "SectionWithEducationEntries": { + "additionalProperties": false, + "description": "This class is the data model of the section with `EducationEntry`s.", "properties": { "title": { - "description": "The title of the section.", - "examples": [ - "My Custom Section" - ], - "title": "Section Title", - "type": "string" - }, - "link_text": { "default": null, - "description": "If the section has a link, then what should be the text of the link? If this field is not provided, then the link text will be generated automatically based on the URL.", - "examples": [ - "view on GitHub", - "view on LinkedIn" - ], - "title": "Link Text", + "title": "Title", "allOf": [ { "type": "string" @@ -1384,32 +1034,19 @@ } }, "required": [ - "title", "entry_type", "entries" ], "title": "SectionWithEducationEntries", - "type": "object", - "additionalProperties": false + "type": "object" }, "SectionWithExperienceEntries": { + "additionalProperties": false, + "description": "This class is the data model of the section with `ExperienceEntry`s.", "properties": { "title": { - "description": "The title of the section.", - "examples": [ - "My Custom Section" - ], - "title": "Section Title", - "type": "string" - }, - "link_text": { "default": null, - "description": "If the section has a link, then what should be the text of the link? If this field is not provided, then the link text will be generated automatically based on the URL.", - "examples": [ - "view on GitHub", - "view on LinkedIn" - ], - "title": "Link Text", + "title": "Title", "allOf": [ { "type": "string" @@ -1431,32 +1068,19 @@ } }, "required": [ - "title", "entry_type", "entries" ], "title": "SectionWithExperienceEntries", - "type": "object", - "additionalProperties": false + "type": "object" }, "SectionWithNormalEntries": { + "additionalProperties": false, + "description": "This class is the data model of the section with `NormalEntry`s.", "properties": { "title": { - "description": "The title of the section.", - "examples": [ - "My Custom Section" - ], - "title": "Section Title", - "type": "string" - }, - "link_text": { "default": null, - "description": "If the section has a link, then what should be the text of the link? If this field is not provided, then the link text will be generated automatically based on the URL.", - "examples": [ - "view on GitHub", - "view on LinkedIn" - ], - "title": "Link Text", + "title": "Title", "allOf": [ { "type": "string" @@ -1478,32 +1102,19 @@ } }, "required": [ - "title", "entry_type", "entries" ], "title": "SectionWithNormalEntries", - "type": "object", - "additionalProperties": false + "type": "object" }, "SectionWithOneLineEntries": { + "additionalProperties": false, + "description": "This class is the data model of the section with `OneLineEntry`s.", "properties": { "title": { - "description": "The title of the section.", - "examples": [ - "My Custom Section" - ], - "title": "Section Title", - "type": "string" - }, - "link_text": { "default": null, - "description": "If the section has a link, then what should be the text of the link? If this field is not provided, then the link text will be generated automatically based on the URL.", - "examples": [ - "view on GitHub", - "view on LinkedIn" - ], - "title": "Link Text", + "title": "Title", "allOf": [ { "type": "string" @@ -1525,32 +1136,19 @@ } }, "required": [ - "title", "entry_type", "entries" ], "title": "SectionWithOneLineEntries", - "type": "object", - "additionalProperties": false + "type": "object" }, "SectionWithPublicationEntries": { + "additionalProperties": false, + "description": "This class is the data model of the section with `PublicationEntry`s.", "properties": { "title": { - "description": "The title of the section.", - "examples": [ - "My Custom Section" - ], - "title": "Section Title", - "type": "string" - }, - "link_text": { "default": null, - "description": "If the section has a link, then what should be the text of the link? If this field is not provided, then the link text will be generated automatically based on the URL.", - "examples": [ - "view on GitHub", - "view on LinkedIn" - ], - "title": "Link Text", + "title": "Title", "allOf": [ { "type": "string" @@ -1572,15 +1170,49 @@ } }, "required": [ - "title", "entry_type", "entries" ], "title": "SectionWithPublicationEntries", - "type": "object", - "additionalProperties": false + "type": "object" + }, + "SectionWithTextEntries": { + "additionalProperties": false, + "description": "This class is the data model of the section with `TextEntry`s.", + "properties": { + "title": { + "default": null, + "title": "Title", + "allOf": [ + { + "type": "string" + } + ] + }, + "entry_type": { + "const": "TextEntry", + "description": "The type of the entries in the section.", + "title": "Entry Type" + }, + "entries": { + "description": "The entries of the section. The format depends on the entry type.", + "items": { + "type": "string" + }, + "title": "Entries", + "type": "array" + } + }, + "required": [ + "entry_type", + "entries" + ], + "title": "SectionWithTextEntries", + "type": "object" }, "SocialNetwork": { + "additionalProperties": false, + "description": "This class is the data model of a social network.", "properties": { "network": { "description": "The social network name.", @@ -1588,7 +1220,9 @@ "LinkedIn", "GitHub", "Instagram", - "Orcid" + "Orcid", + "Mastodon", + "Twitter" ], "title": "Social Network", "type": "string" @@ -1604,100 +1238,42 @@ "username" ], "title": "SocialNetwork", - "type": "object", - "additionalProperties": false + "type": "object" } }, + "additionalProperties": false, + "description": "RenderCV data model.", "properties": { - "design": { - "allOf": [ - { - "$ref": "#/$defs/Design" - } - ], - "default": { - "font": "SourceSans3", - "font_size": "10pt", - "options": { - "date_and_location_width": "4.1 cm", - "header_font_size": "30 pt", - "margins": { - "entry_area": { - "left_and_right": "0.2 cm", - "vertical_between": "0.12 cm" - }, - "header": { - "bottom": "0.2 cm", - "vertical_between_name_and_connections": "0.2 cm" - }, - "highlights_area": { - "left": "0.4 cm", - "top": "0.10 cm", - "vertical_between_bullet_points": "0.10 cm" - }, - "page": { - "bottom": "2 cm", - "left": "1.24 cm", - "right": "1.24 cm", - "top": "2 cm" - }, - "section_title": { - "bottom": "0.2 cm", - "top": "0.2 cm" - } - }, - "primary_color": "#004f90", - "show_last_updated_date": true, - "show_timespan_in": [], - "text_alignment": "left-aligned" - }, - "page_size": "a4paper", - "theme": "classic" - }, - "description": "The design of the CV.", - "title": "Design" - }, "cv": { "allOf": [ { "$ref": "#/$defs/CurriculumVitae" } ], - "default": { - "academic_projects": null, - "awards": null, - "certificates": null, - "connections": [], - "custom_sections": null, - "education": null, - "email": null, - "experience": null, - "extracurricular_activities": null, - "interests": null, - "label": null, - "location": null, - "name": "John Doe", - "other_skills": null, - "personal_projects": null, - "phone": null, - "programming_skills": null, - "projects": null, - "publications": null, - "section_order": null, - "sections": [], - "skills": null, - "social_networks": null, - "summary": null, - "test_scores": null, - "university_projects": null, - "website": null, - "work_experience": null - }, "description": "The data of the CV.", "title": "Curriculum Vitae" + }, + "design": { + "description": "The design information of the CV.", + "discriminator": { + "mapping": { + "classic": "#/$defs/ClassicThemeOptions" + }, + "propertyName": "theme" + }, + "oneOf": [ + { + "$ref": "#/$defs/ClassicThemeOptions" + } + ], + "title": "Design" } }, - "title": "RenderCV Input", + "required": [ + "cv", + "design" + ], + "title": "RenderCV", "type": "object", "$id": "https://raw.githubusercontent.com/sinaatalay/rendercv/main/schema.json", "$schema": "http://json-schema.org/draft-07/schema#"