Static resume for Emiliano Pisu, built from Markdown, Vite, and build-time public profile data.
- Markdown resume source in
content/resume.md. - GitHub public repositories, stats, languages, topics, and update dates.
- Sessionize talks and events, filtered to English versions.
- Optional LinkedIn enrichment for headline, description, skills, experience, education, name, and profile image.
- Theme-aware SVG favicon and generated PNG fallbacks from
src/assets/images/logo.svg. - Plain CSS system with
@layer, custom properties, nesting, and data attributes fromsrc/styles/index.css. - Playwright checks for layout, navigation, data, and responsive behavior.
- Node.js 22 or newer.
- pnpm 11.0.5 or newer.
pnpm install
pnpm cms
pnpm dev
pnpm build
pnpm preview
pnpm test
pnpm verifypnpm dev and pnpm preview serve the site at http://localhost:4317.
After pnpm install, Husky configures a pre-push hook that runs pnpm prepush:check. Browser binaries are a one-time setup step:
pnpm setup:browsersRelease commands run a full build, bump package.json, and create a matching git tag.
pnpm rel -- patch
pnpm rel -- minor
pnpm rel -- majorTags use the vX.Y.Z format.
Changelog commands are available without release side effects:
pnpm changelog:update
pnpm changelog:regenpnpm changelog:updaterefreshes the current package version section from commits after the last reachable tag.pnpm changelog:regenrebuildsCHANGELOG.mdfrom semver tags and the current package version.
Source configuration lives in YAML frontmatter inside content/resume.md.
- GitHub profile:
sourceConfig.github.profile - Sessionize profile:
sourceConfig.sessionize.profile - LinkedIn public profile:
sourceConfig.linkedin.profile - LinkedIn PDF export:
sourceConfig.linkedin.pdf
Environment variables:
GITHUB_TOKEN, optional, raises GitHub API limits.
Use pnpm cms to sync live source snapshots into content/resume.md, under markdown frontmatter generated, and to refresh selected markdown sections such as Experience from content/profile.pdf.
Build command uses markdown snapshots only:
pnpm buildreadscontent/resume.mdas primary source (no live scraping).PIXU_BUILD_SOURCE=content/another-resume.md pnpm buildbuilds from a specific markdown source.
Build output is rendered directly from content/resume.md. No runtime resume.json payload is emitted.
content/
resume.md
scripts/
build.js
generate-favicons.js
lint-content.js
src/
assets/
scripts/app.js
styles/index.css
index.html
static/
tests/
resume.spec.js
vite.config.js
See CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md, and AGENTS.md.