My personal website. If you're here, this is just a project I made way back when so I can easily showcase my work. This README is mostly for me.
- Static Site Generator: Eleventy (11ty)
- Template Engine: Nunjucks (.njk files)
- Styling: Custom CSS
- Language: TypeScript for utility scripts
- Build Process: TypeScript compilation + Eleventy + custom post-build script
├── pages/ # Source templates (.njk files)
│ ├── index.njk # Homepage
│ ├── about.njk # About page
│ ├── resume.njk # Resume page
│ └── projects/ # Project pages
├── _includes/ # Reusable template components
├── _images/ # Static images and assets
├── _videos/ # Video files
├── style/ # CSS stylesheets
├── scripts/ # TypeScript utility scripts
├── _site/ # Generated build output (auto-created)
└── _resume/ # Resume PDF files
- Node.js (version 14 or higher)
- npm (comes with Node.js)
-
Clone the repository:
git clone https://github.com/cbanigan/cbanigan.github.io.git cd cbanigan.github.io -
Install dependencies:
npm install
Run the development server with live reloading:
npm run devThis will:
- Compile TypeScript files
- Start Eleventy in serve mode with watch functionality
- Serve the site at
http://localhost:8080(default Eleventy port)
Build the static site for deployment:
npm run buildThis will:
- Compile TypeScript files
- Run Eleventy to generate static HTML
- Execute the post-build script to rename extensionless files to
.html
The built site will be available in the _site/ directory.
npm run serve- Start development server without watch modenpm run compile-ts- Compile TypeScript files onlynpm run postbuild- Run the post-build file renaming script
- Homepage: Introduction and overview
- About: Detailed background, experience, and personal information
- Projects: Showcase of personal projects
- Resume: Full resume page with a link to the PDF version
- Responsive Design: Mobile-friendly layout with custom CSS animations
This site is configured for deployment to GitHub Pages. The built files in _site/ can be deployed directly to any static hosting service.
This project is licensed under the MIT License.