Skip to content

Instantly share code, notes, and snippets.

<HtmlMapper
html={html}
// now we'll accept tags like strong by default,
// but at the cost of predictibility and security.
acceptUnknown
>
{{ p: Body }}
</HtmlMapper>
<HtmlMapper html={html}>
{{
p: Body,
...
strong: null,
ul: null,
li: null,
br: null,
}}
</HtmlMapper>
const tagMap = { p: Body, h1: ... };
return (
<>
<HtmlMapper html={intro}>
{{
...tagMap,
p: ({ ...props }) => <Body variant="large" {...props} />,
}}
</HtmlMapper>
<HtmlMapper html={text}>{tagMap}</HtmlMapper>
<HtmlMapper html={html}>
{{
p: Body,
h1: (props) => <Title variant="large" {...props} />,
h2: (props) => <Title variant="regular" {...props} />,
h3: (props) => <Title variant="small" {...props} />,
h4: (props) => <Title variant="micro" {...props} />,
h5: (props) => <Title variant="tiny" {...props} />,
a: ({ href, children, ...rest }) =>
href?.startsWith("/") ? (
[
{
"elementType": "geometry",
"stylers": [
{
"color": "#22994b"
}
]
},
{
@jariz
jariz / chromecast-session-hijacking.js
Last active March 8, 2017 22:46
just paste into console and let the web app do it's thing, all messages will get logged.
const real = chrome.cast.requestSession;
chrome.cast.requestSession = (success, ...dontcare) => {
real(session => {
console.log('intercepted session!', session);
for (let namespace of session.namespaces) {
console.log('listening on', namespace.name);
session.addMessageListener(namespace.name, (namespace, message) => console.log('<=', namespace, JSON.parse(message)));
const realSend = session.sendMessage;
session.sendMessage = (namespace, message, ...whatever) => {
console.log('=>', namespace, message);
@jariz
jariz / designer.html
Last active August 29, 2015 14:18
designer
<link rel="import" href="../core-icon-button/core-icon-button.html">
<link rel="import" href="../core-toolbar/core-toolbar.html">
<link rel="import" href="../core-header-panel/core-header-panel.html">
<link rel="import" href="../paper-button/paper-button.html">
<link rel="import" href="../core-icons/core-icons.html">
<link rel="import" href="../core-icon/core-icon.html">
<link rel="import" href="../core-icons/av-icons.html">
<link rel="import" href="../paper-fab/paper-fab.html">
<link rel="import" href="../paper-input/paper-input.html">
<link rel="import" href="../core-drawer-panel/core-drawer-panel.html">
@jariz
jariz / designer.html
Created January 27, 2015 10:19
designer
<link rel="import" href="../paper-button/paper-button.html">
<link rel="import" href="../paper-checkbox/paper-checkbox.html">
<link rel="import" href="../paper-tabs/paper-tabs.html">
<link rel="import" href="../paper-tabs/paper-tab.html">
<polymer-element name="my-element">
<template>
<style>
:host {
@jariz
jariz / designer.html
Created January 24, 2015 18:12
designer
<link rel="import" href="../core-input/core-input.html">
<polymer-element name="my-element">
<template>
<style>
:host {
position: absolute;
width: 100%;
height: 100%;
@jariz
jariz / designer.html
Last active August 29, 2015 14:13
designer
<link rel="import" href="../core-icon-button/core-icon-button.html">
<link rel="import" href="../core-toolbar/core-toolbar.html">
<link rel="import" href="../core-header-panel/core-header-panel.html">
<link rel="import" href="../core-icons/core-icons.html">
<link rel="import" href="../core-icon/core-icon.html">
<polymer-element name="my-element">
<template>
<style>