Skip to content

RebSem/portfo

Repository files navigation

Portfo

Site Deploy to GitHub Pages License: MIT

Personal portfolio + RU/EN blog built with Astro and deployed to GitHub Pages.

Live site: rebsem.ru

Stack

  • Astro 5
  • MDX (astro:content)
  • TypeScript
  • GitHub Actions + GitHub Pages

Features

  • RU/EN locale toggle with persistent preference
  • Light/dark theme toggle
  • Smooth client-side navigation
  • Bilingual blog posts (translation pairs)
  • Live GitHub profile/public repo sync with build-time contribution snapshots
  • robots.txt, sitemap.xml, llms.txt, meta tags, structured data

Routes

  • / - landing page
  • /about - profile/about page
  • /blog - blog index
  • /blog/:slug - blog post
  • /posts - redirect/compat route
  • /api/github/profile.json - generated static JSON
  • /api/github/repos.json - generated static JSON
  • /api/github/contributions.json - generated static JSON

Local Development

Requirements:

  • Node.js 20+
  • npm 10+
npm install
npm run dev

Open http://localhost:4321.

Build

npm run build

Preview locally:

npm run preview

Validation

npm run check
npm test
npm run build
npm run link-check

Full pre-merge workflow: docs/workflow.md

Blog Workflow

Create a new RU/EN draft pair:

npm run new:post -- my-post-slug --title-ru "Заголовок" --title-en "Title"

Detailed guide: docs/blog-authoring.md

Docs

  • Workflow: docs/workflow.md
  • Blog authoring: docs/blog-authoring.md
  • Content plan: docs/content-plan.md
  • Deep positioning audit (RU): docs/rebsem-audit-2026-04.md

Environment Variables

See .env.example.

  • GITHUB_TOKEN - optional token for higher GitHub API rate limits during local build/preview
  • GITHUB_CACHE_FILE - local cache file path (default: .cache/github-cache.json)

Deploy (GitHub Pages)

This repository deploys via GitHub Actions workflow:

  • Workflow: .github/workflows/deploy.yml
  • Trigger: push to main
  • Custom domain: rebsem.ru (via public/CNAME)

CI for PRs and branch validation lives in .github/workflows/ci.yml.

Attribution

This project was originally bootstrapped from the website code of Peter Steinberger (steipete) and then adapted/modified for this portfolio.

Reference repository:

If you reuse this repository, keep attribution for upstream code where applicable.

License

Code in this repository is licensed under the MIT License (LICENSE).

Content (texts, images, media) is licensed separately under LICENSE-CONTENT unless otherwise noted.

Portions of the code are derived from Peter Steinberger's site code and remain subject to the MIT license terms and attribution notice.

Content Licensing Notes

  • Repository code: MIT (LICENSE)
  • Portfolio/blog content and media authored for this site: All Rights Reserved (LICENSE-CONTENT)
  • Third-party content/assets (if any): keep original license/attribution requirements

About

Personal portfolio and bilingual blog built with Astro, deployed on GitHub Pages

Topics

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE-CONTENT

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors