A personal site and writing space for Marcelo Morales.
Explore the project »
Get started
·
Report a bug
·
Request a feature
This repository contains the source for mathcelo: a portfolio for security work, projects, publications, and occasional notes. It is a statically exported Next.js site, with a content-first layout built in Tailwind CSS.
Résumé content lives in src/content/resume.ts, while each internal blog post is an MDX file in src/content/blog/.
Follow these steps to run the site locally.
- Node.js 22 or later
- pnpm 10 or later
-
Clone the repository.
git clone https://github.com/mathcelo/page.git cd page -
Install dependencies.
pnpm install
-
Start the development server.
pnpm dev
Open http://localhost:3000 in your browser.
Run the project checks before opening a pull request:
pnpm lint
pnpm exec tsc --noEmit
pnpm testCreate a new MDX blog post with:
pnpm new-post "My New Blog Post"The command creates a dated draft under src/content/blog/. Add an excerpt, tags, and the post body before publishing it.
To produce the static deployment output locally:
pnpm buildThe generated site is written to out/.
Pushes to main run the GitHub Actions workflow in .github/workflows/main.yml. It builds the static site, synchronizes out/ to Amazon S3, and invalidates the configured CloudFront distribution.
Configure these repository secrets before deploying:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYS3_BUCKETCLOUDFRONT_DISTRIBUTION_ID
- Fork the repository and create a branch from
main. - Make the change and run the checks listed above.
- Open a pull request with a clear description of the change.
Marcelo Morales — LinkedIn · GitHub
Project link: github.com/mathcelo/page
- Best-README-Template for the README structure.