Agent Instructions for ajoydas.github.io

Repository Summary

This is a personal portfolio website for Ajoy Das, built as a Jekyll-based GitHub Pages site using the portfolYOU remote theme. It is deployed at https://ajoydas.com. The site includes a blog, professional/hobby/coursework project showcases, certifications, skills, research publications, activities, photography gallery, and an about/experience timeline.

Type: Static site (Jekyll)
Language: Markdown, HTML, Liquid, SCSS, YAML
Theme: yousinix/portfolYOU (remote theme via jekyll-remote-theme)
Hosting: GitHub Pages
Domain: ajoydas.com (configured via CNAME file)


Build & Development

Prerequisites

Bootstrap (first time)

bundle install

Always run bundle install before building if gems have not been installed.

Build

bundle exec jekyll build

Generates the static site into _site/. Build completes in ~4 seconds.

Serve Locally (development)

bundle exec jekyll serve --watch

Serves at http://localhost:4000. The --watch flag enables auto-regeneration on file changes. Note: _config.yml changes require a restart.

Known Build Notes


Project Layout

Root Files

| File | Purpose | |β€”β€”|β€”β€”β€”| | _config.yml | Main Jekyll configuration: site title, URL, description, author info, analytics, navbar, collections, plugins | | CNAME | Custom domain (ajoydas.com) | | Gemfile | Ruby dependencies (github-pages gem) | | README.md | Project overview, development guide, and content management instructions | | robots.txt | SEO: allows all crawlers, points to sitemap |

Key Directories

Directory Purpose
_posts/ Blog posts in YYYY-MM-DD-slug.md format. Front matter: title, tags, style, color, description
_projects/ Project cards with (NN) Name.md naming. Front matter: name, type (professional/hobby/coursework), tools, image, description, external_url
_data/ YAML data files: timeline.yml (work experience), social-media.yml (social icons), photos.yml (photography gallery data)
_includes/ Liquid partials: navbar.html, head.html (SEO meta tags, JSON-LD schema), footer.html, scripts.html (GLightbox, gallery toggle JS), landing.html (homepage), about/timeline.html, about/skills.html, projects/index.html, blog/post-card.html
_layouts/ default.html (main layout), page.html (content pages)
_sass/ SCSS stylesheets including portfolYOU.scss, _variables.scss, _blog.scss, _timeline.scss, etc.
pages/ Top-level pages: about.md, blog.html, skills.md, certifications.md, activities.md, research.md, photography.md, index.md
pages/projects/ Project listing pages by type: professional.md, hobby.md, coursework.md
scripts/ process-photos.sh β€” image processing script for the photography page
assets/css/ style.scss β€” main stylesheet that imports theme and custom styles (blog cards, photography gallery, show-more pagination)
assets/js/ theme.js β€” light/dark mode toggle
assets/img/ Images organized by: posts/, projects/, certifications/, photography/ (with converted/, thumbs/, and source directories)

Content Conventions

Blog Posts (_posts/):

---
title: "Post Title"
tags: [tag1, tag2]
style: border
color: primary  # primary|success|info|warning|danger|secondary
description:
---

Projects (_projects/):

---
name: Project Name
type: professional  # professional|hobby|coursework
tools: [Tool1, Tool2]
image: ../assets/img/projects/image.png
description: Description text (HTML supported)
external_url: https://example.com
---

Pages (pages/):

Photography (_data/photos.yml):

The navbar is generated dynamically from pages sorted by weight. Projects have a dropdown menu (Professional, Coursework, Hobby) hardcoded in _includes/navbar.html. The AGENTS.md file is excluded from the navbar via nav_exclude in _config.yml.


SEO & Social Sharing


Custom Overrides from Remote Theme

These files override the remote theme’s defaults:

File What it overrides
_includes/landing.html Homepage layout β€” larger name/title, certification badges, quick-link buttons
_includes/head.html Adds JSON-LD schema, improved OG tags, Twitter cards, GLightbox CSS
_includes/scripts.html Adds GLightbox JS initialization and gallery toggle function
_includes/blog/post-card.html Blog card with cover image extraction from first <img> in post content
_includes/navbar.html Custom project dropdown navigation
assets/css/style.scss Blog card images, photography gallery grid, show-more pagination styling

Validation

After making changes:

  1. Run bundle exec jekyll build and verify it completes without errors
  2. Run bundle exec jekyll serve --watch and check the page at http://localhost:4000
  3. Verify new blog posts appear on the /blog/ page
  4. Verify new projects appear on the correct project listing page
  5. Check that the navbar displays all expected pages
  6. For photography changes: verify photo count, show-more buttons, and lightbox functionality
  7. For SEO changes: check _site/sitemap.xml and inspect <head> for OG/JSON-LD tags

There is no CI/CD pipeline configured. The site is deployed automatically by GitHub Pages from the default branch. There are no linters, test suites, or pre-commit hooks.


Important Notes

</div> ` β€” this is now a local override in _includes/landing.html (not the remote theme version).

Trust these instructions. Only perform exploratory searches if the information above is incomplete or found to be incorrect.