Skip to content

Instantly share code, notes, and snippets.

View kevinfiol's full-sized avatar
🌔
man on the moon

kevinfiol

🌔
man on the moon
View GitHub Profile
@kevinfiol
kevinfiol / scrape.js
Created April 6, 2023 04:21
scrape tw
import { resolve } from 'node:path';
import { writeFileSync } from 'node:fs';
import { parseHTML } from 'linkedom';
// failed: dark-mode, container, gradient-color-stops
const pages = new Set([
'accent-color',
'align-content',
'align-items',
{
"accent-inherit": "accent-color: inherit;",
"accent-current": "accent-color: currentColor;",
"accent-transparent": "accent-color: transparent;",
"accent-black": "accent-color: #000;",
"accent-white": "accent-color: #fff;",
"accent-slate-50": "accent-color: #f8fafc;",
"accent-slate-100": "accent-color: #f1f5f9;",
"accent-slate-200": "accent-color: #e2e8f0;",
"accent-slate-300": "accent-color: #cbd5e1;",

[test](aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

@kevinfiol
kevinfiol / build.js
Created January 22, 2023 21:54
esbuild w context
/** @type {esbuild.BuildOptions} **/
const config = {
format: 'iife',
entryPoints: [ENTRY],
outfile: OUTFILE,
bundle: false,
plugins: [{
name: 'on-end',
setup(build) {
build.onEnd(({ errors }) => {
@kevinfiol
kevinfiol / merge.js
Created December 20, 2022 04:13
small immutable object merge
let NIL = void 0,
isObj = x => x && Object.getPrototypeOf(x) === Object.prototype;
function merge(obj, patch) {
obj = Array.isArray(obj) ? [ ...obj ] : isObj(obj) ? { ...obj } : NIL;
if (!obj) throw Error('You can only copy objects or arrays.');
for (let k in patch) {
let v = patch[k];
if (typeof v === 'function') obj[k] = v(obj[k]);
import servbot from 'servbot';
import esbuild from 'esbuild';
import env from 'env-smart';
import { writeFile } from 'fs/promises';
import { resolve } from 'path';
// load .env file variables
env.load();
const DEV = process.argv.includes('-d');
@kevinfiol
kevinfiol / cache.js
Last active September 22, 2022 02:10
lru cache
function Cache(max, ttl) {
let items = {},
size = 0,
first = undefined,
last = undefined;
return $ = {
has(key) {
return key in items;
},
@kevinfiol
kevinfiol / youtube_feeds.user.js
Last active August 12, 2022 16:26
a crappy script to get RSS feeds from your channel subscriptions at https://www.youtube.com/feed/channels
// ==UserScript==
// @name get feeds
// @namespace Violentmonkey Scripts
// @match https://www.youtube.com/feed/channels
// @grant none
// @version 1.0
// @author -
// @description 8/9/2022, 11:24:20 PM
// ==/UserScript==
@kevinfiol
kevinfiol / Dockerfile
Last active June 30, 2022 16:54
dockerfile for a redbean app
FROM alpine:3.16
RUN apk update \
&& apk add --no-cache \
bash \
zip
RUN wget https://justine.lol/ape.elf -O /usr/bin/ape
RUN chmod +x /usr/bin/ape
@kevinfiol
kevinfiol / keybase.md
Created June 15, 2022 20:23
keybase.md

Keybase proof

I hereby claim:

  • I am kevinfiol on github.
  • I am kevinfiol (https://keybase.io/kevinfiol) on keybase.
  • I have a public key ASCDaMYsQFL_1qQj9Pqh-uDHpXm-UDuaJA1-Mu2bYpIOyAo

To claim this, I am signing this object: