update schema.json

This commit is contained in:
Sina Atalay 2024-02-17 18:47:33 +01:00
parent 70ebe03511
commit 257b29889e
1 changed files with 392 additions and 311 deletions

View File

@ -1,172 +1,12 @@
{
"$defs": {
"ClassicThemeEntryAreaMargins": {
"properties": {
"left_and_right": {
"default": "0.2 cm",
"description": "The left margin of entry areas.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Left Margin",
"type": "string"
},
"vertical_between": {
"default": "0.12 cm",
"description": "The vertical margin between entry areas.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Vertical Margin Between Entry Areas",
"type": "string"
}
},
"title": "ClassicThemeEntryAreaMargins",
"type": "object",
"additionalProperties": false
},
"ClassicThemeHeaderMargins": {
"properties": {
"vertical_between_name_and_connections": {
"default": "0.2 cm",
"description": "The vertical margin between the name of the person and the connections.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Vertical Margin Between the Name and Connections",
"type": "string"
},
"bottom": {
"default": "0.2 cm",
"description": "The bottom margin of the header, i.e., the vertical margin between the connections and the first section title.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Bottom Margin",
"type": "string"
}
},
"title": "ClassicThemeHeaderMargins",
"type": "object",
"additionalProperties": false
},
"ClassicThemeHighlightsAreaMargins": {
"properties": {
"top": {
"default": "0.10 cm",
"description": "The top margin of highlights areas.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Top Margin",
"type": "string"
},
"left": {
"default": "0.4 cm",
"description": "The left margin of highlights areas.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Left Margin",
"type": "string"
},
"vertical_between_bullet_points": {
"default": "0.10 cm",
"description": "The vertical margin between bullet points.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Vertical Margin Between Bullet Points",
"type": "string"
}
},
"title": "ClassicThemeHighlightsAreaMargins",
"type": "object",
"additionalProperties": false
},
"ClassicThemeMargins": {
"properties": {
"page": {
"allOf": [
{
"$ref": "#/$defs/ClassicThemePageMargins"
}
],
"default": {
"top": "2 cm",
"bottom": "2 cm",
"left": "1.24 cm",
"right": "1.24 cm"
},
"description": "Page margins for the classic theme.",
"title": "Page Margins"
},
"section_title": {
"allOf": [
{
"$ref": "#/$defs/ClassicThemeSectionTitleMargins"
}
],
"default": {
"top": "0.2 cm",
"bottom": "0.2 cm"
},
"description": "Section title margins for the classic theme.",
"title": "Section Title Margins"
},
"entry_area": {
"allOf": [
{
"$ref": "#/$defs/ClassicThemeEntryAreaMargins"
}
],
"default": {
"left_and_right": "0.2 cm",
"vertical_between": "0.12 cm"
},
"description": "Entry area margins for the classic theme.",
"title": "Entry Area Margins"
},
"highlights_area": {
"allOf": [
{
"$ref": "#/$defs/ClassicThemeHighlightsAreaMargins"
}
],
"default": {
"top": "0.10 cm",
"left": "0.4 cm",
"vertical_between_bullet_points": "0.10 cm"
},
"description": "Highlights area margins for the classic theme.",
"title": "Highlights Area Margins"
},
"header": {
"allOf": [
{
"$ref": "#/$defs/ClassicThemeHeaderMargins"
}
],
"default": {
"vertical_between_name_and_connections": "0.2 cm",
"bottom": "0.2 cm"
},
"description": "Header margins for the classic theme.",
"title": "Header Margins"
}
},
"title": "ClassicThemeMargins",
"type": "object",
"additionalProperties": false
},
"ClassicThemeOptions": {
"additionalProperties": false,
"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.",
"description": "The font size of the CV. The default value is 10pt.",
"enum": [
"10pt",
"11pt",
@ -176,8 +16,8 @@
"type": "string"
},
"page_size": {
"default": "a4paper",
"description": "The page size of the CV. It can be a4paper or letterpaper.",
"default": "letterpaper",
"description": "The page size of the CV. It can be a4paper or letterpaper. The default value is letterpaper.",
"enum": [
"a4paper",
"letterpaper"
@ -185,9 +25,9 @@
"title": "Page Size",
"type": "string"
},
"primary_color": {
"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.",
"description": "The primary color of the theme. \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. The default value is rgb(0,79,144).",
"examples": [
"Black",
"7fffd4",
@ -198,16 +38,15 @@
"title": "Primary Color",
"type": "string"
},
"date_and_location_width": {
"default": "4.1 cm",
"description": "The width of the date and location column.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Date and Location Column Width",
"type": "string"
"disable_page_numbering": {
"default": false,
"description": "If this option is set to true, then the page numbering will be disabled. The default value is false.",
"title": "Disable Page Numbering",
"type": "boolean"
},
"text_alignment": {
"default": "left-aligned",
"description": "The alignment of the text.",
"default": "justified",
"description": "The alignment of the text. The default value is justified.",
"enum": [
"left-aligned",
"justified"
@ -217,7 +56,7 @@
},
"show_timespan_in": {
"default": [],
"description": "The time span will be shown in the date and location column in these sections. The input should be a list of strings.",
"description": "The time span will be shown in the date and location column in these sections. The input should be a list of section titles as strings (case-sensitive).",
"items": {
"type": "string"
},
@ -226,13 +65,13 @@
},
"show_last_updated_date": {
"default": true,
"description": "If this option is set to true, then the last updated date will be shown in the header.",
"description": "If this option is set to true, then the last updated date will be shown in the header. The default value is true.",
"title": "Show Last Updated Date",
"type": "boolean"
},
"header_font_size": {
"default": "30 pt",
"description": "The font size of the header (the name of the person).",
"description": "The font size of the header (the name of the person). The default value is 30 pt.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Header Font Size",
"type": "string"
@ -240,7 +79,7 @@
"margins": {
"allOf": [
{
"$ref": "#/$defs/ClassicThemeMargins"
"$ref": "#/$defs/Margins"
}
],
"default": {
@ -255,6 +94,7 @@
"top": "0.2 cm"
},
"entry_area": {
"date_and_location_width": "4.1 cm",
"left_and_right": "0.2 cm",
"vertical_between": "0.12 cm"
},
@ -265,11 +105,16 @@
},
"header": {
"bottom": "0.2 cm",
"horizontal_between_connections": "0.5 cm",
"vertical_between_name_and_connections": "0.2 cm"
}
},
"description": "Page, section title, entry field, and highlights field margins.",
"title": "Margins"
},
"theme": {
"const": "classic",
"title": "Theme"
}
},
"required": [
@ -278,62 +123,6 @@
"title": "ClassicThemeOptions",
"type": "object"
},
"ClassicThemePageMargins": {
"properties": {
"top": {
"default": "2 cm",
"description": "The top margin of the page with units.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Top Margin",
"type": "string"
},
"bottom": {
"default": "2 cm",
"description": "The bottom margin of the page with units.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Bottom Margin",
"type": "string"
},
"left": {
"default": "1.24 cm",
"description": "The left margin of the page with units.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Left Margin",
"type": "string"
},
"right": {
"default": "1.24 cm",
"description": "The right margin of the page with units.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Right Margin",
"type": "string"
}
},
"title": "ClassicThemePageMargins",
"type": "object",
"additionalProperties": false
},
"ClassicThemeSectionTitleMargins": {
"properties": {
"top": {
"default": "0.2 cm",
"description": "The top margin of section titles.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Top Margin",
"type": "string"
},
"bottom": {
"default": "0.2 cm",
"description": "The bottom margin of section titles.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Bottom Margin",
"type": "string"
}
},
"title": "ClassicThemeSectionTitleMargins",
"type": "object",
"additionalProperties": false
},
"CurriculumVitae": {
"additionalProperties": false,
"description": "This class is the data model of the CV.",
@ -467,7 +256,7 @@
"type": "integer"
},
{
"pattern": "\\d{4}-\\d{2}(-\\d{2})?",
"pattern": "\\d{4}(-\\d{2})?(-\\d{2})?",
"type": "string"
},
{
@ -491,7 +280,7 @@
"type": "integer"
},
{
"pattern": "\\d{4}-\\d{2}(-\\d{2})?",
"pattern": "\\d{4}(-\\d{2})?(-\\d{2})?",
"type": "string"
},
{
@ -583,6 +372,34 @@
"title": "EducationEntry",
"type": "object"
},
"EntryAreaMargins": {
"properties": {
"left_and_right": {
"default": "0.2 cm",
"description": "The left margin of entry areas. The default value is 0.2 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Left Margin",
"type": "string"
},
"vertical_between": {
"default": "0.12 cm",
"description": "The vertical margin between entry areas. The default value is 0.12 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Vertical Margin Between Entry Areas",
"type": "string"
},
"date_and_location_width": {
"default": "4.1 cm",
"description": "The width of the date and location column. The default value is 4.1 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Date and Location Column Width",
"type": "string"
}
},
"title": "EntryAreaMargins",
"type": "object",
"additionalProperties": false
},
"ExperienceEntry": {
"additionalProperties": false,
"description": "This class is the data model of `ExperienceEntry`.",
@ -599,7 +416,7 @@
"type": "integer"
},
{
"pattern": "\\d{4}-\\d{2}(-\\d{2})?",
"pattern": "\\d{4}(-\\d{2})?(-\\d{2})?",
"type": "string"
},
{
@ -623,7 +440,7 @@
"type": "integer"
},
{
"pattern": "\\d{4}-\\d{2}(-\\d{2})?",
"pattern": "\\d{4}(-\\d{2})?(-\\d{2})?",
"type": "string"
},
{
@ -699,20 +516,138 @@
"title": "ExperienceEntry",
"type": "object"
},
"McdowellThemeOptions": {
"additionalProperties": false,
"description": "",
"HeaderMargins": {
"properties": {
"theme": {
"const": "mcdowell",
"title": "Theme"
"vertical_between_name_and_connections": {
"default": "0.2 cm",
"description": "The vertical margin between the name of the person and the connections. The default value is 0.2 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Vertical Margin Between the Name and Connections",
"type": "string"
},
"bottom": {
"default": "0.2 cm",
"description": "The bottom margin of the header, i.e., the vertical margin between the connections and the first section title. The default value is 0.2 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Bottom Margin",
"type": "string"
},
"horizontal_between_connections": {
"default": "0.5 cm",
"description": "The space between the connections (like phone, email, and website). The default value is 0.5 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Space Between Connections",
"type": "string"
}
},
"required": [
"theme"
"title": "HeaderMargins",
"type": "object",
"additionalProperties": false
},
"HighlightsAreaMargins": {
"properties": {
"top": {
"default": "0.10 cm",
"description": "The top margin of highlights areas. The default value is 0.10 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Top Margin",
"type": "string"
},
"left": {
"default": "0.4 cm",
"description": "The left margin of highlights areas. The default value is 0.4 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Left Margin",
"type": "string"
},
"vertical_between_bullet_points": {
"default": "0.10 cm",
"description": "The vertical margin between bullet points. The default value is 0.10 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Vertical Margin Between Bullet Points",
"type": "string"
}
},
"title": "HighlightsAreaMargins",
"type": "object",
"additionalProperties": false
},
"Margins": {
"properties": {
"page": {
"allOf": [
{
"$ref": "#/$defs/PageMargins"
}
],
"title": "McdowellThemeOptions",
"type": "object"
"default": {
"top": "2 cm",
"bottom": "2 cm",
"left": "1.24 cm",
"right": "1.24 cm"
},
"description": "Page margins.",
"title": "Page Margins"
},
"section_title": {
"allOf": [
{
"$ref": "#/$defs/SectionTitleMargins"
}
],
"default": {
"top": "0.2 cm",
"bottom": "0.2 cm"
},
"description": "Section title margins.",
"title": "Section Title Margins"
},
"entry_area": {
"allOf": [
{
"$ref": "#/$defs/EntryAreaMargins"
}
],
"default": {
"left_and_right": "0.2 cm",
"vertical_between": "0.12 cm",
"date_and_location_width": "4.1 cm"
},
"description": "Entry area margins.",
"title": "Entry Area Margins"
},
"highlights_area": {
"allOf": [
{
"$ref": "#/$defs/HighlightsAreaMargins"
}
],
"default": {
"top": "0.10 cm",
"left": "0.4 cm",
"vertical_between_bullet_points": "0.10 cm"
},
"description": "Highlights area margins.",
"title": "Highlights Area Margins"
},
"header": {
"allOf": [
{
"$ref": "#/$defs/HeaderMargins"
}
],
"default": {
"vertical_between_name_and_connections": "0.2 cm",
"bottom": "0.2 cm",
"horizontal_between_connections": "0.5 cm"
},
"description": "Header margins.",
"title": "Header Margins"
}
},
"title": "Margins",
"type": "object",
"additionalProperties": false
},
"ModerncvThemeOptions": {
"additionalProperties": false,
@ -752,35 +687,6 @@
"title": "Page Size",
"type": "string"
},
"moderncv_style": {
"default": "classic",
"description": "The style of the moderncv theme. The default value is \"classic\".",
"examples": [
"casual",
"classic",
"banking",
"oldstyle",
"fancy"
],
"title": "ModernCV Style",
"oneOf": [
{
"const": "casual"
},
{
"const": "classic"
},
{
"const": "banking"
},
{
"const": "oldstyle"
},
{
"const": "fancy"
}
]
},
"color": {
"default": "blue",
"description": "The primary color of the CV. The default value is \"blue\".",
@ -870,7 +776,7 @@
"type": "integer"
},
{
"pattern": "\\d{4}-\\d{2}(-\\d{2})?",
"pattern": "\\d{4}(-\\d{2})?(-\\d{2})?",
"type": "string"
},
{
@ -894,7 +800,7 @@
"type": "integer"
},
{
"pattern": "\\d{4}-\\d{2}(-\\d{2})?",
"pattern": "\\d{4}(-\\d{2})?(-\\d{2})?",
"type": "string"
},
{
@ -986,6 +892,41 @@
"title": "OneLineEntry",
"type": "object"
},
"PageMargins": {
"properties": {
"top": {
"default": "2 cm",
"description": "The top margin of the page with units.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Top Margin",
"type": "string"
},
"bottom": {
"default": "2 cm",
"description": "The bottom margin of the page with units.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Bottom Margin",
"type": "string"
},
"left": {
"default": "1.24 cm",
"description": "The left margin of the page with units.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Left Margin",
"type": "string"
},
"right": {
"default": "1.24 cm",
"description": "The right margin of the page with units.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Right Margin",
"type": "string"
}
},
"title": "PageMargins",
"type": "object",
"additionalProperties": false
},
"PublicationEntry": {
"additionalProperties": false,
"description": "This class is the data model of `PublicationEntry`.",
@ -1021,7 +962,7 @@
"title": "Publication Date",
"oneOf": [
{
"pattern": "\\d{4}-\\d{2}(-\\d{2})?",
"pattern": "\\d{4}(-\\d{2})?(-\\d{2})?",
"type": "string"
}
]
@ -1046,6 +987,150 @@
"title": "PublicationEntry",
"type": "object"
},
"Sb2novThemeOptions": {
"additionalProperties": false,
"description": "",
"properties": {
"font_size": {
"default": "10pt",
"description": "The font size of the CV. The default value is 10pt.",
"enum": [
"10pt",
"11pt",
"12pt"
],
"title": "Font Size",
"type": "string"
},
"page_size": {
"default": "letterpaper",
"description": "The page size of the CV. It can be a4paper or letterpaper. The default value is letterpaper.",
"enum": [
"a4paper",
"letterpaper"
],
"title": "Page Size",
"type": "string"
},
"color": {
"default": "rgb(0,79,144)",
"description": "The primary color of the theme. \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. The default value is rgb(0,79,144).",
"examples": [
"Black",
"7fffd4",
"rgb(0,79,144)",
"hsl(270, 60%, 70%)"
],
"format": "color",
"title": "Primary Color",
"type": "string"
},
"disable_page_numbering": {
"default": false,
"description": "If this option is set to true, then the page numbering will be disabled. The default value is false.",
"title": "Disable Page Numbering",
"type": "boolean"
},
"text_alignment": {
"default": "justified",
"description": "The alignment of the text. The default value is justified.",
"enum": [
"left-aligned",
"justified"
],
"title": "Text Alignment",
"type": "string"
},
"show_timespan_in": {
"default": [],
"description": "The time span will be shown in the date and location column in these sections. The input should be a list of section titles as strings (case-sensitive).",
"items": {
"type": "string"
},
"title": "Show Time Span in These Sections",
"type": "array"
},
"show_last_updated_date": {
"default": true,
"description": "If this option is set to true, then the last updated date will be shown in the header. The default value is true.",
"title": "Show Last Updated Date",
"type": "boolean"
},
"header_font_size": {
"default": "30 pt",
"description": "The font size of the header (the name of the person). The default value is 30 pt.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Header Font Size",
"type": "string"
},
"margins": {
"allOf": [
{
"$ref": "#/$defs/Margins"
}
],
"default": {
"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"
},
"entry_area": {
"date_and_location_width": "4.1 cm",
"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",
"horizontal_between_connections": "0.5 cm",
"vertical_between_name_and_connections": "0.2 cm"
}
},
"description": "Page, section title, entry field, and highlights field margins.",
"title": "Margins"
},
"theme": {
"const": "sb2nov",
"title": "Theme"
}
},
"required": [
"theme"
],
"title": "Sb2novThemeOptions",
"type": "object"
},
"SectionTitleMargins": {
"properties": {
"top": {
"default": "0.2 cm",
"description": "The top margin of section titles. The default value is 0.2 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Top Margin",
"type": "string"
},
"bottom": {
"default": "0.2 cm",
"description": "The bottom margin of section titles. The default value is 0.2 cm.",
"pattern": "\\d+\\.?\\d* *(cm|in|pt|mm|ex|em)",
"title": "Bottom Margin",
"type": "string"
}
},
"title": "SectionTitleMargins",
"type": "object",
"additionalProperties": false
},
"SocialNetwork": {
"additionalProperties": false,
"description": "This class is the data model of a social network.",
@ -1090,48 +1175,24 @@
"title": "Curriculum Vitae"
},
"design": {
"anyOf": [
{
"discriminator": {
"mapping": {
"classic": "#/$defs/ClassicThemeOptions",
"mcdowell": "#/$defs/McdowellThemeOptions",
"moderncv": "#/$defs/ModerncvThemeOptions"
},
"propertyName": "theme"
},
"oneOf": [
{
"$ref": "#/$defs/ClassicThemeOptions"
},
{
"$ref": "#/$defs/ModerncvThemeOptions"
},
{
"$ref": "#/$defs/McdowellThemeOptions"
}
]
},
{}
],
"default": {
"theme": "classic",
"font": "SourceSans3",
"font_size": "10pt",
"page_size": "a4paper",
"primary_color": "#004f90",
"date_and_location_width": "4.1 cm",
"text_alignment": "left-aligned",
"page_size": "letterpaper",
"color": "#004f90",
"disable_page_numbering": false,
"text_alignment": "justified",
"show_timespan_in": [],
"show_last_updated_date": true,
"header_font_size": "30 pt",
"margins": {
"entry_area": {
"date_and_location_width": "4.1 cm",
"left_and_right": "0.2 cm",
"vertical_between": "0.12 cm"
},
"header": {
"bottom": "0.2 cm",
"horizontal_between_connections": "0.5 cm",
"vertical_between_name_and_connections": "0.2 cm"
},
"highlights_area": {
@ -1149,9 +1210,29 @@
"bottom": "0.2 cm",
"top": "0.2 cm"
}
}
},
"theme": "classic"
},
"description": "The design information of the CV.",
"discriminator": {
"mapping": {
"classic": "#/$defs/ClassicThemeOptions",
"moderncv": "#/$defs/ModerncvThemeOptions",
"sb2nov": "#/$defs/Sb2novThemeOptions"
},
"propertyName": "theme"
},
"oneOf": [
{
"$ref": "#/$defs/ClassicThemeOptions"
},
{
"$ref": "#/$defs/ModerncvThemeOptions"
},
{
"$ref": "#/$defs/Sb2novThemeOptions"
}
],
"title": "Design"
}
},