quoteSvg = {
if (!fontsLoaded) {
return html`<p>Awaiting fonts...</p>`;
}
const svg = d3
.create("svg")
.attr("width", renderedWidth)
.attr("height", renderedHeight);
const bg = svg
.append("rect")
.attr("width", renderedWidth)
.attr("height", renderedHeight)
.attr("fill", backgroundColor);
svg
.append("g")
.append("text")
.attr("font-size", `${renderedQuoteSize}px`)
.attr("fill", textColor)
.attr("font-family", "Orelega One, sans-serif")
.attr("x", (d) => renderedPadding)
.attr("y", (d) => renderedQuoteSize + renderedPadding)
.selectAll("tspan")
.data(quoteLines)
.join("tspan")
.attr("x", (d) => renderedPadding)
.attr("y", (d) => renderedQuoteSize + renderedPadding)
.attr("dx", 0)
.attr("dy", (d, i) => i * renderedLineHeight)
.text((d) => d);
svg
.append("g")
.append("text")
.attr("font-size", `${renderedQuoteSize}px`)
.attr("fill", textColor)
.attr("font-family", "Orelega One, sans-serif")
.attr("x", (d) => renderedPadding)
.attr("y", (d) => renderedHeight - renderedPadding)
.text((d) => `— ${quoteAuthor}`);
return svg.node();
}