The Basic Economics of Home Building

.bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; } .bh__table_cell { padding: 5px; background-color: #FFFFFF; } .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; } .bh__table_header { padding: 5px; background-color:#F1F1F1; } .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important;…

https://somervilleyimby.org/2026/04/30/the-basic-economics-of-home-building/

The Basic Economics of Home Building - Somerville YIMBY

.bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; } .bh__table_cell { padding: 5px; background-color: #FFFFFF; } .bh__table_cell p { color: #2D2D2D; font-family: ‘He…

Somerville YIMBY
A 128KB Export Pipeline
void setup(){size(900,900,P3D);rectMode(CENTER);strokeJoin(RECT);}
void draw(){background(#f1f1f1);strokeWeight(10);noFill();
float a=10,s=width/a,f=10;pushMatrix();translate(width/2,height/2);
for(int i=0;i<a;i++){stroke(0);pushMatrix();
float w2=tan(radians(frameCount+i*10))*50;translate(w2,0);
rotateY(radians(i*f+frameCount));square(0,0,i*s);popMatrix();}
popMatrix();}

Just committed my first ':has()' to (soon to be) production #CSS!

pre:has(code) {
background: #f1f1f1;
padding-block: 1em;
padding-inline: 1.5em;
border-radius: 0.5em;
}

That will style the 'pre' in:

<pre>
<code>
{{content goes here}}
</code>
</pre>

That’s a tree view, not a source view, to be clear. The source doesn’t have all that whitespace.

Progressive enhancement, baby!