1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-07-03 15:06:36 -04:00

enable vercel analytics

This commit is contained in:
2023-06-17 20:14:43 -04:00
parent cab79559e6
commit afbdcc7b06
23 changed files with 3046 additions and 2049 deletions

View File

@ -1,6 +1,7 @@
import { useEffect } from "react";
import { useRouter } from "next/router";
import { DefaultSeo, SocialProfileJsonLd } from "next-seo";
import { Analytics } from "@vercel/analytics/react";
import * as Fathom from "fathom-client";
import { ThemeProvider } from "../contexts/ThemeContext";
import Layout from "../components/Layout";
@ -73,6 +74,8 @@ const App = ({ Component, pageProps }: AppProps) => {
<SocialProfileJsonLd {...socialProfileJsonLd} />
<ThemeProvider classNames={themeClassNames}>{getLayout(<Component {...pageProps} />)}</ThemeProvider>
<Analytics />
</>
);
};

View File

@ -32,7 +32,7 @@ const CLI = () => {
<Image src={cliImg} href="https://www.npmjs.com/package/@jakejarvis/cli" alt="Terminal Screenshot" priority />
<H2 id="usage">Usage</H2>
<CodeBlock>npx @jakejarvis/cli</CodeBlock>
<CodeBlock withCopyButton>npx @jakejarvis/cli</CodeBlock>
<H2 id="inspired-by">Inspired by</H2>
<UnorderedList>

View File

@ -9,7 +9,7 @@ import CodeInline from "../components/CodeInline";
import HorizontalRule from "../components/HorizontalRule";
import { Windows95Logo } from "../components/Icons";
import { styled, theme } from "../lib/styles/stitches.config";
import { ComicNeue } from "../lib/styles/utils/fonts";
import { ComicNeue } from "../lib/styles/fonts";
import type { ReactElement } from "react";
import img_wayback from "../public/static/images/previously/wayback.png";

32
pages/robots.txt.ts Normal file
View File

@ -0,0 +1,32 @@
import { baseUrl } from "../lib/config";
import type { GetServerSideProps } from "next";
export const getServerSideProps: GetServerSideProps<Record<string, never>> = async (context) => {
const { res } = context;
// this production check should be unnecessary because "noindex" and "nofollow" are also set in a meta tag (see
// DefaultSeo's props in pages/_app.tsx), but it doesn't hurt...
const robots = `User-agent: *
${
process.env.NEXT_PUBLIC_VERCEL_ENV !== "production"
? `Disallow: /`
: `Allow: /
Sitemap: ${baseUrl}/sitemap.xml`
}
`;
res.setHeader("content-type", "text/plain; charset=utf-8");
// cache on edge for one week
res.setHeader("cache-control", "public, max-age=0, s-maxage=604800, stale-while-revalidate");
res.write(robots);
res.end();
return {
props: {},
};
};
// eslint-disable-next-line import/no-anonymous-default-export
export default () => null;

View File

@ -666,8 +666,8 @@ const Uses = () => {
<strong>Tailscale</strong>
</Link>{" "}
and{" "}
<Link href="https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/">
<strong>Cloudflare Tunnel</strong>
<Link href="https://developers.cloudflare.com/cloudflare-one/">
<strong>Cloudflare Zero Trust</strong>
</Link>{" "}
to access my home network and VPSes from anywhere.
</ListItem>
@ -678,38 +678,65 @@ const Uses = () => {
</H2>
<UnorderedList>
<ListItem>
<Link href="https://www.tp-link.com/us/home-networking/wifi-router/archer-ax90/">
<strong>TP-Link Archer AX90</strong>
<Link href="https://store.ui.com/us/en/collections/unifi-dream-router/products/udr">
<strong>UniFi Dream Router</strong>
</Link>
, plus:
<UnorderedList>
<ListItem>
2x{" "}
<Link href="https://store.ui.com/us/en/collections/unifi-switching-utility-mini/products/usw-flex-mini">
Switch Flex Mini
</Link>
</ListItem>
<ListItem>
<Link href="https://store.ui.com/us/en/products/unifi-smart-power">SmartPower Plug</Link>{" "}
<em>
(<Link href="https://www.youtube.com/watch?v=iW1tHr4Y_cI">It's Comcastic!</Link>)
</em>
</ListItem>
</UnorderedList>
</ListItem>
<ListItem>
<Link href="https://www.amazon.com/dp/B00HWML468/">
<strong>Dell Inspiron 3647</strong>
<strong>An overpowered custom homelab server</strong>, powered by an{" "}
<Link href="https://www.asus.com/commercial-motherboard/q87me/">ASUS Q87M-E</Link> board,{" "}
<Link href="https://www.intel.com/content/www/us/en/products/sku/80808/intel-core-i74790s-processor-8m-cache-up-to-4-00-ghz/specifications.html">
i7-4790S
</Link>
, 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">
<strong>VMware ESXi</strong>
, 32 GB of RAM, 3x recertified{" "}
<Link href="https://www.westerndigital.com/products/internal-drives/data-center-drives/ultrastar-dc-hc550-hdd#0F38462">
16TB WD Ultrastar
</Link>{" "}
server, running a few Ubuntu VMs with:
drives, and Ubuntu Server 22.04, in a cheap{" "}
<Link href="https://www.thermaltakeusa.com/versa-h22.html">Thermaltake Versa H22</Link> case with expensive{" "}
<Link href="https://noctua.at/en/nf-a12x25-pwm">Noctua 🤎</Link> fans. Used mainly for local file sharing
via Samba and running{" "}
<Link href="https://github.com/jakejarvis/dotfiles/tree/main/lab">a few Docker containers</Link>, including:
<UnorderedList>
<ListItem>
<Link href="https://www.plex.tv/">Plex</Link>
</ListItem>
<ListItem>
<Link href="https://sonarr.tv/">Sonarr</Link>{" "}
<Link href="https://sonarr.tv/">Sonarr</Link>, <Link href="https://radarr.video/">Radarr</Link>,{" "}
<Link href="https://www.bazarr.media/">Bazarr</Link>,{" "}
<Link href="https://github.com/Prowlarr/Prowlarr">Prowlarr</Link>
</ListItem>
<ListItem>
<Link href="https://radarr.video/">Radarr</Link>
<Link href="https://www.qbittorrent.org/">qBittorrent</Link> (web client)
</ListItem>
<ListItem>
<Link href="https://transmissionbt.com/">Transmission</Link> (via web client)
<Link href="https://tautulli.com/">Tautulli</Link>
</ListItem>
<ListItem>
<Link href="https://homebridge.io/">Homebridge</Link>
<Link href="https://www.home-assistant.io/">Home Assistant</Link>
</ListItem>
<ListItem>
<Link href="https://www.wireguard.com/">WireGuard</Link>
</ListItem>
<ListItem>
<Link href="https://github.com/cloudflare/cloudflared">Cloudflare Tunnel</Link>
</ListItem>
<ListItem>Full post with more details coming soon!</ListItem>
</UnorderedList>
</ListItem>
<ListItem>
@ -722,15 +749,14 @@ const Uses = () => {
2x{" "}
<Link href="https://www.ecobee.com/en-us/smart-thermostats/smart-wifi-thermostat/">
<strong>ecobee3 lite</strong>
</Link>{" "}
smart thermostats (HomeKit support was a must.)
</Link>
</ListItem>
<ListItem>
2x{" "}
<Link href="https://www.sonos.com/en-us/shop/one.html">
<strong>Sonos One</strong>
</Link>{" "}
(with Alexa turned off...allegedly.)
(with Alexa turned off...hopefully? 🤫)
</ListItem>
<ListItem>
2x{" "}