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 fileand expects the keyversion.# CV data file version: 1 # ...version
Data type: Integer
The key
versionis used to indicate the version of the CV file. Only version 1 is currently available.version: 1lastChange
Data type: Date
The key
lastChangeis used to indicate the last change to the CV file. That date is also used in the signature of the print output.lastChange: 2025-10-27username
Data type: String
The key
usernameis used to indicate the the username this CV file belongs to. The setting forusernameis unused right now.username:public
Data type: Boolean
The key
publicis used to indicate whether the CV file is publicly accessible or not. The setting forpublicis unused right now.public: nopassword
Data type: String
The key
passwordis used to indicate a password for the CV file. The setting forpasswordis unused right now.password:printSettings
Data type: Object
The key
printSettingsis used to configure print related settings.printSettings: # ...dateFormat
Data type: Enumeration
The key
dateFormatis used to indicate the date format for the print output.dateFormat: monthyearThe following values are in the
dateFormatenumeration:
en-EN→YYYY-MM-DD→2025-10-27de-DE→DD.MM.YYYY→27.10.2025monthyear→MM.YYYY→10.2025year→YYYY→2025yearmonth→YYYY.MM→2025.10The
YYYYstands for the four-digit year, theMMfor the two-digit month and theDDfor the two-digit day.dateCollapse
Data type: Boolean
The
dateCollapsekey is used to determine whether thefromandtovalues for the entries incareershould be reduced to one value if they are identical.dateCollapse: nolastChangeIsNow
Data type: Boolean
The
lastChangeIsNowkey is used to determine whether thelastChangevalue 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: yesreducePersonalForHeader
Data type: Boolean
The
lastChangeIsNowkey 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: yesuseFooter
Data type: Boolean
The
useFooterkey is used to determine whether the footer of the paper should be used. Please note that not all browsers support this feature.useFooter: yesuseHeader
Data type: Boolean
The
useHeaderkey is used to determine whether the header of the paper should be used. Please note that not all browsers support this feature.useHeader: yescurrentLocation
Data type: String
The key
currentLocationdefines the location in the signature of the CV print output.currentLocation: Halle (Saale)languages
Data type: Array<String>
The key
languagesis 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-ENpersonal
Data type: Object
The key
personalis used to define the personal data of the CV owner.personal: # ...name
Data type: String
The key
nameis used to define the name of the CV owner.name: Max MustermannbirthDate
Data type: Date
The key
birthDateis used to define the date of birth of the CV owner.birthDate: 1984-02-11birthPlace
Data type: String
The key
birthPlaceis used to define the place of birth of the CV owner.birthPlace: Halle (Saale)marital
Data type: Translation
The key
maritalis used to define the marital status of the CV owner.marital: de-DE: ledig en-EN: singlenationality
Data type: Translation
The key
nationalityis used to define the nationality of the CV owner.nationality: de-DE: deutsch en-EN: germanaddress
Data type: String
The key
addressis used to define the address of the CV owner.address: Merseburger Str. 211place
Data type: String
The key
placeis used to define the place of residence of the CV owner.place: 06114 Halle (Saale)religion
Data type: Translation
The key
religionis used to define the religion of the CV owner.religion: de-DE: diskordianisch en-EN: discordianiccountry
Data type: Translation
The key
countryis used to define the country of residence of the CV owner.country: de-DE: Deutschland en-EN: Germanyphone
Data type: String
The key
phoneis used to define the telephone number of the CV owner.phone: +49 211 211 211 211mobile
Data type: String
The key
mobileis used to define the mobile phone number of the CV owner.mobile: +49 151 211 211 211Data type: String
The key
email: Max@Mustermann.dehomepage
Data type: URL
The key
homepageis used to define the URL of the homepage of the CV owner.homepage: https://cisco211.de/photo
Data type: URL
The key
photois used to define the URL of the photo of the CV owner.photo: https://cisco211.de/cv/photo.jpgcareer
Data type: Array<Object>
The key
careeris used to define the career of the CV owner.career: - # ...from
Data type: Date
The key
fromis used to define the start date of the career entry.from: 2007-08-01to
Data type: Date
The key
tois used to define the end date of the career entry.to: 2025-10-27where
Data type: Translation
The key
whereis 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
whatis used to define the activity of the career entry.what: de-DE: Fachinformatiker für Anwendungsentwicklung en-EN: IT specialist for application developmentdescription
Data type: Translation
The key
descriptionis used to add a further description of the career entry.description: de-DE: Entwicklung von Software en-EN: Software developmenthide
Data type: Boolean
The key
hideis used to hide the career entry.hide: nohideForPrint
Data type: Boolean
The key
hideForPrintis used to hide the career entry for the print output.hideForPrint: notype
Data type: Enumeration
The key
typeis used to define the type of the career entry.type: professionThe following values are in the
typeenumeration:
education→ Educationprofession→ Professional careerstudy→ Studytraining→ Trainingother→ Otherunknown→ Unknownskills
Data type: Array<Object>
The key
skillsis used to define the skills of the CV owner. The skills are divided into groups.skills: - # ...category
Data type: Translation
The key
categoryis used to define the category name of the skill group.category: de-DE: Sprachen en-EN: Languagesentries
Data type: Array<Translation>
The key
entriesis used to define the skills in the current skill category of the CV owner.entries: - de-DE: Deutsch, Muttersprache en-EN: German, native languageinterests
Data type: Array<Translation>
The key
interestsis used to define the interests of the CV owner.interests: - de-DE: Wissenschaft, Astronomie, Computertechnik & Software en-EN: Science, Astronomy, Computer technology & Softwareremarks
Data type: Array<Translation>
The key
remarksis 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.