Revert "Undid all the weirdness caused by copilot, never again"
This reverts commit d2bf400202.
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 171 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 228 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 45 KiB |
@@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<meta
|
||||
name="description"
|
||||
content="The Personal Website of Gregory Campbell"
|
||||
/>
|
||||
<link rel="apple-touch-icon" href="logo192.png" />
|
||||
<!--
|
||||
manifest.json provides metadata used when your web app is installed on a
|
||||
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
||||
-->
|
||||
<link rel="manifest" href="manifest.json" />
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
|
||||
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<title>Gregory J Campbell</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||
<div id="root"></div>
|
||||
<!--
|
||||
This HTML file is a template.
|
||||
If you open it directly in the browser, you will see an empty page.
|
||||
|
||||
You can add webfonts, meta tags, or analytics to this file.
|
||||
The build step will place the bundled scripts into the <body> tag.
|
||||
|
||||
To begin the development, run `npm start` or `yarn start`.
|
||||
To create a production bundle, use `npm run build` or `yarn build`.
|
||||
-->
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 9.4 KiB |
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"short_name": "My Website",
|
||||
"name": "The Website of Gregory Campbell",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "64x64 32x32 24x24 16x16",
|
||||
"type": "image/x-icon"
|
||||
},
|
||||
{
|
||||
"src": "logo192.png",
|
||||
"type": "image/png",
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "logo512.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#000000",
|
||||
"background_color": "#ffffff"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
Disallow:
|
||||
@@ -28,6 +28,7 @@ export const Home = () => {
|
||||
<img
|
||||
src={meImage}
|
||||
alt="Portrait of Gregory Campbell"
|
||||
className="homeimage"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
/>
|
||||
|
||||
@@ -4,39 +4,24 @@ import ProjectCard from './components/ProjectCard';
|
||||
|
||||
// Import all project images
|
||||
import StateMachine from './assets/StateMachine.png';
|
||||
import HSV from './assets/HSV.png';
|
||||
import skin2 from './assets/skin2.png';
|
||||
import EulerExample from './assets/EulerExample.png';
|
||||
import EulerCycle from './assets/EulerCycle.png';
|
||||
import Hangman from './assets/Hangman.png';
|
||||
import KnightsTour from './assets/KnightsTour.png';
|
||||
import TextAnalyzer from './assets/TextAnalyzer.png';
|
||||
import AlgorithmComparison from './assets/AlgorithmComparison.png';
|
||||
import ShowingOff from './assets/ShowingOff.jpg';
|
||||
import MJB from './assets/MJB.jpg';
|
||||
import GunControl from './assets/GunControl.png';
|
||||
import Palish from './assets/Palish.png';
|
||||
import WH from './assets/W&H.png';
|
||||
import SRS from './assets/SRS.png';
|
||||
|
||||
|
||||
// Map imgName to imported images
|
||||
const imageMap = {
|
||||
StateMachine,
|
||||
HSV,
|
||||
skin2,
|
||||
EulerExample,
|
||||
EulerCycle,
|
||||
Hangman,
|
||||
KnightsTour,
|
||||
TextAnalyzer,
|
||||
AlgorithmComparison,
|
||||
ShowingOff,
|
||||
MJB,
|
||||
GunControl,
|
||||
Palish,
|
||||
WH,
|
||||
SRS
|
||||
};
|
||||
|
||||
const projects = [
|
||||
@@ -51,12 +36,8 @@ const projects = [
|
||||
title: 'Python Skin Detection Algorithms',
|
||||
link: 'https://github.com/gjcampbell777/python-photo-skin-detection',
|
||||
description: 'Replicated multiple skin detection algorithms in Python and modernized them for Python 3.',
|
||||
imgName: 'HSV',
|
||||
imgAlt: 'Skin detection image after',
|
||||
},
|
||||
{
|
||||
imgName: 'skin2',
|
||||
imgAlt: 'Skin detection image before',
|
||||
imgAlt: 'Skin detection before/after',
|
||||
},
|
||||
{
|
||||
title: 'Euler Checking Algorithm',
|
||||
@@ -65,10 +46,6 @@ const projects = [
|
||||
imgName: 'EulerExample',
|
||||
imgAlt: 'Euler example'
|
||||
},
|
||||
{
|
||||
imgName: 'EulerCycle',
|
||||
imgAlt: 'Euler cycle output',
|
||||
},
|
||||
{
|
||||
title: 'Fortran Hangman',
|
||||
link: 'https://github.com/gjcampbell777/fortran-hangman',
|
||||
@@ -99,30 +76,11 @@ const projects = [
|
||||
},
|
||||
{
|
||||
title: 'My Many Games',
|
||||
link: 'https://gregorysoup.itch.io',
|
||||
description: 'A selection of games made with Unity and Godot.',
|
||||
imgName: 'ShowingOff',
|
||||
imgAlt: 'Game showcase'
|
||||
},
|
||||
{
|
||||
imgName: 'MJB',
|
||||
imgAlt: 'Magical Jumping Bean'
|
||||
},
|
||||
{
|
||||
imgName: 'GunControl',
|
||||
imgAlt: 'Gun Control'
|
||||
},
|
||||
{
|
||||
imgName: 'Palish',
|
||||
imgAlt: 'Palish'
|
||||
},
|
||||
{
|
||||
imgName: 'WH',
|
||||
imgAlt: 'Wally And Harv Escape the Fireball and Brick Factory'
|
||||
},
|
||||
{
|
||||
imgName: 'SRS',
|
||||
imgAlt: 'Super Robo Squad'
|
||||
},
|
||||
}
|
||||
];
|
||||
|
||||
export const Projects = () => {
|
||||
@@ -138,6 +96,14 @@ export const Projects = () => {
|
||||
<aside>Look at what I've created!</aside>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<p>This page contains the projects I've done in the past, present and future.</p>
|
||||
<p>
|
||||
If you want to see what I'm currently working on, you can see all my updates{' '}
|
||||
<a href="https://twitter.com/Gregory_Soup" target="_blank" rel="noreferrer noopener">here</a>.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
{projects.map((p) => (
|
||||
<ProjectCard
|
||||
key={p.title}
|
||||
|
||||