Specification
This page explains how the CV file is structured.
This page explains how the CV file is structured.
Everyone who wants to work in a profession needs a CV. It gives a potential employer the opportunity to quickly find out where, when and as what the applicant has previously worked and what he has learned. The problem is that the structure of a CV is only roughly predefined. Different employers expect different layouts as to the order in which the data should be listed. It is therefore cumbersome to create CVs in different layouts using normal word processing. That is why this page and a file format that is independent of the layout were created. You only have one file that contains all the information for the CV, and you can use this file to create printable CVs in different layouts. Every time something changes on the CV, adding another entry to the file is trivial and quickly done.
YAML (Yet another markup language) was chosen as the file format because it is the easiest of all data description languages for humans to read. All the necessary information of a CV can be described in a simple, structured and clearly comprehensible way. YAML has many features, but only some of them are used and are important to understand. What these are is explained in the data types.
All data types used in the CV file are explained here.
Comments can be used to save additional information in the file without it being processed further by the program.
The #
(double cross) is used as a comment character and can be used per line or at the end of a line.
# A comment in a line.
Car: Audi
Fruit: Apple # A comment at the end of a line.
Animal: Ape
The Boolean is used to express a simple yes or no. Many different symbols are supported to express a yes or no.
Booleans:
- yes
- no
- true
- false
- on
- off
The date is always given in the format YYYY-MM-DD
.
The YYYY
stands for the four-digit year, the MM
for the two-digit month and the DD
for the two-digit day.
Dates:
- 1984-01-01
- 2019-12-31
- 2025-01-01
Enumerations are used to express a list of predefined values. The enumeration is defined by the program and only one entry from the enumeration is permitted as the value for the data type. The entries in the lists are explained where they are used.
Enumerations2:
dateFormat: monthyear
type: education
Integers are used to express whole numbers. They can be positive or negative.
Integers:
- -211
- 211
- 2015
Objects contain one or more key-value pairs, whereby the value can be of any data type. The file itself is effectively an object that contains key-value pairs. Objects can also contain sub-objects. A named object indents its key-value pairs by two spaces.
Object:
String: 'String'
Integer: 211
Boolean: yes
Strings are used to express text.
They can be any length and can contain any characters.
Character strings that contain special symbols or keywords such as yes
and no
can be enclosed with a '
(single quotation mark) or a "
(double quotation mark).
Escape sequences are also supported, e.g. ''
, ""
and \t
.
Strings:
- String 1
- 'String 2'
- "String 3"
Translations are used to express text in different languages. The translation is always an object with character strings whose keys correspond to a country code, and the character string is translated into the language of the country code.
Translation2:
de-DE: Die Übersetzung auf deutsch.
en-EN: The translation in English.
URLs are used to express a web address.
They can be any length and can contain any characters.
The URL must start with a protocol, e.g. https://
.
URLs:
homepage: https://cisco211.de/
photo: https://cisco211.de/img/noop.svg
Arrays are basically a list of any data type.
You can recognize them starting with a -
(hyphen) over several lines.
In order to access the list, it is usually a named component of an object itself.
A named list indents its list items by two spaces.
Array:
- 1
- 2
- 3
Arrays of objects are used to express a list of objects.
Objects:
-
String: 'String 1'
Integer: 211
Boolean: yes
-
String: 'String 2'
Integer: -211
Boolean: no
Arrays of strings are used to express a list of strings.
Strings:
- 'String 1'
- 'String 2'
- 'String 3'
Arrays of translations are used to express a list of translations.
Translations2:
-
de-DE: Objekt
en-EN: Object
-
de-DE: Array
en-EN: Anordnung
-
de-DE: Zeichenkette
en-EN: String
To help you get started with the CV file, here is a complete template.
# CV data file
version: 1
lastChange: 2025-01-28
username: anonymous
public: no
password:
printSettings:
dateFormat: monthyear
dateCollapse: no
lastChangeIsNow: yes
reducePersonalForHeader: yes
useFooter: yes
useHeader: yes
currentLocation: Halle (Saale)
languages:
- de-DE
- en-EN
personal:
name: Cat Musterkatze
birthDate: 1984-02-11
birthPlace: Halle (Saale)
marital:
de-DE: ledig
en-EN: single
nationality:
de-DE: deutsch
en-EN: german
address: Merseburger Str. 211
place: 06114 Halle (Saale)
religion:
de-DE: diskordianisch
en-EN: discordianic
country:
de-DE: Deutschland
en-EN: Germany
phone: +49 211 211 211 211
mobile: +49 151 211 211 211
email: cat@musterkatze.de
homepage: https://cisco211.de/
photo: https://cisco211.de/cv/photo.png
career:
-
from: 1984-01-01
to: 1993-07-30
where:
de-DE: Halle (Saale)
en-EN: Halle (Saale)
what:
de-DE: Kind
en-EN: Child
description:
de-DE: -
en-EN: -
hide: no
hideForPrint: yes
type: other
-
from: 1993-08-01
to: 2003-07-30
where:
de-DE: Fiktive Hauptschule in Halle (Saale)
en-EN: Fictional secondary school in Halle (Saale)
what:
de-DE: Schüler
en-EN: Pupil
description:
de-DE: Erweiterter Realschulabschluss
en-EN: Extended secondary school certificate
hide: no
hideForPrint: no
type: education
-
from: 2003-07-31
to: 2006-07-30
where:
de-DE: Fiktive Berufsschule in Halle (Saale)
en-EN: Fictional vocational school in Halle (Saale)
what:
de-DE: Fachinformatiker für Anwendungsentwicklung
en-EN: IT specialist for application development
description:
de-DE: Abschluss mit Note 1,0
en-EN: Graduated with a grade of 1.0
hide: no
hideForPrint: no
type: training
-
from: 2007-08-01
to:
where:
de-DE: Fiktive Firma, Merseburger Str. 212, Halle (Saale)
en-EN: Fictional Company, Merseburger Str. 212, Halle (Saale)
what:
de-DE: Fachinformatiker für Anwendungsentwicklung
en-EN: IT specialist for application development
description:
de-DE: Entwicklung von Software
en-EN: Software development
hide: no
hideForPrint: no
type: profession
skills:
-
category:
de-DE: Sprachen
en-EN: Languages
entries:
-
de-DE: Deutsch, Muttersprache
en-EN: German, native language
-
de-DE: Englisch, Gute Kenntnisse
en-EN: English, good knowledge
-
category:
de-DE: EDV
en-EN: IT
entries:
-
de-DE: Grafische Bildbearbeitung mit MSPaint, GIMP und vergleichbaren
en-EN: Graphic image editing with MSPaint, GIMP and similar
-
de-DE: Professioneller Umgang (Konfiguration, Wartung) mit Hardware und Software
en-EN: Professional handling (configuration, maintenance) of hardware and software
interests:
-
de-DE: Wissenschaft, Astronomie, Computertechnik & Software
en-EN: Science, Astronomy, Computer technology & Software
-
de-DE: Elektronische Musik und Kunst
en-EN: Electronic music and art
remarks:
-
de-DE: Nicht aufgeführte Zeiträume betreffen Jobsuche, selbstständige Weiterbildung und unentgeltliche Arbeiten.
en-EN: Unlisted periods concern job search, self-study and unpaid work.
-
de-DE: Detaillierte Informationen zum Thema selbstständige Weiterbildung oder unentgeltliche Arbeiten finden Sie in meinem Portfolio.
en-EN: Detailed information on self-study or unpaid work can be found in my portfolio.
# EOF
Structure
Data type: Object
A CV file always begins with the comment
# CV Data file
and expects the keyversion
.# CV data file version: 1 # ...
version
Data type: Integer
The key
version
is used to indicate the version of the CV file. Only version 1 is currently available.version: 1
lastChange
Data type: Date
The key
lastChange
is used to indicate the last change to the CV file. That date is also used in the signature of the print output.lastChange: 2025-02-22
username
Data type: String
The key
username
is used to indicate the the username this CV file belongs to. The setting forusername
is unused right now.username:
public
Data type: Boolean
The key
public
is used to indicate whether the CV file is publicly accessible or not. The setting forpublic
is unused right now.public: no
password
Data type: String
The key
password
is used to indicate a password for the CV file. The setting forpassword
is unused right now.password:
printSettings
Data type: Object
The key
printSettings
is used to configure print related settings.printSettings: # ...
dateFormat
Data type: Enumeration
The key
dateFormat
is used to indicate the date format for the print output.dateFormat: monthyear
The following values are in the
dateFormat
enumeration:
en-EN
→YYYY-MM-DD
→2025-02-22
de-DE
→DD.MM.YYYY
→22.02.2025
monthyear
→MM.YYYY
→02.2025
year
→YYYY
→2025
yearmonth
→YYYY.MM
→2025.02
The
YYYY
stands for the four-digit year, theMM
for the two-digit month and theDD
for the two-digit day.dateCollapse
Data type: Boolean
The
dateCollapse
key is used to determine whether thefrom
andto
values for the entries incareer
should be reduced to one value if they are identical.dateCollapse: no
lastChangeIsNow
Data type: Boolean
The
lastChangeIsNow
key is used to determine whether thelastChange
value should be set to the current date for the print output. This means that the date in the CV file does not have to be constantly changed when the CV is printed out again later.lastChangeIsNow: yes
reducePersonalForHeader
Data type: Boolean
The
lastChangeIsNow
key is used to determine whether the personnel details should be moved to the header of the paper in order to save space. Please note that not all browsers support this feature.reducePersonalForHeader: yes
useFooter
Data type: Boolean
The
useFooter
key is used to determine whether the footer of the paper should be used. Please note that not all browsers support this feature.useFooter: yes
useHeader
Data type: Boolean
The
useHeader
key is used to determine whether the header of the paper should be used. Please note that not all browsers support this feature.useHeader: yes
currentLocation
Data type: String
The key
currentLocation
defines the location in the signature of the CV print output.currentLocation: Halle (Saale)
languages
Data type: Array<String>
The key
languages
is used to define the languages in which the CV is available. This list is necessary so that the program knows how to retrieve the translations.languages: - de-DE - en-EN
personal
Data type: Object
The key
personal
is used to define the personal data of the CV owner.personal: # ...
name
Data type: String
The key
name
is used to define the name of the CV owner.name: Max Mustermann
birthDate
Data type: Date
The key
birthDate
is used to define the date of birth of the CV owner.birthDate: 1984-02-11
birthPlace
Data type: String
The key
birthPlace
is used to define the place of birth of the CV owner.birthPlace: Halle (Saale)
marital
Data type: Translation
The key
marital
is used to define the marital status of the CV owner.marital: de-DE: ledig en-EN: single
nationality
Data type: Translation
The key
nationality
is used to define the nationality of the CV owner.nationality: de-DE: deutsch en-EN: german
address
Data type: String
The key
address
is used to define the address of the CV owner.address: Merseburger Str. 211
place
Data type: String
The key
place
is used to define the place of residence of the CV owner.place: 06114 Halle (Saale)
religion
Data type: Translation
The key
religion
is used to define the religion of the CV owner.religion: de-DE: diskordianisch en-EN: discordianic
country
Data type: Translation
The key
country
is used to define the country of residence of the CV owner.country: de-DE: Deutschland en-EN: Germany
phone
Data type: String
The key
phone
is used to define the telephone number of the CV owner.phone: +49 211 211 211 211
mobile
Data type: String
The key
mobile
is used to define the mobile phone number of the CV owner.mobile: +49 151 211 211 211
Data type: String
The key
email: Max@Mustermann.de
homepage
Data type: URL
The key
homepage
is used to define the URL of the homepage of the CV owner.homepage: https://cisco211.de/
photo
Data type: URL
The key
photo
is used to define the URL of the photo of the CV owner.photo: https://cisco211.de/cv/photo.jpg
career
Data type: Array<Object>
The key
career
is used to define the career of the CV owner.career: - # ...
from
Data type: Date
The key
from
is used to define the start date of the career entry.from: 2007-08-01
to
Data type: Date
The key
to
is used to define the end date of the career entry.to: 2025-02-22
where
Data type: Translation
The key
where
is used to define the place of the career entry.where: de-DE: Fiktive Firma, Merseburger Str. 212, Halle (Saale) en-EN: Fictional Company, Merseburger Str. 212, Halle (Saale)
what
Data type: Translation
The key
what
is used to define the activity of the career entry.what: de-DE: Fachinformatiker für Anwendungsentwicklung en-EN: IT specialist for application development
description
Data type: Translation
The key
description
is used to add a further description of the career entry.description: de-DE: Entwicklung von Software en-EN: Software development
hide
Data type: Boolean
The key
hide
is used to hide the career entry.hide: no
hideForPrint
Data type: Boolean
The key
hideForPrint
is used to hide the career entry for the print output.hideForPrint: no
type
Data type: Enumeration
The key
type
is used to define the type of the career entry.type: profession
The following values are in the
type
enumeration:
education
→ Educationprofession
→ Professional careerstudy
→ Studytraining
→ Trainingother
→ Otherunknown
→ Unknownskills
Data type: Array<Object>
The key
skills
is used to define the skills of the CV owner. The skills are divided into groups.skills: - # ...
category
Data type: Translation
The key
category
is used to define the category name of the skill group.category: de-DE: Sprachen en-EN: Languages
entries
Data type: Array<Translation>
The key
entries
is used to define the skills in the current skill category of the CV owner.entries: - de-DE: Deutsch, Muttersprache en-EN: German, native language
interests
Data type: Array<Translation>
The key
interests
is used to define the interests of the CV owner.interests: - de-DE: Wissenschaft, Astronomie, Computertechnik & Software en-EN: Science, Astronomy, Computer technology & Software
remarks
Data type: Array<Translation>
The key
remarks
is used to define additional remarks to the CV print output.remarks: - de-DE: Nicht aufgeführte Zeiträume betreffen Jobsuche, selbstständige Weiterbildung und unentgeltliche Arbeiten. en-EN: Unlisted periods concern job search, self-study and unpaid work.