Directory Tree
Core Directories
assets/
Contains all static resources including images, scripts, and potentially styles. Organized into
image/ and scripts/ subdirectories for clean separation of concerns.old/
Legacy version of the website including the blog system. Contains previous iterations of about, contact, and index pages with their own styling.
policies/
Legal and privacy documentation including cookies policy and privacy policy pages.
.github/workflows/
GitHub Actions automation workflows for deployment, Docker builds, and automated copyright updates.
Key Files
Root-Level HTML Pages
index.html
index.html
The main homepage featuring:
- Tailwind CSS for styling
- Font Awesome icons
- Google Analytics and Tag Manager integration
- Open Graph and Twitter Card metadata
- Random quote rotator
- Responsive design with mobile-first approach
~/workspace/source/index.html404.html
404.html
Custom error page displayed when users navigate to non-existent URLs. Maintains site branding and provides navigation back to main pages.Located at:
~/workspace/source/404.htmlaccessibility.html
accessibility.html
Dedicated accessibility statement page documenting the site’s commitment to web accessibility standards and compliance.Located at:
~/workspace/source/accessibility.htmlJavaScript Files
functions.js
Core utility functions including the
addLoadEvent() helper that ensures multiple JavaScript functions can safely execute on page load.Path: assets/scripts/functions.jsquotes.js
Powers the random quote feature with 185+ quotes from movies, games, and pop culture. Includes automatic rotation on page load and manual refresh capability.Path:
assets/scripts/quotes.jsConfiguration Files
robots.txt: Search engine crawler directives controlling which pages are indexeddist/_headers: CORS headers configuration for GitHub Pages deploymentLICENSE: MIT License file for the repository
Asset Organization
Images
Theassets/image/ directory contains:
- Logo/: Site branding including the Phoenix logo (
Phoenix.jpg) - favicon/: Multiple favicon sizes for different devices and contexts
favicon.ico(legacy)favicon-16x16.pngfavicon-32x32.png- Additional sizes for mobile and high-DPI displays
Scripts
All JavaScript is organized inassets/scripts/:
The website uses a combination of inline scripts (for analytics) and external JavaScript files (for features). This approach balances performance with maintainability.
Blog System Structure
The legacy blog system in theold/blog/ directory uses a dynamic approach:
- Markdown Storage: Blog posts stored as
.mdfiles inold/blog/posts/ - GitHub API: Fetches post list from repository via GitHub API
- Client-Side Rendering: Showdown.js converts Markdown to HTML in the browser
- Dynamic Loading: Posts load without page refresh using async JavaScript
Deployment Structure
Thedist/ directory contains deployment configuration:
Version Control
The.github/workflows/ directory contains three automated workflows:
- deploy.yml: Handles deployment to GitHub Pages
- docker.yaml: Docker containerization workflow
- update-copyright.yml: Automated annual copyright year updates
