Published
Edited
Jan 5, 2022
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
html`${posts[currentIndex].content}`
Insert cell
currentIndex = Math.max(0, Math.min(posts.length, 0 + increaseCurrent - decreaseCurrent))
Insert cell
posts = owid.sql`select id,
printf("https://ourworldindata.org/%s", slug) as url,
title,
slug,
content,
published_at
from posts
where not published_at is null
order by id desc
limit 200`
Insert cell
cleaned_posts = posts
.map((x) => ({ ...x, published_at: new Date(x.published_at) }))
.filter((x) => x.published_at > new Date("2010-01-01"))
Insert cell
Insert cell
owid = new DatasetteClient(
"https://owid-datasette-y43qr.ondigitalocean.app/owid"
)
Insert cell
//Inputs.table(variables.query(`SELECT * from variables ${whereClause}`))
Insert cell
import {DatasetteClient} from "@ambassadors/datasette-client"
Insert cell
import {debounce} from "@mbostock/debouncing-input"
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more