Skip to content

Instantly share code, notes, and snippets.

@JanMiksovsky
JanMiksovsky / tenHundredWords.txt
Last active January 22, 2023 18:24
The list of 10 Hundred words from Randall Monrole's book "Thing Explainer" (https://xkcd.com/thing-explainer), verified against the list provided at the back of the book
a
able
about
above
accept
across
act
actually
add
admit
@JanMiksovsky
JanMiksovsky / index.html = this().ori
Last active October 18, 2022 23:20
A trivial site using data and templates
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>Reviews</title>
<link rel="stylesheet" href="main.css" />
</head>
<body>
<h1>Reviews</h1>
<div class="cards">
@JanMiksovsky
JanMiksovsky / reviewSite.yaml
Last active August 30, 2023 15:53
A trivial self-contained demo site built with Graph Origami
# This is a trivial self-contained demo site built with Graph Origami.
reviews.yaml:
- summary: Positive reinformement and insight.
rating: 5
location: Southampton, NY
coach: Sue
text: |
Thanks for allowing me to talk things out. It makes it easier to get some
clarity.
@JanMiksovsky
JanMiksovsky / site.yaml
Created September 6, 2022 23:39
Simple toy site packaged as a YAML file
index.html: |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" href="styles/styles.css" />
</head>
<body>
<h1>Home page</h1>
@JanMiksovsky
JanMiksovsky / abTest.meta
Last active October 18, 2022 23:53
Graph Origami demo of an A/B test overlaying experimental files on top of control files
control:
index.html: |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" href="styles/styles.css" />
</head>
<body>
@JanMiksovsky
JanMiksovsky / elementReferences.md
Created February 10, 2021 19:16
Exploring indirect AOM element references to bridge light/shadow DOM

Indirect ARIA element references

This illustrates the possibility of indirecting AOM element references so that they work across shadows. The main ideas are:

  1. Use custom element code to coordinate references light DOM and shadow DOM.
  2. Ensure that AOM references can be indirected: if element A references B for a label, and B references C for a label, then A ends up getting its label from C.
  3. Let the custom element host serve as an indirection point between the light and shadow DOM.
  4. Define fallback AOM properties on elementInternals that are used if the corresponding properties are not set on the host. This lets a host reference elements in its own shadow without exposing those references.

Adapting a combo box example from Alice Boxhall.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
</head>
<body>
<script
type="module"
src="https://cdn.jsdelivr.net/gh/elix/elix@main/define/ListComboBox.js"
></script>
@JanMiksovsky
JanMiksovsky / StoryBrowser.js
Created October 27, 2020 00:10
Lightweight demo/story browser web component in plain JavaScript, no dependencies
/**
* Lightweight demo/story browser in plain JavaScript, no dependencies.
*/
// Semi-private fields stored via Symbol keys on an element instance.
const defaultPathKey = Symbol();
const linksKey = Symbol();
const pathKey = Symbol();
// The template for the component's shadow tree.
@JanMiksovsky
JanMiksovsky / carousel.html
Created July 13, 2020 23:25
Elix Carousel with closed shadow root
@JanMiksovsky
JanMiksovsky / styleableCarousel.html
Last active April 26, 2019 01:56
Hypothetical styleable carousel component showing custom parts and custom pseudo-classes
<html>
<head>
<title>Styling a part in combination with a custom pseudo-class</title>
<script type="module">
// This code sample shows a hypothetical styleable carousel component
// modeled after https://component.kitchen/elix/Carousel.
//
// This shows two related web component features which are desired:
//