Skip to content

sudarshanbhoyar/website

Repository files navigation

Deccan Spatial — Website

Built with Astro · Deployed on GitHub Pages · Auto-deployed via GitHub Actions.


Local Development

npm install
npm run dev       # starts at http://localhost:4321
npm run build     # production build → ./dist
npm run preview   # preview the production build locally

Branching Strategy

Branch Purpose
main Production. Every push auto-deploys to deccanspatial.com
dev Staging / integration. PRs merge here first.
feature/* Individual features (e.g. feature/new-hero, feature/blog-section)

Workflow

feature/my-change → dev (PR + review) → main (PR + deploy)

Never push directly to main.


Adding Content

New Project

Create a file in src/content/projects/your-project-slug.md:

---
title: "Project Title"
slug: "project-slug"
date: 2025-01-01
client: "Client Name"
tags: ["QGIS", "Python"]
thumbnail: "/images/projects/your-image.jpg"
summary: "One sentence summary for the card."
featured: false
---

Full project description in markdown...

New Blog Post

Create a file in src/content/blog/your-post-slug.md with the same frontmatter pattern.


Deployment

Deployment is fully automatic:

  1. Push to main
  2. GitHub Actions builds the site (npm run build)
  3. Output is deployed to GitHub Pages
  4. Live at https://deccanspatial.com within ~60 seconds

First-time GitHub Pages setup (one time only):

  1. Go to repo → Settings → Pages
  2. Set Source to "GitHub Actions"
  3. Point your DNS CNAME record at <your-github-username>.github.io

Project Structure

src/
├── components/       # Reusable UI components (.astro)
├── layouts/          # Page wrappers (BaseLayout.astro)
├── pages/            # File-based routing (index.astro → /)
├── styles/           # tokens.css — single source of brand truth
└── content/
    ├── projects/     # Markdown files, one per project
    └── blog/         # Markdown files, one per post
public/
├── favicon.svg
├── robots.txt
└── images/           # Static assets
.github/
└── workflows/
    └── deploy.yml    # CI/CD pipeline

Brand Tokens

All design values live in src/styles/tokens.css. Never hardcode colors, fonts, or spacing in components — always reference a token variable. This means a full rebrand requires editing one file.

Key tokens:

  • --color-navy — primary brand color
  • --color-teal — CTAs and interactive elements
  • --color-gold — premium accents
  • --font-serif — Playfair Display (headings)
  • --font-sans — Inter (body and UI)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors