Skip to content

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

jacano.github.io — Personal website

Personal site of Juan Antonio Cano Salado — Software Engineer. Blog, CV and projects. It uses Astro and GitHub Pages at https://jacano.github.io/. This is the canonical public URL; the repository does not configure a custom domain.

Sections

  • Home: hero, about, experience, open source projects and blog preview.
  • CV: printable resume. Use the Print button to create a PDF.
  • Blog: articles in Markdown via content collections (src/content/blog/*.md). Search, tag filter, RSS at /rss.xml, prev/next navigation.

Data

Edit src/data/cv.json to update experience, skills, projects and biography. The file updates all pages. The counts that a service owns (stars, forks, NuGet downloads) come from npm run sync:stats, which reads GitHub and NuGet and rewrites the file.

Develop

Install dependencies. Then run the site.

npm ci
npm run dev           # http://localhost:4321/
npm run check         # astro check (types and Astro diagnostics)
npm test              # vitest: the helpers and the figure reader
npm run format:check  # prettier; npm run format writes
npm run build         # creates /dist (pages + rss.xml + sitemaps)
npm run preview
npm run sync:stats    # refresh the numbers of the CV from the APIs

The Makefile wraps the same commands: make install, make dev, make validate. Needs Node >=24 and npm >=11 (see .nvmrc).

Fonts are downloaded at build time and served from this site, so a visitor makes no request to a third party. The figures of an article get their width and height from the file itself, which the build reads.

Checks and deploy

Two workflows, two jobs:

  • .github/workflows/ci.yml runs make validate on every pull request and on a push to main. It never publishes.
  • .github/workflows/deploy.yml publishes, and it runs only when you ask for it: make deploy. A push is a commit, not a release.

make publish MESSAGE="what changed" validates, commits and pushes. make deploy triggers the Pages workflow and returns; make watch follows the run and make status lists the last ones. Verify the Pages source with gh api repos/jacano/jacano.github.io/pages (build_type is workflow).

Add a post

Create src/content/blog/<slug>.md with frontmatter (title, date, tag, excerpt). The schema lives in src/content.config.ts. Home preview, blog list, RSS and sitemap pick the post up automatically. Slugs must stay English-only. The reading time comes from the words of the post, so you do not set it by hand.

License

MIT. See the LICENSE file.

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages