Skip to content
View davorminchorov's full-sized avatar

Block or report davorminchorov

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
davorminchorov/README.md

davorminchorov.com

Personal portfolio built with Astro, Tailwind CSS, and MDX.

Getting Started

# Install dependencies
npm install

# Start dev server (http://localhost:4321)
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

Project Structure

src/
├── components/         # Reusable UI components
│   ├── Hero.astro
│   ├── FeaturedProject.astro
│   ├── ProjectCard.astro
│   ├── Expertise.astro      # "Services" section
│   ├── HowIWork.astro
│   ├── Contact.astro
│   └── Writing.astro        # Talks (talks.json) + Codyssey writing, fetched at build time
├── content/
│   ├── experience.json # Work history (Experience section)
│   ├── projects.json   # Case studies (Selected Work section)
│   ├── skills.json     # Skills section
│   └── talks.json      # Talks in the Talks & Writing section
├── layouts/
│   └── BaseLayout.astro     # Site shell (nav, footer, meta)
├── pages/
│   ├── index.astro          # Homepage
│   ├── 404.astro
│   └── 500.astro
└── styles/
    └── global.css           # Tailwind directives + custom utilities

Articles live on Codyssey.dev and are pulled into the Talks & Writing section at build time. There is no local blog.

Social Share Image

public/og-image.jpg is generated from src/assets/davor-minchorov.webp and the site fonts. Regenerate it whenever the positioning line changes:

node scripts/generate-og-image.mjs

Design System

The site uses a professional light-mode palette defined in tailwind.config.mjs:

  • Background: Warm off-white (#FAFAF9)
  • Accent: Deep forest green (#1A5C3A)
  • Typography: Source Serif 4 (display), Instrument Sans (body), IBM Plex Mono (code/labels)

Deployment (Cloudflare Workers)

.github/workflows/deploy.yml builds the site and deploys it with Wrangler on every push to main, and once a day on a schedule so newly published Codyssey content shows up without a push. It needs the CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID repository secrets. Routes and the custom domain are set in wrangler.toml.

Customization

  • Colors/fonts: Edit tailwind.config.mjs
  • Content: Edit components in src/components/
  • Meta/SEO: Edit defaults in src/layouts/BaseLayout.astro
  • Case studies, experience, skills, talks: Edit the JSON files in src/content/

Popular repositories Loading

  1. lifeos lifeos Public

    A vibe coded LifeOS project

    PHP 12 4

  2. agile-design-patterns agile-design-patterns Public archive

    Agile Design Pattern Examples based on a Tuts+ Code course Agile Design Patterns

    PHP 8 1

  3. real-time-chat real-time-chat Public archive

    A Real Time web chat application demo with NodeJS, Express and Socket.io

    JavaScript 2 4

  4. api.davorminchorov.com api.davorminchorov.com Public archive

    The REST API for Davor Minchorov's personal website and blog.

    PHP 2 1

  5. davorminchorov.com davorminchorov.com Public archive

    Davor Minchorov's personal website and blog.

    JavaScript 2

  6. davorminchorov-statamic davorminchorov-statamic Public archive

    The Statamic-based personal website and blog of Davor Minchorov

    PHP 2 1