github.com/servernoj/jade@v0.0.0-20231225191405-efec98d19db1/testdata/v2/mixins.jade (about) 1 2 //- Declaration 3 mixin list 4 ul 5 li foo 6 li bar 7 li baz 8 //- Use 9 +list 10 +list 11 12 13 //- Declaration 14 mixin pet(name) 15 li.pet= name 16 //- Use 17 ul 18 +pet('cat') 19 +pet('dog') 20 +pet('pig') 21 22 23 //- Declaration 24 mixin article(title) 25 .article 26 .article-wrapper 27 h1= title 28 if len(block) > 0 29 block 30 else 31 p No content provided 32 //- Use 33 +article("Hello world") 34 +article("Hello world") 35 p This is my 36 p Amazing article 37 38 39 //- Declaration 40 mixin link(href, name) 41 - attributes := struct{class string}{class: "btn"} 42 a(class!=attributes.class href=href)= name 43 //- Use 44 +link("/foo", "foo")(class="btn") 45 +link(fn("/foo", "bar", "baz"), "foo") 46 47 48 //- Declaration 49 mixin link(href, name) 50 a(href=href)&attributes(attributes)= name 51 //- Use 52 +link("/foo", "foo")(class="btn") 53 54 55 //- Declaration 56 mixin article(title="Default Title") 57 .article 58 .article-wrapper 59 h1= title 60 //- Use 61 +article() 62 +article("Hello world") 63 64 65 //- Declaration 66 mixin list(id, ...items) 67 ul(id=id) 68 each item in items 69 li= item 70 //- Use 71 // TODO for string 72 +list(fn("my-list"), "string", 2, 3.5, 4)