diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..c907746 --- /dev/null +++ b/TODO.md @@ -0,0 +1,7 @@ +- favicon +- world plate blog (separate site) +- snippets +- blog comments +- notes +- technical page content +- markmark (+ bookmarks formatting) \ No newline at end of file diff --git a/eleventy.config.ts b/eleventy.config.js similarity index 96% rename from eleventy.config.ts rename to eleventy.config.js index a5fcfad..f124d09 100644 --- a/eleventy.config.ts +++ b/eleventy.config.js @@ -4,6 +4,7 @@ import rssPlugin from "@11ty/eleventy-plugin-rss"; import brokenLinksPlugin from "eleventy-plugin-broken-links"; import { eleventyImageTransformPlugin } from "@11ty/eleventy-img"; import syntaxHighlight from "@11ty/eleventy-plugin-syntaxhighlight"; +import footnote from "markdown-it-footnote"; import { EleventyRenderPlugin, IdAttributePlugin } from '@11ty/eleventy'; import * as fs from 'fs'; import * as opml from 'opml'; @@ -30,7 +31,7 @@ export default function (eleventyConfig) { eleventyConfig.addPlugin(IdAttributePlugin); eleventyConfig.addPlugin(EleventyRenderPlugin); eleventyConfig.addPassthroughCopy("src/assets/**") - + eleventyConfig.amendLibrary("md", md => md.use(footnote)) eleventyConfig.addCollection("markmark", async api => { const response = await fetch(`${OUTLINE.url}/documents.info`, { method: 'POST', diff --git a/package.json b/package.json index f781e23..972ed9f 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.js", "scripts": { - "build": "tsx ./node_modules/.bin/eleventy --config eleventy.config.ts --formats 11ty.tsx" + "build": "eleventy --config eleventy.config.js" }, "keywords": [], "author": "", @@ -17,11 +17,9 @@ "@11ty/eleventy-plugin-rss": "^2.0.3", "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0", "eleventy-plugin-broken-links": "^2.2.1", + "markdown-it-footnote": "^4.0.0", "node-fetch": "^3.3.2", "opml": "^0.5.7" }, - "type": "module", - "devDependencies": { - "tsx": "^4.19.3" - } + "type": "module" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1623ecd..120f05c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,16 +26,15 @@ importers: eleventy-plugin-broken-links: specifier: ^2.2.1 version: 2.2.1 + markdown-it-footnote: + specifier: ^4.0.0 + version: 4.0.0 node-fetch: specifier: ^3.3.2 version: 3.3.2 opml: specifier: ^0.5.7 version: 0.5.7 - devDependencies: - tsx: - specifier: ^4.19.3 - version: 4.19.3 packages: @@ -120,156 +119,6 @@ packages: '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} - '@esbuild/aix-ppc64@0.25.2': - resolution: {integrity: sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.25.2': - resolution: {integrity: sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.25.2': - resolution: {integrity: sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.25.2': - resolution: {integrity: sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.25.2': - resolution: {integrity: sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.25.2': - resolution: {integrity: sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.25.2': - resolution: {integrity: sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.25.2': - resolution: {integrity: sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.25.2': - resolution: {integrity: sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.25.2': - resolution: {integrity: sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.25.2': - resolution: {integrity: sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.25.2': - resolution: {integrity: sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.25.2': - resolution: {integrity: sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.25.2': - resolution: {integrity: sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.25.2': - resolution: {integrity: sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.25.2': - resolution: {integrity: sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.25.2': - resolution: {integrity: sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.25.2': - resolution: {integrity: sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.25.2': - resolution: {integrity: sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.25.2': - resolution: {integrity: sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.2': - resolution: {integrity: sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.25.2': - resolution: {integrity: sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.25.2': - resolution: {integrity: sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.25.2': - resolution: {integrity: sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.25.2': - resolution: {integrity: sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@img/sharp-darwin-arm64@0.33.5': resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -738,11 +587,6 @@ packages: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} - esbuild@0.25.2: - resolution: {integrity: sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==} - engines: {node: '>=18'} - hasBin: true - escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -857,9 +701,6 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-tsconfig@4.10.0: - resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} - getpass@0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} @@ -1082,6 +923,9 @@ packages: resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==} engines: {node: '>=12'} + markdown-it-footnote@4.0.0: + resolution: {integrity: sha512-WYJ7urf+khJYl3DqofQpYfEYkZKbmXmwxQV8c8mO/hGIhgZ1wOe7R4HLFNwqx7TjILbnC98fuyeSsin19JdFcQ==} + markdown-it@14.1.0: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true @@ -1362,9 +1206,6 @@ packages: engines: {node: '>= 6'} deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve@1.22.10: resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} engines: {node: '>= 0.4'} @@ -1502,11 +1343,6 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.19.3: - resolution: {integrity: sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==} - engines: {node: '>=18.0.0'} - hasBin: true - tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -1775,81 +1611,6 @@ snapshots: tslib: 2.8.1 optional: true - '@esbuild/aix-ppc64@0.25.2': - optional: true - - '@esbuild/android-arm64@0.25.2': - optional: true - - '@esbuild/android-arm@0.25.2': - optional: true - - '@esbuild/android-x64@0.25.2': - optional: true - - '@esbuild/darwin-arm64@0.25.2': - optional: true - - '@esbuild/darwin-x64@0.25.2': - optional: true - - '@esbuild/freebsd-arm64@0.25.2': - optional: true - - '@esbuild/freebsd-x64@0.25.2': - optional: true - - '@esbuild/linux-arm64@0.25.2': - optional: true - - '@esbuild/linux-arm@0.25.2': - optional: true - - '@esbuild/linux-ia32@0.25.2': - optional: true - - '@esbuild/linux-loong64@0.25.2': - optional: true - - '@esbuild/linux-mips64el@0.25.2': - optional: true - - '@esbuild/linux-ppc64@0.25.2': - optional: true - - '@esbuild/linux-riscv64@0.25.2': - optional: true - - '@esbuild/linux-s390x@0.25.2': - optional: true - - '@esbuild/linux-x64@0.25.2': - optional: true - - '@esbuild/netbsd-arm64@0.25.2': - optional: true - - '@esbuild/netbsd-x64@0.25.2': - optional: true - - '@esbuild/openbsd-arm64@0.25.2': - optional: true - - '@esbuild/openbsd-x64@0.25.2': - optional: true - - '@esbuild/sunos-x64@0.25.2': - optional: true - - '@esbuild/win32-arm64@0.25.2': - optional: true - - '@esbuild/win32-ia32@0.25.2': - optional: true - - '@esbuild/win32-x64@0.25.2': - optional: true - '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.0.4 @@ -2268,34 +2029,6 @@ snapshots: dependencies: es-errors: 1.3.0 - esbuild@0.25.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.2 - '@esbuild/android-arm': 0.25.2 - '@esbuild/android-arm64': 0.25.2 - '@esbuild/android-x64': 0.25.2 - '@esbuild/darwin-arm64': 0.25.2 - '@esbuild/darwin-x64': 0.25.2 - '@esbuild/freebsd-arm64': 0.25.2 - '@esbuild/freebsd-x64': 0.25.2 - '@esbuild/linux-arm': 0.25.2 - '@esbuild/linux-arm64': 0.25.2 - '@esbuild/linux-ia32': 0.25.2 - '@esbuild/linux-loong64': 0.25.2 - '@esbuild/linux-mips64el': 0.25.2 - '@esbuild/linux-ppc64': 0.25.2 - '@esbuild/linux-riscv64': 0.25.2 - '@esbuild/linux-s390x': 0.25.2 - '@esbuild/linux-x64': 0.25.2 - '@esbuild/netbsd-arm64': 0.25.2 - '@esbuild/netbsd-x64': 0.25.2 - '@esbuild/openbsd-arm64': 0.25.2 - '@esbuild/openbsd-x64': 0.25.2 - '@esbuild/sunos-x64': 0.25.2 - '@esbuild/win32-arm64': 0.25.2 - '@esbuild/win32-ia32': 0.25.2 - '@esbuild/win32-x64': 0.25.2 - escape-html@1.0.3: {} escape-string-regexp@5.0.0: {} @@ -2417,10 +2150,6 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - get-tsconfig@4.10.0: - dependencies: - resolve-pkg-maps: 1.0.0 - getpass@0.1.7: dependencies: assert-plus: 1.0.0 @@ -2637,6 +2366,8 @@ snapshots: luxon@3.5.0: {} + markdown-it-footnote@4.0.0: {} + markdown-it@14.1.0: dependencies: argparse: 2.0.1 @@ -2935,8 +2666,6 @@ snapshots: tunnel-agent: 0.6.0 uuid: 3.4.0 - resolve-pkg-maps@1.0.0: {} - resolve@1.22.10: dependencies: is-core-module: 2.16.1 @@ -3095,13 +2824,6 @@ snapshots: tslib@2.8.1: optional: true - tsx@4.19.3: - dependencies: - esbuild: 0.25.2 - get-tsconfig: 4.10.0 - optionalDependencies: - fsevents: 2.3.3 - tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 diff --git a/src/_includes/obsidian.pug b/src/_includes/obsidian.pug index db41387..0ea4b5f 100644 --- a/src/_includes/obsidian.pug +++ b/src/_includes/obsidian.pug @@ -37,6 +37,7 @@ html(lang="en") meta(name='keywords' content='garrett mills glmdev developer speaker flitter extollo student') meta(name='author' content='Garrett Mills') meta(name='robots' content='index, follow') + link(rel='author' href='/humans.txt') block title if title diff --git a/src/_includes/redirect.pug b/src/_includes/redirect.pug new file mode 100644 index 0000000..72b7e57 --- /dev/null +++ b/src/_includes/redirect.pug @@ -0,0 +1,8 @@ +extends ./obsidian + +block content + div.content-wrapper + p You should be redirected shortly. If not, click here. + + script. + window.location.href = "!{redirect_to}" diff --git a/src/assets/css/obsidian.css b/src/assets/css/obsidian.css index 2ca7a7c..6ffc346 100644 --- a/src/assets/css/obsidian.css +++ b/src/assets/css/obsidian.css @@ -313,6 +313,19 @@ footer p { opacity: 0.75; } +table, td, th { + border: 1px solid var(--color-2); + border-collapse: collapse; +} + +td, th { + padding: 7px; +} + +.ws-nowrap { + white-space: nowrap; +} + @media screen and (max-width: 500px) { nav ul { flex-direction: column; diff --git a/src/blog/posts/2024-08-11-Flight-Log.md b/src/blog/posts/2024-08-11-Flight-Log.md index 48865e4..da8b282 100644 --- a/src/blog/posts/2024-08-11-Flight-Log.md +++ b/src/blog/posts/2024-08-11-Flight-Log.md @@ -37,50 +37,50 @@ Some nomenclature: Okay? - Aug 9th, 2024 - ORD to IND + Aug 9th, 2024 + ORD to IND (This was the flight that inspired this page. For context, ORD to IND is a 36-minute flight.) Boarding started 15 minutes late because of prep on the plane. Right before push-off, they discovered a hydraulic leak. This took an hour to fix. When we were finally pushed off, it took an additional 30 minutes to taxi and take off because of the line. That's almost 2 additional hours for a 36 minute flight. ❌ - Aug 9th, 2024 - MCI to ORD + Aug 9th, 2024 + MCI to ORD Flight left on time and landed pretty much on time. ✅ - Aug 5th, 2024 - ORD to MCI + Aug 5th, 2024 + ORD to MCI Luckily my connection was only 3 gates away (and was already boarding when I got there). This flight pushed off on time but was then delayed for 20 minutes due to lightning (admittedly, this isn't United's fault, so I'll count it). ✅ - Aug 5th, 2024 - IND to ORD + Aug 5th, 2024 + IND to ORD Flight left on time, and landed on time at ORD, but because of construction and traffic, we sat on the tarmac for 20 minutes after landing. ❌ - July 12th, 2024 - ORD to IND + July 12th, 2024 + ORD to IND I was worried I was going to miss this flight because of delays w/ the MCI to ORD flight, but luckily it was delayed by a couple of hours as well. I waited an hour at the gate. ❌ - July 12th, 2024 - MCI to ORD + July 12th, 2024 + MCI to ORD Flight was delayed by an hour and a half because our incoming flight crew was delayed. ❌ - July 8th, 2024 - ORD to MCI + July 8th, 2024 + ORD to MCI I had to sprint from concourse A to concourse C in 15 minutes because of my IND to ORD flight, but no issues other than that. ✅ - July 8th, 2024 - IND to ORD + July 8th, 2024 + IND to ORD Plane was delayed 40 minutes. We had to change gates at IND because our original 737 MAX had "broken seats." (Side note: I was talking with people boarding the flight who had to stay overnight in a hotel because of issues the prior day.) ❌ diff --git a/src/go/comp_pi.njk b/src/go/comp_pi.njk new file mode 100644 index 0000000..2d4a905 --- /dev/null +++ b/src/go/comp_pi.njk @@ -0,0 +1,6 @@ +--- +permalink: /go/comp_pi/ +redirect_to: https://code.garrettmills.dev/garrettmills/k8s-hpc-demo/src/branch/master/demos/calculate_pi/calculate_pi.py#L15 +layout: redirect +tags: go_link +--- \ No newline at end of file diff --git a/src/go/csx.njk b/src/go/csx.njk new file mode 100644 index 0000000..7df1ba6 --- /dev/null +++ b/src/go/csx.njk @@ -0,0 +1,6 @@ +--- +permalink: /go/csx/ +redirect_to: https://docs.google.com/document/d/16DJhmO5Lbf1-4_gWwBF2gh0BhN1_6PGvkFAEUeSgncU/edit?usp=sharing +layout: redirect +tags: go_link +--- \ No newline at end of file diff --git a/src/go/open-letter.njk b/src/go/open-letter.njk new file mode 100644 index 0000000..24f0464 --- /dev/null +++ b/src/go/open-letter.njk @@ -0,0 +1,6 @@ +--- +permalink: /go/open-letter/ +redirect_to: https://static.garrettmills.dev/assets/An_Open_Letter_to_Roger_Marshall_No_Address.pdf +layout: redirect +tags: go_link +--- \ No newline at end of file diff --git a/src/go/resume.njk b/src/go/resume.njk new file mode 100644 index 0000000..e94d6f9 --- /dev/null +++ b/src/go/resume.njk @@ -0,0 +1,6 @@ +--- +permalink: /go/resume/ +redirect_to: https://static.garrettmills.dev/Resume.pdf +layout: redirect +tags: go_link +--- \ No newline at end of file diff --git a/src/humans.njk b/src/humans.njk new file mode 100644 index 0000000..e43047a --- /dev/null +++ b/src/humans.njk @@ -0,0 +1,20 @@ +--- +permalink: humans.txt +--- +/* PEOPLE */ + Garrett Mills + E-Mail: shout@garrettmills.dev + From: Lawrence, Kansas, USA (Rock Chalk!) + +/* SITE */ + Updated: 2025-06-03 + Language: English + Doctype: HTML5 + IDE: IntelliJ IDEA Ultimate + This site was built using the Eleventy SSG. + Copyright (C) 2015-2025 Garrett Mills. See `/technical` for licensing. + +/* OTHER */ +Just a little something for the humans scraping the web... -GM + +https://humanstxt.org/ diff --git a/src/robots.njk b/src/robots.njk new file mode 100644 index 0000000..2762fa7 --- /dev/null +++ b/src/robots.njk @@ -0,0 +1,136 @@ +--- +permalink: robots.txt +--- +# __ ___ _ _ +# \ \ / / |__ __ _| |_ (_)___ __ ___ __ ___ _ __ __ _ +# \ \ /\ / /| '_ \ / _` | __| | / __| \ \ /\ / / '__/ _ \| '_ \ / _` | +# \ V V / | | | | (_| | |_ | \__ \ \ V V /| | | (_) | | | | (_| | +# \_/\_/ |_| |_|\__,_|\__| |_|___/ \_/\_/ |_| \___/|_| |_|\__, | +# |___/ +# _ _ _ +# __ _(_) |_| |__ __ _ +# \ \ /\ / / | __| '_ \ / _` | +# \ V V /| | |_| | | | | (_| | +# \_/\_/ |_|\__|_| |_| \__,_| +# +# _ __ _ _ _ _ +# ___ ___ _ _ _ __ | |_ ___ _ __ / _| ___(_) |_ (_)___ _ __ ___ | |_ +# / __/ _ \| | | | '_ \| __/ _ \ '__| |_ / _ \ | __| | / __| | '_ \ / _ \| __| +# | (_| (_) | |_| | | | | || __/ | | _| __/ | |_ | \__ \ | | | | (_) | |_ +# \___\___/ \__,_|_| |_|\__\___|_| |_| \___|_|\__| |_|___/ |_| |_|\___/ \__| +# +# _ _ _ _ _ _ _ _ _ _ +# __ _| |__ __ _| |_ (_) |_ (_)___ | (_) | _____ | |__ _ _| |_ +# \ \ /\ / / '_ \ / _` | __| | | __| | / __| | | | |/ / _ \ | '_ \| | | | __| +# \ V V /| | | | (_| | |_ | | |_ | \__ \ | | | < __/_ | |_) | |_| | |_ +# \_/\_/ |_| |_|\__,_|\__| |_|\__| |_|___/ |_|_|_|\_\___( ) |_.__/ \__,_|\__| +# |/ +# _ _ _ _ +# | |__ _____ __ (_) |_ __ ____ _ ___ _ __ ___ __ _ __| | ___ +# | '_ \ / _ \ \ /\ / / | | __| \ \ /\ / / _` / __| | '_ ` _ \ / _` |/ _` |/ _ \ +# | | | | (_) \ V V / | | |_ \ V V / (_| \__ \ | | | | | | (_| | (_| | __/_ +# |_| |_|\___/ \_/\_/ |_|\__| \_/\_/ \__,_|___/ |_| |_| |_|\__,_|\__,_|\___(_) +# +# +# Thanks to the excellent Tracy Durnell, from whom this file was lifted :) +# https://tracydurnell.com/robots.txt +# https://tracydurnell.com/2025/06/02/generative-ai-and-the-business-borg-aesthetic/ + +# Google AI +User-agent: Google-Extended +Disallow: / + +User-agent: GoogleOther +Disallow: / + +User-agent: Googlebot-Image +Disallow: / + +User-agent: AdsBot-Google +Disallow: / + +# Common Crawl +User-agent: CCBot +Disallow: / + +# OpenAI +User-agent: ChatGPT-User +Disallow: / + +User-agent: ChatGPT +Disallow: / + +User-agent: GPTBot +Disallow: / + +# Omgili +User-agent: Omgilibot +Disallow: / + +User-agent: Omgili +Disallow: / + +# Facebook AI +User-agent: FacebookBot +Disallow: / + +User-agent: Claude-Web +Disallow: / + +User-agent: ClaudeBot +Disallow: / + +# Apple AI +User-agent: Applebot-Extended +Disallow: / + +# Other AI training known or suspected +User-agent: anthropic-ai +Disallow: / + +User-agent: PerplexityBot +Disallow: / + +User-agent: Bytespider +Disallow: / + +User-agent: The Knowledge AI +Disallow: / + +User-agent: aiHitBot +Disallow: / + +User-agent: cohere-ai +Disallow: / + +User-agent: Diffbot +Disallow: / + +User-agent: YouBot +Disallow: / + +User-agent: ImagesiftBot +Disallow: / + +# Siri and Alexa yuck +User-agent: Amazonbot +Disallow: / + +User-agent: Applebot +Disallow: / + +# Miscellaneous +User-agent: TurnitinBot +Disallow: / + +User-agent: NPBot +Disallow: / + +User-agent: SlySearch +Disallow: / + +User-agent: 360Spider +Disallow: / + +User-agent: netEstate NE Crawler +Disallow: /