upstream #1
@ -1,6 +1,7 @@
|
|||||||
const headerNavLinks = [
|
const headerNavLinks = [
|
||||||
{ href: '/blog', title: 'Blog' },
|
{ href: '/blog', title: 'Blog' },
|
||||||
{ href: '/tags', title: 'Tags' },
|
{ href: '/tags', title: 'Tags' },
|
||||||
|
{ href: '/projects', title: 'Projects' },
|
||||||
{ href: '/about', title: 'About' },
|
{ href: '/about', title: 'About' },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
20
data/projectsData.js
Normal file
20
data/projectsData.js
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
const projectsData = [
|
||||||
|
{
|
||||||
|
title: 'A Search Engine',
|
||||||
|
description: `What is you could look up any information in the world? Webpages, images, videos
|
||||||
|
and more. Google has many features to help you find exactly what you're looking
|
||||||
|
for.`,
|
||||||
|
imgSrc: '/static/images/google.png',
|
||||||
|
href: 'https://www.google.com',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'The Time Machine',
|
||||||
|
description: `Imagine being able to travel back in time or to the future. Simple turn the knob
|
||||||
|
to the desired date and press "Go". No more worrying about lost keys or
|
||||||
|
forgotten handphones with this simple yet affordable solution.`,
|
||||||
|
imgSrc: '/static/images/time-machine.jpg',
|
||||||
|
href: '/blog/the-time-machine',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
export default projectsData
|
59
pages/projects.js
Normal file
59
pages/projects.js
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
import Image from 'next/image'
|
||||||
|
import siteMetadata from '@/data/siteMetadata'
|
||||||
|
import projectsData from '@/data/projectsData'
|
||||||
|
import Link from '@/components/Link'
|
||||||
|
import { PageSeo } from '@/components/SEO'
|
||||||
|
|
||||||
|
export default function Projects() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<PageSeo
|
||||||
|
title={`Projects - ${siteMetadata.author}`}
|
||||||
|
description={siteMetadata.description}
|
||||||
|
url={`${siteMetadata.siteUrl}/projects`}
|
||||||
|
/>
|
||||||
|
<div className="divide-y divide-gray-200 dark:divide-gray-700">
|
||||||
|
<div className="pt-6 pb-8 space-y-2 md:space-y-5">
|
||||||
|
<h1 className="text-3xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-4xl sm:leading-10 md:text-6xl md:leading-14">
|
||||||
|
Projects
|
||||||
|
</h1>
|
||||||
|
<p className="text-lg leading-7 text-gray-500 dark:text-gray-400">
|
||||||
|
Showcase your projects with a hero image (16 x 9)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div className="container py-12">
|
||||||
|
<div className="flex flex-wrap -m-4">
|
||||||
|
{projectsData.map((d) => (
|
||||||
|
<div className="p-4 md:w-1/2" key={d.title}>
|
||||||
|
<div className="h-full border-2 border-gray-200 border-opacity-60 dark:border-gray-700 rounded-md overflow-hidden">
|
||||||
|
<Image
|
||||||
|
alt={d.title}
|
||||||
|
src={d.imgSrc}
|
||||||
|
className="lg:h-48 md:h-36 object-cover object-center"
|
||||||
|
width={721}
|
||||||
|
height={401}
|
||||||
|
/>
|
||||||
|
<div className="p-6">
|
||||||
|
<h2 className="text-2xl font-bold leading-8 tracking-tight mb-3">{d.title}</h2>
|
||||||
|
<p className="prose text-gray-500 max-w-none dark:text-gray-400 mb-3">
|
||||||
|
{d.description}
|
||||||
|
</p>
|
||||||
|
<div className="text-base font-medium leading-6">
|
||||||
|
<Link
|
||||||
|
href={d.href}
|
||||||
|
className="text-blue-500 hover:text-blue-600 dark:hover:text-blue-400"
|
||||||
|
aria-label={`Link to ${d.title}`}
|
||||||
|
>
|
||||||
|
Learn more →
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
BIN
public/static/images/google.png
Normal file
BIN
public/static/images/google.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
BIN
public/static/images/time-machine.jpg
Normal file
BIN
public/static/images/time-machine.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 419 KiB |
Loading…
x
Reference in New Issue
Block a user