From bfacb23f8a3b71de6b41f45fdbadda0282cf3532 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 14 Feb 2022 15:32:58 -0500 Subject: [PATCH] Add posts and old grade-calc Fix small bugs >bad commit --- components/fuzzy-bar.tsx | 9 +- components/layout.tsx | 1 - components/title.tsx | 1 - lib/slug.ts | 43 ++ package-lock.json | 690 ++++++++++++++---- package.json | 4 +- pages/about.tsx | 5 +- pages/grade-calc/index.tsx | 17 +- pages/index.tsx | 37 +- pages/posts/[page].tsx | 42 ++ pages/posts/index.tsx | 32 + posts/thoughts-on-baba-is-you.md | 14 + .../assets/images/baba_is_you_screencap.png | Bin 0 -> 143508 bytes public/grade-calc/vanilla.js | 268 +++++++ public/pages.json | 3 +- public/posts.json | 1 + public/site.json | 61 -- public/site.md | 44 -- styles/fuzzy.module.css | 1 + styles/global.css | 27 +- util/post-cache.ts | 14 + 21 files changed, 1047 insertions(+), 267 deletions(-) create mode 100644 lib/slug.ts create mode 100644 pages/posts/[page].tsx create mode 100644 pages/posts/index.tsx create mode 100644 posts/thoughts-on-baba-is-you.md create mode 100644 public/assets/images/baba_is_you_screencap.png create mode 100644 public/grade-calc/vanilla.js create mode 100644 public/posts.json delete mode 100644 public/site.json delete mode 100644 public/site.md create mode 100644 util/post-cache.ts diff --git a/components/fuzzy-bar.tsx b/components/fuzzy-bar.tsx index e133c84..c1e6d7c 100644 --- a/components/fuzzy-bar.tsx +++ b/components/fuzzy-bar.tsx @@ -1,6 +1,7 @@ import { ChangeEvent, useCallback, useEffect, useRef, useState } from 'react'; import Fuzzy from './_fuzzy'; import pages from '../public/pages.json'; +import posts from '../public/posts.json'; import style from '../styles/fuzzy.module.css'; function FuzzyBar(): JSX.Element { @@ -13,9 +14,15 @@ function FuzzyBar(): JSX.Element { let fuzz: Fuzzy | null = null; + let entries = [...pages]; + + for (const [k,v] of posts.entries()) { + entries.push({title: v.title, link: `posts/${v.slug}`}); + } + try { fuzz = new Fuzzy({ - pages: pages, + pages: entries, searchField: searchField, searchValue: searchValue, resultsValue: resultsValue, diff --git a/components/layout.tsx b/components/layout.tsx index 7ac0f3d..0ad5f90 100644 --- a/components/layout.tsx +++ b/components/layout.tsx @@ -1,5 +1,4 @@ import FuzzyBar from './fuzzy-bar'; -import Logo from '../public/logo.svg'; import Meta from './meta'; import Title from './title'; diff --git a/components/title.tsx b/components/title.tsx index 811bd46..604a46b 100644 --- a/components/title.tsx +++ b/components/title.tsx @@ -1,6 +1,5 @@ import style from '../styles/title.module.css'; import Link from 'next/link'; -import { useEffect, useState } from 'react'; type propsObj = { name: string, diff --git a/lib/slug.ts b/lib/slug.ts new file mode 100644 index 0000000..4e262fd --- /dev/null +++ b/lib/slug.ts @@ -0,0 +1,43 @@ +import fs from 'fs' +import matter from 'gray-matter'; +import { join } from 'path'; + +const postsDirectory = join(process.cwd(), 'posts'); + +export function getPost(rawslug: string, filter: Array = []) { + const slug = rawslug.replace(/\.md$/, ''); + const path = join(postsDirectory, `${slug}.md`); + const file = fs.readFileSync(path, 'utf-8'); + const { data, content } = matter(file); + + if (data['last_updated'] === undefined) + data['last_updated'] = data['created_at']; + + if (filter.length === 0) + return { ...data, content, slug, rawslug }; + + let post: { slug?: string, rawslug?: string, content?: string, title?: string } | any = {}; + for (const [_, entry] of filter.entries()) { + if (entry === 'slug') + post[entry] = slug; + + if (entry === 'rawslug') + post[entry] = rawslug; + + if (entry === 'content') + post[entry] = content; + + + + if (typeof data[entry] !== 'undefined') { + post[entry] = data[entry] + } + } + return post; +} + +export function getAllPosts(filter: Array = []) { + const files = fs.readdirSync(postsDirectory); + + return files.map(file => { return getPost(file, filter) }); +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1864151..1639811 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "dependencies": { "@types/react": "^17.0.37", "dotenv": "^10.0.0", + "gray-matter": "^4.0.3", "next": "^11.1.3", "normalize.css": "^8.0.1", "react": "^17.0.2", @@ -18,6 +19,7 @@ "@types/react-dom": "^17.0.11", "eslint": "^7.32.0", "eslint-config-next": "^11.1.2", + "ts-node": "^10.5.0", "typescript": "^4.5.2" } }, @@ -2147,6 +2149,27 @@ "node": ">=6.9.0" } }, + "node_modules/@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-consumer": "0.8.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -2288,9 +2311,9 @@ "integrity": "sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==" }, "node_modules/@next/env": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-11.1.3.tgz", - "integrity": "sha512-5+vaeooJuWmICSlmVaAC8KG3O8hwKasACVfkHj58xQuCB5SW0TKW3hWxgxkBuefMBn1nM0yEVPKokXCsYjBtng==" + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-11.1.4.tgz", + "integrity": "sha512-vEW+fSulzZams4nYmcX9LByb1moMBlkwOAVf0eF+44u+1N/h7HDeznPBWIjEfihzTku8rdLB0k7u8VT8AGtNkQ==" }, "node_modules/@next/eslint-plugin-next": { "version": "11.1.2", @@ -2322,14 +2345,14 @@ } }, "node_modules/@next/polyfill-module": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-11.1.3.tgz", - "integrity": "sha512-7yr9cr4a0SrBoVE8psxXWK1wTFc8UzsY8Wc2cWGL7qA0hgtqACHaXC47M1ByJB410hFZenGrpE+KFaT1unQMyw==" + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-11.1.4.tgz", + "integrity": "sha512-CY3bOSQf9Dy3+34dFjFbOdg3DRXIGfujb54D/AVO83ajyQczRZ3xdU0i5VV0eSR6B56ktVy3/aelOffpTUq6LA==" }, "node_modules/@next/react-dev-overlay": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-11.1.3.tgz", - "integrity": "sha512-zIwtMliSUR+IKl917ToFNB+0fD7bI5kYMdjHU/UEKpfIXAZPnXRHHISCvPDsczlr+bRsbjlUFW1CsNiuFedeuQ==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-11.1.4.tgz", + "integrity": "sha512-8/9JflJwRXEvVb6cKCWgRTOmALzDJHpWD5diRbtXWsllqxcMBjtscgnO4PaK+9QyZnSYSUbn0zZUZvxOXOTE1Q==", "dependencies": { "@babel/code-frame": "7.12.11", "anser": "1.4.9", @@ -2413,9 +2436,9 @@ } }, "node_modules/@next/react-refresh-utils": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-11.1.3.tgz", - "integrity": "sha512-144kD8q2nChw67V3AJJlPQ6NUJVFczyn10bhTynn9o2rY5DEnkzuBipcyMuQl2DqfxMkV7sn+yOCOYbrLCk9zg==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-11.1.4.tgz", + "integrity": "sha512-jTme207yEV4On9Gk0QJYK2N3kfKVBx17lLOL3qSjqNbqk1TnE51xvzogOCQXNABbzQlBY+J/NN+eylPS4QOKwA==", "peerDependencies": { "react-refresh": "0.8.3", "webpack": "^4 || ^5" @@ -2427,9 +2450,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-11.1.3.tgz", - "integrity": "sha512-TwP4krjhs+uU9pesDYCShEXZrLSbJr78p12e7XnLBBaNf20SgWLlVmQUT9gX9KbWan5V0sUbJfmcS8MRNHgYuA==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-11.1.4.tgz", + "integrity": "sha512-jt8dMtIRWnJjRYLid6NWCxXzXdpr9VFT/vhDp8ioh+TtOR0UKPHMxei6R4GA3RqoyPEfFcSNmkG7OtyqCSxNIw==", "cpu": [ "arm64" ], @@ -2442,9 +2465,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-11.1.3.tgz", - "integrity": "sha512-ZSWmkg/PxccHFNUSeBdrfaH8KwSkoeUtewXKvuYYt7Ph0yRsbqSyNIvhUezDua96lApiXXq6EL2d1THfeWomvw==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-11.1.4.tgz", + "integrity": "sha512-5i9tOQNO8kawwggHvQUVR3a5KzIGaE2dw1g1kL//z/N840djvGseHrJSFEGdP1c35gM+dSGPpAKHmeBKrwHM8g==", "cpu": [ "x64" ], @@ -2457,9 +2480,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-11.1.3.tgz", - "integrity": "sha512-PrTBN0iZudAuj4jSbtXcdBdmfpaDCPIneG4Oms4zcs93KwMgLhivYW082Mvlgx9QVEiRm7+RkFpIVtG/i7JitA==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-11.1.4.tgz", + "integrity": "sha512-QfVuXugxBkCUHN9yD/VZ1xqszcMlBDj6vrbRiQvmWuyNo39ON6HqGn3jDwVrTHc9oKo2a0XInm+0zEnQeDmjSw==", "cpu": [ "x64" ], @@ -2472,9 +2495,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-11.1.3.tgz", - "integrity": "sha512-mRwbscVjRoHk+tDY7XbkT5d9FCwujFIQJpGp0XNb1i5OHCSDO8WW/C9cLEWS4LxKRbIZlTLYg1MTXqLQkvva8w==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-11.1.4.tgz", + "integrity": "sha512-7MPXYWsCo5qGZXyyJwBLvQkYi0hKARtpjGxjt/mdxn7A7O+jKJgAuxgOo/lnZIiXfbJzxRnSD8k6WkUwN0IVmg==", "cpu": [ "x64" ], @@ -2779,6 +2802,30 @@ "node": ">=8.9.0" } }, + "node_modules/@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true + }, "node_modules/@types/debug": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", @@ -3053,6 +3100,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -3114,11 +3170,16 @@ "node": ">= 8" } }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -3831,6 +3892,12 @@ "sha.js": "^2.4.8" } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -4948,7 +5015,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -5029,6 +5095,17 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -5299,6 +5376,20 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -5648,6 +5739,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -5884,7 +5983,6 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -5949,6 +6047,14 @@ "node": ">=4.0" } }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/kleur": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", @@ -6092,6 +6198,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -6746,9 +6858,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node_modules/nanoid": { - "version": "3.1.30", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", - "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -6771,16 +6883,16 @@ "dev": true }, "node_modules/next": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/next/-/next-11.1.3.tgz", - "integrity": "sha512-ud/gKmnKQ8wtHC+pd1ZiqPRa7DdgulPkAk94MbpsspfNliwZkYs9SIYWhlLSyg+c661LzdUI2nZshvrtggSYWA==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/next/-/next-11.1.4.tgz", + "integrity": "sha512-GWQJrWYkfAKP8vmrzJcCfRSKv955Khyjqd5jipTcVKDGg+SH+NfjDMWFtCwArcQlHPvzisGu1ERLY0+Eoj7G+g==", "dependencies": { "@babel/runtime": "7.15.3", "@hapi/accept": "5.0.2", - "@next/env": "11.1.3", - "@next/polyfill-module": "11.1.3", - "@next/react-dev-overlay": "11.1.3", - "@next/react-refresh-utils": "11.1.3", + "@next/env": "11.1.4", + "@next/polyfill-module": "11.1.4", + "@next/react-dev-overlay": "11.1.4", + "@next/react-refresh-utils": "11.1.4", "@node-rs/helper": "1.2.1", "assert": "2.0.0", "ast-types": "0.13.2", @@ -6802,7 +6914,7 @@ "image-size": "1.0.0", "jest-worker": "27.0.0-next.5", "native-url": "0.3.4", - "node-fetch": "2.6.1", + "node-fetch": "2.6.7", "node-html-parser": "1.4.9", "node-libs-browser": "^2.2.1", "os-browserify": "0.3.0", @@ -6833,10 +6945,10 @@ "node": ">=12.0.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "11.1.3", - "@next/swc-darwin-x64": "11.1.3", - "@next/swc-linux-x64-gnu": "11.1.3", - "@next/swc-win32-x64-msvc": "11.1.3" + "@next/swc-darwin-arm64": "11.1.4", + "@next/swc-darwin-x64": "11.1.4", + "@next/swc-linux-x64-gnu": "11.1.4", + "@next/swc-win32-x64-msvc": "11.1.4" }, "peerDependencies": { "fibers": ">= 3.1.0", @@ -6858,11 +6970,22 @@ } }, "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, "node_modules/node-html-parser": { @@ -7967,6 +8090,18 @@ "object-assign": "^4.1.1" } }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -8106,6 +8241,37 @@ "node": ">= 8" } }, + "node_modules/source-map/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/source-map/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/source-map/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/source-map/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, "node_modules/space-separated-tokens": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz", @@ -8118,8 +8284,7 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "node_modules/stable": { "version": "0.1.8", @@ -8282,6 +8447,14 @@ "node": ">=4" } }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -8503,20 +8676,9 @@ } }, "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/tr46/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" }, "node_modules/trough": { "version": "2.0.2", @@ -8527,6 +8689,69 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-node": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.5.0.tgz", + "integrity": "sha512-6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "0.7.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.0", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/ts-pnp": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", @@ -8896,6 +9121,12 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", + "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", + "dev": true + }, "node_modules/vfile": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.2.0.tgz", @@ -8942,18 +9173,17 @@ } }, "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "node_modules/which": { @@ -9043,6 +9273,15 @@ "node": ">= 6" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -10581,6 +10820,21 @@ "to-fast-properties": "^2.0.0" } }, + "@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true + }, + "@cspotcode/source-map-support": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, + "requires": { + "@cspotcode/source-map-consumer": "0.8.0" + } + }, "@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -10692,9 +10946,9 @@ "integrity": "sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==" }, "@next/env": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-11.1.3.tgz", - "integrity": "sha512-5+vaeooJuWmICSlmVaAC8KG3O8hwKasACVfkHj58xQuCB5SW0TKW3hWxgxkBuefMBn1nM0yEVPKokXCsYjBtng==" + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-11.1.4.tgz", + "integrity": "sha512-vEW+fSulzZams4nYmcX9LByb1moMBlkwOAVf0eF+44u+1N/h7HDeznPBWIjEfihzTku8rdLB0k7u8VT8AGtNkQ==" }, "@next/eslint-plugin-next": { "version": "11.1.2", @@ -10722,14 +10976,14 @@ } }, "@next/polyfill-module": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-11.1.3.tgz", - "integrity": "sha512-7yr9cr4a0SrBoVE8psxXWK1wTFc8UzsY8Wc2cWGL7qA0hgtqACHaXC47M1ByJB410hFZenGrpE+KFaT1unQMyw==" + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-11.1.4.tgz", + "integrity": "sha512-CY3bOSQf9Dy3+34dFjFbOdg3DRXIGfujb54D/AVO83ajyQczRZ3xdU0i5VV0eSR6B56ktVy3/aelOffpTUq6LA==" }, "@next/react-dev-overlay": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-11.1.3.tgz", - "integrity": "sha512-zIwtMliSUR+IKl917ToFNB+0fD7bI5kYMdjHU/UEKpfIXAZPnXRHHISCvPDsczlr+bRsbjlUFW1CsNiuFedeuQ==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-11.1.4.tgz", + "integrity": "sha512-8/9JflJwRXEvVb6cKCWgRTOmALzDJHpWD5diRbtXWsllqxcMBjtscgnO4PaK+9QyZnSYSUbn0zZUZvxOXOTE1Q==", "requires": { "@babel/code-frame": "7.12.11", "anser": "1.4.9", @@ -10790,33 +11044,33 @@ } }, "@next/react-refresh-utils": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-11.1.3.tgz", - "integrity": "sha512-144kD8q2nChw67V3AJJlPQ6NUJVFczyn10bhTynn9o2rY5DEnkzuBipcyMuQl2DqfxMkV7sn+yOCOYbrLCk9zg==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-11.1.4.tgz", + "integrity": "sha512-jTme207yEV4On9Gk0QJYK2N3kfKVBx17lLOL3qSjqNbqk1TnE51xvzogOCQXNABbzQlBY+J/NN+eylPS4QOKwA==", "requires": {} }, "@next/swc-darwin-arm64": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-11.1.3.tgz", - "integrity": "sha512-TwP4krjhs+uU9pesDYCShEXZrLSbJr78p12e7XnLBBaNf20SgWLlVmQUT9gX9KbWan5V0sUbJfmcS8MRNHgYuA==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-11.1.4.tgz", + "integrity": "sha512-jt8dMtIRWnJjRYLid6NWCxXzXdpr9VFT/vhDp8ioh+TtOR0UKPHMxei6R4GA3RqoyPEfFcSNmkG7OtyqCSxNIw==", "optional": true }, "@next/swc-darwin-x64": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-11.1.3.tgz", - "integrity": "sha512-ZSWmkg/PxccHFNUSeBdrfaH8KwSkoeUtewXKvuYYt7Ph0yRsbqSyNIvhUezDua96lApiXXq6EL2d1THfeWomvw==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-11.1.4.tgz", + "integrity": "sha512-5i9tOQNO8kawwggHvQUVR3a5KzIGaE2dw1g1kL//z/N840djvGseHrJSFEGdP1c35gM+dSGPpAKHmeBKrwHM8g==", "optional": true }, "@next/swc-linux-x64-gnu": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-11.1.3.tgz", - "integrity": "sha512-PrTBN0iZudAuj4jSbtXcdBdmfpaDCPIneG4Oms4zcs93KwMgLhivYW082Mvlgx9QVEiRm7+RkFpIVtG/i7JitA==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-11.1.4.tgz", + "integrity": "sha512-QfVuXugxBkCUHN9yD/VZ1xqszcMlBDj6vrbRiQvmWuyNo39ON6HqGn3jDwVrTHc9oKo2a0XInm+0zEnQeDmjSw==", "optional": true }, "@next/swc-win32-x64-msvc": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-11.1.3.tgz", - "integrity": "sha512-mRwbscVjRoHk+tDY7XbkT5d9FCwujFIQJpGp0XNb1i5OHCSDO8WW/C9cLEWS4LxKRbIZlTLYg1MTXqLQkvva8w==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-11.1.4.tgz", + "integrity": "sha512-7MPXYWsCo5qGZXyyJwBLvQkYi0hKARtpjGxjt/mdxn7A7O+jKJgAuxgOo/lnZIiXfbJzxRnSD8k6WkUwN0IVmg==", "optional": true }, "@node-rs/helper": { @@ -11001,6 +11255,30 @@ } } }, + "@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true + }, "@types/debug": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", @@ -11201,6 +11479,12 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -11246,11 +11530,16 @@ "picomatch": "^2.0.4" } }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -11819,6 +12108,12 @@ "sha.js": "^2.4.8" } }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -12688,8 +12983,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { "version": "1.4.0", @@ -12745,6 +13039,14 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -12956,6 +13258,17 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, + "gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "requires": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + } + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -13183,6 +13496,11 @@ "has-tostringtag": "^1.0.0" } }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -13337,7 +13655,6 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -13384,6 +13701,11 @@ "object.assign": "^4.1.2" } }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, "kleur": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", @@ -13502,6 +13824,12 @@ "semver": "^6.0.0" } }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -13902,9 +14230,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "nanoid": { - "version": "3.1.30", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", - "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==" }, "native-url": { "version": "0.3.4", @@ -13921,20 +14249,20 @@ "dev": true }, "next": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/next/-/next-11.1.3.tgz", - "integrity": "sha512-ud/gKmnKQ8wtHC+pd1ZiqPRa7DdgulPkAk94MbpsspfNliwZkYs9SIYWhlLSyg+c661LzdUI2nZshvrtggSYWA==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/next/-/next-11.1.4.tgz", + "integrity": "sha512-GWQJrWYkfAKP8vmrzJcCfRSKv955Khyjqd5jipTcVKDGg+SH+NfjDMWFtCwArcQlHPvzisGu1ERLY0+Eoj7G+g==", "requires": { "@babel/runtime": "7.15.3", "@hapi/accept": "5.0.2", - "@next/env": "11.1.3", - "@next/polyfill-module": "11.1.3", - "@next/react-dev-overlay": "11.1.3", - "@next/react-refresh-utils": "11.1.3", - "@next/swc-darwin-arm64": "11.1.3", - "@next/swc-darwin-x64": "11.1.3", - "@next/swc-linux-x64-gnu": "11.1.3", - "@next/swc-win32-x64-msvc": "11.1.3", + "@next/env": "11.1.4", + "@next/polyfill-module": "11.1.4", + "@next/react-dev-overlay": "11.1.4", + "@next/react-refresh-utils": "11.1.4", + "@next/swc-darwin-arm64": "11.1.4", + "@next/swc-darwin-x64": "11.1.4", + "@next/swc-linux-x64-gnu": "11.1.4", + "@next/swc-win32-x64-msvc": "11.1.4", "@node-rs/helper": "1.2.1", "assert": "2.0.0", "ast-types": "0.13.2", @@ -13956,7 +14284,7 @@ "image-size": "1.0.0", "jest-worker": "27.0.0-next.5", "native-url": "0.3.4", - "node-fetch": "2.6.1", + "node-fetch": "2.6.7", "node-html-parser": "1.4.9", "node-libs-browser": "^2.2.1", "os-browserify": "0.3.0", @@ -13982,9 +14310,12 @@ } }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } }, "node-html-parser": { "version": "1.4.9", @@ -14836,6 +15167,15 @@ "object-assign": "^4.1.1" } }, + "section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "requires": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -14939,6 +15279,36 @@ "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", "requires": { "whatwg-url": "^7.0.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } } }, "space-separated-tokens": { @@ -14949,8 +15319,7 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "stable": { "version": "0.1.8", @@ -15088,6 +15457,11 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" + }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -15256,25 +15630,50 @@ "integrity": "sha512-+Y17F0YzxfACxTyjfhnJQEe7afPA0GSpYlFkl2VFMxYP7jshQf9gXV7cH47EfToBumFThfKBvfAcoUn6fdNeRQ==" }, "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" }, "trough": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/trough/-/trough-2.0.2.tgz", "integrity": "sha512-FnHq5sTMxC0sk957wHDzRnemFnNBvt/gSY99HzK8F7UP5WAbvP70yX5bd7CjEQkN+TjdxwI7g7lJ6podqrG2/w==" }, + "ts-node": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.5.0.tgz", + "integrity": "sha512-6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "0.7.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.0", + "yn": "3.1.1" + }, + "dependencies": { + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + } + } + }, "ts-pnp": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", @@ -15551,6 +15950,12 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, + "v8-compile-cache-lib": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", + "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", + "dev": true + }, "vfile": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.2.0.tgz", @@ -15586,18 +15991,17 @@ } }, "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "which": { @@ -15663,6 +16067,12 @@ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 4cfa958..4533082 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "dependencies": { "@types/react": "^17.0.37", "dotenv": "^10.0.0", + "gray-matter": "^4.0.3", "next": "^11.1.3", "normalize.css": "^8.0.1", "react": "^17.0.2", @@ -19,6 +20,7 @@ "@types/react-dom": "^17.0.11", "eslint": "^7.32.0", "eslint-config-next": "^11.1.2", - "typescript": "^4.5.2" + "typescript": "^4.5.2", + "ts-node": "^10.5.0" } } diff --git a/pages/about.tsx b/pages/about.tsx index 41788fd..3267276 100644 --- a/pages/about.tsx +++ b/pages/about.tsx @@ -13,12 +13,11 @@ function AboutPage() { I do not really know, at least the content I put here. I guess I wanted a place on the web where I wanted to put everything I think is worth looking at some point in the future.

- It seems wise to have things up here even though they may embarrass me at some point in the future, as many of the things I have done in the past have. Especially the web sites I made in high school. I will never forget those. -
+ It seems wise to have things up here even though they may embarrass me at some point in the future, as many of the things I have done in the past have. Got any questions, concerns, or issues? Feel free to contact me via my email: lambdapaul [at] pm [dot] me.
- {ReadmeMd} + {ReadmeMd.replace(/#{1,5} /g, (s: string) => {return `#${s}`})}
) diff --git a/pages/grade-calc/index.tsx b/pages/grade-calc/index.tsx index cfd94da..0b36e7b 100644 --- a/pages/grade-calc/index.tsx +++ b/pages/grade-calc/index.tsx @@ -1,4 +1,4 @@ -import React, { ReactElement, useState } from 'react'; +import React, { ReactElement, useEffect, useState } from 'react'; import Layout from '../../components/layout'; import Link from 'next/link'; import GradeCalc from '../../components/_gc'; @@ -77,9 +77,22 @@ function GradeCalcPage() { // export default GradeCalcPage; export default function WIP() { + useEffect(() => { + const script = document.createElement('script'); + + script.src = '/grade-calc/vanilla.js'; + script.async = true; + + document.body.appendChild(script); + + return () => { + document.body.removeChild(script); + } + }, []); + return ( -
+
Check back later as the port of this page is a Work in Progress.
); diff --git a/pages/index.tsx b/pages/index.tsx index 9be33c1..81475ec 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -2,29 +2,46 @@ import Link from 'next/link'; import React from 'react'; import Layout from '../components/layout'; import Pages from '../public/pages.json'; +import cachePostLinkData from '../util/post-cache'; -// import { GetStaticProps } from 'next'; -function HomePage() { +function HomePage({posts}: any) { + Pages.sort((x, y) => { return ('' + x.title).localeCompare(y.title) }); return ( -
-
Welcome to my website!
{ +
+
Welcome!
+ { Pages.map(obj => { - return
+
+
Posts
+
+ {posts?.map((post: any) => { + return
+ [{ (new Date(post.last_updated)).toLocaleString()}] + {post.title} + +
+ })} +
+
) } -export default HomePage; +export async function getStaticProps() { + // make this webpack plugin + return { + props: {posts: cachePostLinkData()} + }; +} -// export async function getStaticProps(context): GetStaticProps { - -// } \ No newline at end of file +export default HomePage; \ No newline at end of file diff --git a/pages/posts/[page].tsx b/pages/posts/[page].tsx new file mode 100644 index 0000000..2d7f9d7 --- /dev/null +++ b/pages/posts/[page].tsx @@ -0,0 +1,42 @@ +import Layout from '../../components/layout'; +import { useRouter } from 'next/router'; +import { getAllPosts, getPost } from '../../lib/slug'; +import ReactMarkdown from 'react-markdown'; +import Image from 'next/image'; + +function Post({post} : any) { // eh + const router = useRouter(); + return ( + +
+ {post.cover ? {`${post.title} : ''} + {post.content} +
+
+ ); +} + +export async function getStaticProps({params}: any) { + const post = getPost(params.page); + + return { + props: {post} + }; +} + +export async function getStaticPaths() { + const posts = getAllPosts(); + return { + paths: posts.map(post => { + return { + params: { + page: post.slug + } + } + }), + fallback: false + }; +} + + +export default Post; diff --git a/pages/posts/index.tsx b/pages/posts/index.tsx new file mode 100644 index 0000000..6b92374 --- /dev/null +++ b/pages/posts/index.tsx @@ -0,0 +1,32 @@ +import Link from 'next/link'; +import React from 'react'; +import Layout from '../../components/layout'; +import { getAllPosts } from '../../lib/slug'; +import Pages from '../../public/pages.json'; +import cachePostLinkData from '../../util/post-cache'; + + +function HomePage({posts}: any) { + Pages.sort((x, y) => { return ('' + x.title).localeCompare(y.title) }); + return ( + + {posts.map((post: any) => { + return
+ + {post.title} + +
[{ (new Date(post.last_updated)).toLocaleString()}]
+
+ })} +
+ ) +} + +export async function getStaticProps() { + + return { + props: {posts: cachePostLinkData()} + }; +} + +export default HomePage; \ No newline at end of file diff --git a/posts/thoughts-on-baba-is-you.md b/posts/thoughts-on-baba-is-you.md new file mode 100644 index 0000000..90437c7 --- /dev/null +++ b/posts/thoughts-on-baba-is-you.md @@ -0,0 +1,14 @@ +--- +title: Thoughts on Baba Is You +created_at: '2021-10-30T00:43:00.000Z' +cover: 'baba_is_you_screencap.png' +--- + +Just when I thought this game exhausted everything it has to offer, it introduces a new mechanic. +Just when I thought I mastered this game, it introduces something new and adds to the complexity. + +I do not know how to compare it to a typical puzzle game because this game is in a sub-genre on its own. You write the rules to your suiting. However many level constrain the rules so you have to work with the ones that level does not have "locked." The early levels are relatively straight-forward, as they act as tutorials. But the difficulty curve goes up and up until you hit a roadblock and get stuck on it for hours. That is when you play a different level. Yes, the game has this over-world similar to the one in Super Mario World where you access levels and sub-worlds. Beating a level unlocks the surrounding locked levels and a dandelion-looking thing (it is really never explained). Sub-worlds are also unlocked by beating levels and collecting those dandelions. There are other collectibles too that are awarded based on set criteria but that would be too much information for new players and for a review. + +Do not let the cutesy art style and music in the trailers and other promotional media distract you. This game is extremely difficult. But the moment a solution clicks in a level, there is no better feeling. + +Speaking of music, I feel it is the weakest part of the game. The main theme is simple but catchy and the rest are somewhat forget-able. \ No newline at end of file diff --git a/public/assets/images/baba_is_you_screencap.png b/public/assets/images/baba_is_you_screencap.png new file mode 100644 index 0000000000000000000000000000000000000000..0625355c6668ef6a32ebc433d22455aec322bc34 GIT binary patch literal 143508 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

O4xypX@qoryV|F_gUa8xtxnSx2 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 + const cont = ` +

+

About

+ Check out the README.md file + to learn more about the configuration structure. +

Usage

+
    +
  1. Either configure the calculator using the text box below or load one from the existing JSON files to + generate one.
  2. +
  3. Click Generate.
  4. +
  5. Enter the input values.
  6. +
+
+
+
+ `; + document.querySelector('.grade-calc').innerHTML = cont; +})(); // eh + +function generate() { + let calcSection = document.querySelector(".calculator-container"); + calcSection.innerHTML = ""; + try { + conf = JSON.parse(document.getElementById("json").value); + } + catch (e) { + console.log(e); + calcSection.innerHTML = e; + return; + } + let cb = (out) => { + for (let o of out) { + calcSection.appendChild(o); + } + } + gc = new __GradeCalc(conf, cb); + + calcSection.appendChild(gc.elemTotal); +} + +function loadConfig(filename) { + var client = new XMLHttpRequest(); + client.open('GET', filename); + client.onreadystatechange = function () { + document.getElementById("json").value = (client.responseText); + } + client.send(); +} + +class __GradeCalc { + maxscore = 0; + sections = []; + inputSection = []; + outputSection = []; + fields = []; + grades = []; + ugrades = []; + both = false; + totalOutput = null; + + constructor(config, outCallback) { + this.totalOutput = document.createElement("div"); + let dConfig = JSON.parse(JSON.stringify(config)); // dirty clone + let sanConfig = []; + for (let conf of dConfig) { + if (conf.percentage === undefined || conf.name === undefined) + continue; + if (conf.title === undefined) + conf.title = conf.name[0].toUpperCase() + conf.name.slice(1); + sanConfig.push(conf); + } + this.config = sanConfig; + for (let [i, conf] of this.config.entries()) { + this.maxscore += conf.percentage; + + this.inputSection[i] = []; + this.outputSection[i] = document.createElement("div"); + + if (conf.bothMethods) { + this.both = true; + } + + this.sections[i] = (this.createSection(i)); + } + + for (let [k, v] of this.fields.entries()) { + for (let field of v) { + this.addInputEventListener(k, field); + } + } + + outCallback(this.sections); + } + + createSection(id) { + let conf = this.config[id]; + + var section = document.createElement("div"); + section.classList.add(conf.name); + + var heading = document.createElement("h2"); + heading.innerHTML = `${conf.title} (${conf.percentage}%)`; + + section.appendChild(heading); + + if (conf.info !== undefined) + section.appendChild(document.createTextNode(conf.info)); + + this.fields[id] = []; + if (conf.points !== undefined) { + for (var i = 0; i < conf.points.length; i++) { + section.appendChild(this.createInputSection(id, i)); + } + } + else { + section.appendChild(this.createInputSection(id, 0, true)); + } + + + section.appendChild(this.outputSection[id]); + return section; + } + + createInputSection(sectId, inputId, soleInput = false) { + let conf = this.config[sectId]; + let inputSection = document.createElement("div"); + inputSection.classList.add("input-section"); + + let label = document.createElement("label"); + if (soleInput) + label.innerHTML = `${conf.title} Score: `; + else + label.innerHTML = `${conf.title} ${inputId + 1} Score: `; + + let field = document.createElement("input"); + field.classList.add(`input`); + field.classList.add(`${conf.name}-score`); + this.fields[sectId][inputId] = field; + + let suffix = (soleInput) ? "%" : ` / ${conf.points[inputId]} pts`; + + inputSection.appendChild(label); + inputSection.appendChild(field); + inputSection.appendChild(document.createTextNode(suffix)); + + this.inputSection[sectId][inputId] = inputSection; + return inputSection; + } + + addInputEventListener(id, field, event = "keyup") { + let conf = this.config[id]; + field.addEventListener(event, () => { + if (conf.output !== undefined && conf.output) + this.showSectionGrade(id); + this.showTotalGrade(); + }); + } + + calculateSectionGrade(id, unweighted = false) { + let conf = this.config[id]; + let fields = this.fields[id]; + if (fields === undefined) + return; + if (conf.points === undefined) { + return parseFloat(fields[0].value); + } + + let total = 0; + + if (unweighted) { + let counter = 0; + for (let [i, field] of fields.entries()) { + let val = parseFloat(field.value); + if (isNaN(val)) + continue; + total += val / conf.points[i]; + counter++; + } + + return (total / counter * 100); + } + + total = fields.reduce((acc, cur) => { + let c = parseFloat(cur.value); + if (isNaN(c)) + return acc; + return acc + parseFloat(c); + }, 0); + + let max_total = 0; + for (let [i, field] of conf.points.entries()) { + if (isNaN(parseFloat(fields[i].value))) + continue; + max_total += field; + } + + return (total / max_total * 100); + } + + showSectionGrade(id) { + let conf = this.config[id]; + let grade = this.calculateSectionGrade(id); + let ugrade = this.calculateSectionGrade(id, true); + + + this.grades[id] = grade * parseFloat(conf.percentage) / 100; + this.ugrades[id] = ugrade * parseFloat(conf.percentage) / 100; + + grade = !isNaN(grade) ? grade.toFixed(2) : "..."; + ugrade = !isNaN(ugrade) ? ugrade.toFixed(2) : "..."; + if (conf.bothMethods) { + this.outputSection[id].innerHTML + = `Score (weighted): ${grade}%
Score (unweighted): ${ugrade}%`; + return; + } + + this.outputSection[id].innerHTML = `Score: ${grade}`; + } + + showTotalGrade() { + for (let [k, conf] of this.config.entries()) { + if (!conf.output) { + this.grades[k] = this.calculateSectionGrade(k) * parseFloat(conf.percentage) / 100; + this.ugrades[k] = this.calculateSectionGrade(k, true) * parseFloat(conf.percentage) / 100; + } + } + + let grade = this.grades.reduce((a, c) => { + if (isNaN(c)) + return a; + return a + c + }, 0); + let ugrade = this.ugrades.reduce((a, c) => { + if (isNaN(c)) + return a; + return a + c + }, 0); + + grade = !isNaN(grade) ? grade.toFixed(2) : "..."; + ugrade = !isNaN(ugrade) ? ugrade.toFixed(2) : "..."; + if (this.both) { + this.totalOutput.innerHTML + = `Total Score (weighted): ${grade}%
Total Score (unweighted): ${ugrade}%`; + return; + } + + this.totalOutput.innerHTML = `Total Score: ${grade}%`; + } + + get elemTotal() { + return this.totalOutput; + } +} diff --git a/public/pages.json b/public/pages.json index 0dfd322..c7d8738 100644 --- a/public/pages.json +++ b/public/pages.json @@ -9,5 +9,6 @@ {"title":"Mastodon", "link": "https://mastodon.social/@lambdapaul"}, {"title":"Matrix", "link": "https://matrix.to/#/@lambdapaul:matrix.org"}, {"title":"Keybase", "link": "https://keybase.io/lambdapaul"}, - {"title":"Playlists", "link": "/playlists"} + {"title":"Playlists", "link": "/playlists"}, + {"title":"Posts", "link": "/posts"} ] diff --git a/public/posts.json b/public/posts.json new file mode 100644 index 0000000..096e449 --- /dev/null +++ b/public/posts.json @@ -0,0 +1 @@ +[{"title":"Steam Info","slug":"steam-info","last_updated":"2022-02-14T09:18:29.604Z"},{"title":"Thoughts on Baba Is You","slug":"thoughts-on-baba-is-you","last_updated":"2021-10-29T04:00:00.000Z"}] \ No newline at end of file diff --git a/public/site.json b/public/site.json deleted file mode 100644 index aadbd8c..0000000 --- a/public/site.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "type": "root", - "domain": "paulw.xyz", - "children": [ - { - "name": "resources", - "type": "route" - }, - { - "name": "recommended", - "type": "route" - }, - { - "name": "playlists", - "type": "route" - }, - { - "name": "grade-calc", - "type": "route", - "text": "Grade Calculator", - "children": [ - { - "name": "readme", - "type": "route", - "text": "Grade Calculator Read Me" - } - ] - }, - { - "name": "about", - "type": "route" - }, - { - "name": "github", - "type": "external", - "text": "GitHub", - "url": "https://github.com/LambdaPaul" - }, - { - "name": "gitlab", - "type": "external", - "text": "GitLab", - "url": "https://gitlab.com/LambdaPaul" - }, - { - "name": "mastodon", - "type": "external", - "url": "https://mastodon.social/@lambdapaul" - }, - { - "name": "keybase", - "type": "external", - "url": "https://keybase.io/lambdapaul" - }, - { - "name": "matrix", - "type": "external", - "url": "https://matrix.to/#/@lambdapaul:matrix.org" - } - ] -} diff --git a/public/site.md b/public/site.md deleted file mode 100644 index 4028a81..0000000 --- a/public/site.md +++ /dev/null @@ -1,44 +0,0 @@ -# Site.json File Specification - -This is a very basic site structure specification used to generate some of the navigations pages and components of the website. - -## Definitions - -### Member - -### Website - -## Attributes - -These are the keys to the object definition used to define the website. Not all of the attributes will be read by the application as they are dependent on the type of member. However, if they are, they must conform to this document. - -### `name` - -Name is one of the two required attributes for each member, along with type. - -### `type` - - -### `children` - -Children is used to define sub-members of the current member. - -### `text` - -Text is used tto override the string that the capitalization of the name results in. If a change is not required, this may be omitted. - -### `url` - -### `domain` - -## Types - -The types are the different kinds of members that the page can have. They are defined with the `type` attribute. The current list is tentative. - -### `root` - -### `directory` - -### `route` - -### `external` \ No newline at end of file diff --git a/styles/fuzzy.module.css b/styles/fuzzy.module.css index 6cf1a0a..c24045b 100644 --- a/styles/fuzzy.module.css +++ b/styles/fuzzy.module.css @@ -5,6 +5,7 @@ top: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.9); + z-index: 100; } .search { diff --git a/styles/global.css b/styles/global.css index 3f97975..450d942 100644 --- a/styles/global.css +++ b/styles/global.css @@ -150,9 +150,32 @@ section { } .block { - margin: 2rem; + margin: 0 2rem; padding: 2rem; /* box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2); */ border: 1px solid #ffffff; - border-radius: 1rem; + border-bottom: none; +} + +.block:first-of-type { + border-top-right-radius: 1rem; + border-top-left-radius: 1rem; + margin-top: 2rem; +} + +.block:last-of-type { + border-bottom: 1px solid #ffffff; + border-bottom-right-radius: 1rem; + border-bottom-left-radius: 1rem; + margin-bottom: 2rem; +} + +code { + overflow-x: scroll; + max-width: 100%; + display: inline-block; + background-color: rgba(255, 255, 255, 0.1); + font-size: 1rem; + padding: 0.1rem 0.5rem; + vertical-align: bottom; } \ No newline at end of file diff --git a/util/post-cache.ts b/util/post-cache.ts new file mode 100644 index 0000000..08938db --- /dev/null +++ b/util/post-cache.ts @@ -0,0 +1,14 @@ +import fs from 'fs'; +import { getAllPosts } from '../lib/slug'; +import { join } from 'path'; + +const publicDir = join(process.cwd(), 'public'); + +export default function cachePostLinkData() { + const posts = getAllPosts(['title', 'slug', 'last_updated']); + fs.writeFile(`${publicDir}/posts.json`, JSON.stringify(posts), (e) => { + if (e) + console.error(e); + }); + return posts; +} \ No newline at end of file