Skip to content

Instantly share code, notes, and snippets.

View alexcarpenter's full-sized avatar
:shipit:

Alex Carpenter alexcarpenter

:shipit:
View GitHub Profile
@alexcarpenter
alexcarpenter / easing-fade.md
Last active September 22, 2025 20:51
easing-fade.md
BEFORE AFTER
import {
format as dateFnsFormat,
formatDistanceToNow,
isToday,
isValid,
isYesterday,
parseISO,
} from 'date-fns';
/**
@alexcarpenter
alexcarpenter / settings.json
Created January 3, 2024 23:13
.vscode/settings.json
{
"window.autoDetectColorScheme": true,
"workbench.colorTheme": "GitHub Dark",
"workbench.preferredLightColorTheme": "GitHub Light",
"workbench.preferredDarkColorTheme": "GitHub Dark",
"workbench.tree.indent": 20,
"editor.fontFamily": "JetBrains Mono NL, Menlo, Monaco, 'Courier New', monospace",
"editor.fontSize": 16,
"editor.tabSize": 2,
"editor.cursorStyle": "block",
@alexcarpenter
alexcarpenter / useBoolean.ts
Created June 21, 2022 20:57
useBoolean hook
function useBoolean(initialState = false) {
const [state, setState] = React.useState(initialState)
const handlers = React.useMemo(
() => ({
on: () => {
setState(true)
},
off: () => {
setState(false)
const container = {
hidden: { opacity: 0 },
show: {
opacity: 1,
transition: {
staggerChildren: 0.25,
},
},
}
on:
push:
branches:
- main
jobs:
stable_website_preview_cherry_pick:
runs-on: ubuntu-latest
name: Cherry pick main to stable-website-preview branch
steps:
#######################################################################################################################################
#######################################################################################################################################
#######################################################################################################################################
#######################################################################################################################################
#######################################################################################################################################
#######################################################################################################################################
########################################################################M@#############################################################
#########################################################x##############
@alexcarpenter
alexcarpenter / MarkdownPage.tsx
Created February 17, 2021 14:05 — forked from jaredpalmer/MarkdownPage.tsx
Get headers from MDX in Next.js
import {MDXProvider} from '@mdx-js/react';
import {MDXComponents} from 'components/MDX/MDXComponents';
import {Toc} from 'components/Toc/Toc';
import * as React from 'react';
export interface MarkdownProps<Frontmatter> {
meta: Frontmatter;
children?: React.ReactNode;
}
{
:layers {
:caps_lock_mode {:key :caps_lock :alone {:key :escape}}
}
:main [
{
:des "Caps lock layer"
:rules [
:caps_lock_mode
[:##h :left_arrow]