Skip to content

Commit 6e088db

Browse files
committed
Add support for external nav links
1 parent 8380d67 commit 6e088db

File tree

5 files changed

+198
-2530
lines changed

5 files changed

+198
-2530
lines changed

components/external-link.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { faArrowUpRightFromSquare } from '@fortawesome/free-solid-svg-icons';
2+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3+
import React, { HTMLProps } from 'react';
4+
5+
const ExternalLink = ({ children, ...props }: HTMLProps<HTMLAnchorElement>) => (
6+
<a {...props} className="inline-flex items-center whitespace-nowrap">
7+
{children}
8+
<FontAwesomeIcon icon={faArrowUpRightFromSquare} className="h-3 mb-1 ml-2" />
9+
</a>
10+
);
11+
12+
export default ExternalLink;

components/navigation.tsx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
import Link from 'next/link';
22
import React from 'react';
33

4+
import ExternalLink from './external-link';
45
const links = [
56
<Link href="/#usage">Usage</Link>,
67
<Link href="/news">News</Link>,
7-
<Link href="https://highlightjs.readthedocs.io/">Docs</Link>,
88
<Link href="/demo/">Demo</Link>,
99
<Link href="/download/">Download</Link>,
10-
<Link href="https://github.com/highlightjs/highlight.js">GitHub</Link>,
10+
<ExternalLink href="https://highlightjs.readthedocs.io/">Docs</ExternalLink>,
11+
<ExternalLink href="https://github.com/highlightjs/highlight.js">
12+
GitHub
13+
</ExternalLink>,
1114
];
1215

1316
export const Navigation = () => (
14-
<header className="container py-12">
15-
<nav className="md:grid grid-cols-3">
16-
<div className="col-span-1 text-center sm:text-left mb-4 md:mb-0">
17+
<header className="container py-8 md:py-12">
18+
<nav className="md:flex items-center">
19+
<div className="text-center sm:text-left mb-4 md:mb-0">
1720
<span className="text-4xl font-bold">
1821
<Link
1922
className="no-underline hover:text-cyan-300 focus:text-cyan-300"
@@ -23,12 +26,12 @@ export const Navigation = () => (
2326
</Link>
2427
</span>
2528
</div>
26-
<div className="col-span-2 flex">
27-
<ul className="m-auto pl-0 text-center sm:mr-0 sm:text-right">
29+
<div className="ml-auto">
30+
<ul className="flex flex-wrap gap-x-3 gap-y-1 justify-center pl-0">
2831
{links.map((link, i) => (
2932
<li
3033
key={i}
31-
className="inline-block text-xl font-bold ml-4 first:ml-0"
34+
className="text-xl font-bold"
3235
>
3336
{link}
3437
</li>

0 commit comments

Comments
 (0)