[{"data":1,"prerenderedAt":36},["ShallowReactive",2],{"listing:category-code-1":3},{"kind":4,"key":5,"title":6,"url":7,"page":8,"items":12,"hasMath":11,"intro":35},"category","code","Code","\u002Fcategories\u002Fcode",{"number":9,"totalPages":9,"totalItems":10,"hasPrev":11,"hasNext":11},1,2,false,[13,26],{"meta":14,"excerptHtml":25},{"slug":15,"title":16,"created":17,"url":18,"draft":11,"categories":19},"rendering-math","Rendering Mathematics at Build Time","2024-06-01T00:00:00.000Z","\u002Fpost\u002Frendering-math",[20,21],{"slug":5,"title":6,"url":7},{"slug":22,"title":23,"url":24},"mathematics","Mathematics","\u002Fcategories\u002Fmathematics","\u003Cp>Typesetting mathematics in the browser costs about a megabyte of JavaScript and shows the reader raw\nTeX until it finishes. Doing it at build time costs nothing at all.\u003C\u002Fp>\n\u003Cp>The catch is that equation numbering is document-scoped, so the whole article has to be rendered in\none pass.\u003C\u002Fp>\n",{"meta":27,"excerptHtml":34},{"slug":28,"title":29,"created":30,"url":31,"draft":11,"categories":32},"on-typography","On Typography","2023-11-08T00:00:00.000Z","\u002Fpost\u002Fon-typography",[33],{"slug":5,"title":6,"url":7},"\u003Cp>A page of text has only a few decisions in it: the family, the measure, the leading, and the\nrestraint to stop there.\u003C\u002Fp>\n\u003Cp>Everything else — boxes, cards, shadows, accent colours — is a substitute for having made those\nfour well.\u003C\u002Fp>\n","\u003Cp>Notes on building things.\u003C\u002Fp>\n",1786249448753]