Skip to content

feat(website): add multilingual commercial site for OSS + Fab UMG offerings#21

Closed
winyunq with Copilot wants to merge 13 commits into
mainfrom
copilot/website
Closed

feat(website): add multilingual commercial site for OSS + Fab UMG offerings#21
winyunq with Copilot wants to merge 13 commits into
mainfrom
copilot/website

Conversation

Copilot AI commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

Adds a production-ready static website to the copilot/website branch promoting both the open-source GitHub plugin and the commercial Fab version, with full Chinese/English multilingual support deployable via GitHub Pages.

Pages (9 HTML)

  • index.html — Hero with particle field, typing carousel, stats bar, OSS vs Commercial comparison preview, YouTube demo embeds
  • commercial.html — "No Python. No Setup. Just Talk." positioning; inline SVG multi-agent architecture diagram; FAQ accordion
  • open-source.html — Full 40+ API catalog across 5 categories; SVG system architecture diagram
  • features.html — 18-row OSS vs Commercial comparison table; widget API capability matrix
  • architecture.html — Annotated SVG system diagrams with animated stroke-dashoffset flow lines
  • workflow.html — Animated workflow loop SVG; 6 use-case scenarios with real prompt examples
  • roadmap.html — 4-phase vertical timeline: Released → In Progress → Planned → Vision
  • getting-started.html — Tabbed guide (OSS 8-step / Commercial 6-step); troubleshooting FAQ
  • contact.html — GitHub / Fab / Discussions cards

