Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
node_modules
.DS_Store
.atl/*
27 changes: 16 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,24 @@
# Portfolio
---

Minimal Portfolio with React.
Personal portfolio built with React and Vite. Requires Node.js 22.12+, 24.x, or 26+ (Node.js 24 LTS recommended).

![Dashboard](public/dashboard.png)
## Run locally

## Instructions
```sh
npm ci
npm start
```

* Install the dependencies:
`npm/yarn install`
Open http://localhost:3000. Edit `src/yourdata.js` to update the portfolio content.

* Run the development server on port 3000 (http://localhost:3000):
`npm/yarn run start`
## Verify and build

* Create a production version:
`npm/yarn run build`
```sh
npm test
npm run build
npm run preview
```

---
Tests cover rendered content, navigation, reduced motion, and event cleanup. The production build replaces `docs/`, the GitHub Pages output directory. Preview serves that production build on port 3000.

React 19 uses `createRoot`; Vite and Vitest replace deprecated Create React App tooling. Navigation and responsive headline sizing use browser APIs, replacing the old jQuery plugins.
20 changes: 0 additions & 20 deletions docs/asset-manifest.json

This file was deleted.

1 change: 1 addition & 0 deletions docs/assets/index-BenyJbJR.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions docs/assets/index-D7ZdzH8d.js

Large diffs are not rendered by default.

21 changes: 20 additions & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
@@ -1 +1,20 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><link rel="shortcut icon" href="/favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="manifest" href="/manifest.json"><title>Mónica Pastor</title><link rel="stylesheet" href="/css/default.css"><link rel="stylesheet" href="/css/layout.css"><link rel="stylesheet" href="/css/media-queries.css"><link rel="stylesheet" href="/css/magnific-popup.css"><script src="/js/modernizr.js"></script><title>Mónica Pastor Resume</title><link href="/static/css/main.f7ea3d38.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script><script>window.jQuery||document.write('<script src="js/jquery-1.10.2.min.js"><\/script>')</script><script type="text/javascript" src="js/jquery-migrate-1.2.1.min.js"></script><script src="js/jquery.flexslider.js"></script><script src="js/waypoints.js"></script><script src="js/jquery.fittext.js"></script><script src="js/magnific-popup.js"></script><script src="js/init.js"></script><script>!function(e){function r(r){for(var n,l,f=r[0],i=r[1],a=r[2],c=0,s=[];c<f.length;c++)l=f[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,f=1;f<t.length;f++){var i=t[f];0!==o[i]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={1:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var f=this.webpackJsonpresume=this.webpackJsonpresume||[],i=f.push.bind(f);f.push=r,f=f.slice();for(var a=0;a<f.length;a++)r(f[a]);var p=i;t()}([])</script><script src="/static/js/2.808b8e2c.chunk.js"></script><script src="/static/js/main.b2083054.chunk.js"></script></body></html>
<!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">
<link rel="manifest" href="./manifest.json">
<title>Mónica Pastor Resume</title>
<link rel="stylesheet" href="./css/default.css">
<link rel="stylesheet" href="./css/layout.css">
<link rel="stylesheet" href="./css/media-queries.css">
<script type="module" crossorigin src="./assets/index-D7ZdzH8d.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-BenyJbJR.css">
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>
188 changes: 0 additions & 188 deletions docs/js/init.js

This file was deleted.

6 changes: 0 additions & 6 deletions docs/js/jquery-1.10.2.min.js

This file was deleted.

2 changes: 0 additions & 2 deletions docs/js/jquery-migrate-1.2.1.min.js

This file was deleted.

43 changes: 0 additions & 43 deletions docs/js/jquery.fittext.js

This file was deleted.

Loading
Loading