mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2026-07-25 03:15:59 -04:00
finally tested on windows/edge -- fix resulting weirdness
- magic wand cursor - unnecessary horizontal scroll bar on short code blocks
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
.code_block {
|
.code_block {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
overflow-x: scroll;
|
|
||||||
margin: 1em auto;
|
margin: 1em auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { memo } from "react";
|
import { memo } from "react";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import css from "styled-jsx/css";
|
import css from "styled-jsx/css";
|
||||||
import isAbsoluteUrl from "is-absolute-url";
|
|
||||||
import type { ReactNode } from "react";
|
import type { ReactNode } from "react";
|
||||||
|
|
||||||
type ColorLinkProps = {
|
type ColorLinkProps = {
|
||||||
@@ -41,8 +40,6 @@ const getFancyLinkStyles = ({ lightColor, darkColor }: Partial<ColorLinkProps>)
|
|||||||
};
|
};
|
||||||
|
|
||||||
const ColorLink = ({ href, title, lightColor, darkColor, external = false, children }: ColorLinkProps) => {
|
const ColorLink = ({ href, title, lightColor, darkColor, external = false, children }: ColorLinkProps) => {
|
||||||
external = external || isAbsoluteUrl(href);
|
|
||||||
|
|
||||||
const { className, styles } = getFancyLinkStyles({ lightColor, darkColor });
|
const { className, styles } = getFancyLinkStyles({ lightColor, darkColor });
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
+41
-6
@@ -17,6 +17,7 @@ const Index = () => (
|
|||||||
title='"Boston Accent Trailer - Late Night with Seth Meyers" on YouTube'
|
title='"Boston Accent Trailer - Late Night with Seth Meyers" on YouTube'
|
||||||
lightColor="#fb4d42"
|
lightColor="#fb4d42"
|
||||||
darkColor="#ff5146"
|
darkColor="#ff5146"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
Boston
|
Boston
|
||||||
</ColorLink>
|
</ColorLink>
|
||||||
@@ -30,6 +31,7 @@ const Index = () => (
|
|||||||
title='"The Brutal Lifecycle of JavaScript Frameworks" by Ian Allen'
|
title='"The Brutal Lifecycle of JavaScript Frameworks" by Ian Allen'
|
||||||
lightColor="#1091b3"
|
lightColor="#1091b3"
|
||||||
darkColor="#6fcbe3"
|
darkColor="#6fcbe3"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
modern JS frameworks
|
modern JS frameworks
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
@@ -39,11 +41,18 @@ const Index = () => (
|
|||||||
title="The best JS framework in the world by Eric Wastl"
|
title="The best JS framework in the world by Eric Wastl"
|
||||||
lightColor="#f48024"
|
lightColor="#f48024"
|
||||||
darkColor="#e18431"
|
darkColor="#e18431"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
vanilla JavaScript
|
vanilla JavaScript
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
to make nifty{" "}
|
to make nifty{" "}
|
||||||
<ColorLink href="https://jamstack.wtf/" title="WTF is JAMstack?" lightColor="#04a699" darkColor="#08bbac">
|
<ColorLink
|
||||||
|
href="https://jamstack.wtf/"
|
||||||
|
title="WTF is JAMstack?"
|
||||||
|
lightColor="#04a699"
|
||||||
|
darkColor="#08bbac"
|
||||||
|
external
|
||||||
|
>
|
||||||
JAMstack sites
|
JAMstack sites
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
with dynamic{" "}
|
with dynamic{" "}
|
||||||
@@ -52,6 +61,7 @@ const Index = () => (
|
|||||||
title="Node.js Official Website"
|
title="Node.js Official Website"
|
||||||
lightColor="#6fbc4e"
|
lightColor="#6fbc4e"
|
||||||
darkColor="#84d95f"
|
darkColor="#84d95f"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
Node.js
|
Node.js
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
@@ -61,6 +71,7 @@ const Index = () => (
|
|||||||
title='"PHP in 2020" by Brent Roose'
|
title='"PHP in 2020" by Brent Roose'
|
||||||
lightColor="#8892bf"
|
lightColor="#8892bf"
|
||||||
darkColor="#a4afe3"
|
darkColor="#a4afe3"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
PHP
|
PHP
|
||||||
</ColorLink>
|
</ColorLink>
|
||||||
@@ -70,11 +81,18 @@ const Index = () => (
|
|||||||
title="Ruby Official Website"
|
title="Ruby Official Website"
|
||||||
lightColor="#d34135"
|
lightColor="#d34135"
|
||||||
darkColor="#f95a4d"
|
darkColor="#f95a4d"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
Ruby
|
Ruby
|
||||||
</ColorLink>
|
</ColorLink>
|
||||||
, and{" "}
|
, and{" "}
|
||||||
<ColorLink href="https://golang.org/" title="Golang Official Website" lightColor="#00acd7" darkColor="#2ad1fb">
|
<ColorLink
|
||||||
|
href="https://golang.org/"
|
||||||
|
title="Golang Official Website"
|
||||||
|
lightColor="#00acd7"
|
||||||
|
darkColor="#2ad1fb"
|
||||||
|
external
|
||||||
|
>
|
||||||
Go
|
Go
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
too.
|
too.
|
||||||
@@ -87,6 +105,7 @@ const Index = () => (
|
|||||||
title="jakejarvis/awesome-shodan-queries on GitHub"
|
title="jakejarvis/awesome-shodan-queries on GitHub"
|
||||||
lightColor="#00b81a"
|
lightColor="#00b81a"
|
||||||
darkColor="#57f06d"
|
darkColor="#57f06d"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
application security
|
application security
|
||||||
</ColorLink>
|
</ColorLink>
|
||||||
@@ -96,11 +115,18 @@ const Index = () => (
|
|||||||
title='"What is serverless computing?" on Cloudflare'
|
title='"What is serverless computing?" on Cloudflare'
|
||||||
lightColor="#0098ec"
|
lightColor="#0098ec"
|
||||||
darkColor="#43b9fb"
|
darkColor="#43b9fb"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
serverless stacks
|
serverless stacks
|
||||||
</ColorLink>
|
</ColorLink>
|
||||||
, and{" "}
|
, and{" "}
|
||||||
<ColorLink href="https://xkcd.com/1319/" title='"Automation" on xkcd' lightColor="#ff6200" darkColor="#f46c16">
|
<ColorLink
|
||||||
|
href="https://xkcd.com/1319/"
|
||||||
|
title='"Automation" on xkcd'
|
||||||
|
lightColor="#ff6200"
|
||||||
|
darkColor="#f46c16"
|
||||||
|
external
|
||||||
|
>
|
||||||
DevOps automation
|
DevOps automation
|
||||||
</ColorLink>
|
</ColorLink>
|
||||||
.
|
.
|
||||||
@@ -146,6 +172,7 @@ const Index = () => (
|
|||||||
title='"Student designs iPhone JoeyTracker app" on The Tufts Daily'
|
title='"Student designs iPhone JoeyTracker app" on The Tufts Daily'
|
||||||
lightColor="#ff1b1b"
|
lightColor="#ff1b1b"
|
||||||
darkColor="#f06060"
|
darkColor="#f06060"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
have
|
have
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
@@ -162,6 +189,7 @@ const Index = () => (
|
|||||||
title='"The Facebook Effect" by David Kirkpatrick (Google Books)'
|
title='"The Facebook Effect" by David Kirkpatrick (Google Books)'
|
||||||
lightColor="#f2b702"
|
lightColor="#f2b702"
|
||||||
darkColor="#ffcc2e"
|
darkColor="#ffcc2e"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
featured
|
featured
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
@@ -170,6 +198,7 @@ const Index = () => (
|
|||||||
title='"The new Facebook is on a roll" on CNN Money'
|
title='"The new Facebook is on a roll" on CNN Money'
|
||||||
lightColor="#5ebd3e"
|
lightColor="#5ebd3e"
|
||||||
darkColor="#78df55"
|
darkColor="#78df55"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
by
|
by
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
@@ -178,6 +207,7 @@ const Index = () => (
|
|||||||
title='"Middio: A YouTube Scraper for Major Label Music Videos" on Wired'
|
title='"Middio: A YouTube Scraper for Major Label Music Videos" on Wired'
|
||||||
lightColor="#009cdf"
|
lightColor="#009cdf"
|
||||||
darkColor="#29bfff"
|
darkColor="#29bfff"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
various
|
various
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
@@ -186,6 +216,7 @@ const Index = () => (
|
|||||||
title='"Fresh Faces in Tech: 10 Kid Entrepreneurs to Watch" on Gigaom'
|
title='"Fresh Faces in Tech: 10 Kid Entrepreneurs to Watch" on Gigaom'
|
||||||
lightColor="#3e49bb"
|
lightColor="#3e49bb"
|
||||||
darkColor="#7b87ff"
|
darkColor="#7b87ff"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
media
|
media
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
@@ -194,6 +225,7 @@ const Index = () => (
|
|||||||
title='"Your Next Client? The CEO's Son" on Advertising Age'
|
title='"Your Next Client? The CEO's Son" on Advertising Age'
|
||||||
lightColor="#973999"
|
lightColor="#973999"
|
||||||
darkColor="#db60dd"
|
darkColor="#db60dd"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
outlets
|
outlets
|
||||||
</ColorLink>
|
</ColorLink>
|
||||||
@@ -207,6 +239,7 @@ const Index = () => (
|
|||||||
title="Jake Jarvis on GitHub"
|
title="Jake Jarvis on GitHub"
|
||||||
lightColor="#8d4eff"
|
lightColor="#8d4eff"
|
||||||
darkColor="#a379f0"
|
darkColor="#a379f0"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
GitHub
|
GitHub
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
@@ -216,6 +249,7 @@ const Index = () => (
|
|||||||
title="Jake Jarvis on LinkedIn"
|
title="Jake Jarvis on LinkedIn"
|
||||||
lightColor="#0073b1"
|
lightColor="#0073b1"
|
||||||
darkColor="#3b9dd2"
|
darkColor="#3b9dd2"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
LinkedIn
|
LinkedIn
|
||||||
</ColorLink>
|
</ColorLink>
|
||||||
@@ -224,7 +258,7 @@ const Index = () => (
|
|||||||
email
|
email
|
||||||
</ColorLink>{" "}
|
</ColorLink>{" "}
|
||||||
<sup className="monospace pgp_key">
|
<sup className="monospace pgp_key">
|
||||||
<ColorLink href="/pubkey.asc" title="My Public Key" lightColor="#757575" darkColor="#959595" external={true}>
|
<ColorLink href="/pubkey.asc" title="My Public Key" lightColor="#757575" darkColor="#959595" external>
|
||||||
<LockIcon className="icon" /> 2B0C 9CF2 51E6 9A39
|
<LockIcon className="icon" /> 2B0C 9CF2 51E6 9A39
|
||||||
</ColorLink>
|
</ColorLink>
|
||||||
</sup>
|
</sup>
|
||||||
@@ -234,6 +268,7 @@ const Index = () => (
|
|||||||
title="Jake Jarvis on Twitter"
|
title="Jake Jarvis on Twitter"
|
||||||
lightColor="#00acee"
|
lightColor="#00acee"
|
||||||
darkColor="#3bc9ff"
|
darkColor="#3bc9ff"
|
||||||
|
external
|
||||||
>
|
>
|
||||||
Twitter
|
Twitter
|
||||||
</ColorLink>
|
</ColorLink>
|
||||||
@@ -292,8 +327,8 @@ const Index = () => (
|
|||||||
color: var(--medium-light);
|
color: var(--medium-light);
|
||||||
}
|
}
|
||||||
.birthday :global(a:hover) {
|
.birthday :global(a:hover) {
|
||||||
/* magic wand easter egg */
|
/* magic wand cursor easter egg */
|
||||||
cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='48' viewport='0 0 100 100' style='fill:black;font-size:24px;'><text y='50%'>🪄</text></svg>")
|
cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='48' viewport='0 0 100 100' style='font-size:24px'><text y='50%' transform='rotate(-70 0 0) translate(-18, 5)'>🪄</text></svg>")
|
||||||
16 0,
|
16 0,
|
||||||
auto;
|
auto;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user