The Good Old Internet

Visually impaired fitness and everything else in this shit show.

Changed My Weather Partials To Use Dict Instead Of Scratch

The idea of using Hugo’s dict to make a cleaner way to pass variables between partials. When I first converted my weather table generating short code to a partial, I split it up to make it a little easier to manage. Smaller files that do one thing instead of one large file that does it all. It’s just easier to edit and debug that way.

I noticed that I had a bug in it where one of the numbers wasn’t being passed correctly. When I first split the files up I had originally passed everything with Scratch which worked well enough at the time. I did want to convert it to a dict, so it’d be easier to read in a case like this. At that time, I wasn’t ready to tackle that yet, but I’d been looking at it for a few weeks. Last weekend was the time I finally decided to do it after working on something else in a related partial.

Now I just call the partial with

{{- partial "Wx/Pressure.gohtml" (dict "WxData" $WxData ) -}}

That passes all of my weather variables as WxData .

The partial that generates my table for the barometric pressure is

1{{- with .WxData -}}
2<table> <caption>Releative Pressure</caption> <thead><tr>
3<th></th><th>Pressure</th><th>Time</th> </tr> </thead>
4<tbody>
5<tr><td>Average</td><td>{{ .AveragePressure -}} &#8243;</td><td></td></tr>
6<tr><td>High</td><td>{{ .HighPressure -}} &#8243;</td><td><time datetime="{{ .HighPressureTime }}"> {{- .HighPressureTime | time.Format ":time_short" -}}</time></td></tr>
7<tr><td>Low</td><td>{{ .LowPressure -}} &#8243;</td><td><time datetime="{{ .LowPressureTime }}"> {{- .LowPressureTime | time.Format ":time_short" -}}</time> </td></tr>
8<tr><td>Range</td><td>{{ .PressureRange -}} &#8243;</td><td></td></tr></tbody>
9</table>
10
11
12{{- partialCached "top.gohtml" . -}}
13{{- end -}}
14```
15