1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-04-26 19:08:26 -04:00

add Mastodon link

This commit is contained in:
Jake Jarvis 2022-11-17 14:10:00 -05:00
parent d4b806dfcf
commit db6594faa7
Signed by: jake
GPG Key ID: 2B0C9CF251E69A39
7 changed files with 515 additions and 452 deletions

View File

@ -39,5 +39,6 @@ module.exports = {
medium: "jakejarvis", medium: "jakejarvis",
linkedin: "jakejarvis", linkedin: "jakejarvis",
instagram: "jakejarvis", instagram: "jakejarvis",
mastodon: "fosstodon.org/@jakejarvis",
}, },
}; };

View File

@ -112,6 +112,7 @@ export const socialProfileJsonLd: SocialProfileJsonLdProps = {
`https://www.linkedin.com/in/${config.authorSocial?.linkedin}/`, `https://www.linkedin.com/in/${config.authorSocial?.linkedin}/`,
`https://www.facebook.com/${config.authorSocial?.facebook}`, `https://www.facebook.com/${config.authorSocial?.facebook}`,
`https://www.instagram.com/${config.authorSocial?.instagram}/`, `https://www.instagram.com/${config.authorSocial?.instagram}/`,
`https://${config.authorSocial?.mastodon}`,
], ],
}; };

View File

@ -15,14 +15,14 @@ const IsomorphicDayJs = (date?: dayjs.ConfigType): dayjs.Dayjs => {
dayjs.extend(dayjsLocalizedFormat); dayjs.extend(dayjsLocalizedFormat);
dayjs.extend(dayjsAdvancedFormat); dayjs.extend(dayjsAdvancedFormat);
return dayjs(date).locale("en"); return dayjs(date).locale("en").tz(timeZone).clone();
}; };
// simple wrapper around dayjs.format() to normalize timezone across the site, both server and client side, to prevent // simple wrapper around dayjs.format() to normalize timezone across the site, both server and client side, to prevent
// hydration errors by returning an instance of dayjs with these defaults set. // hydration errors by returning an instance of dayjs with these defaults set.
// date defaults to now, format defaults to ISO 8601 (e.g. 2022-04-07T21:53:33-04:00) // date defaults to now, format defaults to ISO 8601 (e.g. 2022-04-07T21:53:33-04:00)
export const formatDate = (date?: dayjs.ConfigType, formatStr?: string): string => { export const formatDate = (date?: dayjs.ConfigType, formatStr?: string): string => {
return IsomorphicDayJs(date).tz(timeZone).format(formatStr); return IsomorphicDayJs(date).format(formatStr);
}; };
// returns the human-friendly difference between now and given date (e.g. "5 minutes", "9 months", etc.) // returns the human-friendly difference between now and given date (e.g. "5 minutes", "9 months", etc.)

