Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
7c3cf1e
Redesign homepage with hero section, card layouts, and clean table
nickcannon Feb 8, 2026
0af9183
Add zebra striping to platform table and rename PySide
nickcannon Feb 8, 2026
468ad27
Increase zebra stripe contrast in platform table
nickcannon Feb 8, 2026
4b416b1
Soften zebra stripe contrast in platform table
nickcannon Feb 8, 2026
eeefe78
Use relative_url filter for all internal links to fix staging subpath…
nickcannon Feb 8, 2026
9224649
Add URL query parameter support for compare page
nickcannon Feb 8, 2026
3bb4e42
Add favicon and web app icons via RealFaviconGenerator
nickcannon Feb 9, 2026
31408bd
Add external link icons to footer and logo/favicon source images
nickcannon Feb 9, 2026
8f05450
Replace inline SVG logos with optimized logo image and increase sizes
nickcannon Feb 9, 2026
e7d16c7
Fix footer icon sizing and add envelope icon to contact email
nickcannon Feb 9, 2026
4b19fe9
Add white fill to Join Discussion button and center Useful Links last…
nickcannon Feb 9, 2026
8e5ce09
Improve visual hierarchy of platform table rows
nickcannon Feb 9, 2026
8bfdf25
Apply platform-table-wrapper styling to compare page table
nickcannon Feb 9, 2026
6ecc055
Highlight changed versions in platform table instead of current year …
nickcannon Feb 9, 2026
2eb00ee
Add History link to navbar between Home and Compare
nickcannon Feb 9, 2026
dfb90cc
Show all years on History page and deep-link from home page
nickcannon Feb 9, 2026
f3bc3a5
Restyle View Earlier Platforms link to match Previous status updates
nickcannon Feb 9, 2026
c0c5986
Redesign Platform History page to match home page styling
nickcannon Feb 9, 2026
fe01aae
Redesign Compare page with hero section and delete compare layout
nickcannon Feb 9, 2026
277d1d0
Redesign Linux, FAQ, and About pages with hero sections
nickcannon Feb 9, 2026
9c8cec0
Removed Contact page
nickcannon Feb 9, 2026
ff8966b
Add interactive filter buttons to Compare page
nickcannon Feb 11, 2026
dd974f4
Add component detail pages with version history across all platform y…
nickcannon Feb 11, 2026
09a36d3
Simplify component detail table: remove Status column and narrow width
nickcannon Feb 11, 2026
7fe3358
Add ASWF Slack channel link to footer contact section
nickcannon Feb 11, 2026
654e86f
Add subtle column borders to platform table
nickcannon Feb 11, 2026
2603beb
Add collapsible category sections to platform table
nickcannon Feb 11, 2026
e4068ae
Fixed up the logo
nickcannon Feb 11, 2026
37c8130
Add draft platform year support with DRAFT badge and smart year counting
nickcannon Feb 11, 2026
0d4c6a9
Removed CY2027 test
nickcannon Feb 12, 2026
e5cc2b1
Change version-changed highlight from blue text to amber background
nickcannon Feb 12, 2026
e4c4990
Clean up codebase for production: remove dead code, fix consistency
nickcannon Feb 12, 2026
b9d088f
Update CLAUDE.md to reflect current codebase
nickcannon Feb 12, 2026
1e73565
Fix design consistency and update footer layout
nickcannon Feb 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .claudeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
34 changes: 34 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Dependencies
node_modules/
vendor/

# Build output
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata

# Environment
.env
.bundle/

# IDE
.idea/
.vscode/
*.swp
*.swo

# OS
.DS_Store
Thumbs.db

# Logs
*.log
npm-debug.log*

# Temporary files
*.tmp
*.bak

# Archived reference
v1-reference/
2 changes: 1 addition & 1 deletion 404.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ <h2 class="text-2xl font-semibold mb-4">Page Not Found</h2>
<p class="text-gray-600 dark:text-gray-300 mb-8">
The page you're looking for doesn't exist or has been moved.
</p>
<a href="/" class="inline-block px-6 py-3 bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-900 rounded-lg hover:bg-gray-700 dark:hover:bg-gray-300 transition-colors">
<a href="{{ '/' | relative_url }}" class="inline-block px-6 py-3 bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-900 rounded-lg hover:bg-gray-700 dark:hover:bg-gray-300 transition-colors">
Return Home
</a>
</div>
93 changes: 93 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Project Overview