Assets

  • assets/css/main.css — Dark tech theme (#0a0a0f, purple/blue/cyan), CSS custom properties, responsive, Firefox + WebKit scrollbar, 30+ animation classes
  • assets/js/main.js — Vanilla JS only: i18n loader, nav/footer injection, IntersectionObserver reveals, counter animations, SVG stroke animations, typing carousel, particle field, FAQ accordion, tab switching
  • assets/i18n/{en,zh}.json — 151 keys each, full parity; data-i18n="key"textContent (no innerHTML, XSS-safe); language persisted to localStorage, auto-detected from navigator.language

Path safety

getBase() uses the browser's URL API for double-normalized same-origin path extraction — no manual .. string matching:

const url = new URL(s.src);                          // normalizes %2e%2e etc.
const base = path.slice(0, path.length - suffix.length);
const normalized = new URL(base || '.', location.origin + '/').pathname;
if (/^[/a-zA-Z0-9_.-]*$/.test(normalized) && !normalized.includes('..')) return normalized;

GitHub Pages deployment

Settings → Pages → Branch: website, Folder: / (root)https://winyunq.github.io/UnrealMotionGraphicsMCP/

Full deployment instructions in README-website.md.

Original prompt

Create a comprehensive multilingual commercial website for the repository, deployed from a new website branch in winyunq/UnrealMotionGraphicsMCP, with rich content that promotes both the open-source and commercial Fab versions.

Context

  • Target repo: winyunq/UnrealMotionGraphicsMCP
  • Preferred branch for website deployment: website
  • User wants direct operation in the open-source repo if possible.
  • Fab listing URL to feature prominently: https://www.fab.com/zh-cn/listings/f70dbcb0-11e4-46bf-b3f7-9f30ba2c9b71
  • Product positioning details provided by user:
    • Focused entirely on UE5 UMG.
    • Commercial Fab version does not depend on Python.
    • Commercial version has multi-agent capabilities.
    • Goal UX: UE5 UI designers can directly converse with the system and use it with minimal/no technical barrier.
  • User explicitly asks for multilingual support, highly detailed and rich website, with technical roadmap, multiple pages, process diagrams, and animations.

Goals

  1. Create and push a production-ready static website to a new branch named website.
  2. Make website content highly detailed, rich, and marketing-quality while technically credible.
  3. Support multilingual content (at least Chinese + English).
  4. Promote both:
    • Open-source UnrealMotionGraphicsMCP
    • Commercial Fab version
  5. Highlight key differentiators:
    • UMG-first specialization
    • Fab version no Python dependency
    • Multi-agent architecture in Fab version
    • Low-barrier conversational workflow for UE5 UI creators
  6. Include multiple pages with clear navigation and deep technical content.
  7. Include process diagrams and animated sections (CSS/SVG/JS-based) suitable for GitHub Pages static hosting.
  8. Include deployment guidance for GitHub Pages from website branch.

Deliverables

Implement a complete static website structure in the repository, including but not limited to:

  • index.html (landing page)
  • open-source.html
  • commercial.html
  • features.html
  • architecture.html
  • workflow.html
  • roadmap.html
  • docs.html or getting-started.html
  • contact.html (optional but preferred)
  • Language switch mechanism (e.g., i18n JSON files + JS, or mirrored pages under /en and /zh)
  • Shared assets:
    • assets/css/*
    • assets/js/*
    • assets/img/*
    • Optional assets/i18n/*
  • README for website deployment:
    • website/README.md or root-level section documenting deployment from website branch to GitHub Pages.

Content Requirements

  • Strong hero messaging and CTA buttons:
    • View open-source repo/docs
    • Visit Fab listing / buy commercial version
  • Explicit comparison section/table:
    • Open-source vs Fab (capabilities, target users, integration depth, Python dependency, multi-agent support, support level, etc.)
  • Technical roadmap section with phased milestones.
  • Architecture explanation emphasizing UMG-centric design.
  • Workflow/process diagrams for:
    • Conversational UI design flow
    • Multi-agent task orchestration (commercial)
    • UMG generation/integration pipeline
  • Animation demo sections (lightweight web animations):
    • Step progression animations
    • Card reveal / timeline motion
    • Optional SVG flow animation for architecture/workflow
  • Include clear multilingual copy in both Chinese and English for core pages.

Design/UX Requirements

  • Modern “commercial product” visual style.
  • Responsive layout (desktop/tablet/mobile).
  • Consistent header/footer navigation across pages.
  • Accessible color contrast and readable typography.
  • Fast loading static assets suitable for GitHub Pages.

SEO & Metadata

  • Per-page title and meta description.
  • Open Graph/Twitter card basics.
  • Canonical/internal linking hygiene.

Technical Constraints

  • Must work as static site on GitHub Pages (no server runtime required).
  • Avoid dependencies requiring build tooling unless already present and easy to run.
  • If using JS libraries, prefer minimal and CDN-safe options or pure JS/CSS.

Git Operations

  • Create branch website from main.
  • Commit all required website files.
  • Push website branch to winyunq/UnrealMotionGraphicsMCP.
  • Open a PR from website to main with a concise summary of what was built and how to deploy.

PR Expectations

PR title suggestion: feat(website): add multilingual commercial site for OSS + Fab UMG offerings

PR description should include:

  • What pages were added
  • How multilingual support works
  • Key messaging for OSS vs commercial versions
  • Diagram/animation implementation approach
  • GitHub Pages deployment instructions
  • Any assumptions/placeholders for media assets/screenshots

The following is the prior conversation context from the user's chat exploration (may be truncated):

User: 我想为我的开源仓库,和fab仓库,做一个"商业网站",我需要一个website的分支用于发布此网页。

https://www.fab.com/zh-cn/listings/f70dbcb0-11e4-46bf-b3f7-9f30ba2c9b71

https://github.com/winyunq/UnrealMotionGraphicsMCP

如果你能直接在https://github.com/winyunq/UnrealMotionGraphicsMCP上操作是最好的...

This pull request was created from Copilot chat.

Copilot AI and others added 4 commits April 9, 2026 19:03
Creates a complete 9-page dark-tech website for the UMG MCP project:

Pages:
- index.html: Hero landing page with particles, typing animation, stats, feature cards, comparison table, demo videos, CTA
- open-source.html: OSS version page with SVG architecture diagram, full API reference, setup guide
- commercial.html: Commercial page with multi-agent SVG diagram, feature showcase, FAQ accordion
- features.html: Feature grid + comprehensive comparison table + capability matrix
- architecture.html: Detailed SVG architecture diagrams (OSS + commercial multi-agent), data flow steps
- workflow.html: Animated workflow diagram, 6 real use case examples, tips
- roadmap.html: Animated timeline with 4 phases (Released/In-Progress/Planned/Vision)
- getting-started.html: Tabbed setup guide (OSS + Commercial) with code blocks, troubleshooting FAQ
- contact.html: Contact cards (GitHub, Fab, Discussions) + quick links

Assets:
- assets/css/main.css: Dark tech theme, responsive, CSS animations, particles, SVG flows, timeline, tabs, FAQ, glow cards
- assets/js/main.js: JSON-based i18n (EN/ZH), nav/footer rendering, scroll reveal, counters, typing animation, FAQ, tabs
- assets/i18n/en.json: Complete English translations (70+ keys)
- assets/i18n/zh.json: Complete Chinese (Simplified) translations (70+ keys)
- README-website.md: Deployment guide for local/GitHub Pages

Features:
- Bilingual EN/ZH with localStorage persistence and browser detection
- No build tools, no JS frameworks — pure vanilla HTML/CSS/JS
- GitHub Pages ready (relative paths throughout)
- Fully responsive (mobile/tablet/desktop)
- Animated SVG diagrams: OSS architecture, multi-agent architecture, workflow loop
- All 14 files verified: nav/footer present, all i18n keys resolved in both JSON files

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: winyunq <50171884+winyunq@users.noreply.github.com>
- Remove data-i18n-html handler to eliminate innerHTML XSS vector via translation content (CodeQL js/xss-through-dom)
- Sanitize getBase() and getBasePath() URL extraction: validate same-origin, strip unsafe characters from pathname before it flows into innerHTML templates (CodeQL js/xss-through-dom)
- Fix misleading 'Required (Fab Version)' stat label to 'Python Not Required (Fab)' to accurately reflect zero Python dependency (en.json, zh.json, index.html)
- Chinese translation updated: '无需 Python(商业版)' for clarity

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: winyunq <50171884+winyunq@users.noreply.github.com>
Replace character-allow-list regex with explicit pattern matching that removes the known 'assets/js/main.js' suffix before validation, and adds an explicit check that the resulting path contains no '..' traversal sequences.

Both getBase() and getBasePath() now apply the same defense-in-depth approach:
1. Same-origin check via URL API
2. Exact known-suffix removal
3. Allowlist character regex + traversal rejection

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: winyunq <50171884+winyunq@users.noreply.github.com>
…security, fix scrollbar and CSS variables

Agent-Logs-Url: https://github.com/winyunq/UnrealMotionGraphicsMCP/sessions/2c92f4fb-7bb1-42ed-ab95-2e3aab84738a

Co-authored-by: winyunq <50171884+winyunq@users.noreply.github.com>
Copilot AI changed the title [WIP] Create multilingual commercial website for UnrealMotionGraphicsMCP feat(website): add multilingual commercial site for OSS + Fab UMG offerings Apr 9, 2026
Copilot AI requested a review from winyunq April 9, 2026 19:15
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.

2 participants