Published
Edited
Feb 18, 2022
1 star
Hello, Smart Shape!Hello, messagepipe!Hello, Atomico!Hello, Markdown-Tag !Hello, js-sdl!Hello Trivia API!Hello auto-animate!Hello, papa parse!Hello, lazy.js!Hello, mout!Hello, sugar js!Hello, lil-gui!Hello, owoify-js!Hello, Maverick JS -> Observables!Hello, Canvas Confetti!Hello, OWL!Hello, Bunny Fonts!Drag and Drop APIHello Color JS!Hello, Kute.js !Hello Color Legend Element!Hello, is-online!Hello, pretty-ms!Hello, Liveblocks!Loading a File via Drag and Drop in ObservableConvex ChatHello, filesize.js!Hello, SVG.jsHello, Counter-element!Hello, Ramda!Hello, Block Protocol!Hello, Reef!Hello, Croquet!Hello, Markdoc!Hello, Multiavatar!Hello, Tableful!String.prototype.replaceAllHello, kdl-jsHow to import remote JS modules into your notebook without NPMUsing new Function() as a way to run remote JSHello, Wild Wild Path!Hello, Lexical!Testing New Mermaid Template LiteralHello, Statery!Hello, pdfme!Testing Scrollbar CustomizationShuffle an ArrayHello, PikasoTesting textContentHow To Use Local JS Files in Your NotebooksHello, Miniplex!Hello, CandyGraph!Hello, Supabase!Hello, Embla Carousel!Hello, core-js!Protip: Load and Style and Image in MarkdownWeb Component TestProtip: Promises.tick - Run code every set intervalHello, tinybaseHello, umbrellajsHello, pintoraSkypack PixijsHello, sortablejsHello, iro.jsObject Assign to Modify HTMLNew Options for Images in ObservablePlaying With DestructuringHello, JS Image Zoom
Exploration: Template Literals
Test Message ChannelJavaScript Class ExplorationHTML Input Types ExplorerHow to: Convert an API Response into HTMLUpdating Game Elements in Kaboom JS Without Forcing a RefreshPlaying with yieldTesting SQLite and ZIPHow to: filter a data set via searchHow to: Convert a Markdown List to JSONHow to: pull in a JavaScript LibraryHow to: Rendering HTML from a Github gistHow to: make buttons run code in ObservableThe OracleTarot UtilitiesHow To: Create and Update HTML ViewsHow to: Make a downloadable text file from an inputHow to: filter a data set via search + suggestionsSimple Calculator ViewGoogle Font EmbedderHow to: get around flat array issue in Observable Tables
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
basic = `This is a basic template literal`
Insert cell
Insert cell
multi = `This template literal
runs many
many rows! But still works fine`
Insert cell
Insert cell
variablesInTemplateString = `The current time is ${new Date(now)}`
Insert cell
Insert cell
Insert cell
Insert cell
htmlContent = html`<marquee><b>this will be converted to <i>HTML</i></b></marquee>`
Insert cell
markdownContent = md`#### This will be converted to HTML via markdown parsing
* one
* two
* three
`
Insert cell
svgElement = svg`<svg width=160 height=160>
<circle cx=64 cy=64 r=16></circle>
</svg>`
Insert cell
Let's create our own tagged template. One that returns an object with the strings and expressions passed in.
Insert cell
showStructure = (strings, ...keys)=>{
return {
strings: strings,
keys : {
...keys
}
}
}
Insert cell
showStructure`I'm a string`
Insert cell
showStructure`I'm a string with a variable ${now}`
Insert cell
three = 3
Insert cell
showStructure`String one ${1} String two ${2} String ${three}`
Insert cell
Insert cell
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