wcl_wdoc 0.11.0-alpha

WCL documentation format — build structured docs with WCL, render to HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    export let widget_cloud = (b) => {
        let w = attr_or(b, "width", 130)
        let h = attr_or(b, "height", 90)
        let name = attr_or(b, "label", "Cloud")
        let color = attr_or(b, "color", "var(--color-link)")
        let surface_fill = attr_or(b, "surface_fill", "var(--color-code-bg)")
        let border_stroke = attr_or(b, "border_stroke", color)
        let label_fill = attr_or(b, "label_fill", "currentColor")
        let ch = h * 0.7
        let d = "M " + to_string(w * 0.2) + " " + to_string(ch * 0.8) + " Q 0 " + to_string(ch * 0.8) + " 0 " + to_string(ch * 0.5) + " Q 0 " + to_string(ch * 0.1) + " " + to_string(w * 0.25) + " 0 Q " + to_string(w * 0.4) + " 0 " + to_string(w * 0.5) + " " + to_string(ch * 0.05) + " Q " + to_string(w * 0.6) + " 0 " + to_string(w) + " " + to_string(ch * 0.1) + " Q " + to_string(w * 1.05) + " " + to_string(ch * 0.6) + " " + to_string(w * 0.8) + " " + to_string(ch * 0.8) + " Z"
        [
            { kind = "path", x = 0, y = 0, width = w, height = h, d = d, fill = surface_fill, stroke = border_stroke, stroke_width = 2 },
            { kind = "text", x = 0, y = ch * 0.2, width = w, height = ch * 0.5, content = name, font_size = 13, fill = label_fill }
        ]
    }