Repository navigation
vitakit 0.3.0
Publication lists
Which publications are shown, in what order and in which groups is now
declared once per list in content/publication-lists.yml. A page or a PDF
only says where a list goes and under which heading, so the same list shows
the same publications on the website and in the PDF:
# content/publication-lists.yml
recent:
limit: 3<VitaPublications list="recent" title="Recent publications" />\vitapublications[Recent publications]{recent}- Select with
where(any BibTeX field;keywordsmatches one of an
entry's keywords),keys(exactly these, in this order),since/until
andlimit. - Sort by date (default), year, title, source or any field.
- Group by status, year or any field; entries without it go under
otherLabel("Other"). vitakit status,vitakit explain publicationsand
vitakit explain publication-list <name>say what each list selects, what
each setting removed, the citation keys left, and where it is shown. A
misspelt status, field or citation key is an error naming the list.- New projects declare
all(grouped by status, on/publications/and in
the PDF) andrecent(the three newest, on the home page).
New commands
vitakit add publication-list <name> |
declares a list and shows it on a page or in a PDF, asking what it should select if no options are given; checked against publications.bib before anything is written |
vitakit migrate |
updates a project written for an earlier vitakit, showing every change and asking before writing; --dry-run only shows; safe to run again |
Updating from 0.2
pnpm add @anja.codes/vitakit@latest
pnpm vitakit migrate --dry-run # see what would change
pnpm vitakit migrate # make the changes
pnpm vitakit validateStep by step, with what may look different afterwards:
Updating vitakit.
Breaking changes
vitakit migrate converts all of these, except where noted:
<VitaPublications>takeslistandtitleonly.groups,
headings,where,limit, … on the page fail the build; declare a list
instead.\vitainput{publications}is replaced by
\vitapublications[Heading]{list}, andpublications.groupsin a
document's.ymlby a list.schemas/publications.ts:groups/defaultGroupare now
statuses/defaultStatus.usePublications()is replaced byusePublicationList('<list>').
migratepoints to each use, but you change it by hand.- Copies of
VitaPublications.vueorpublications.etamade with
vitakit eject/customizeneed updating by hand;migratelists them. - PDF order: publications in a PDF now follow the list's order, as on the
website: newest first, then the order inpublications.bib. Before, biblatex
sorted them by year and then author. Each group is numbered from 1. vitakit explaintakes the kind first when a name is shared, asadd
does:explain section talks,explain document cv,
explain publication-list recent,explain page cv.--sectionand
--documentare gone. A name alone still works while it is unique.
Fixes
- A syntax error in a project's TypeScript file (e.g.
schemas/*.ts) names
the line, shows the code with a caret, and hints at a missing comma. - A
schemas/publications.tsthat does not load is reported as such, without
follow-up errors about statuses. - The diff of a planned edit shows each change with its own context, instead
of one block from the first changed line to the last. - Help text that starts with an example keeps its indentation.
create-vitakit: the SSH/rsync deployment preset uses GitHub Actions
(.github/workflows/rsync.yml) instead of Forgejo Actions.
Docs
Publications have their own place throughout: a feature on the home page, a
section in the concepts, a "Publications and lists" page, and tutorial
chapter 4 rewritten around lists. "Updating vitakit" walks through updating.
The tutorial's customization chapter and the explanations of schemas and file
paths were made easier to read (#16).