Skip to content

The content folder ​

Everything that is about you lives in content/: YAML for lists of entries, Markdown for prose, BibTeX for publications. Both the website and the PDF are made from it.

content/
  profile.yml           name, affiliation, links, menu, footer
  <section>.yml         education, employment, teaching, talks, …
  publications.bib      your publications, each with a status
  publication-lists.yml which publications each list on the website and in the PDF shows
  publications.csl      optional: the website's citation style
  pages/*.md            the website's prose pages, mathematics and images included
schemas/<section>.ts    what a section of your own may contain
schemas/publications.ts optional: publication statuses, badges, fields

A section of your own needs a schema in schemas/<section>.ts. Built-in sections already have schemas; add a local one only to change their fields.

Page
Field typeshow to write dates, links, web addresses and formatted text
Built-in sectionseducation, employment, teaching, talks, supervision: every field
Profile and pagesprofile.yml and the front matter of Markdown pages
Publicationspublications.bib, its groups, badges and citation style
Schemassections of your own, and more fields for built-in ones

Validated, strictly ​

Every file is validated before it is used. A typo is an error naming the file, the entry and the field, not a silently missing line on your site:

[vitakit] 1 content problem(s):
  content/talks.yml: invalid
    - 0: Unrecognized key: "titel"

While you work (pnpm dev), a problem is reported, not fatal: the development server keeps running, the affected page shows the error in place, a red banner lists every problem, and saving a fix recovers without a restart.

When you build (pnpm check, CI, a deployment), the same problem fails the build, so a broken file cannot reach your website. vitakit validate checks everything at once without building; see the commands.

Visibility ​

Every entry of every section accepts a visibility:

yaml
- date: 2019
  position: Visiting Researcher
  institution: Uppsala University
  visibility: cv          # in the PDF, never on the website
WebsitePDF
public (the default)yesyes
cvnoyes, by default
privatenoonly in documents that ask for it

The website is hard-wired to public; each PDF document decides how far it goes (see documents). How this is enforced, and checked: privacy.

Sorting ​

Entries are sorted newest first, by their date; the order in the file does not matter. Entries without a date come last, in the order of the file.