├── public ├── _redirects ├── favicon.ico ├── logo192.png ├── logo512.png ├── meta-book.png ├── meta-image.png ├── robots.txt ├── social-book.png ├── social-image.png ├── your-website-sucks-sample.pdf ├── sitemap.xml ├── manifest.json └── index.html ├── src ├── assets │ ├── book.png │ ├── twan.JPG │ ├── thatsanegg.png │ ├── twan_transparent.png │ ├── clients │ │ ├── volkswagen.svg │ │ ├── accenture.svg │ │ ├── mastercard.svg │ │ ├── framer.svg │ │ └── porsche.svg │ └── ButtonAccent.js ├── components │ ├── Intro.js │ ├── ScrollToTop.js │ ├── Book.js │ ├── Timeline │ │ ├── 1996 │ │ │ └── index.js │ │ ├── 2016 │ │ │ └── index.js │ │ ├── 2019 │ │ │ └── index.js │ │ ├── 2020 │ │ │ └── index.js │ │ ├── 2021 │ │ │ └── index.js │ │ ├── 2024 │ │ │ └── index.js │ │ ├── BlogPost.js │ │ ├── Entry.js │ │ └── Timeline.js │ ├── About.js │ ├── Book.css │ ├── Contact.js │ ├── Clients.js │ ├── Footer.js │ ├── Hero.js │ └── CurrentlyListening.js ├── App.test.js ├── setupTests.js ├── App.js ├── reportWebVitals.js ├── index.js ├── pages │ ├── Home.js │ └── WebsiteSucks.js └── index.css ├── README.md ├── craco.config.js ├── .prettierrc ├── .gitignore ├── tailwind.config.js └── package.json /public/_redirects: -------------------------------------------------------------------------------- 1 | /* /index.html 200 -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/public/logo512.png -------------------------------------------------------------------------------- /public/meta-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/public/meta-book.png -------------------------------------------------------------------------------- /public/meta-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/public/meta-image.png -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /src/assets/book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/src/assets/book.png -------------------------------------------------------------------------------- /src/assets/twan.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/src/assets/twan.JPG -------------------------------------------------------------------------------- /public/social-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/public/social-book.png -------------------------------------------------------------------------------- /public/social-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/public/social-image.png -------------------------------------------------------------------------------- /src/assets/thatsanegg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/src/assets/thatsanegg.png -------------------------------------------------------------------------------- /src/assets/twan_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/src/assets/twan_transparent.png -------------------------------------------------------------------------------- /public/your-website-sucks-sample.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twanmulder/portfolio/HEAD/public/your-website-sucks-sample.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # My personal portfolio website 😄 2 | 3 | Check it out over at: 4 | 5 | [www.twanmulder.com](https://www.twanmulder.com) 6 | -------------------------------------------------------------------------------- /craco.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | style: { 3 | postcss: { 4 | plugins: [require("tailwindcss"), require("autoprefixer")], 5 | }, 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "printWidth": 500, 4 | "semi": false, 5 | "singleQuote": false, 6 | "tabWidth": 2, 7 | "trailingComma": "es5" 8 | } 9 | -------------------------------------------------------------------------------- /src/components/Intro.js: -------------------------------------------------------------------------------- 1 | export default function Intro() { 2 | return ( 3 |
4 |

TEST

5 |
6 | ) 7 | } 8 | -------------------------------------------------------------------------------- /src/App.test.js: -------------------------------------------------------------------------------- 1 | import { render } from "@testing-library/react" 2 | import App from "./App" 3 | 4 | test("renders learn react link", () => { 5 | render() 6 | }) 7 | -------------------------------------------------------------------------------- /src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import "@testing-library/jest-dom" 6 | -------------------------------------------------------------------------------- /src/components/ScrollToTop.js: -------------------------------------------------------------------------------- 1 | import { useEffect } from "react" 2 | import { useLocation } from "react-router-dom" 3 | 4 | export default function ScrollToTop() { 5 | const { pathname } = useLocation() 6 | 7 | useEffect(() => { 8 | window.scrollTo(0, 0) 9 | }, [pathname]) 10 | 11 | return null 12 | } 13 | -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import { Fragment } from "react" 2 | 3 | import Hero from "./components/Hero" 4 | import Main from "./components/Main" 5 | import Footer from "./components/Footer" 6 | 7 | function App() { 8 | return ( 9 | 10 | 11 |
12 |