How rama-l7/portfolio works
Project Loom is a static portfolio platform: a theme-specific build combines shared portfolio data, section templates, CSS, tokens, and browser behavior into a standalone site. The principal workflow is build-time composition followed by visitor navigation through the rendered portfolio. The tree and sampled build code support the composition flow; browser interactions are sampled only in part, so uncertain module wiring is omitted.
Main entry points: build.js Build orchestrator · inject-theme.js Token resolver · js Shared browser modules · data.json Portfolio data
Components 18
Build and rendering
- Build orchestrator
platform/lib/build.js - Template renderer
platform/lib/inject-data.js - Sitemap generator
platform/lib/generate-sitemap.js - Generated portfolio
- Generated sitemap
Portfolio content
- Portfolio data
platform/data.json - Portfolio sections
platform/components - Document shell
platform/components/head.html
Themes and styling
- Core tokens
platform/tokens/core.json - Theme configuration
themes/premium/theme.json - Theme assets
themes/premium - Token resolver
platform/lib/inject-theme.js - Shared styles
platform/css - Section styles
platform/sections
Browser experience
- Shared browser modules
platform/js - Runtime token loader
platform/js/theme-loader.js
Other components
- Portfolio maintainer
- Portfolio visitor
Connections 22
- Portfolio maintainer → Portfolio data: edits content
- Portfolio maintainer → Theme configuration: selects theme
- Build orchestrator → Portfolio data: reads
- Build orchestrator → Theme configuration: reads
- Build orchestrator → Core tokens: reads
- Build orchestrator → Token resolver: calls
- Token resolver → Core tokens: merges tokens
- Token resolver → Theme configuration: reads overrides
- Build orchestrator → Portfolio sections: reads
- Build orchestrator → Template renderer: calls
- Template renderer → Portfolio data: resolves placeholders
- Build orchestrator → Document shell: renders shell
- Build orchestrator → Shared styles: assembles styles
- Build orchestrator → Section styles: assembles styles
- Build orchestrator → Theme assets: loads theme assets
- Build orchestrator → Shared browser modules: embeds scripts
- Build orchestrator → Generated portfolio: writes site
- Portfolio visitor → Generated portfolio: visits
- Generated portfolio → Shared browser modules: runs browser code
- Shared browser modules → Runtime token loader: includes loader
- Sitemap generator → Generated portfolio: scans output
- Sitemap generator → Generated sitemap: writes sitemap