More work - revert 11ty cfg to JS, implement go-links, humans.txt, robots.txt, and footnotes
This commit is contained in:
7
TODO.md
Normal file
7
TODO.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
- favicon
|
||||||
|
- world plate blog (separate site)
|
||||||
|
- snippets
|
||||||
|
- blog comments
|
||||||
|
- notes
|
||||||
|
- technical page content
|
||||||
|
- markmark (+ bookmarks formatting)
|
||||||
@@ -4,6 +4,7 @@ import rssPlugin from "@11ty/eleventy-plugin-rss";
|
|||||||
import brokenLinksPlugin from "eleventy-plugin-broken-links";
|
import brokenLinksPlugin from "eleventy-plugin-broken-links";
|
||||||
import { eleventyImageTransformPlugin } from "@11ty/eleventy-img";
|
import { eleventyImageTransformPlugin } from "@11ty/eleventy-img";
|
||||||
import syntaxHighlight from "@11ty/eleventy-plugin-syntaxhighlight";
|
import syntaxHighlight from "@11ty/eleventy-plugin-syntaxhighlight";
|
||||||
|
import footnote from "markdown-it-footnote";
|
||||||
import { EleventyRenderPlugin, IdAttributePlugin } from '@11ty/eleventy';
|
import { EleventyRenderPlugin, IdAttributePlugin } from '@11ty/eleventy';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as opml from 'opml';
|
import * as opml from 'opml';
|
||||||
@@ -30,7 +31,7 @@ export default function (eleventyConfig) {
|
|||||||
eleventyConfig.addPlugin(IdAttributePlugin);
|
eleventyConfig.addPlugin(IdAttributePlugin);
|
||||||
eleventyConfig.addPlugin(EleventyRenderPlugin);
|
eleventyConfig.addPlugin(EleventyRenderPlugin);
|
||||||
eleventyConfig.addPassthroughCopy("src/assets/**")
|
eleventyConfig.addPassthroughCopy("src/assets/**")
|
||||||
|
eleventyConfig.amendLibrary("md", md => md.use(footnote))
|
||||||
eleventyConfig.addCollection("markmark", async api => {
|
eleventyConfig.addCollection("markmark", async api => {
|
||||||
const response = await fetch(`${OUTLINE.url}/documents.info`, {
|
const response = await fetch(`${OUTLINE.url}/documents.info`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsx ./node_modules/.bin/eleventy --config eleventy.config.ts --formats 11ty.tsx"
|
"build": "eleventy --config eleventy.config.js"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
@@ -17,11 +17,9 @@
|
|||||||
"@11ty/eleventy-plugin-rss": "^2.0.3",
|
"@11ty/eleventy-plugin-rss": "^2.0.3",
|
||||||
"@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0",
|
"@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0",
|
||||||
"eleventy-plugin-broken-links": "^2.2.1",
|
"eleventy-plugin-broken-links": "^2.2.1",
|
||||||
|
"markdown-it-footnote": "^4.0.0",
|
||||||
"node-fetch": "^3.3.2",
|
"node-fetch": "^3.3.2",
|
||||||
"opml": "^0.5.7"
|
"opml": "^0.5.7"
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module"
|
||||||
"devDependencies": {
|
|
||||||
"tsx": "^4.19.3"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
294
pnpm-lock.yaml
generated
294
pnpm-lock.yaml
generated
@@ -26,16 +26,15 @@ importers:
|
|||||||
eleventy-plugin-broken-links:
|
eleventy-plugin-broken-links:
|
||||||
specifier: ^2.2.1
|
specifier: ^2.2.1
|
||||||
version: 2.2.1
|
version: 2.2.1
|
||||||
|
markdown-it-footnote:
|
||||||
|
specifier: ^4.0.0
|
||||||
|
version: 4.0.0
|
||||||
node-fetch:
|
node-fetch:
|
||||||
specifier: ^3.3.2
|
specifier: ^3.3.2
|
||||||
version: 3.3.2
|
version: 3.3.2
|
||||||
opml:
|
opml:
|
||||||
specifier: ^0.5.7
|
specifier: ^0.5.7
|
||||||
version: 0.5.7
|
version: 0.5.7
|
||||||
devDependencies:
|
|
||||||
tsx:
|
|
||||||
specifier: ^4.19.3
|
|
||||||
version: 4.19.3
|
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
@@ -120,156 +119,6 @@ packages:
|
|||||||
'@emnapi/runtime@1.3.1':
|
'@emnapi/runtime@1.3.1':
|
||||||
resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
|
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':
|
'@img/sharp-darwin-arm64@0.33.5':
|
||||||
resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
|
resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
@@ -738,11 +587,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
|
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
|
||||||
engines: {node: '>= 0.4'}
|
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:
|
escape-html@1.0.3:
|
||||||
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
|
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
|
||||||
|
|
||||||
@@ -857,9 +701,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
|
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
get-tsconfig@4.10.0:
|
|
||||||
resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==}
|
|
||||||
|
|
||||||
getpass@0.1.7:
|
getpass@0.1.7:
|
||||||
resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
|
resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
|
||||||
|
|
||||||
@@ -1082,6 +923,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==}
|
resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
markdown-it-footnote@4.0.0:
|
||||||
|
resolution: {integrity: sha512-WYJ7urf+khJYl3DqofQpYfEYkZKbmXmwxQV8c8mO/hGIhgZ1wOe7R4HLFNwqx7TjILbnC98fuyeSsin19JdFcQ==}
|
||||||
|
|
||||||
markdown-it@14.1.0:
|
markdown-it@14.1.0:
|
||||||
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
|
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -1362,9 +1206,6 @@ packages:
|
|||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
|
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:
|
resolve@1.22.10:
|
||||||
resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
|
resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@@ -1502,11 +1343,6 @@ packages:
|
|||||||
tslib@2.8.1:
|
tslib@2.8.1:
|
||||||
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
|
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:
|
tunnel-agent@0.6.0:
|
||||||
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
|
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
|
||||||
|
|
||||||
@@ -1775,81 +1611,6 @@ snapshots:
|
|||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
optional: true
|
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':
|
'@img/sharp-darwin-arm64@0.33.5':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-darwin-arm64': 1.0.4
|
'@img/sharp-libvips-darwin-arm64': 1.0.4
|
||||||
@@ -2268,34 +2029,6 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
es-errors: 1.3.0
|
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-html@1.0.3: {}
|
||||||
|
|
||||||
escape-string-regexp@5.0.0: {}
|
escape-string-regexp@5.0.0: {}
|
||||||
@@ -2417,10 +2150,6 @@ snapshots:
|
|||||||
dunder-proto: 1.0.1
|
dunder-proto: 1.0.1
|
||||||
es-object-atoms: 1.1.1
|
es-object-atoms: 1.1.1
|
||||||
|
|
||||||
get-tsconfig@4.10.0:
|
|
||||||
dependencies:
|
|
||||||
resolve-pkg-maps: 1.0.0
|
|
||||||
|
|
||||||
getpass@0.1.7:
|
getpass@0.1.7:
|
||||||
dependencies:
|
dependencies:
|
||||||
assert-plus: 1.0.0
|
assert-plus: 1.0.0
|
||||||
@@ -2637,6 +2366,8 @@ snapshots:
|
|||||||
|
|
||||||
luxon@3.5.0: {}
|
luxon@3.5.0: {}
|
||||||
|
|
||||||
|
markdown-it-footnote@4.0.0: {}
|
||||||
|
|
||||||
markdown-it@14.1.0:
|
markdown-it@14.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
argparse: 2.0.1
|
argparse: 2.0.1
|
||||||
@@ -2935,8 +2666,6 @@ snapshots:
|
|||||||
tunnel-agent: 0.6.0
|
tunnel-agent: 0.6.0
|
||||||
uuid: 3.4.0
|
uuid: 3.4.0
|
||||||
|
|
||||||
resolve-pkg-maps@1.0.0: {}
|
|
||||||
|
|
||||||
resolve@1.22.10:
|
resolve@1.22.10:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-core-module: 2.16.1
|
is-core-module: 2.16.1
|
||||||
@@ -3095,13 +2824,6 @@ snapshots:
|
|||||||
tslib@2.8.1:
|
tslib@2.8.1:
|
||||||
optional: true
|
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:
|
tunnel-agent@0.6.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer: 5.2.1
|
safe-buffer: 5.2.1
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ html(lang="en")
|
|||||||
meta(name='keywords' content='garrett mills glmdev developer speaker flitter extollo student')
|
meta(name='keywords' content='garrett mills glmdev developer speaker flitter extollo student')
|
||||||
meta(name='author' content='Garrett Mills')
|
meta(name='author' content='Garrett Mills')
|
||||||
meta(name='robots' content='index, follow')
|
meta(name='robots' content='index, follow')
|
||||||
|
link(rel='author' href='/humans.txt')
|
||||||
|
|
||||||
block title
|
block title
|
||||||
if title
|
if title
|
||||||
|
|||||||
8
src/_includes/redirect.pug
Normal file
8
src/_includes/redirect.pug
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
extends ./obsidian
|
||||||
|
|
||||||
|
block content
|
||||||
|
div.content-wrapper
|
||||||
|
p You should be redirected shortly. If not, click <a href="!{redirect_to}">here</a>.
|
||||||
|
|
||||||
|
script.
|
||||||
|
window.location.href = "!{redirect_to}"
|
||||||
@@ -313,6 +313,19 @@ footer p {
|
|||||||
opacity: 0.75;
|
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) {
|
@media screen and (max-width: 500px) {
|
||||||
nav ul {
|
nav ul {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|||||||
@@ -37,50 +37,50 @@ Some nomenclature:
|
|||||||
<th>Okay?</th>
|
<th>Okay?</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Aug 9th, 2024</td>
|
<td class="ws-nowrap">Aug 9th, 2024</td>
|
||||||
<td>ORD to IND</td>
|
<td class="ws-nowrap">ORD to IND</td>
|
||||||
<td>(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.</td>
|
<td>(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.</td>
|
||||||
<td>❌</td>
|
<td>❌</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Aug 9th, 2024</td>
|
<td class="ws-nowrap">Aug 9th, 2024</td>
|
||||||
<td>MCI to ORD</td>
|
<td class="ws-nowrap">MCI to ORD</td>
|
||||||
<td>Flight left on time and landed pretty much on time.</td>
|
<td>Flight left on time and landed pretty much on time.</td>
|
||||||
<td>✅</td>
|
<td>✅</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Aug 5th, 2024</td>
|
<td class="ws-nowrap">Aug 5th, 2024</td>
|
||||||
<td>ORD to MCI</td>
|
<td class="ws-nowrap">ORD to MCI</td>
|
||||||
<td>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).</td>
|
<td>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).</td>
|
||||||
<td>✅</td>
|
<td>✅</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Aug 5th, 2024</td>
|
<td class="ws-nowrap">Aug 5th, 2024</td>
|
||||||
<td>IND to ORD</td>
|
<td class="ws-nowrap">IND to ORD</td>
|
||||||
<td>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.</td>
|
<td>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.</td>
|
||||||
<td>❌</td>
|
<td>❌</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>July 12th, 2024</td>
|
<td class="ws-nowrap">July 12th, 2024</td>
|
||||||
<td>ORD to IND</td>
|
<td class="ws-nowrap">ORD to IND</td>
|
||||||
<td>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.</td>
|
<td>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.</td>
|
||||||
<td>❌</td>
|
<td>❌</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>July 12th, 2024</td>
|
<td class="ws-nowrap">July 12th, 2024</td>
|
||||||
<td>MCI to ORD</td>
|
<td class="ws-nowrap">MCI to ORD</td>
|
||||||
<td>Flight was delayed by an hour and a half because our incoming flight crew was delayed.</td>
|
<td>Flight was delayed by an hour and a half because our incoming flight crew was delayed.</td>
|
||||||
<td>❌</td>
|
<td>❌</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>July 8th, 2024</td>
|
<td class="ws-nowrap">July 8th, 2024</td>
|
||||||
<td>ORD to MCI</td>
|
<td class="ws-nowrap">ORD to MCI</td>
|
||||||
<td>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.</td>
|
<td>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.</td>
|
||||||
<td>✅</td>
|
<td>✅</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>July 8th, 2024</td>
|
<td class="ws-nowrap">July 8th, 2024</td>
|
||||||
<td>IND to ORD</td>
|
<td class="ws-nowrap">IND to ORD</td>
|
||||||
<td>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.)</td>
|
<td>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.)</td>
|
||||||
<td>❌</td>
|
<td>❌</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
6
src/go/comp_pi.njk
Normal file
6
src/go/comp_pi.njk
Normal file
@@ -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
|
||||||
|
---
|
||||||
6
src/go/csx.njk
Normal file
6
src/go/csx.njk
Normal file
@@ -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
|
||||||
|
---
|
||||||
6
src/go/open-letter.njk
Normal file
6
src/go/open-letter.njk
Normal file
@@ -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
|
||||||
|
---
|
||||||
6
src/go/resume.njk
Normal file
6
src/go/resume.njk
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
permalink: /go/resume/
|
||||||
|
redirect_to: https://static.garrettmills.dev/Resume.pdf
|
||||||
|
layout: redirect
|
||||||
|
tags: go_link
|
||||||
|
---
|
||||||
20
src/humans.njk
Normal file
20
src/humans.njk
Normal file
@@ -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/
|
||||||
136
src/robots.njk
Normal file
136
src/robots.njk
Normal file
@@ -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: /
|
||||||
Reference in New Issue
Block a user