Skip to content

Commit 7bd1ead

Browse files
[docs] Migrate opencue.io documentation into main OpenCue repo with Jekyll, GitHub Pages, modern UI, dark mode, and tutorial enhancements (#1784)
Migrated all documentation from the [opencue.io](https://www.opencue.io/) [repository](https://github.com/AcademySoftwareFoundation/opencue.io) into a new `/docs` directory in the main OpenCue codebase. Rebuilt the site using Jekyll with the [Just the Docs](https://github.com/just-the-docs/just-the-docs) theme improved and adapted and enabled automated deployment via GitHub Actions. Linked Issue: - #1667 --- Documentation infrastructure: - Jekyll-based site with structured content and custom OpenCue branding - GitHub Actions workflow for GitHub Pages deployment - [Lunr.js](https://lunrjs.com/) search with live highlighting and excerpts Search features: - Real-time search results as you type - Indexed content across all pages - Keyboard shortcut support: `Ctrl+K` (Windows/Linux) or `⌘+K` (Mac) Content migration: - Converted all docs from [opencue.io](https://www.opencue.io/) - Adapted Hugo shortcodes and YAML front matter to Jekyll - Organized navigation into clear, categorized sections - Added new tutorials and a Windows quick start guide New tutorials: - **Getting started with OpenCue:** Core concepts and basic job submission - **Submitting your first Opencue job:** PyOutline scripting and CueSubmit usage - **Using CueGUI for job monitoring:** Interface walkthrough and controls - **Managing jobs and frames:** Advanced workflows and troubleshooting - **Creating multi-layer jobs:** Dependencies and complex pipelines - **DCC integration:** Setup for Maya, Blender, Nuke, and Houdini Each tutorial includes: - Practical code examples based on real OpenCue components - Best practices from the codebase - Troubleshooting guidance - Progressive learning flow - Cross-references between topics Dark Mode & Theme toggle support: - Added dark theme with improved contrast and readability via `_sass/color_schemes` - Theme toggle button (moon / sun) added to `aux-nav.html` - Created a theme toggle navigation link above the "Home" link for toggling between light and dark modes - Theme preference saved via `localStorage` and respects system settings - Script injected in `header_custom.html` to prevent white flash on load - Enhanced auxiliary nav layout for consistent light/dark UI - Smooth transitions and ARIA-compliant accessibility --- The new documentation site features a responsive, modern design with improved navigation, dark mode support, versioning capabilities, and comprehensive tutorials for both new and experienced users. To view the original contributors to the [opencue.io](https://www.opencue.io/) documentation (Feb 7, 2019 – Feb 6, 2025), see: https://github.com/AcademySoftwareFoundation/opencue.io/graphs/contributors
1 parent ec350d1 commit 7bd1ead

File tree

169 files changed

+13072
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

169 files changed

+13072
-0
lines changed

.github/workflows/docs.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
paths:
9+
- 'docs/**'
10+
- '.github/workflows/docs.yml'
11+
pull_request:
12+
paths:
13+
- 'docs/**'
14+
- '.github/workflows/docs.yml'
15+
workflow_dispatch:
16+
17+
permissions:
18+
contents: read
19+
pages: write
20+
id-token: write
21+
22+
concurrency:
23+
group: "pages"
24+
cancel-in-progress: false
25+
26+
jobs:
27+
# Build job
28+
build:
29+
runs-on: ubuntu-latest
30+
steps:
31+
- name: Checkout
32+
uses: actions/checkout@v4
33+
with:
34+
fetch-depth: 0 # Fetch all history for versioning
35+
36+
- name: Setup Ruby
37+
uses: ruby/setup-ruby@v1
38+
with:
39+
ruby-version: '3.2'
40+
bundler-cache: true
41+
working-directory: ./docs
42+
43+
- name: Setup Pages
44+
id: pages
45+
uses: actions/configure-pages@v4
46+
if: github.event_name != 'pull_request'
47+
48+
- name: Build with Jekyll
49+
working-directory: ./docs
50+
run: |
51+
if [ "${{ github.event_name }}" = "pull_request" ]; then
52+
bundle exec jekyll build --baseurl "/OpenCue"
53+
else
54+
bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
55+
fi
56+
env:
57+
JEKYLL_ENV: production
58+
59+
- name: Upload artifact
60+
uses: actions/upload-pages-artifact@v3
61+
if: github.event_name != 'pull_request'
62+
with:
63+
path: ./docs/_site
64+
65+
# Deployment job
66+
deploy:
67+
environment:
68+
name: github-pages
69+
url: ${{ steps.deployment.outputs.page_url }}
70+
runs-on: ubuntu-latest
71+
needs: build
72+
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main'
73+
steps:
74+
- name: Deploy to GitHub Pages
75+
id: deployment
76+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,4 @@ cuebot/.project
2727
/pycue/opencue/compiled_proto/
2828
/rqd/rqd/compiled_proto/
2929
docker-compose-local.yml
30+
docs/_site/

docs/404.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
layout: default
3+
title: 404 - Page not found
4+
permalink: /404.html
5+
nav_exclude: true
6+
search_exclude: true
7+
---
8+
9+
# 404 - Page not found
10+
{: .fs-9 }
11+
12+
Sorry, we couldn't find the page you're looking for.
13+
{: .fs-6 .fw-300 }
14+
15+
The page you requested might have been moved, removed, or does not exist. Please check the URL or use the navigation menu to find what you're looking for.
16+
17+
[Go to homepage]({{ site.baseurl }}/){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 }
18+
[View all docs]({{ site.baseurl }}/docs/){: .btn .fs-5 .mb-4 .mb-md-0 }
19+
20+
---
21+
22+
## Popular Pages
23+
24+
You might be looking for one of these popular pages:
25+
26+
- [OpenCue Overview]({{ site.baseurl }}/docs/concepts/opencue-overview/)
27+
- [Quick Start for Linux]({{ site.baseurl }}/docs/quick-starts/quick-start-linux/)
28+
- [Quick Start for macOS]({{ site.baseurl }}/docs/quick-starts/quick-start-mac/)
29+
- [Quick Start for Windows]({{ site.baseurl }}/docs/quick-starts/quick-start-windows/)
30+
31+
## Need Help?
32+
33+
If you can't find what you're looking for:
34+
35+
- Check out our [documentation index]({{ site.baseurl }}/docs/)
36+
- Search for content using the search bar above
37+
- [Report an issue](https://github.com/AcademySoftwareFoundation/OpenCue/issues) on GitHub
38+
- Join the [Opencue Slack channel](https://academysoftwarefdn.slack.com/archives/CMFPXV39Q).

docs/Gemfile

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
source "https://rubygems.org"
2+
3+
gem "jekyll", "~> 4.3"
4+
gem "just-the-docs", "~> 0.7.0"
5+
gem "jekyll-seo-tag", "~> 2.8"
6+
gem "jekyll-github-metadata", "~> 2.16"
7+
gem "jekyll-include-cache", "~> 0.2"
8+
gem "jekyll-sitemap", "~> 1.4"
9+
10+
# GitHub Pages plugins
11+
group :jekyll_plugins do
12+
gem "jekyll-feed", "~> 0.17"
13+
gem "jekyll-redirect-from", "~> 0.16"
14+
gem "jekyll-relative-links", "~> 0.6"
15+
gem "jekyll-optional-front-matter", "~> 0.3"
16+
gem "jekyll-titles-from-headings", "~> 0.5"
17+
end
18+
19+
# Development dependencies
20+
group :development do
21+
gem "webrick", "~> 1.8"
22+
gem "rake", "~> 13.0"
23+
end

docs/Gemfile.lock

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.8.7)
5+
public_suffix (>= 2.0.2, < 7.0)
6+
base64 (0.3.0)
7+
bigdecimal (3.2.2)
8+
colorator (1.1.0)
9+
concurrent-ruby (1.3.5)
10+
csv (3.3.5)
11+
em-websocket (0.5.3)
12+
eventmachine (>= 0.12.9)
13+
http_parser.rb (~> 0)
14+
eventmachine (1.2.7)
15+
faraday (2.13.4)
16+
faraday-net_http (>= 2.0, < 3.5)
17+
json
18+
logger
19+
faraday-net_http (3.4.1)
20+
net-http (>= 0.5.0)
21+
ffi (1.17.2)
22+
ffi (1.17.2-aarch64-linux-gnu)
23+
ffi (1.17.2-aarch64-linux-musl)
24+
ffi (1.17.2-arm-linux-gnu)
25+
ffi (1.17.2-arm-linux-musl)
26+
ffi (1.17.2-arm64-darwin)
27+
ffi (1.17.2-x86-linux-gnu)
28+
ffi (1.17.2-x86-linux-musl)
29+
ffi (1.17.2-x86_64-darwin)
30+
ffi (1.17.2-x86_64-linux-gnu)
31+
ffi (1.17.2-x86_64-linux-musl)
32+
forwardable-extended (2.6.0)
33+
google-protobuf (4.31.1)
34+
bigdecimal
35+
rake (>= 13)
36+
google-protobuf (4.31.1-aarch64-linux-gnu)
37+
bigdecimal
38+
rake (>= 13)
39+
google-protobuf (4.31.1-aarch64-linux-musl)
40+
bigdecimal
41+
rake (>= 13)
42+
google-protobuf (4.31.1-arm64-darwin)
43+
bigdecimal
44+
rake (>= 13)
45+
google-protobuf (4.31.1-x86-linux-gnu)
46+
bigdecimal
47+
rake (>= 13)
48+
google-protobuf (4.31.1-x86-linux-musl)
49+
bigdecimal
50+
rake (>= 13)
51+
google-protobuf (4.31.1-x86_64-darwin)
52+
bigdecimal
53+
rake (>= 13)
54+
google-protobuf (4.31.1-x86_64-linux-gnu)
55+
bigdecimal
56+
rake (>= 13)
57+
google-protobuf (4.31.1-x86_64-linux-musl)
58+
bigdecimal
59+
rake (>= 13)
60+
http_parser.rb (0.8.0)
61+
i18n (1.14.7)
62+
concurrent-ruby (~> 1.0)
63+
jekyll (4.4.1)
64+
addressable (~> 2.4)
65+
base64 (~> 0.2)
66+
colorator (~> 1.0)
67+
csv (~> 3.0)
68+
em-websocket (~> 0.5)
69+
i18n (~> 1.0)
70+
jekyll-sass-converter (>= 2.0, < 4.0)
71+
jekyll-watch (~> 2.0)
72+
json (~> 2.6)
73+
kramdown (~> 2.3, >= 2.3.1)
74+
kramdown-parser-gfm (~> 1.0)
75+
liquid (~> 4.0)
76+
mercenary (~> 0.3, >= 0.3.6)
77+
pathutil (~> 0.9)
78+
rouge (>= 3.0, < 5.0)
79+
safe_yaml (~> 1.0)
80+
terminal-table (>= 1.8, < 4.0)
81+
webrick (~> 1.7)
82+
jekyll-feed (0.17.0)
83+
jekyll (>= 3.7, < 5.0)
84+
jekyll-github-metadata (2.16.1)
85+
jekyll (>= 3.4, < 5.0)
86+
octokit (>= 4, < 7, != 4.4.0)
87+
jekyll-include-cache (0.2.1)
88+
jekyll (>= 3.7, < 5.0)
89+
jekyll-optional-front-matter (0.3.2)
90+
jekyll (>= 3.0, < 5.0)
91+
jekyll-redirect-from (0.16.0)
92+
jekyll (>= 3.3, < 5.0)
93+
jekyll-relative-links (0.7.0)
94+
jekyll (>= 3.3, < 5.0)
95+
jekyll-sass-converter (3.1.0)
96+
sass-embedded (~> 1.75)
97+
jekyll-seo-tag (2.8.0)
98+
jekyll (>= 3.8, < 5.0)
99+
jekyll-sitemap (1.4.0)
100+
jekyll (>= 3.7, < 5.0)
101+
jekyll-titles-from-headings (0.5.3)
102+
jekyll (>= 3.3, < 5.0)
103+
jekyll-watch (2.2.1)
104+
listen (~> 3.0)
105+
json (2.13.2)
106+
just-the-docs (0.7.0)
107+
jekyll (>= 3.8.5)
108+
jekyll-include-cache
109+
jekyll-seo-tag (>= 2.0)
110+
rake (>= 12.3.1)
111+
kramdown (2.5.1)
112+
rexml (>= 3.3.9)
113+
kramdown-parser-gfm (1.1.0)
114+
kramdown (~> 2.0)
115+
liquid (4.0.4)
116+
listen (3.9.0)
117+
rb-fsevent (~> 0.10, >= 0.10.3)
118+
rb-inotify (~> 0.9, >= 0.9.10)
119+
logger (1.7.0)
120+
mercenary (0.4.0)
121+
net-http (0.6.0)
122+
uri
123+
octokit (6.1.1)
124+
faraday (>= 1, < 3)
125+
sawyer (~> 0.9)
126+
pathutil (0.16.2)
127+
forwardable-extended (~> 2.6)
128+
public_suffix (6.0.2)
129+
rake (13.3.0)
130+
rb-fsevent (0.11.2)
131+
rb-inotify (0.11.1)
132+
ffi (~> 1.0)
133+
rexml (3.4.1)
134+
rouge (4.6.0)
135+
safe_yaml (1.0.5)
136+
sass-embedded (1.89.2)
137+
google-protobuf (~> 4.31)
138+
rake (>= 13)
139+
sass-embedded (1.89.2-aarch64-linux-android)
140+
google-protobuf (~> 4.31)
141+
sass-embedded (1.89.2-aarch64-linux-gnu)
142+
google-protobuf (~> 4.31)
143+
sass-embedded (1.89.2-aarch64-linux-musl)
144+
google-protobuf (~> 4.31)
145+
sass-embedded (1.89.2-arm-linux-androideabi)
146+
google-protobuf (~> 4.31)
147+
sass-embedded (1.89.2-arm-linux-gnueabihf)
148+
google-protobuf (~> 4.31)
149+
sass-embedded (1.89.2-arm-linux-musleabihf)
150+
google-protobuf (~> 4.31)
151+
sass-embedded (1.89.2-arm64-darwin)
152+
google-protobuf (~> 4.31)
153+
sass-embedded (1.89.2-riscv64-linux-android)
154+
google-protobuf (~> 4.31)
155+
sass-embedded (1.89.2-riscv64-linux-gnu)
156+
google-protobuf (~> 4.31)
157+
sass-embedded (1.89.2-riscv64-linux-musl)
158+
google-protobuf (~> 4.31)
159+
sass-embedded (1.89.2-x86_64-darwin)
160+
google-protobuf (~> 4.31)
161+
sass-embedded (1.89.2-x86_64-linux-android)
162+
google-protobuf (~> 4.31)
163+
sass-embedded (1.89.2-x86_64-linux-gnu)
164+
google-protobuf (~> 4.31)
165+
sass-embedded (1.89.2-x86_64-linux-musl)
166+
google-protobuf (~> 4.31)
167+
sawyer (0.9.2)
168+
addressable (>= 2.3.5)
169+
faraday (>= 0.17.3, < 3)
170+
terminal-table (3.0.2)
171+
unicode-display_width (>= 1.1.1, < 3)
172+
unicode-display_width (2.6.0)
173+
uri (1.0.3)
174+
webrick (1.9.1)
175+
176+
PLATFORMS
177+
aarch64-linux-android
178+
aarch64-linux-gnu
179+
aarch64-linux-musl
180+
arm-linux-androideabi
181+
arm-linux-gnu
182+
arm-linux-gnueabihf
183+
arm-linux-musl
184+
arm-linux-musleabihf
185+
arm64-darwin
186+
riscv64-linux-android
187+
riscv64-linux-gnu
188+
riscv64-linux-musl
189+
ruby
190+
x86-linux-gnu
191+
x86-linux-musl
192+
x86_64-darwin
193+
x86_64-linux-android
194+
x86_64-linux-gnu
195+
x86_64-linux-musl
196+
197+
DEPENDENCIES
198+
jekyll (~> 4.3)
199+
jekyll-feed (~> 0.17)
200+
jekyll-github-metadata (~> 2.16)
201+
jekyll-include-cache (~> 0.2)
202+
jekyll-optional-front-matter (~> 0.3)
203+
jekyll-redirect-from (~> 0.16)
204+
jekyll-relative-links (~> 0.6)
205+
jekyll-seo-tag (~> 2.8)
206+
jekyll-sitemap (~> 1.4)
207+
jekyll-titles-from-headings (~> 0.5)
208+
just-the-docs (~> 0.7.0)
209+
rake (~> 13.0)
210+
webrick (~> 1.8)
211+
212+
BUNDLED WITH
213+
2.6.9

0 commit comments

Comments
 (0)