Theme architecture
The SkillForge site keeps VitePress as the platform and customizes it selectively.
Theme entry
docs/.vitepress/theme/index.tsextends the default VitePress theme- Nav CTA and footer are injected through VitePress layout slots
- Page-level marketplace surfaces are implemented as Vue components
Style system
The design system is split into focused CSS files:
styles/vars.cssfor tokens and VitePress variable mappingstyles/typography.cssfor type hierarchy and global text rulesstyles/animations.cssfor restrained motionstyles/components.cssfor layout, nav, hero, footer, and page primitivesstyles/cards.cssfor the marketplace card system
Data model
docs/.vitepress/generated/skillforge-catalog.jsonis the generated catalog sourcedocs/.vitepress/theme/lib/catalog.tsprovides helper functions for URLs, filtering, sorting, category colors, and verified stats
Core components
LandingPage.vuepowers the homepageSkillsCatalogPage.vuepowers the searchable catalogSkillDetailPage.vuepowers generated skill pagesDiscoverPage.vue,ContributePage.vue,CommunityPage.vue, andSupportPage.vuepower the new marketplace routes- Shared primitives like
HeroSection.vue,SkillCard.vue,TrustBar.vue, andSupportCTA.vuekeep the system reusable
Maintainability notes
- The skill content pipeline remains file-based and GitHub-native
- The site still builds as static output for GitHub Pages
- No extra frontend runtime dependencies were added for the redesign