VFX Reference Platform - a Jekyll-based static site documenting reference platform specifications for VFX/animation software. Hosted with Github Pages and published to https://vfxplatform.com.

**Stack:** Jekyll 4.3 (Ruby), Tailwind CSS 3.4, PostCSS, vanilla JS

## Documentation

The README.md file contains a friendly guide on how to administer the site aimed at the site adminitration team. It should be updated as features are added or changed so that it always accurately reflects up to date instructions on how to update the site content.

## Development Commands

```bash
# Install dependencies
npm install && bundle install

# Development (CSS watch + Jekyll livereload on localhost:4000)
npm run dev

# Production build
npm run build

# Individual commands
npm run build:css # One-time Tailwind build
npm run watch:css # Watch mode for CSS
bundle exec jekyll serve --livereload
```

## Architecture

**Data-driven content:** Platform specs live in YAML files, not code. Most updates are data edits.

```
_data/
├── platforms/CY20XX.yml # Version specs per year (CY2014-CY2026)
├── components.yml # Component metadata and categories
├── faq.yml # FAQ Q&A content
├── footer.yml # Footer content (description, resources, contact)
├── navigation.yml # Main navigation menu
├── notes.yml # Technical footnotes
├── status_updates.yml # Status updates shown on homepage
└── useful_links.yml # Useful links section on homepage
```

**Key config in `_config.yml`:**
- `current_year: 2026` - Active platform year
- `supported_years_count: 4` - Total number of years shown in tables, except on pages where all platform history is shown.

**Layouts:**
- `_layouts/default.html` - Base page layout (centered content container)
- `_layouts/home.html` - Full-width layout used by pages with hero sections

**Key templates and assets:**
- `_includes/platform-table.html` - Main specs table component
- `assets/css/main.css` - Tailwind directives + custom components
- `assets/js/year-comparison.js` - Compare page logic
- `assets/js/component-detail.js` - Component detail page
- `assets/js/table-collapse.js` - Collapsible table categories
- `assets/js/note-popover.js` - Note tooltip/bottom sheet
- `assets/js/dark-mode.js` - Dark mode toggle persistence

## Common Tasks

**Add new platform year:** Create `_data/platforms/CY[YEAR].yml` following existing schema. Tables auto-render it.

**Update component versions:** Edit `_data/platforms/CY[YEAR].yml` - no code changes needed.

**Add FAQ entry:** Append to `_data/faq.yml`

**Add technical note:** Add to `_data/notes.yml`, reference with `note:` key in platform data

**Update footer content:** Edit `_data/footer.yml`

**Update status updates:** Edit `_data/status_updates.yml`

**Update useful links:** Edit `_data/useful_links.yml`

## Platform Data Schema

Each `_data/platforms/CY[YEAR].yml` contains:
- `year`, `status`, `last_updated`
- `linux`: gcc/glibc versions with `min_max: true` flag
- `macos`: deployment_target with optional `note:` reference
- `windows`: visual_studio, sdk versions
- `components`: python, qt, pyqt, pyside, numpy, imath, openexr, ptex, opensubdiv, openvdb, alembic, fbx, opencolorio, aces, boost, onetbb, onemkl, cpp_standard

## Deployment

Push to main branch triggers GitHub Actions (`.github/workflows/deploy.yml`) which builds and deploys to GitHub Pages automatically. A separate `.github/workflows/deploy-staging.yml` workflow deploys the staging branch for preview.
23 changes: 20 additions & 3 deletions FAQ/index.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
layout: default
layout: home
title: Frequently Asked Questions
description: "VFX Reference Platform - Frequently Asked Questions"
---
Expand All @@ -23,6 +23,23 @@
}
</script>

<h2 class="text-2xl font-semibold mb-8">Frequently Asked Questions</h2>
<!-- Hero Section -->
<section class="bg-gray-50 dark:bg-gray-800/50 border-b border-gray-200 dark:border-gray-700">
<div class="container mx-auto px-4 max-w-6xl">
<div class="py-12 md:py-16">
<div class="max-w-3xl mx-auto text-center">
<h1 class="text-4xl md:text-5xl font-bold tracking-tight mb-4">
Frequently Asked Questions
</h1>
<p class="text-lg text-gray-600 dark:text-gray-300 leading-relaxed">
Common questions about the VFX Reference Platform and how it works.
</p>
</div>
</div>
</div>
</section>

{% include faq-accordion.html %}
<!-- FAQ Content -->
<section class="container mx-auto px-4 max-w-6xl py-12">
{% include faq-accordion.html %}
</section>
64 changes: 60 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ This repo hosts the VFX Reference Platform web site hosted at https://vfxplatfor
- [Updating Component Versions](#updating-component-versions)
- [Adding/Editing Notes (Footnotes)](#addingediting-notes-footnotes)
- [Adding FAQ Entries](#adding-faq-entries)
- [Editing Homepage Content](#editing-homepage-content)
- [Editing Footer Content](#editing-footer-content)
- [Modifying Navigation](#modifying-navigation)
5. [Deployment](#deployment)
- [Staging](#staging)
Expand Down Expand Up @@ -81,13 +83,17 @@ _data/
│ └── CY2026.yml
├── components.yml # Component metadata and categories
├── faq.yml # FAQ questions and answers
├── footer.yml # Footer content (description, resources, contact)
├── navigation.yml # Main navigation menu links
├── notes.yml # Technical footnotes referenced from platform data
└── status_updates.yml # Status updates shown on the homepage
├── status_updates.yml # Status updates shown on the homepage
└── useful_links.yml # Useful links shown as cards on the homepage
```

**Key point:** You rarely need to touch HTML templates. Almost all routine updates involve editing these YAML files.

**Interactive features:** The platform table supports collapsible category sections — users can click any category header (Linux, macOS, Windows, Components) to collapse/expand its rows. Collapsed state is remembered across visits via localStorage.

---

## Common Tasks
Expand Down Expand Up @@ -275,6 +281,55 @@ questions:

---

### Editing Homepage Content

The homepage uses a dedicated `home` layout (different from other pages) that allows full-width sections like the hero. Content is structured into sections:

1. **Hero section** — Title, subtitle, and call-to-action buttons. The hero text is configured in `_config.yml` under the `hero:` key:
```yaml
hero:
subtitle: "A standardized set of tool and library versions..."
cta_primary_text: "View Latest Platform"
cta_primary_url: "#reference-platform"
cta_secondary_text: "Join Discussion"
cta_secondary_url: "https://groups.google.com/g/vfx-platform-discuss"
```

2. **Current Status** — Shows the latest 4 status updates as cards (data from `_data/status_updates.yml`)

3. **Reference Platform** — The main version specs table (data from `_data/platforms/`)

4. **Support Guidance** — Two cards describing support window and best practices

5. **Useful Links** — Card grid driven by `_data/useful_links.yml`:
```yaml
- title: "Link Title"
url: "https://example.com"
description: "Brief description of the link."
icon: "chart" # Options: chart, python, container, grid, matrix
```

### Editing Footer Content

**File:** `_data/footer.yml`

The footer displays across all pages with three columns: about, resources, and contact.

```yaml
description: "Site description text..."

resources:
- title: "Discussion Group"
url: "https://groups.google.com/g/vfx-platform-discuss"
- title: "Academy Software Foundation"
url: "https://www.aswf.io/"

contact_email: "feedback@vfxplatform.com"
collaboration_text: "Updated annually in collaboration with..."
```

---

### Modifying Navigation

**File:** `_data/navigation.yml`
Expand All @@ -285,6 +340,8 @@ The main navigation menu is a simple list:
main:
- title: Home
url: /
- title: History
url: /platform_history.html
- title: Compare
url: /compare.html
- title: Linux
Expand All @@ -293,8 +350,6 @@ main:
url: /FAQ/
- title: About
url: /about/
- title: Contact
url: /contact/
```

Add, remove, or reorder items as needed. URLs can be:
Expand Down Expand Up @@ -488,10 +543,11 @@ current_year: 2026
supported_years_count: 4
```

Other settings (rarely need changing):
Other settings:
- `title`: Site title
- `description`: Site description for SEO
- `url`: Production site URL
- `hero`: Homepage hero section text and CTA buttons (subtitle, button labels, URLs)

**Important:** After changing `_config.yml`, you must restart the local Jekyll server to see changes.

Expand Down
8 changes: 8 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,14 @@ plugins:
author:
name: VFX Reference Platform Working Group

# Hero section
hero:
subtitle: "The VFX Reference Platform defines a set of tool and library versions to establish a consistent build target for software providers. Its purpose is to minimise incompatibilities between different software packages, ease the support burden for integrated pipelines and encourage further adoption of Linux."
cta_primary_text: "View Latest Platform"
cta_primary_url: "#reference-platform"
cta_secondary_text: "Join Discussion"
cta_secondary_url: "https://groups.google.com/g/vfx-platform-discuss"

# Analytics
cloudflare_analytics: 75ac194cb08e4271aa16a0649ac38734

Expand Down
12 changes: 12 additions & 0 deletions _data/footer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: "A standardized set of tool and library versions to minimize incompatibilities between software packages in the VFX industry."

resources:
- title: "Discussion Group"
url: "https://groups.google.com/g/vfx-platform-discuss"
- title: "Academy Software Foundation"
url: "https://www.aswf.io/"
- title: "VFXpy Tracker"
url: "https://vfxpy.com/"

contact_email: "feedback@vfxplatform.com"
collaboration_text: "Updated annually in collaboration with the <a href='https://vesglobal.org/technology-committee-activities/' class='text-blue-400 hover:text-blue-300 hover:underline'>Visual Effects Society Technology Committee</a>."
4 changes: 2 additions & 2 deletions _data/navigation.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
main:
- title: Home
url: /
- title: History
url: /platform_history.html
- title: Compare
url: /compare.html
- title: Linux
Expand All @@ -9,5 +11,3 @@ main:
url: /FAQ/
- title: About
url: /about/
- title: Contact
url: /contact/
24 changes: 24 additions & 0 deletions _data/useful_links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
- title: "2021 Studio Platform Survey Report"
url: "https://bit.ly/VRP21Rep"
description: "Results from the 2021 survey of VFX studio platform configurations and requirements."
icon: "chart"

- title: "VFXpy Python 3 Compatibility Tracker"
url: "https://vfxpy.com/"
description: "Track Python 3 compatibility for common VFX and animation software packages."
icon: "python"

- title: "ASWF Docker Containers"
url: "https://github.com/AcademySoftwareFoundation/aswf-docker"
description: "Ready-to-build containers implementing VFX Reference Platform compliant build environments."
icon: "container"

- title: "DCC Tool Version Compatibility"
url: "https://docs.google.com/spreadsheets/d/1-8VdfspUBpkYJzfKKovI-H2bZeb5Wn3cuNPsq_Ho3S8/edit?usp=sharing"
description: "Track major digital content creation tool version compatibility with each platform year."
icon: "grid"

- title: "VFX Industry Build Matrix"
url: "https://docs.google.com/spreadsheets/d/1EwRlz5ZYObEOdBfIk8iTX5thlpTyEAfp3bxOgAfFOiU/edit?usp=sharing"
description: "Cross-reference of build configurations used across the VFX industry."
icon: "matrix"
2 changes: 1 addition & 1 deletion _includes/dark-mode-toggle.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<button
id="dark-mode-toggle"
type="button"
class="p-2 rounded-lg text-gray-400 hover:text-white focus:outline-none focus:ring-2 focus:ring-gray-600 transition-colors"
class="p-2 rounded-lg text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white focus:outline-none focus:ring-2 focus:ring-gray-300 dark:focus:ring-gray-600 transition-colors"
aria-label="Toggle dark mode"
>
<svg id="dark-mode-icon" class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
Expand Down
10 changes: 0 additions & 10 deletions _includes/faq-accordion.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,3 @@
</div>
{% endfor %}
</div>

<style>
.accordion-item.open .accordion-chevron {
transform: rotate(180deg);
}
.accordion-item.open .accordion-header {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
</style>
Loading