///|
pub fn BrandBook::render_code_examples(self : BrandBook) -> String {
  join_lines([
    "## Integration examples",
    "",
    "Generated for: " + self.name,
    "",
    "### MoonBit",
    "",
    "```mbt",
    "let book = moonbit_brandbook()",
    "let report = book.audit()",
    "assert_false(report.has_errors())",
    "let css = book.to_css()",
    "```",
    "",
    "### CLI",
    "",
    "```console",
    "moon run cmd/main -- demo",
    "moon run cmd/main -- validate --text '{...}'",
    "moon run cmd/main -- render --format html --text '{...}'",
    "```",
  ])
}

///|
pub fn BrandBook::render_json_example(self : BrandBook) -> String {
  let token = self.palette.colors.get(0)
  match token {
    Some(color) =>
      "{\"name\":\"" +
      json_escape(color.name) +
      "\",\"value\":\"" +
      json_escape(color.value) +
      "\"}"
    None => "{}"
  }
}

///|
pub fn BrandBook::render_yaml_example(self : BrandBook) -> String {
  let token = self.palette.colors.get(0)
  match token {
    Some(color) => "name: " + color.name + "\nvalue: '" + color.value + "'\n"
    None => "name: example\n"
  }
}