Record of a failed website [IT IS OKAY TO FAIL]
Initial Assessment and Path Forward
Problem Identified: Theme was cloned instead of properly installed as a gem, creating a “Frankenstein” setup.
Decision Made: Clean up current repo and install the awesome-jekyll-theme as a gem following the “Advanced Installation” method from the theme’s README.
Rationale:
- Keep existing AWS S3/CloudFront/Decap CMS integration
- Avoid unnecessary GitHub Pages files and settings
- Maintain full control over deployment pipeline
- Proper gem-based installation for cleaner maintenance
Planned Approach:
- Clean up current repo (remove old theme files, keep content and config)
- Install theme as a gem (update
Gemfile
and _config.yml
)
- Test locally in WSL environment
- Deploy to S3 as usual
Summary of Changes Made
Infrastructure Changes
- Migrated from “Frankenstein” theme installation to proper gem-based setup
- Restructured repository from
site/
subfolder to root-level organization
- Updated deployment workflow to build from repository root
Configuration Updates
- Gemfile: Added
awesome-jekyll-theme
gem, removed conflicting themes
- _config.yml: Set proper theme configuration and site metadata
- admin/config.yml: Updated all folder paths to match new structure
- .gitattributes: Enforced LF line endings for Markdown files
Content Migration and Creation
- Converted all
.markdown
files to .md
for CMS consistency
- Created missing page files (
blog.md
, projects.md
)
- Enhanced homepage with proper front matter and personalized content
- Fixed image paths from relative to absolute for cross-page compatibility
Theme Customizations
- Strategic file copying: Only copied theme files that needed customization
- String localization: Fixed missing theme string keys
- Contact channels: Removed unwanted GitHub icons
- Footer: Removed attribution text, added personalized content
Bug Fixes
- Line endings issue: Identified and resolved CRLF/LF problem affecting excerpt display
- Path inconsistencies: Fixed all file and folder references
- CMS integration: Aligned DecapCMS configuration with new structure
Files Modified
Root Level
Gemfile
- Added theme gem
_config.yml
- Theme and site configuration
.gitattributes
- Line ending enforcement
index.md
- Homepage enhancement
blog.md
- Created new
projects.md
- Created new
Admin/CMS
admin/config.yml
- Updated all folder paths
Theme Customizations
_data/en/strings.yml
- Fixed missing localization strings
_includes/contact_channels.html
- Removed GitHub section
_includes/footer.html
- Removed attribution, added personalization
Content
- All
.markdown
→ .md
conversions
- Multiple project files with line ending fixes