Skip to content

Repository files navigation

Felipe Basurto — Personal portfolio

Website GitHub last commit

Static site for my CV, service pages, and longer Details pages per role. Built from Markdown with a small Node script.

Live site

https://felipebasurto.com on Cloudflare Workers. Deploy with npm run deploy.

Stack

Features

  • Edit Markdown, run npm run build; output is index.html at the repo root, <slug>/index.html for each LANDING_PAGES entry, projects/index.html from content/projects.md, and experience/<slug>/index.html for each experience source
  • cursor.json can list remote image URLs; the build uses the network to refresh files under assets/experience/cursor/ (throttled). Commit those assets if you want reproducible builds offline. Each image object may include an optional string alt for accessibility; otherwise alts are generated from the event title. Use each LinkedIn media URL only once across the whole file—reusing the same URL under different events repeats the same photo and mixes themes. For assets you keep in-repo without a URL, use { "static": "filename.jpg" } (file must already live under assets/experience/cursor/)
  • Terminal-style UI with visible ## headings and link labels (URL often in the native tooltip via title)
  • npm run build also regenerates sitemap.xml (home, landing pages from LANDING_PAGES, /projects/ if present, then experience slugs)

Project structure

├── content/
│   ├── cv.md                 # Home page copy
│   ├── projects.md           # /projects/ (apps + GitHub list)
│   ├── pages/                # Landing pages declared in LANDING_PAGES
│   └── experience/           # Per-role Markdown + optional cursor.json
├── scripts/
│   ├── build.mjs
│   └── template.html
├── css/styles.css
├── assets/
├── index.html                # Generated (commit for root deploy)
├── projects/index.html       # Generated from content/projects.md
├── experience/<slug>/index.html   # Generated
└── sitemap.xml               # Generated by build

Deploy: npm run build writes HTML at the repo root; npm run build:dist copies the public files into dist/. npm run deploy publishes that dist/ to the felipebasurto-com Worker.

Getting started

  1. Clone and install:

    git clone https://github.com/felipebasurto/felipebasurto.github.io.git
    cd felipebasurto.github.io
    npm install
  2. Edit content/cv.md, content/projects.md, and/or content/experience/*, then:

    npm run build
  3. Preview locally (opening index.html via file:// often fails to load CSS):

    npm run preview

    Or serve the repo root: python3 -m http.server 8080.

The custom domain is attached on the Worker (felipebasurto.com and www). Preview: https://felipebasurto-com.felipe99basurto.workers.dev.

Contact

Rights

Personal portfolio: all rights reserved. No license is granted to copy or redistribute the content or branding. The build tooling (e.g. marked) remains under its respective licenses.

       __________________
      |  ________________|
      | |                |
      | |   Hello,       |
      | |   World! :)    |
      | |   _________    |
      | |  |    |  |    |
      | |  |    |  |    |
      | |  |    |  |    |
      | |  |____|__|    |
      | |                |
      | |________________|
      |                  |
      |    [_________]   |
      |__________________|

About

Portfolio website i created to showcase my skills, projects and professional trajectory. It was a lot of fun learning all kinds of new stuff about frontend design

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages