hypra

ATTR-007: default outside a component parameter

Error: the page doesn't build until this is fixed.

name = value gives a component parameter a default. Anywhere else attributes are name: value, with a colon, even though HTML writes href="/sale".

Fails

page(title: "Shoes", description: "All our running shoes, from light racers to trail shoes.") {
  h1 "Shoes"
  a(href = "/sale") "Sale"
}
error[ATTR-007]: defaults are only for component parameters
 --> page.hypra:3:12
  |
3 |   a(href = "/sale") "Sale"
  |            ^^^^^^^
  = help: component Card(featured: Bool = false) { ... }
  = docs: https://hypralang.dev/rules/attr-007/

1 error, 0 warnings

Fixed

page(title: "Shoes", description: "All our running shoes, from light racers to trail shoes.") {
  h1 "Shoes"
  a(href: "/sale") "Sale"
}

A default for a component parameter looks like this:

component Badge(text: Text = "New") { span(class: "badge") "{text}" }