EmilandClaude Sonnet 5 32c57a5ada
Deploy to GitHub Pages / build (push) Canceled after 0s
Deploy to GitHub Pages / deploy (push) Canceled after 0s
Resume site with live content from Gitea
Replaces the static portfolio with a resume site that reads /data/resume.json:
the text comes from data/resume.json in this repo, and the projects are the
public Gitea repos tagged `resume`. Merges in the content of the hh.ru resume
(backend/DevOps skills, experience, languages) without personal details.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-20 20:55:05 +03:00
2026-07-22 03:43:37 +03:00
2026-07-22 03:43:37 +03:00
2026-07-22 03:43:37 +03:00
2026-07-22 03:43:37 +03:00

Emil Shanayev — resume site

Live at https://shanaty.ru/resume/. A static Next.js site whose content is loaded live from Gitea:

  • Text (name, bio, skills, experience, education, contacts, …) comes from data/resume.json in this repo.
  • Projects are the public repos on Gitea (git.shanaty.ru/Emil_Shanaty) that carry the topic resume. Tag a repo and it appears within about a minute; remove the topic and it disappears.
  • Optional projectNotes in data/resume.json (keyed by repo name) enrich a project with a title, kind, longer description, highlights, tech tags, extra links and a rank (lower ranks first; the rest are newest first). Without a note a project shows its Gitea description, language and topics.

How it works

A systemd timer on the server (resume_sync.py, in the auto repo) rebuilds https://shanaty.ru/data/resume.json every minute from the main branch of this repo plus the topic search. The page fetches that file on load and falls back to the copy bundled at build time if it is unreachable. A broken data/resume.json (invalid JSON, missing fields, non-http links) is rejected and the previous published data stays.

To update content: edit data/resume.json, commit, and push to Gitea (git push gitea main). No rebuild or deploy is needed.

Development

npm install
npm run dev        # http://localhost:3000, data from the public https://shanaty.ru/data/resume.json
npm run build      # static export in out/

BASE_PATH sets the URL prefix (default /Emil_Shanayev_Resume, for GitHub Pages) and NEXT_PUBLIC_DATA_URL the data URL.

Deploy

./deploy-shanaty.sh builds and publishes the site to shanaty.ru (needs the ssh key ~/.ssh/MyGitea). Only needed after changing code or styles.

Not published on purpose

The official resume on hh.ru holds more personal details (phone, date of birth, salary expectations). This site only carries the professional content.

S
Description
Online résumé of Emil Shanayev, a static Next.js site.
Readme
720 KiB
Languages
HTML 99.9%
JavaScript 0.1%