///|
pub fn example_document_json(token_count : Int) -> String {
let count = if token_count < 1 { 1 } else { token_count }
let colors = example_colors()
let builder = StringBuilder::new()
builder.write_string(
"{\"name\":\"Example Brand\",\"tagline\":\"Generated example\",\"palette\":{\"colors\":[",
)
for i in 0.. 0 {
builder.write_string(",")
}
builder.write_string("{\"name\":\"color-")
builder.write_string(i.to_string())
builder.write_string("\",\"value\":\"")
builder.write_string(colors[i % colors.length()])
builder.write_string("\",\"role\":\"")
builder.write_string(if i % 2 == 0 { "surface" } else { "text" })
builder.write_string("\"}")
}
builder.write_string(
" ]},\"assets\":{\"primary_logo\":{\"name\":\"Example logo\",\"path\":\"assets/example.svg\",\"min_width_px\":64,\"clear_space_px\":8,\"background\":\"light_or_dark\"}},\"typography\":{\"families\":[{\"name\":\"Inter\",\"fallback\":\"system-ui, sans-serif\",\"usage\":\"interface\"}],\"scale\":[{\"name\":\"body\",\"size_px\":16,\"line_height_px\":24}]}}",
)
builder.to_string().replace(old=" ]", new="]")
}
///|
pub fn example_document_yaml(token_count : Int) -> String {
let count = if token_count < 1 { 1 } else { token_count }
let colors = example_colors()
let lines : Array[String] = [
"name: Example Brand", "tagline: 'Generated example'", "palette:", " colors:",
]
for i in 0.. Array[String] {
[
"#111111", "#222222", "#333333", "#444444", "#555555", "#666666", "#777777",
"#888888",
]
}
///|
pub fn example_document_sizes() -> Array[Int] {
[4, 12, 64, 256]
}
///|
pub fn example_document_summary(token_count : Int) -> String {
let json = example_document_json(token_count)
let yaml = example_document_yaml(token_count)
"tokens=" +
token_count.to_string() +
", json_bytes=" +
json.length().to_string() +
", yaml_bytes=" +
yaml.length().to_string()
}
///|
pub fn example_cli_commands() -> Array[String] {
[
"moon run cmd/main -- demo", "moon run cmd/main -- validate --text ",
"moon run cmd/main -- render --format html --text ", "moon run cmd/main -- benchmark",
]
}
///|
pub fn example_schema_document() -> String {
"name: Example Brand\npalette:\n colors:\n - name: primary\n value: '#4F7CFF'\n role: action\nassets:\n primary_logo:\n name: Example logo\n path: assets/example.svg\n min_width_px: 64\n clear_space_px: 8\ntypography:\n scale: []\n"
}