Universe

Simple admonitions for typst. Add predefined or define your own.

Inspired from mdbook-admonish.

Usage

#import " @preview/gentle-clues:0.1.0: info, success, warning, error

Writing this,

  #info[Whatever you want to say]

turns into this.

Screenshot of the info admonish

Available Admonitions

The follwing admonitions (+ some aliases) are available at the moment. abstract, info, question, memo, task, idea, tip, quote, success, warning, error.

See here for more Information

Define your own

But it is very easy to define your own.

//Define it
#let ghost-admon(title: "Buuuuh", icon: emohi.ghost, ..args) = admonish(color: "purple", title: title, icon: icon, ..args)
// Use it
#ghost-admon[Huuuuuh.]

The icon can be an emoji, symbol or .svg-file.

At the moment the colors are hardcoded. The following color profiles are available to use in your own admonish. In a future version this should be changed.

// color profiles
#let colors = (
  gray:   (border: luma(70),          bg: luma(230)),
  blue:   (border: rgb(29, 144, 208), bg: rgb(232, 246, 253)),
  green:  (border: rgb(102, 174, 62), bg: rgb(235, 244, 222)),
  red:    (border: rgb(237, 32, 84),  bg: rgb(255, 231, 236)),
  yellow: (border: rgb(255, 201, 23), bg: rgb(252, 243, 207)),
  purple: (border: rgb(158, 84, 159), bg: rgb(241, 230, 241)),
  teal:   (border: rgb(0, 191, 165),  bg: rgb(229, 248, 246)),
  orange: (border: rgb(255, 145, 0),  bg: rgb(255, 244, 229)),
  memo: (border: rgb(255, 82, 82),  bg: rgb(253, 228, 224)),
  blueish:(border: rgb(0, 184, 212),  bg: rgb(229, 248, 251)),
  grayish:(border: rgb(158, 158, 158),bg: rgb(245, 245, 245)),
  quest:(border: rgb(0, 143, 115),bg: rgb(221, 243, 231)),
  abstract: (border: rgb(124, 77, 255), bg: rgb(242, 237, 255)),
)

Reference

Here the full reference to the admonish function.

admonish(
  body,
  title: none, // Default: none, or string
  icon: "assets/flag.svg", // can be a file or an symbol|emoji
  color: "gray",
  width: auto,
  radius: 2pt, // radius of the right side. For no radius set to 0pt.
  inset: 1em, // inset of the content, header-inset not yet supported
)

License

MIT