From a567c011f44001aafd8acf144957061effdd1a2e Mon Sep 17 00:00:00 2001 From: mehbark Date: Sat, 18 Nov 2023 22:22:35 -0500 Subject: [PATCH] peripheral: save pch source --- pch/your-peripheral-vision-is-made-up.toml | 472 +++++++++++++++++++++ 1 file changed, 472 insertions(+) create mode 100644 pch/your-peripheral-vision-is-made-up.toml diff --git a/pch/your-peripheral-vision-is-made-up.toml b/pch/your-peripheral-vision-is-made-up.toml new file mode 100644 index 0000000..25abe77 --- /dev/null +++ b/pch/your-peripheral-vision-is-made-up.toml @@ -0,0 +1,472 @@ +version = 1 +title = 'Style Inlining' + +[[modules]] +plugin = 'source.text' +data.contents = ''' +# hey did you know your peripheral vision is made up + +this box will change to a random color every five seconds. if you get it in your periphery just right, you should be able to see a color that just straight up isn't there! isn't that weird! + + +
+
+
+ +[inspired by this two-tweet thread](https://x.com/greenTetra_/status/1725964511574708588?s=20)''' +data.language = 'html' +sends = [2] + +[[modules]] +plugin = 'source.text' +data.contents = ''' +#switch-colors { + height: calc(100 * 100vh); + background: linear-gradient(to bottom, + rgb(198.60226452135691, 224.26966998789203, 246.9071903485053) 0% 1%, rgb(45.72602022666916, 190.55860589377102, 190.7884576317398) 1% 2%, rgb(174.40730836178, 44.36649286573629, 86.34563689570786) 2% 3%, rgb(32.52442485272411, 232.65013485794634, 15.810875885127018) 3% 4%, rgb(11.548032390773812, 88.54035529938261, 198.67204542934968) 4% 5%, rgb(241.47181503420944, 168.87943798014328, 182.12108874774094) 5% 6%, rgb(125.30357023440024, 142.06327119614855, 115.8347321191336) 6% 7%, rgb(175.91413333265848, 253.96597692769467, 220.73759634872255) 7% 8%, rgb(253.4571185403264, 202.54787960906043, 11.569160033446394) 8% 9%, rgb(97.2422981427851, 27.39018080215567, 23.637464284388102) 9% 10%, rgb(241.22525000269093, 140.19968922899807, 216.1884962594063) 10% 11%, rgb(165.52508372306744, 200.05019256230514, 158.54229581371982) 11% 12%, rgb(240.26897129555186, 173.62288705319668, 218.32563871557977) 12% 13%, rgb(148.23720978976525, 178.9544368514728, 94.21906959308308) 13% 14%, rgb(229.46029779030033, 178.01538196878283, 82.59509348046703) 14% 15%, rgb(56.498927222742964, 88.04941402908776, 35.31089058365882) 15% 16%, rgb(6.88047762327858, 7.3250468959248, 49.39282808767166) 16% 17%, rgb(167.0301381573264, 181.98837704882698, 197.36898322627093) 17% 18%, rgb(61.682626372921845, 95.59776775995493, 239.05427708946036) 18% 19%, rgb(179.51101721376494, 209.19880840088518, 15.202436150904134) 19% 20%, rgb(146.56241757359084, 1.1797061648239833, 64.8424629522957) 20% 21%, rgb(142.9779909867064, 63.05798162672528, 55.17765889766724) 21% 22%, rgb(9.574524127290601, 156.99345806247413, 114.76437088038091) 22% 23%, rgb(68.23482251240938, 203.72219816189687, 145.64914299667976) 23% 24%, rgb(195.8896973119733, 133.20043462074625, 225.01991746840685) 24% 25%, rgb(67.03921976519365, 208.2602370147887, 140.84061045941598) 25% 26%, rgb(151.5819638974374, 3.0235319462410075, 195.87743107804488) 26% 27%, rgb(152.91695259309182, 237.36138037897211, 212.12410374440088) 27% 28%, rgb(243.1054928714205, 224.86315248540063, 118.81608260752733) 28% 29%, rgb(35.55434292636198, 180.90624639151565, 7.803819734417743) 29% 30%, rgb(207.90834006802748, 64.88267621624419, 230.90888713373835) 30% 31%, rgb(217.70378109679223, 142.25792516703734, 210.94303953993455) 31% 32%, rgb(135.92525808495645, 137.04177428371196, 74.27674157950207) 32% 33%, rgb(136.97919603746425, 27.843989538077608, 20.978409748793126) 33% 34%, rgb(146.1503483075868, 223.90052333232558, 123.65952186659922) 34% 35%, rgb(39.18806499157267, 3.6747855191998724, 203.15005299210344) 35% 36%, rgb(211.80456868153692, 211.5981993017453, 181.33260214421682) 36% 37%, rgb(107.98040929007703, 20.27663551708912, 218.8923842126407) 37% 38%, rgb(106.17046028813445, 145.42926426344678, 61.99486621868891) 38% 39%, rgb(22.317679734112915, 37.51297166046277, 133.14998518884727) 39% 40%, rgb(87.40011498473706, 163.26646244728056, 85.882679195999) 40% 41%, rgb(165.9169410835134, 250.48642092557174, 175.4019757439139) 41% 42%, rgb(65.1504540726591, 5.599729043233594, 228.16756064713422) 42% 43%, rgb(170.9610075080252, 33.64527696089914, 17.91231092577226) 43% 44%, rgb(122.71259438748774, 82.37171089695107, 138.6186717111591) 44% 45%, rgb(61.76748335611177, 149.81412154909304, 62.990588058631204) 45% 46%, rgb(102.64989632925318, 64.77600391083377, 65.0943726863702) 46% 47%, rgb(239.41903480411173, 12.433094276998077, 200.96225499535882) 47% 48%, rgb(206.8789570125271, 222.98143482948302, 211.04607427958348) 48% 49%, rgb(11.546234903457048, 137.1059972771098, 79.44274304894924) 49% 50%, rgb(238.07437616265867, 154.62699076652495, 195.49571893239988) 50% 51%, rgb(48.61521640569674, 54.64937654410784, 149.5605339651218) 51% 52%, rgb(12.999410610082577, 138.77374502597172, 98.43227819686496) 52% 53%, rgb(119.34541701555389, 72.56977434785728, 173.8827994057525) 53% 54%, rgb(214.5153565349745, 0.40061891294715224, 11.12987873153969) 54% 55%, rgb(32.17673247053375, 229.06673599640266, 57.330993224376584) 55% 56%, rgb(249.14926593190103, 144.50882922889843, 98.76693861190512) 56% 57%, rgb(78.22750049657941, 84.97651577345448, 173.29830069074808) 57% 58%, rgb(125.47407588944839, 166.56364329398372, 36.09716796206658) 58% 59%, rgb(14.19188078948946, 93.77497767642689, 114.95071804718526) 59% 60%, rgb(65.65415746830683, 179.025344887021, 164.8555095765915) 60% 61%, rgb(103.09104738115735, 225.36380416949385, 254.8127585175667) 61% 62%, rgb(78.19477292750145, 16.415973728481617, 214.76164348118954) 62% 63%, rgb(134.89517978476886, 97.73068828739588, 15.162533815856477) 63% 64%, rgb(36.9749234221934, 229.53801898361638, 50.167204302972834) 64% 65%, rgb(145.1076439286465, 99.89757547752617, 230.1633935979994) 65% 66%, rgb(2.044053051195931, 232.09555199490416, 185.60941547866696) 66% 67%, rgb(224.2738249014459, 172.84649527190226, 95.39306878772328) 67% 68%, rgb(104.66636980650435, 82.41730948023928, 130.42729862650953) 68% 69%, rgb(232.81861029114208, 25.36899740043458, 45.430577845245466) 69% 70%, rgb(176.70375114888856, 145.88025048143305, 178.3030876037496) 70% 71%, rgb(60.82297128366366, 104.38665473345748, 163.07607932529635) 71% 72%, rgb(56.426390065230066, 49.885243727150566, 136.7372590540935) 72% 73%, rgb(134.49442280871995, 77.60681955210879, 232.42136043982708) 73% 74%, rgb(201.56614451121067, 35.82766749372661, 204.40234829693821) 74% 75%, rgb(228.4292921840455, 142.01118922614688, 35.38224137520018) 75% 76%, rgb(163.25793625477212, 97.87188362918357, 145.98984758566831) 76% 77%, rgb(149.9386107709244, 164.04076004366476, 214.4541596837745) 77% 78%, rgb(243.92680377668603, 137.53270483822666, 165.6567954779656) 78% 79%, rgb(108.33628087792812, 112.07854389133473, 240.72860490927644) 79% 80%, rgb(206.6316316199597, 117.09439981123961, 216.83735316228018) 80% 81%, rgb(238.6047443546995, 166.53886613500885, 100.47675089959347) 81% 82%, rgb(235.44125861088156, 112.47824090012051, 204.93625925736086) 82% 83%, rgb(177.20327921285786, 147.70767002492295, 222.84124712199508) 83% 84%, rgb(135.06563692660927, 43.09364161652462, 38.52577334734525) 84% 85%, rgb(33.3164115848038, 52.02655647012358, 87.10364559912358) 85% 86%, rgb(37.7632225598644, 143.4667660811366, 32.7045757770922) 86% 87%, rgb(194.78034746865495, 70.13585332835925, 17.339739525561242) 87% 88%, rgb(50.77308341208311, 253.0525167726184, 105.69029694436517) 88% 89%, rgb(42.797111325671324, 255.27129319026966, 254.21945711282143) 89% 90%, rgb(223.15383510023105, 184.0854979803487, 145.14423420188092) 90% 91%, rgb(197.88146652875906, 34.51783636302929, 189.0713608819063) 91% 92%, rgb(108.76290742579721, 222.56625548079268, 157.9697932804242) 92% 93%, rgb(48.661604375486036, 0.1935326311636345, 97.30387328054223) 93% 94%, rgb(142.75243946767023, 137.66209103370113, 118.83836194848914) 94% 95%, rgb(103.86351306855926, 232.463011919111, 238.476970889529) 95% 96%, rgb(148.99251019328068, 39.12717791122162, 237.39445098965507) 96% 97%, rgb(124.11739234352069, 214.15342037285512, 1.0171102571759434) 97% 98%, rgb(242.22589553640864, 227.25680738522095, 15.117252159119403) 98% 99%, rgb(147.18879692982733, 159.17514073978407, 50.14640024024749) 99% 100%); + transform: translateY(-100%); + animation-timing-function: steps(100); + animation-name: spin; + animation-duration: 500s; + animation-iteration-count: infinite; + animation-delay: 0s; + animation-direction: reverse; + animation-play-state: running; +} + +#window { + height: 50vh; + aspect-ratio: 1; + //outline: 1px solid red; + margin: 0 auto; + overflow: hidden; +}''' +data.language = 'css' +sends = [2] + +[[modules]] +plugin = 'transform.style-inliner' +data.mode = 'attr' +sends = [3] + +[[modules]] +plugin = 'transform.svg-to-background' +data.useSvgo = true +sends = ['output'] + +[[modules]] +plugin = 'source.sass' +data.contents = ''' +@font-face { font-family: "League Mono"; + src: url("../src/fonts/LeagueMono-VF.woff") format("woff"); + font-weight: 100 900; + font-stretch: 50% 200%; + font-display: swap; +} + +@font-face { + font-family: "Papyrus"; + src: local("Papyrus"), url("../src/fonts/Papyrus.woff") format("woff"), + url("../src/fonts/Papyrus.woff2") format("woff2"); + font-weight: normal; + font-style: normal; + font-display: swap; +} + +@mixin display { + font-family: "League Mono", serif; +} + +@mixin body { + font-family: "Atkinson Hyperlegible", sans-serif; +} + +.headline { + @include display; + font-size: 2.25rem; + font-weight: 400; +} + +.subhed { + @include display; + font-size: 1.5rem; + font-weight: 400; +} + +.big-body { + @include body; + font-size: 1.5rem; + font-weight: 600; +} + +.big-body-thin { + @include body; + font-size: 1.5rem; + font-weight: 400; +} +/* source-code-pro-cyrillic-ext-400-normal */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/source-code-pro-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/source-code-pro-cyrillic-ext-400-normal.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} + +/* source-code-pro-cyrillic-400-normal */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/source-code-pro-cyrillic-400-normal.woff2) format('woff2'), url(./files/source-code-pro-cyrillic-400-normal.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} + +/* source-code-pro-greek-ext-400-normal */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/source-code-pro-greek-ext-400-normal.woff2) format('woff2'), url(./files/source-code-pro-greek-ext-400-normal.woff) format('woff'); + unicode-range: U+1F00-1FFF; +} + +/* source-code-pro-greek-400-normal */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/source-code-pro-greek-400-normal.woff2) format('woff2'), url(./files/source-code-pro-greek-400-normal.woff) format('woff'); + unicode-range: U+0370-03FF; +} + +/* source-code-pro-vietnamese-400-normal */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/source-code-pro-vietnamese-400-normal.woff2) format('woff2'), url(./files/source-code-pro-vietnamese-400-normal.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} + +/* source-code-pro-latin-ext-400-normal */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/source-code-pro-latin-ext-400-normal.woff2) format('woff2'), url(./files/source-code-pro-latin-ext-400-normal.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} + +/* source-code-pro-latin-400-normal */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/source-code-pro-latin-400-normal.woff2) format('woff2'), url(./files/source-code-pro-latin-400-normal.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} + +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + [type="text"], + [type="email"], + [type="url"], + [type="password"], + [type="number"], + [type="date"], + [type="datetime-local"], + [type="month"], + [type="search"], + [type="tel"], + [type="time"], + [type="week"], + [multiple], + textarea, + select { + @apply bg-notWhite text-notBlack placeholder-gray-700; + } + + *:focus { + // outline: 3px solid rebeccapurple; + @apply outline outline-4 outline-foreground; + @apply ring-foreground #{!important}; + } + + /* Remove :focus styling for browsers that do support :focus-visible */ + *:focus:not(:focus-visible) { + @apply outline-none; + } + + /* Add focus styling back in browsers that do support :focus-visible */ + *:focus-visible { + @apply outline outline-4 outline-foreground; + @apply ring-foreground #{!important}; + } + + * { + @apply antialiased; + } + + html { + --font-sans: theme("fontFamily.sans"); + } +} + +@layer components { + // TODO: clean up use of h* elements everywhere so we don't have to use + // classes for heading styles + .h1 { + @apply font-league text-8xl font-semibold tracking-[-0.07em]; + font-stretch: 200%; + } + + .h2 { + @apply font-league text-6xl font-normal tracking-[-0.07em]; + font-stretch: 150%; + } + + .h3 { + @apply font-atkinson text-5xl; + } + + .h4 { + @apply font-atkinson text-4xl font-bold; + } + + .h5 { + @apply font-league text-2xl tracking-tighter; + } + + .h6 { + @apply font-league text-xl font-semibold leading-6 tracking-tighter; + } + + .subtitle-1 { + @apply font-atkinson text-base; + } + + .subtitle-2 { + @apply font-atkinson text-sm font-bold tracking-wide; + } + + .body-1 { + @apply font-atkinson text-base; + } + + .body-2 { + @apply font-atkinson text-sm; + } + + [type="radio"] { + @apply appearance-none border-2 border-foreground checked:bg-foreground + checked:focus:bg-foreground; + } + + [id$="footnote-label"] { + @apply sr-only; + } + + input[type="checkbox"] { + @apply bg-notWhite text-cherry disabled:cursor-not-allowed disabled:text-cherry-300; + + &.rounded-checkbox { + @apply h-6 w-6 rounded-lg border-2 border-foreground text-foreground focus:ring-foreground; + } + } + + div[data-post-preview] hr:first-of-type { + @apply overflow-visible; + + &::after { + content: "read more"; + + @apply relative left-4 top-[-1rem]; + @apply bg-white px-2 text-sm font-bold text-gray-700; + } + } +} + +@layer utilities { + .mask { + mask-size: contain; + mask-repeat: no-repeat; + mask-position: center; + } + + .mask-squircle { + mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTAwIDBDMjAgMCAwIDIwIDAgMTAwczIwIDEwMCAxMDAgMTAwIDEwMC0yMCAxMDAtMTAwUzE4MCAwIDEwMCAweiIvPjwvc3ZnPg==); + } + + .mask-roundrect { + @apply rounded-[12.5%]; + } + + .mask-circle { + @apply rounded-full; + } + + .mask-egg { + mask-image: url("../client/images/icons/egg.svg"); + } + + .mask-capsule-big { + mask-image: url("../client/images/icons/capsule-big.svg"); + } + + .mask-capsule-small { + mask-image: url("../client/images/icons/capsule-small.svg"); + } + + svg.cohost-shadow-light { + filter: drop-shadow(0px 4px 5px rgba(25, 25, 25, 0.14)) + drop-shadow(0px 1px 10px rgba(25, 25, 25, 0.12)) + drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.2)); + } + + .cohost-shadow-light { + &.mask { + filter: drop-shadow(0px 4px 5px rgba(25, 25, 25, 0.14)) + drop-shadow(0px 1px 10px rgba(25, 25, 25, 0.12)) + drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.2)); + } + } + + .cohost-shadow-dark { + &.mask { + filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14)) + drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12)) + drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.2)); + } + } + + svg.cohost-shadow-dark { + filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14)) + drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12)) + drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.2)); + } + + :not(svg):not(.mask).cohost-shadow-light { + box-shadow: 0px 4px 5px rgba(25, 25, 25, 0.14), + 0px 1px 10px rgba(25, 25, 25, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.2); + } + + :not(svg):not(.mask).cohost-shadow-dark { + box-shadow: 0px 4px 5px rgba(0, 0, 0, 0.14), + 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.2); + } + + .duotone-wrapper { + @apply relative flex h-full overflow-hidden bg-mango; + flex: 1 1 100%; + } + + .duotone-wrapper div { + @apply relative h-full w-full max-w-full mix-blend-multiply contrast-100 grayscale will-change-transform; + flex: 1 0 100%; + } + + .duotone-wrapper::before { + @apply absolute inset-0 z-[1] h-full w-full bg-cherry mix-blend-lighten; + content: ""; + } + + .styled-scrollbars-light { + scrollbar-color: rgb(var(--color-mango)) rgb(var(--color-notWhite)); + } + + .styled-scrollbars-dark { + scrollbar-color: rgb(var(--color-mango)) rgb(var(--color-notBlack)); + } +} + +@mixin base-button( + $border-width, + $border-line-style: none, + $border-color: currentcolor +) { + align-items: center; + border: $border-width $border-line-style $border-color; + border-radius: 200px; + display: flex; + font-weight: 600; + line-height: 1.25; + // so the button works out the same height no matter the border width + padding: calc(0.5rem - #{$border-width}) 1rem; + + svg:first-child { + // leave some extra space to the right of an icon, if one's present + margin-right: 0.5rem; + } +} + +/////////////////////////////////////////////////////////////////////////////// +// common styles +/////////////////////////////////////////////////////////////////////////////// +.button-bar { + align-items: center; + display: flex; + flex-direction: row; + + .spacer { + flex: 1; + } + + * ~ .spacer { + margin-right: 1rem; + } + + .spacer ~ * { + margin-left: 1rem; + } +} + +// bring these in from the freshdesk widget so we don't have a loadbearing crime +// dependency on that +@keyframes slideupright { + 0% { + transform: scale(0); + transform-origin: bottom right; + } + + 100% { + transform: scale(1); + transform-origin: bottom right; + } +} + +@keyframes slideupleft { + 0% { + transform: scale(0); + transform-origin: bottom left; + } + + 100% { + transform: scale(1); + transform-origin: bottom left; + } +} +''' +data.syntax = 'scss' +sends = [2] +graphPos = [-456, 120] + +[[modules]] +plugin = 'source.sass' +data.contents = '' +data.syntax = 'scss' + +[[modules]] +plugin = 'source.sass' +data.contents = '' +data.syntax = 'scss'