844
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -19,15 +19,15 @@
"dependencies": { "dependencies": {
"@giscus/react": "^2.2.3", "@giscus/react": "^2.2.3",
"@hcaptcha/react-hcaptcha": "^1.4.4", "@hcaptcha/react-hcaptcha": "^1.4.4",
"@next/font": "13.0.2", "@next/font": "13.0.4-canary.3",
"@novnc/novnc": "github:novnc/novnc#cd94c2aed2582fd85ec5ecc444967fc7ec60a649", "@novnc/novnc": "github:novnc/novnc#cd94c2aed2582fd85ec5ecc444967fc7ec60a649",
"@octokit/graphql": "^5.0.4", "@octokit/graphql": "^5.0.4",
"@octokit/graphql-schema": "^12.26.1", "@octokit/graphql-schema": "^12.30.0",
"@primer/octicons": "^17.9.0", "@primer/octicons": "^17.9.0",
"@prisma/client": "^4.6.1", "@prisma/client": "^4.6.1",
"@react-spring/web": "^9.5.5", "@react-spring/web": "^9.5.5",
"@sentry/node": "^7.19.0", "@sentry/node": "^7.20.0",
"@sentry/tracing": "^7.19.0", "@sentry/tracing": "^7.20.0",
"@stitches/react": "^1.2.8", "@stitches/react": "^1.2.8",
"comma-number": "^2.1.0", "comma-number": "^2.1.0",
"copy-to-clipboard": "^3.3.3", "copy-to-clipboard": "^3.3.3",
@ -40,7 +40,7 @@
"gray-matter": "^4.0.3", "gray-matter": "^4.0.3",
"hex-to-rgba": "^2.0.1", "hex-to-rgba": "^2.0.1",
"marked": "^4.2.2", "marked": "^4.2.2",
"next": "13.0.2", "next": "13.0.4-canary.3",
"next-mdx-remote": "^4.2.0", "next-mdx-remote": "^4.2.0",
"next-seo": "^5.14.1", "next-seo": "^5.14.1",
"obj-str": "^1.1.0", "obj-str": "^1.1.0",
@ -53,7 +53,7 @@
"react-error-boundary": "^3.1.4", "react-error-boundary": "^3.1.4",
"react-gist": "^1.2.4", "react-gist": "^1.2.4",
"react-innertext": "^1.1.5", "react-innertext": "^1.1.5",
"react-intersection-observer": "^9.4.0", "react-intersection-observer": "^9.4.1",
"react-is": "18.2.0", "react-is": "18.2.0",
"react-player": "^2.11.0", "react-player": "^2.11.0",
"react-textarea-autosize": "^8.4.0", "react-textarea-autosize": "^8.4.0",
@ -77,15 +77,15 @@
"@types/novnc__novnc": "^1.3.0", "@types/novnc__novnc": "^1.3.0",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"@types/react": "^18.0.25", "@types/react": "^18.0.25",
"@types/react-dom": "^18.0.8", "@types/react-dom": "^18.0.9",
"@types/react-is": "^17.0.3", "@types/react-is": "^17.0.3",
"@types/remove-markdown": "^0.3.1", "@types/remove-markdown": "^0.3.1",
"@types/uglify-js": "^3.17.1", "@types/uglify-js": "^3.17.1",
"@typescript-eslint/eslint-plugin": "^5.42.1", "@typescript-eslint/eslint-plugin": "^5.43.0",
"@typescript-eslint/parser": "^5.42.1", "@typescript-eslint/parser": "^5.43.0",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"eslint": "~8.27.0", "eslint": "~8.27.0",
"eslint-config-next": "13.0.2", "eslint-config-next": "13.0.4-canary.3",
"eslint-config-prettier": "~8.5.0", "eslint-config-prettier": "~8.5.0",
"eslint-plugin-mdx": "~2.0.5", "eslint-plugin-mdx": "~2.0.5",
"eslint-plugin-prettier": "~4.2.1", "eslint-plugin-prettier": "~4.2.1",

View File

@ -346,6 +346,16 @@ const Index = () => {
> >
Twitter Twitter
</ColorfulLink> </ColorfulLink>
,{" "}
<ColorfulLink
href="https://fosstodon.org/@jakejarvis"
rel="me"
title="Jake Jarvis on Mastodon"
lightColor="#6d6eff"
darkColor="#7b87ff"
>
Mastodon
</ColorfulLink>
, or{" "} , or{" "}
<ColorfulLink <ColorfulLink
href="sms:+1-617-917-3737" href="sms:+1-617-917-3737"

View File

@ -185,28 +185,15 @@ const Uses = () => {
<ListItem> <ListItem>
Extensions: Extensions:
<UnorderedList> <UnorderedList>
<ListItem>
<Link href="https://marketplace.visualstudio.com/items?itemName=bungcip.better-toml">
Better TOML
</Link>
</ListItem>
<ListItem>
<Link href="https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker">
Docker
</Link>
</ListItem>
<ListItem>
<Link href="https://marketplace.visualstudio.com/items?itemName=mrmlnc.vscode-duplicate">
Duplicate action
</Link>
</ListItem>
<ListItem> <ListItem>
<Link href="https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig"> <Link href="https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig">
EditorConfig EditorConfig
</Link> </Link>
</ListItem> </ListItem>
<ListItem> <ListItem>
<Link href="https://copilot.github.com/">GitHub Copilot</Link> <Link href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint">
ESLint
</Link>
</ListItem> </ListItem>
<ListItem> <ListItem>
<Link href="https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github"> <Link href="https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github">
@ -219,17 +206,12 @@ const Uses = () => {
</Link> </Link>
</ListItem> </ListItem>
<ListItem> <ListItem>
<Link href="https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare"> <Link href="https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost">
Live Share Import Cost
</Link> </Link>
</ListItem> </ListItem>
<ListItem> <ListItem>
<Link href="https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint"> <Link href="https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-mdx">MDX</Link>
markdownlint
</Link>
</ListItem>
<ListItem>
<Link href="https://marketplace.visualstudio.com/items?itemName=eg2.vscode-npm-script">npm</Link>
</ListItem> </ListItem>
<ListItem> <ListItem>
<Link href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode"> <Link href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode">
@ -311,20 +293,6 @@ const Uses = () => {
<strong>Transmit</strong> <strong>Transmit</strong>
</Link> </Link>
</ListItem> </ListItem>
<ListItem>
<Link href="https://www.getpostman.com/">
<strong>Postman</strong>
</Link>
</ListItem>
<ListItem>
<Link href="https://www.browserstack.com/">
<strong>BrowserStack</strong>
</Link>{" "}
&amp;{" "}
<Link href="https://percy.io/">
<strong>Percy</strong>
</Link>
</ListItem>
<ListItem> <ListItem>
<Link href="https://www.sequelpro.com/"> <Link href="https://www.sequelpro.com/">
<del>Sequel Pro</del> <del>Sequel Pro</del>
@ -364,7 +332,7 @@ const Uses = () => {
<H2 id="browsing">🌎 Browsing</H2> <H2 id="browsing">🌎 Browsing</H2>
<UnorderedList> <UnorderedList>
<ListItem> <ListItem>
<Link href="https://www.mozilla.org/en-US/firefox/developer/"> <Link href="https://www.mozilla.org/en-US/firefox/new/">
<strong>Firefox</strong> <strong>Firefox</strong>
</Link>{" "} </Link>{" "}
🦊 🦊
@ -375,7 +343,7 @@ const Uses = () => {
</Link> </Link>
</ListItem> </ListItem>
<ListItem> <ListItem>
Add-ons: Extensions:
<UnorderedList> <UnorderedList>
<ListItem> <ListItem>
<Link href="https://support.1password.com/cs/1password-classic-extension/">1Password Classic</Link> <Link href="https://support.1password.com/cs/1password-classic-extension/">1Password Classic</Link>
@ -420,7 +388,7 @@ const Uses = () => {
For testing only! See more of <Link href="#cloud">my de-Googling efforts below</Link>. For testing only! See more of <Link href="#cloud">my de-Googling efforts below</Link>.
</ListItem> </ListItem>
<ListItem> <ListItem>
Add-ons: Extensions:
<UnorderedList> <UnorderedList>
<ListItem> <ListItem>
<Link href="https://chrome.google.com/webstore/detail/amp-validator/nmoffdblmcmgeicmolmhobpoocbbmknc?hl=en"> <Link href="https://chrome.google.com/webstore/detail/amp-validator/nmoffdblmcmgeicmolmhobpoocbbmknc?hl=en">
@ -476,18 +444,6 @@ const Uses = () => {
<strong>MacUpdater</strong> <strong>MacUpdater</strong>
</Link> </Link>
</ListItem> </ListItem>
<ListItem>
<Link href="https://unshaky.nestederror.com/">
<strong>Unshaky</strong>
</Link>{" "}
(on my 2018 MBP)
<UnorderedList>
<ListItem>
Toooo &nbsp;lzy too vist &nbsp;&nbsp;the&nbsp; Aple Stre geeniusses oonce &nbsp;agin&nbsp; to fiix
tthe&nbsp; keeybbbboord. 😒🦋
</ListItem>
</UnorderedList>
</ListItem>
<ListItem> <ListItem>
<Link href="https://freemacsoft.net/appcleaner/"> <Link href="https://freemacsoft.net/appcleaner/">
<strong>AppCleaner</strong> <strong>AppCleaner</strong>
@ -509,11 +465,6 @@ const Uses = () => {
<strong>Transmission</strong> <strong>Transmission</strong>
</Link> </Link>
</ListItem> </ListItem>
<ListItem>
<Link href="https://www.paragon-software.com/us/home/ntfs-mac/#">
<strong>Paragon NTFS</strong>
</Link>
</ListItem>
<ListItem> <ListItem>
<Link href="https://roaringapps.com/app/amphetamine"> <Link href="https://roaringapps.com/app/amphetamine">
<strong>Amphetamine</strong> <strong>Amphetamine</strong>
@ -529,6 +480,18 @@ const Uses = () => {
<strong>The Unarchiver</strong> <strong>The Unarchiver</strong>
</Link> </Link>
</ListItem> </ListItem>
<ListItem>
<Link href="https://unshaky.nestederror.com/">
<strong>Unshaky</strong>
</Link>{" "}
(on my 2018 MBP)
<UnorderedList>
<ListItem>
Toooo &nbsp;lzy too vist &nbsp;&nbsp;the&nbsp; Aple Stre geeniusses oonce &nbsp;agin&nbsp; to fiix
tthe&nbsp; keeybbbboord. 😒🦋
</ListItem>
</UnorderedList>
</ListItem>
</UnorderedList> </UnorderedList>
<H2 id="ios">📱 iOS</H2> <H2 id="ios">📱 iOS</H2>
@ -663,7 +626,7 @@ const Uses = () => {
<Link href="https://www.netlify.com/"> <Link href="https://www.netlify.com/">
<strong>Netlify</strong> <strong>Netlify</strong>
</Link>{" "} </Link>{" "}
for static sites. for "serverless" sites.
</ListItem> </ListItem>
<ListItem> <ListItem>
<Link href="https://www.digitalocean.com/"> <Link href="https://www.digitalocean.com/">
@ -706,7 +669,7 @@ const Uses = () => {
<Link href="https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/"> <Link href="https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/">
<strong>Cloudflare Tunnel</strong> <strong>Cloudflare Tunnel</strong>
</Link>{" "} </Link>{" "}
to access either my home network or VPSes from anywhere. to access my home network and VPSes from anywhere.
</ListItem> </ListItem>
</UnorderedList> </UnorderedList>
@ -723,11 +686,11 @@ const Uses = () => {
<Link href="https://www.amazon.com/dp/B00HWML468/"> <Link href="https://www.amazon.com/dp/B00HWML468/">
<strong>Dell Inspiron 3647</strong> <strong>Dell Inspiron 3647</strong>
</Link> </Link>
, upgraded to a Core i7-4790S and 16 GB of memory to morph into a <em>really</em> crappy{" "} , upgraded to a Core i7-4790S and 16 GB of memory to dress it up as a <em>really</em> crappy{" "}
<Link href="https://www.vmware.com/products/esxi-and-esx.html"> <Link href="https://www.vmware.com/products/esxi-and-esx.html">
<strong>VMware ESXi</strong> <strong>VMware ESXi</strong>
</Link>{" "} </Link>{" "}
server running a few VMs with: server, running a few Ubuntu VMs with:
<UnorderedList> <UnorderedList>
<ListItem> <ListItem>
<Link href="https://www.plex.tv/">Plex</Link> <Link href="https://www.plex.tv/">Plex</Link>