Overview
The project follows a simple, flat structure optimized for GitHub Pages deployment with minimal dependencies and maximum performance.Root Files
Core HTML
index.html - Main landing page with personal introductionStyling
styles.css - Global styles with CSS custom properties and font declarationsAssets
logo.svg - Brand logo displayed in the header (12x12px black geometric shape)Configuration Files
- CNAME
- robots.txt
- package.json
Custom domain configuration for GitHub Pages:
Directory Structure
/fonts/
Local font files for Host Grotesk typeface:- HostGrotesk-Regular.woff2 / .woff - Regular weight
- HostGrotesk-Medium.woff2 / .woff - Medium weight
- HostGrotesk-MediumItalic.woff2 / .woff - Medium italic
/links/
Subpage for curated link collection: links/index.html - Organized link directory with categories/post-db/convex/
Convex backend integration for future blog functionality: posts.ts - Database mutation for creating posts/node_modules/
Installed npm dependencies (not committed to git):- motion - Animation library (v12.34.0)
- @paper-design/shaders-react - Shader components (v0.0.71)
- framer-motion - Dependency of motion
- tslib - TypeScript runtime library
Dependencies
Direct Dependencies
@paper-design/shaders-react (v0.0.71)
@paper-design/shaders-react (v0.0.71)
React components for WebGL shader effects. Provides visual effects and graphics capabilities.Usage: Currently installed but not actively used in the HTML pages. Likely for future React integration.
motion (v12.34.0)
motion (v12.34.0)
Modern animation library for web applications. Lightweight alternative to Framer Motion.Usage: Currently installed but not actively used in the static HTML. Reserved for interactive features.
Git Configuration
.gitignore - Files excluded from version control:File Organization Principles
Flat Structure
The project uses a flat directory structure with minimal nesting:- Root-level HTML files for direct GitHub Pages routing
- Separate directories only for logical groupings (fonts, links, post-db)
- No build process or bundling required
Static-First
The site prioritizes static HTML/CSS over JavaScript:- Zero JavaScript in main index.html (except Status.cafe widget)
- CSS handles all styling without preprocessors
- External CDN resources loaded via
deferattribute
Asset Organization
- Local Assets
- External Assets
- Fonts: Self-hosted in
/fonts/directory - Logo: Root-level SVG for fast loading
- Styles: Single global CSS file
Convention Standards
- File naming: Lowercase with hyphens (kebab-case)
- HTML: Semantic tags, minimal inline styles
- CSS: Root variables for theming, mobile-first approach
- SVG: Inline or referenced, optimized paths
Repository Pattern
The site uses a username.github.io repository pattern:- Repository name:
rdotsvg.github.io - Automatically deploys from
mainbranch - Custom domain configured via CNAME file
- No GitHub Actions workflow needed (native Pages support)