Documentation Index
Fetch the complete documentation index at: https://mintlify.com/paaatrrrick/personalwebsite/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure you have the following installed:- Node.js >= 14 — required by Create React App 5. Download from nodejs.org.
- npm — comes bundled with Node.js.
- Git — for cloning the repository.
Setup
Install dependencies
package.json.Start the development server
Available scripts
| Script | Command | Description |
|---|---|---|
| Start dev server | npm start | Opens localhost:3000 with hot reload |
| Build for production | npm run build | Creates optimized build in /build |
| Run tests | npm test | Launches the interactive test runner |
| Eject CRA config | npm run eject | Exposes the underlying CRA config (irreversible) |
| Netlify build | npm run netlify | Runs CI=false npm run build, suppressing warnings-as-errors |
Code structure
The project follows a standard Create React App layout with a few conventions worth knowing:| Path | Purpose |
|---|---|
src/App.js | Root component. Contains all <Route> definitions — add new routes here. |
src/Home.js | The main landing page. Imports and renders Work and Card components. |
src/components/ | Individual page and UI components (Blog, ViewBlog, Haus, Card, Work). |
src/constants/ | All site data as plain JavaScript arrays and objects. |
src/images/ | Local image assets (photos of Patrick). |
public/ | Static files served at the root, including the Netlify _redirects rule. |
Routing
Routing is handled byreact-router-dom v4 using <Switch> and <Route> in src/App.js:
src/components/ and add a corresponding <Route> in App.js.
Modifying site content
All content on the site is static — there is no backend or API. Data lives in plain JavaScript files undersrc/constants/.
To add a new blog article, create a new file in
src/constants/articles/ following the pattern of the existing netflix.js article, then register it in src/constants/articles.js so it appears in the blog listing and can be retrieved by getArticle().