Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | 3x 9x 9x 1x 8x | import { Element } from 'hast'; interface GithubCorners { href?: string; } /** * @uiw/github-corners@1.5.14 * https://github.com/uiwjs/react-github-corners */ const scriptString = `const GITHUB_CORNERS_TEMPLATE = document.createElement("template"); GITHUB_CORNERS_TEMPLATE.innerHTML = \` <style> :host a:hover .octo-arm { animation: octocat-wave 560ms ease-in-out; } @keyframes octocat-wave { 0%, 100% { transform: rotate(0); } 20%, 60% { transform: rotate(-25deg); } 40%, 80% { transform: rotate(10deg); } } @media (max-width:500px) { :host a:hover .octo-arm { animation: none; } :host .octo-arm { animation: octocat-wave 560ms ease-in-out; } } :host svg { z-index: 99; position: fixed; border: 0px; top: 0px; } </style> <svg width="80" height="80" viewBox="0 0 250 250" aria-hidden="true"> <a xlink:href="https://github.com/uiwjs/react-github-corners" target="_blank" rel="nofollow sponsored" style="fill: rgb(21, 21, 19); color: rgb(255, 255, 255);"> <g> <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path> <path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" class="octo-arm" style="transform-origin: 130px 106px;"></path> <path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path> </g> </a> </svg> \`; export class GithubCorners extends HTMLElement { constructor() { super(); this.right = '0'; this.shadow = this.attachShadow({ mode: 'open' }); this.shadow.appendChild(this.ownerDocument.importNode(GITHUB_CORNERS_TEMPLATE.content, true)); this.update(); } static get observedAttributes() { return ['style', 'z-index', 'target', 'height', 'width', 'href', 'color', 'fill', 'position', 'top', 'left', 'right', 'bottom', 'transform']; } setAttr(name, value) { const svg = this.shadow.querySelector('svg'); if (/(href)/.test(name.toLocaleLowerCase())) { svg.lastElementChild.setAttribute('xlink:href', value); } else if (/(color|fill)/.test(name.toLocaleLowerCase())) { svg.firstElementChild.style[name] = value; } else if (/(z-index|position|top|left|right|bottom|transform)/.test(name.toLocaleLowerCase())) { svg.style[name] = value; } else { svg.setAttribute(name, value); } } update() { ; [...this.getAttributeNames(), 'right'].forEach((name) => { const value = this.getAttribute(name) || this[name] || ''; this.setAttr(name, value); }); } attributeChangedCallback(name, oldValue, newValue) { if (oldValue !== newValue) { this.setAttr(name, newValue); } } } customElements.define('github-corners', GithubCorners);`; export function githubCorners(opts: GithubCorners): Element[] { const { href } = opts; if (!href) { return; } return [ { type: 'element', tagName: 'github-corners', properties: { target: '__blank', position: 'fixed', 'z-index': 999, href, }, children: [] }, { type: 'element', tagName: 'script', properties: { type: 'module', // src: 'https://unpkg.com/@uiw/github-corners?module', }, children: [{ type: 'text', value: scriptString, }] } ]; } |