Skip to content

Add cloud-projects-index static site generator (#3)#4

Merged
mzazon merged 2 commits intofeature/index-sitefrom
main
Dec 6, 2025
Merged

Add cloud-projects-index static site generator (#3)#4
mzazon merged 2 commits intofeature/index-sitefrom
main

Conversation

@mzazon
Copy link
Copy Markdown
Owner

@mzazon mzazon commented Dec 6, 2025

  • Integrate static site generator into .publish/ directory
  • Add parse_awesome_cloud.py to parse README.md to projects.json
  • Add build_site.py to generate static site from JSON data
  • Add init_learning_paths.py to create curated learning paths
  • Add GitHub workflows for README generation and site deployment
  • Create 8 initial learning paths with 25+ projects
  • Update .gitignore for generated files
  • Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350) with 6 color themes, search, filters, and learning path features.

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.
@mzazon mzazon merged commit be0816e into feature/index-site Dec 6, 2025
mzazon added a commit that referenced this pull request Dec 6, 2025
* Add cloud-projects-index static site generator (#3) (#4)

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.

* Fix workflow: Force add projects.json despite gitignore

Use git add -f to force add projects.json even though it's in .gitignore.
This allows the workflow to commit the generated file to the repository.

* Add cloud-projects-index static site generator (#5)

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.
mzazon added a commit that referenced this pull request Dec 6, 2025
* Add cloud-projects-index static site generator (#3) (#4)

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.

* Fix workflow: Force add projects.json despite gitignore

Use git add -f to force add projects.json even though it's in .gitignore.
This allows the workflow to commit the generated file to the repository.

* Add cloud-projects-index static site generator (#5)

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.

* Fix parser and UI issues, add list view

Parser fixes:
- Skip navigation links (URLs starting with #)
- Skip 'Back to Top' and similar navigation items
- Correctly filters out 2 invalid entries (1110 projects instead of 1112)

UI fixes:
- Add CSS for .all-projects-container to properly hide/show views
- Fix learning paths and favorites views not displaying correctly
- Views now properly toggle between all projects, learning paths, and favorites

New features:
- Add grid/list view toggle with SVG icons
- Implement list view with horizontal card layout
- Add view mode switcher CSS and JavaScript
- List view shows compact project information

Documentation:
- Add LOCAL_DEVELOPMENT.md with complete local testing guide
- Include troubleshooting tips and common tasks
- Document file structure and development workflow

* Move Star History Chart to bottom in README template

- Preserve manual README.md changes in template
- Move chart from line 24 to before footer (line 176)
- Ensure future README generation maintains user changes
mzazon added a commit that referenced this pull request Dec 6, 2025
* Add cloud-projects-index static site generator (#3) (#4)

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.

* Fix workflow: Force add projects.json despite gitignore

Use git add -f to force add projects.json even though it's in .gitignore.
This allows the workflow to commit the generated file to the repository.

* Add cloud-projects-index static site generator (#5)

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.

* Fix parser and UI issues, add list view

Parser fixes:
- Skip navigation links (URLs starting with #)
- Skip 'Back to Top' and similar navigation items
- Correctly filters out 2 invalid entries (1110 projects instead of 1112)

UI fixes:
- Add CSS for .all-projects-container to properly hide/show views
- Fix learning paths and favorites views not displaying correctly
- Views now properly toggle between all projects, learning paths, and favorites

New features:
- Add grid/list view toggle with SVG icons
- Implement list view with horizontal card layout
- Add view mode switcher CSS and JavaScript
- List view shows compact project information

Documentation:
- Add LOCAL_DEVELOPMENT.md with complete local testing guide
- Include troubleshooting tips and common tasks
- Document file structure and development workflow

* Move Star History Chart to bottom in README template

- Preserve manual README.md changes in template
- Move chart from line 24 to before footer (line 176)
- Ensure future README generation maintains user changes

* Improve list view and learning paths UI

List View Changes:
- Make cards much more compact (reduce padding from 1rem to 0.625rem)
- Hide descriptions to save vertical space
- Show services inline with ellipsis for overflow
- Reduce badge sizes (0.65rem) and spacing (0.5rem gaps)
- Set project title width to 40% for consistent layout
- Disable hover transform to reduce movement
- Smaller favorite button (28px)

Learning Paths Changes:
- Reduce overall card padding (1.5rem -> 1.25rem)
- Smaller title font (1.25rem -> 1.1rem)
- Tighter spacing in project list (0.75rem -> 0.5rem gaps)
- Smaller project items (padding 0.75rem -> 0.5rem)
- Smaller order badges (28px -> 24px) with accent color
- Reduce font sizes for more compact display
- Add subtle slide animation on hover
- Smaller complete buttons

Result: Much more content visible on screen in both views

* Add independent scrolling for sidebar and content

Layout Changes:
- Set main container to fixed viewport height (calc(100vh - 120px))
- Prevent main container from scrolling (overflow: hidden)
- Make sidebar independently scrollable with overflow-y: auto
- Make content area independently scrollable with overflow-y: auto
- Both scroll areas fill 100% of container height

Scrollbar Styling:
- Custom styled scrollbars for both sidebar and content
- Sidebar: 6px width, subtle styling
- Content: 8px width, slightly more prominent
- Theme-aware colors using CSS variables
- Smooth hover effects

Mobile:
- Maintain auto height and visible overflow on mobile
- Ensures mobile scrolling works naturally

Result: Filters stay visible while scrolling projects, and vice versa

* Redesign learning paths with responsive grid layout

Design Improvements:
- Grid layout for project cards (responsive: 280px min, auto-fill)
- Uses horizontal space efficiently on desktop
- Single column on mobile (< 768px) for easy scrolling
- Larger, more readable learning path headers
- Visual progress bar with gradient fill

Project Card Design:
- Compact vertical card layout
- Order badge + provider/difficulty badges at top
- Project title with 2-line clamp
- Full-width "Mark Complete" button
- Completed cards get green tint background
- Hover effects: lift up, show shadow

Visual Polish:
- Better spacing and padding throughout
- Cleaner typography hierarchy
- Flex-wrap on meta stats for better responsiveness
- Proper line heights for readability

Result: Professional, space-efficient design that works great on
both desktop and mobile while maintaining all functionality

* Add GitHub repository link to header

- Add "View on GitHub" link with GitHub icon
- Positioned between nav buttons and theme switcher
- Subtle styling that matches overall design
- Hover effects: lift, brighter colors, border highlight
- Mobile responsive: text hides on small screens, icon only
- Opens in new tab with proper security (rel="noopener")
- Uses official GitHub logo SVG

Result: Clean, customary GitHub Pages style link

* Fix learning paths and favorites to use full width

- Add width: 100% to learning-paths-container.active
- Add width: 100% to favorites-container.active
- Add width: 100% to #learning-paths-list
- Add width: 100% to #favorites-grid

This ensures both views take up the full horizontal space in the
content area, allowing the grid layout to properly display multiple
columns on wide screens instead of being constrained to a narrow column

* Fix critical layout bug: learning paths and favorites now use full width

ROOT CAUSE:
When switching to Learning Paths or Favorites views, the sidebar was
hidden with display:none, but the main-container grid still had
grid-template-columns: 280px 1fr, reserving 280px for the hidden sidebar.
This caused content to appear in a narrow column instead of full width.

FIX:
- Modified switchView() to dynamically adjust main-container grid
- When view is 'all': grid-template-columns restored to default (280px 1fr)
- When view is 'paths' or 'favorites': grid-template-columns set to 1fr
- This allows content to use full available width when sidebar is hidden

ADDITIONAL IMPROVEMENTS:
- Added responsive grid to #learning-paths-list with auto-fit
- Used minmax(min(100%, 400px), 1fr) for flexible column sizing
- Added explicit width: 100% to all container elements
- Improved grid layout for both desktop and mobile

Result: Learning paths and favorites now properly utilize horizontal
space with multi-column card layouts on wide screens
mzazon added a commit that referenced this pull request Dec 6, 2025
* Add cloud-projects-index static site generator (#3) (#4)

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.

* Fix workflow: Force add projects.json despite gitignore

Use git add -f to force add projects.json even though it's in .gitignore.
This allows the workflow to commit the generated file to the repository.

* Add cloud-projects-index static site generator (#5)

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.

* Fix parser and UI issues, add list view

Parser fixes:
- Skip navigation links (URLs starting with #)
- Skip 'Back to Top' and similar navigation items
- Correctly filters out 2 invalid entries (1110 projects instead of 1112)

UI fixes:
- Add CSS for .all-projects-container to properly hide/show views
- Fix learning paths and favorites views not displaying correctly
- Views now properly toggle between all projects, learning paths, and favorites

New features:
- Add grid/list view toggle with SVG icons
- Implement list view with horizontal card layout
- Add view mode switcher CSS and JavaScript
- List view shows compact project information

Documentation:
- Add LOCAL_DEVELOPMENT.md with complete local testing guide
- Include troubleshooting tips and common tasks
- Document file structure and development workflow

* Move Star History Chart to bottom in README template

- Preserve manual README.md changes in template
- Move chart from line 24 to before footer (line 176)
- Ensure future README generation maintains user changes

* Improve list view and learning paths UI

List View Changes:
- Make cards much more compact (reduce padding from 1rem to 0.625rem)
- Hide descriptions to save vertical space
- Show services inline with ellipsis for overflow
- Reduce badge sizes (0.65rem) and spacing (0.5rem gaps)
- Set project title width to 40% for consistent layout
- Disable hover transform to reduce movement
- Smaller favorite button (28px)

Learning Paths Changes:
- Reduce overall card padding (1.5rem -> 1.25rem)
- Smaller title font (1.25rem -> 1.1rem)
- Tighter spacing in project list (0.75rem -> 0.5rem gaps)
- Smaller project items (padding 0.75rem -> 0.5rem)
- Smaller order badges (28px -> 24px) with accent color
- Reduce font sizes for more compact display
- Add subtle slide animation on hover
- Smaller complete buttons

Result: Much more content visible on screen in both views

* Add independent scrolling for sidebar and content

Layout Changes:
- Set main container to fixed viewport height (calc(100vh - 120px))
- Prevent main container from scrolling (overflow: hidden)
- Make sidebar independently scrollable with overflow-y: auto
- Make content area independently scrollable with overflow-y: auto
- Both scroll areas fill 100% of container height

Scrollbar Styling:
- Custom styled scrollbars for both sidebar and content
- Sidebar: 6px width, subtle styling
- Content: 8px width, slightly more prominent
- Theme-aware colors using CSS variables
- Smooth hover effects

Mobile:
- Maintain auto height and visible overflow on mobile
- Ensures mobile scrolling works naturally

Result: Filters stay visible while scrolling projects, and vice versa

* Redesign learning paths with responsive grid layout

Design Improvements:
- Grid layout for project cards (responsive: 280px min, auto-fill)
- Uses horizontal space efficiently on desktop
- Single column on mobile (< 768px) for easy scrolling
- Larger, more readable learning path headers
- Visual progress bar with gradient fill

Project Card Design:
- Compact vertical card layout
- Order badge + provider/difficulty badges at top
- Project title with 2-line clamp
- Full-width "Mark Complete" button
- Completed cards get green tint background
- Hover effects: lift up, show shadow

Visual Polish:
- Better spacing and padding throughout
- Cleaner typography hierarchy
- Flex-wrap on meta stats for better responsiveness
- Proper line heights for readability

Result: Professional, space-efficient design that works great on
both desktop and mobile while maintaining all functionality

* Add GitHub repository link to header

- Add "View on GitHub" link with GitHub icon
- Positioned between nav buttons and theme switcher
- Subtle styling that matches overall design
- Hover effects: lift, brighter colors, border highlight
- Mobile responsive: text hides on small screens, icon only
- Opens in new tab with proper security (rel="noopener")
- Uses official GitHub logo SVG

Result: Clean, customary GitHub Pages style link

* Fix learning paths and favorites to use full width

- Add width: 100% to learning-paths-container.active
- Add width: 100% to favorites-container.active
- Add width: 100% to #learning-paths-list
- Add width: 100% to #favorites-grid

This ensures both views take up the full horizontal space in the
content area, allowing the grid layout to properly display multiple
columns on wide screens instead of being constrained to a narrow column

* Fix critical layout bug: learning paths and favorites now use full width

ROOT CAUSE:
When switching to Learning Paths or Favorites views, the sidebar was
hidden with display:none, but the main-container grid still had
grid-template-columns: 280px 1fr, reserving 280px for the hidden sidebar.
This caused content to appear in a narrow column instead of full width.

FIX:
- Modified switchView() to dynamically adjust main-container grid
- When view is 'all': grid-template-columns restored to default (280px 1fr)
- When view is 'paths' or 'favorites': grid-template-columns set to 1fr
- This allows content to use full available width when sidebar is hidden

ADDITIONAL IMPROVEMENTS:
- Added responsive grid to #learning-paths-list with auto-fit
- Used minmax(min(100%, 400px), 1fr) for flexible column sizing
- Added explicit width: 100% to all container elements
- Improved grid layout for both desktop and mobile

Result: Learning paths and favorites now properly utilize horizontal
space with multi-column card layouts on wide screens

* Add 3 new light themes, set GitHub Light as default, and fix footer URL

Changes:
- Added 3 new light themes: GitHub Light, Atom Light, Gruvbox Light
- Changed default theme from Midnight (dark) to GitHub Light
- Reorganized theme selector to show light themes first
- Fixed footer GitHub URL from placeholder to actual repo
- Total themes: 9 (4 light, 5 dark)

Theme additions:
1. GitHub Light - Clean, crisp white theme inspired by GitHub
2. Atom Light - Soft minimal light theme with subtle grays
3. Gruvbox Light - Warm retro light theme with cream tones

The light theme preference provides better accessibility and
matches modern design trends. Users can still select any of
the 5 dark themes from the theme switcher.

Note: Local build is correct. The "Back to Top" issue reported
on the live site is due to GitHub Pages serving an old cached
version. This push will trigger a new deployment to fix it.
mzazon added a commit that referenced this pull request Dec 7, 2025
* Add cloud-projects-index static site generator (#3) (#4)

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.

* Fix workflow: Force add projects.json despite gitignore

Use git add -f to force add projects.json even though it's in .gitignore.
This allows the workflow to commit the generated file to the repository.

* Add cloud-projects-index static site generator (#5)

- Integrate static site generator into .publish/ directory
- Add parse_awesome_cloud.py to parse README.md to projects.json
- Add build_site.py to generate static site from JSON data
- Add init_learning_paths.py to create curated learning paths
- Add GitHub workflows for README generation and site deployment
- Create 8 initial learning paths with 25+ projects
- Update .gitignore for generated files
- Maintain backward compatibility with existing .publish/ scripts

The site successfully parses 1,112 projects across AWS (492), Azure (268), and GCP (350)
with 6 color themes, search, filters, and learning path features.

* Fix parser and UI issues, add list view

Parser fixes:
- Skip navigation links (URLs starting with #)
- Skip 'Back to Top' and similar navigation items
- Correctly filters out 2 invalid entries (1110 projects instead of 1112)

UI fixes:
- Add CSS for .all-projects-container to properly hide/show views
- Fix learning paths and favorites views not displaying correctly
- Views now properly toggle between all projects, learning paths, and favorites

New features:
- Add grid/list view toggle with SVG icons
- Implement list view with horizontal card layout
- Add view mode switcher CSS and JavaScript
- List view shows compact project information

Documentation:
- Add LOCAL_DEVELOPMENT.md with complete local testing guide
- Include troubleshooting tips and common tasks
- Document file structure and development workflow

* Move Star History Chart to bottom in README template

- Preserve manual README.md changes in template
- Move chart from line 24 to before footer (line 176)
- Ensure future README generation maintains user changes

* Improve list view and learning paths UI

List View Changes:
- Make cards much more compact (reduce padding from 1rem to 0.625rem)
- Hide descriptions to save vertical space
- Show services inline with ellipsis for overflow
- Reduce badge sizes (0.65rem) and spacing (0.5rem gaps)
- Set project title width to 40% for consistent layout
- Disable hover transform to reduce movement
- Smaller favorite button (28px)

Learning Paths Changes:
- Reduce overall card padding (1.5rem -> 1.25rem)
- Smaller title font (1.25rem -> 1.1rem)
- Tighter spacing in project list (0.75rem -> 0.5rem gaps)
- Smaller project items (padding 0.75rem -> 0.5rem)
- Smaller order badges (28px -> 24px) with accent color
- Reduce font sizes for more compact display
- Add subtle slide animation on hover
- Smaller complete buttons

Result: Much more content visible on screen in both views

* Add independent scrolling for sidebar and content

Layout Changes:
- Set main container to fixed viewport height (calc(100vh - 120px))
- Prevent main container from scrolling (overflow: hidden)
- Make sidebar independently scrollable with overflow-y: auto
- Make content area independently scrollable with overflow-y: auto
- Both scroll areas fill 100% of container height

Scrollbar Styling:
- Custom styled scrollbars for both sidebar and content
- Sidebar: 6px width, subtle styling
- Content: 8px width, slightly more prominent
- Theme-aware colors using CSS variables
- Smooth hover effects

Mobile:
- Maintain auto height and visible overflow on mobile
- Ensures mobile scrolling works naturally

Result: Filters stay visible while scrolling projects, and vice versa

* Redesign learning paths with responsive grid layout

Design Improvements:
- Grid layout for project cards (responsive: 280px min, auto-fill)
- Uses horizontal space efficiently on desktop
- Single column on mobile (< 768px) for easy scrolling
- Larger, more readable learning path headers
- Visual progress bar with gradient fill

Project Card Design:
- Compact vertical card layout
- Order badge + provider/difficulty badges at top
- Project title with 2-line clamp
- Full-width "Mark Complete" button
- Completed cards get green tint background
- Hover effects: lift up, show shadow

Visual Polish:
- Better spacing and padding throughout
- Cleaner typography hierarchy
- Flex-wrap on meta stats for better responsiveness
- Proper line heights for readability

Result: Professional, space-efficient design that works great on
both desktop and mobile while maintaining all functionality

* Add GitHub repository link to header

- Add "View on GitHub" link with GitHub icon
- Positioned between nav buttons and theme switcher
- Subtle styling that matches overall design
- Hover effects: lift, brighter colors, border highlight
- Mobile responsive: text hides on small screens, icon only
- Opens in new tab with proper security (rel="noopener")
- Uses official GitHub logo SVG

Result: Clean, customary GitHub Pages style link

* Fix learning paths and favorites to use full width

- Add width: 100% to learning-paths-container.active
- Add width: 100% to favorites-container.active
- Add width: 100% to #learning-paths-list
- Add width: 100% to #favorites-grid

This ensures both views take up the full horizontal space in the
content area, allowing the grid layout to properly display multiple
columns on wide screens instead of being constrained to a narrow column

* Fix critical layout bug: learning paths and favorites now use full width

ROOT CAUSE:
When switching to Learning Paths or Favorites views, the sidebar was
hidden with display:none, but the main-container grid still had
grid-template-columns: 280px 1fr, reserving 280px for the hidden sidebar.
This caused content to appear in a narrow column instead of full width.

FIX:
- Modified switchView() to dynamically adjust main-container grid
- When view is 'all': grid-template-columns restored to default (280px 1fr)
- When view is 'paths' or 'favorites': grid-template-columns set to 1fr
- This allows content to use full available width when sidebar is hidden

ADDITIONAL IMPROVEMENTS:
- Added responsive grid to #learning-paths-list with auto-fit
- Used minmax(min(100%, 400px), 1fr) for flexible column sizing
- Added explicit width: 100% to all container elements
- Improved grid layout for both desktop and mobile

Result: Learning paths and favorites now properly utilize horizontal
space with multi-column card layouts on wide screens

* Add 3 new light themes, set GitHub Light as default, and fix footer URL

Changes:
- Added 3 new light themes: GitHub Light, Atom Light, Gruvbox Light
- Changed default theme from Midnight (dark) to GitHub Light
- Reorganized theme selector to show light themes first
- Fixed footer GitHub URL from placeholder to actual repo
- Total themes: 9 (4 light, 5 dark)

Theme additions:
1. GitHub Light - Clean, crisp white theme inspired by GitHub
2. Atom Light - Soft minimal light theme with subtle grays
3. Gruvbox Light - Warm retro light theme with cream tones

The light theme preference provides better accessibility and
matches modern design trends. Users can still select any of
the 5 dark themes from the theme switcher.

Note: Local build is correct. The "Back to Top" issue reported
on the live site is due to GitHub Pages serving an old cached
version. This push will trigger a new deployment to fix it.

* Fix GitHub Pages deployment: commit projects.json to repo

Root cause analysis:
- The live GitHub Pages site was showing "Back to Top" and "Compute & Infrastructure" as projects
- These items exist in README.md but should be filtered by the parser
- projects.json was in .gitignore, so GitHub Actions couldn't use the correct parsed data
- This caused the live site to either regenerate with bugs or use cached old data

Solution:
- Removed projects.json from .gitignore
- Committed the correctly parsed projects.json (1110 projects, no erroneous entries)
- Updated .gitignore with explanatory comment

The parser correctly filters:
1. Links with URLs starting with # (navigation/TOC links)
2. Items containing "back to top" in the name
3. Items starting with ⬆ emoji

Verification:
- Local projects.json: 1110 projects, starts with "Advanced API Gateway..."
- No "Back to Top" or category headers in the data
- All projects have valid URLs, categories, and metadata

This commit ensures GitHub Pages builds use the correct data.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant