Files
v10/site/netlify.toml
T

493 lines
12 KiB
TOML

[build]
command = "pnpm build:site"
publish = "site/dist"
ignore = "pnpm turbo query affected --packages site --tasks build --exit-code"
# turbo query affected defaults to comparing against the merge-base with main.
# On the production branch (site/v10) and main itself, that merge-base is HEAD,
# so turbo finds zero changes and skips the build. HEAD~1 compares against the
# previous commit instead. We scope this to production and branch-deploy only —
# PR previews keep the default merge-base behavior so multi-commit pushes work.
[context.production.environment]
TURBO_SCM_BASE = "HEAD~1"
[context.branch-deploy.environment]
TURBO_SCM_BASE = "HEAD~1"
# PostHog reverse proxy (ad-blocker bypass)
[[redirects]]
from = "/ph/static/*"
to = "https://us-assets.i.posthog.com/static/:splat"
host = "us-assets.i.posthog.com"
status = 200
force = true
[[redirects]]
from = "/ph/*"
to = "https://us.i.posthog.com/:splat"
host = "us.i.posthog.com"
status = 200
force = true
# Netlify aliases -> videojs.org
[[redirects]]
from = "https://videojs.com/*"
to = "https://videojs.org/:splat"
status = 301
force = true
[[redirects]]
from = "https://www.videojs.com/*"
to = "https://videojs.org/:splat"
status = 301
force = true
[[redirects]]
from = "https://v10.videojs.org/*"
to = "https://videojs.org/:splat"
status = 301
force = true
[[redirects]]
from = "https://vjs10-site.netlify.app/*"
to = "https://videojs.org/:splat"
status = 301
force = true
# Redirect old theme demo pages to home
[[redirects]]
from = "/city"
to = "/"
status = 308
[[redirects]]
from = "/fantasy"
to = "/"
status = 308
[[redirects]]
from = "/forest"
to = "/"
status = 308
[[redirects]]
from = "/sea"
to = "/"
status = 308
# Redirect old v8 guides to legacy site
[[redirects]]
from = "/guides"
to = "https://legacy.videojs.org/guides"
status = 308
[[redirects]]
from = "/guides/*"
to = "https://legacy.videojs.org/guides/:splat"
status = 308
# Redirect old Tumblr blog post URLs (migrated from videojs.tumblr.com)
# Each post had a numeric Tumblr ID; URLs may include an optional slug after the ID.
[[redirects]]
from = "/blog/post/35888462908/*"
to = "/blog/new-videojs-site-now-with-more-html5"
status = 308
[[redirects]]
from = "/blog/post/35888462908"
to = "/blog/new-videojs-site-now-with-more-html5"
status = 308
[[redirects]]
from = "/blog/post/35888302484/*"
to = "/blog/videojs-is-ie9-compatible"
status = 308
[[redirects]]
from = "/blog/post/35888302484"
to = "/blog/videojs-is-ie9-compatible"
status = 308
[[redirects]]
from = "/blog/post/35888138568/*"
to = "/blog/ipad-iphone-video-poster-fix-bonus-javascript-placement-fix"
status = 308
[[redirects]]
from = "/blog/post/35888138568"
to = "/blog/ipad-iphone-video-poster-fix-bonus-javascript-placement-fix"
status = 308
[[redirects]]
from = "/blog/post/35887879903/*"
to = "/blog/facebook-adds-html5-video"
status = 308
[[redirects]]
from = "/blog/post/35887879903"
to = "/blog/facebook-adds-html5-video"
status = 308
[[redirects]]
from = "/blog/post/35887731208/*"
to = "/blog/version-1-1-3-release"
status = 308
[[redirects]]
from = "/blog/post/35887731208"
to = "/blog/version-1-1-3-release"
status = 308
[[redirects]]
from = "/blog/post/35887428303/*"
to = "/blog/1-1-5-release-subtitles-using-track-android-fix-more"
status = 308
[[redirects]]
from = "/blog/post/35887428303"
to = "/blog/1-1-5-release-subtitles-using-track-android-fix-more"
status = 308
[[redirects]]
from = "/blog/post/35887203978/*"
to = "/blog/make-sites-serve-you-html5-video-in-safari"
status = 308
[[redirects]]
from = "/blog/post/35887203978"
to = "/blog/make-sites-serve-you-html5-video-in-safari"
status = 308
[[redirects]]
from = "/blog/post/35887003151/*"
to = "/blog/2-0-0-release-behaviors-fallback-apis-and-more"
status = 308
[[redirects]]
from = "/blog/post/35887003151"
to = "/blog/2-0-0-release-behaviors-fallback-apis-and-more"
status = 308
[[redirects]]
from = "/blog/post/35886359508/*"
to = "/blog/2-0-2-release-subtitle-optimization-safari-on-leopard-fs-fix"
status = 308
[[redirects]]
from = "/blog/post/35886359508"
to = "/blog/2-0-2-release-subtitle-optimization-safari-on-leopard-fs-fix"
status = 308
[[redirects]]
from = "/blog/post/35886098711/*"
to = "/blog/html5-video-google-maps-mashup"
status = 308
[[redirects]]
from = "/blog/post/35886098711"
to = "/blog/html5-video-google-maps-mashup"
status = 308
[[redirects]]
from = "/blog/post/35885839763/*"
to = "/blog/over-50-of-web-users-now-support-html5-video"
status = 308
[[redirects]]
from = "/blog/post/35885839763"
to = "/blog/over-50-of-web-users-now-support-html5-video"
status = 308
[[redirects]]
from = "/blog/post/35885627647/*"
to = "/blog/google-is-dropping-h-264-from-chrome"
status = 308
[[redirects]]
from = "/blog/post/35885627647"
to = "/blog/google-is-dropping-h-264-from-chrome"
status = 308
[[redirects]]
from = "/blog/post/35885444487/*"
to = "/blog/apple-adds-airplay-to-mobile-safari"
status = 308
[[redirects]]
from = "/blog/post/35885444487"
to = "/blog/apple-adds-airplay-to-mobile-safari"
status = 308
[[redirects]]
from = "/blog/post/35885249818/*"
to = "/blog/new-mpeg-la-webm-vp8-patent-pool"
status = 308
[[redirects]]
from = "/blog/post/35885249818"
to = "/blog/new-mpeg-la-webm-vp8-patent-pool"
status = 308
[[redirects]]
from = "/blog/post/35885081376/*"
to = "/blog/how-are-you-using-video-js"
status = 308
[[redirects]]
from = "/blog/post/35885081376"
to = "/blog/how-are-you-using-video-js"
status = 308
[[redirects]]
from = "/blog/post/35884942031/*"
to = "/blog/lynda-com-html5-video-tutorial-released"
status = 308
[[redirects]]
from = "/blog/post/35884942031"
to = "/blog/lynda-com-html5-video-tutorial-released"
status = 308
[[redirects]]
from = "/blog/post/35884704314/*"
to = "/blog/video-js-version-3-0"
status = 308
[[redirects]]
from = "/blog/post/35884704314"
to = "/blog/video-js-version-3-0"
status = 308
[[redirects]]
from = "/blog/post/35884369527/*"
to = "/blog/version-3-1-update"
status = 308
[[redirects]]
from = "/blog/post/35884369527"
to = "/blog/version-3-1-update"
status = 308
[[redirects]]
from = "/blog/post/35883671470/*"
to = "/blog/version-3-2-update"
status = 308
[[redirects]]
from = "/blog/post/35883671470"
to = "/blog/version-3-2-update"
status = 308
[[redirects]]
from = "/blog/post/35666994917/*"
to = "/blog/brightcove-acquires-zencoder"
status = 308
[[redirects]]
from = "/blog/post/35666994917"
to = "/blog/brightcove-acquires-zencoder"
status = 308
[[redirects]]
from = "/blog/post/35788231775/*"
to = "/blog/site-and-support-updates"
status = 308
[[redirects]]
from = "/blog/post/35788231775"
to = "/blog/site-and-support-updates"
status = 308
[[redirects]]
from = "/blog/post/49797985868/*"
to = "/blog/repo-moved"
status = 308
[[redirects]]
from = "/blog/post/49797985868"
to = "/blog/repo-moved"
status = 308
[[redirects]]
from = "/blog/post/50021214078/*"
to = "/blog/video-js-4-0-now-available"
status = 308
[[redirects]]
from = "/blog/post/50021214078"
to = "/blog/video-js-4-0-now-available"
status = 308
[[redirects]]
from = "/blog/post/54136228059/*"
to = "/blog/video-js-4-1-0-released"
status = 308
[[redirects]]
from = "/blog/post/54136228059"
to = "/blog/video-js-4-1-0-released"
status = 308
[[redirects]]
from = "/blog/post/55553002104/*"
to = "/blog/new-player-skin-designer-for-video-js"
status = 308
[[redirects]]
from = "/blog/post/55553002104"
to = "/blog/new-player-skin-designer-for-video-js"
status = 308
[[redirects]]
from = "/blog/post/57828375480/*"
to = "/blog/hiding-and-showing-video-player-controls"
status = 308
[[redirects]]
from = "/blog/post/57828375480"
to = "/blog/hiding-and-showing-video-player-controls"
status = 308
[[redirects]]
from = "/blog/post/60471080014/*"
to = "/blog/video-js-4-2-0-released-rtmp-css-designer-and-stability"
status = 308
[[redirects]]
from = "/blog/post/60471080014"
to = "/blog/video-js-4-2-0-released-rtmp-css-designer-and-stability"
status = 308
[[redirects]]
from = "/blog/post/61309840958/*"
to = "/blog/unauthorized-modification-of-video-js-cdn-files"
status = 308
[[redirects]]
from = "/blog/post/61309840958"
to = "/blog/unauthorized-modification-of-video-js-cdn-files"
status = 308
[[redirects]]
from = "/blog/post/61644484835/*"
to = "/blog/running-video-js-unit-tests-in-real-browsers-with-karma"
status = 308
[[redirects]]
from = "/blog/post/61644484835"
to = "/blog/running-video-js-unit-tests-in-real-browsers-with-karma"
status = 308
[[redirects]]
from = "/blog/post/66131645152/*"
to = "/blog/the-guardian-uses-video-js-in-feature-article"
status = 308
[[redirects]]
from = "/blog/post/66131645152"
to = "/blog/the-guardian-uses-video-js-in-feature-article"
status = 308
[[redirects]]
from = "/blog/post/66138384272/*"
to = "/blog/video-js-version-4-3-0-released-w-shiny-new-api-docs"
status = 308
[[redirects]]
from = "/blog/post/66138384272"
to = "/blog/video-js-version-4-3-0-released-w-shiny-new-api-docs"
status = 308
[[redirects]]
from = "/blog/post/77214236892/*"
to = "/blog/video-js-version-4-4-0-released-now-supporting-requirejs-and-browserify"
status = 308
[[redirects]]
from = "/blog/post/77214236892"
to = "/blog/video-js-version-4-4-0-released-now-supporting-requirejs-and-browserify"
status = 308
[[redirects]]
from = "/blog/post/80918861872/*"
to = "/blog/video-js-version-4-5-0-released-nothing-to-see-here-move-along"
status = 308
[[redirects]]
from = "/blog/post/80918861872"
to = "/blog/video-js-version-4-5-0-released-nothing-to-see-here-move-along"
status = 308
[[redirects]]
from = "/blog/post/86341869931/*"
to = "/blog/video-js-version-4-6-0-released-it-s-been-a-productive-month"
status = 308
[[redirects]]
from = "/blog/post/86341869931"
to = "/blog/video-js-version-4-6-0-released-it-s-been-a-productive-month"
status = 308
[[redirects]]
from = "/blog/post/92536319027/*"
to = "/blog/dash-everywhere-ish-hack-project"
status = 308
[[redirects]]
from = "/blog/post/92536319027"
to = "/blog/dash-everywhere-ish-hack-project"
status = 308
[[redirects]]
from = "/blog/post/93989313276/*"
to = "/blog/video-js-v4-7-0-built-mostly-by-new-contributors-also-google-chooses-video-js"
status = 308
[[redirects]]
from = "/blog/post/93989313276"
to = "/blog/video-js-v4-7-0-built-mostly-by-new-contributors-also-google-chooses-video-js"
status = 308
[[redirects]]
from = "/blog/post/96564061826/*"
to = "/blog/video-js-4-8-0-released-prost"
status = 308
[[redirects]]
from = "/blog/post/96564061826"
to = "/blog/video-js-4-8-0-released-prost"
status = 308
[[redirects]]
from = "/blog/post/99014232526/*"
to = "/blog/video-js-4-9-now-can-join-the-party"
status = 308
[[redirects]]
from = "/blog/post/99014232526"
to = "/blog/video-js-4-9-now-can-join-the-party"
status = 308
[[redirects]]
from = "/blog/post/111390879116/*"
to = "/blog/video-js-4-12-the-last-of-the-4-minors"
status = 308
[[redirects]]
from = "/blog/post/111390879116"
to = "/blog/video-js-4-12-the-last-of-the-4-minors"
status = 308
[[redirects]]
from = "/blog/post/121061752226/*"
to = "/blog/it-s-here-5-0-release-candidates"
status = 308
[[redirects]]
from = "/blog/post/121061752226"
to = "/blog/it-s-here-5-0-release-candidates"
status = 308
[[redirects]]
from = "/blog/post/130143694631/*"
to = "/blog/video-js-5-the-only-thing-that's-changed-is-everything-except-for-like-3-things-that-didn-t-including-the-name"
status = 308
[[redirects]]
from = "/blog/post/130143694631"
to = "/blog/video-js-5-the-only-thing-that's-changed-is-everything-except-for-like-3-things-that-didn-t-including-the-name"
status = 308
# Redirect old tags pages to blog (no tag filtering in v10)
[[redirects]]
from = "/tags"
to = "/blog"
status = 307
[[redirects]]
from = "/tags/*"
to = "/blog"
status = 307
# Redirect old support URL to new page
[[redirects]]
from = "/html5-video-support"
to = "/support"
status = 307
# Misc v8 stragglers
[[redirects]]
from = "/getting-started"
to = "/docs"
status = 307
[[redirects]]
from = "/advanced"
to = "/docs"
status = 307
[[redirects]]
from = "/plugins"
to = "/docs"
status = 307