This repository is configured for GitHub Pages using Jekyll, TypeScript, TailwindCSS, and GitHub Actions.
-
Enable GitHub Pages:
- Go to repository Settings → Pages
- Source: GitHub Actions
- The site will auto-deploy on push to main/master
-
Local Development:
# Install dependencies npm install bundle install # Build and serve npm run dev
├── _config.yml # Jekyll configuration
├── _layouts/ # Jekyll layouts
│ └── default.html # Default page layout
├── _typescript/ # TypeScript source files
│ ├── main.ts # Main application logic
│ └── charts.ts # Chart utilities
├── assets/
│ ├── css/
│ │ ├── input.css # TailwindCSS input
│ │ └── main.css # Compiled CSS (generated)
│ └── js/
│ ├── main.js # Compiled JS (generated)
│ └── charts.js # Compiled charts (generated)
├── .github/workflows/
│ ├── pages.yml # GitHub Pages deployment
│ └── ci.yml # CI workflow
├── index.md # Homepage (Markdown)
├── package.json # Node.js dependencies
├── Gemfile # Ruby/Jekyll dependencies
├── tsconfig.json # TypeScript configuration
├── tailwind.config.js # TailwindCSS configuration
└── postcss.config.js # PostCSS configuration
- Jekyll 4.3 - Static site generator
- TypeScript 5.3 - Type-safe JavaScript
- TailwindCSS 3.3 - Utility-first CSS
- GitHub Actions - CI/CD automation
- Node.js 20 - JavaScript runtime
- Ruby 3.1 - Jekyll runtime
- TypeScript → JavaScript (
_typescript/→assets/js/) - TailwindCSS → CSS (
assets/css/input.css→assets/css/main.css) - Jekyll → Static HTML (
*.md,_layouts/→_site/)
- Triggers on push to main/master
- Builds TypeScript
- Builds TailwindCSS
- Builds Jekyll site
- Deploys to GitHub Pages
- Runs on push/PR
- Tests TypeScript compilation
- Tests CSS build
- Validates builds
Edit _config.yml:
title: Your Title
author: Your Name
url: https://yourusername.github.io
baseurl: /repository-nameCreate .md files in root or _pages/ directory with front matter:
---
layout: default
title: Page Title
---Edit assets/css/input.css and run npm run build:css
Add files to _typescript/ and import in main.ts
The site automatically deploys when you push to the main branch. Check Actions tab for build status.
- Build fails: Check GitHub Actions logs
- Styles not loading: Run
npm run build:css - JS not working: Run
npm run build:ts - Jekyll errors: Check
_config.ymlsyntax