Skip to content

A class starting with ks-

Keystone writes ks- classes for its handlers as it expands shortcuts. Your manuscript reaches a handler through the shortcut that fronts it, so a ks- class written by hand — or by a hook — stops the build.

What it looks like

::: {.ks-font family="libertine"}
:::
ERROR: class 'ks-font' starts with ks-
  │ ::: {.ks-font family="libertine"}
  A handler is reached through the system shortcut that fronts it.
  Write 'font'.
  See https://keystone.knight-owl.dev/errors/reserved-class/

What it means

ks-font is the font handler's own class. The font shortcut fronts it and takes the same attributes, so the shortcut's name is the one to write.

Write the shortcut's name

Drop the ks- prefix: ::: {.font family="libertine"}. Where no shortcut of that name fronts the handler, the message suggests a near name when it finds one; the system shortcut reference lists them all.