This is an automated email from the ASF dual-hosted git repository. martijnvisser pushed a commit to branch release-1.20 in repository https://gitbox.apache.org/repos/asf/flink.git
commit 88311aaa568817c513a827c10be0cd2eff676b31 Author: Martijn Visser <[email protected]> AuthorDate: Thu Jan 15 13:56:27 2026 +0100 [FLINK-38924][docs] Redirect users to documentation home page when encountering a 404 (cherry picked from commit 1047406a76620bf8ee5898c795b0009fb8fb5d64) --- docs/layouts/404.html | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/docs/layouts/404.html b/docs/layouts/404.html new file mode 100644 index 00000000000..0a90ca9a5fb --- /dev/null +++ b/docs/layouts/404.html @@ -0,0 +1,119 @@ +<!DOCTYPE html> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> +{{- $stableUrl := "https://nightlies.apache.org/flink/flink-docs-stable/" -}} +{{- $stableUrlZh := "https://nightlies.apache.org/flink/flink-docs-stable/zh/" -}} +{{- $isZh := eq .Site.Language.Lang "zh" -}} +<html lang="{{ .Site.Language.Lang }}" dir={{ .Site.Language.LanguageDirection }}> + +<head> + {{ hugo.Generator }} + {{ partial "docs/html-head" . }} + {{ partial "docs/inject/head" . }} + <style> + .not-found-options { + display: flex; + flex-wrap: wrap; + gap: 1rem; + margin-top: 1.5rem; + } + .not-found-option { + flex: 1; + min-width: 200px; + max-width: 300px; + } + .not-found-option a { + display: block; + padding: 0.75rem 1rem; + border: 1px solid var(--color-link); + border-radius: 4px; + text-decoration: none; + font-weight: 500; + } + .not-found-option a:hover { + background: var(--color-link); + color: white; + } + .not-found-option small { + display: block; + margin-top: 0.5rem; + color: var(--gray-600, #666); + font-size: 0.875rem; + } + </style> +</head> + +<body dir={{ .Site.Language.LanguageDirection }}> + <input type="checkbox" class="hidden toggle" id="menu-control" /> + <input type="checkbox" class="hidden toggle" id="toc-control" /> + <main class="container flex"> + <aside class="book-menu"> + {{ partial "docs/menu" . }} + </aside> + + <div class="book-page"> + <header class="book-header"> + {{ partial "docs/header" . }} + </header> + + <article class="markdown"> + {{- if $isZh }} + <h1>页面未找到</h1> + <p>我们无法在当前版本中找到此页面。这有时发生在页面在版本之间移动或内容是特定版本的情况下。尝试使用搜索来查找您要找的内容。</p> + <div class="not-found-options"> + <div class="not-found-option"> + <a href="{{ $stableUrlZh }}">查看最新版本文档</a> + <small>推荐大多数用户使用。查看稳定版文档。</small> + </div> + <div class="not-found-option"> + <a href="{{ .Site.Home.RelPermalink }}">留在当前版本</a> + <small>继续浏览 {{ .Site.Params.VersionTitle }} 开发文档。</small> + </div> + </div> + {{- else }} + <h1>Page Not Found</h1> + <p>We couldn't find this page in the current version. This sometimes happens when pages move between releases or when content is version-specific. Try using the search to find what you're looking for.</p> + <div class="not-found-options"> + <div class="not-found-option"> + <a href="{{ $stableUrl }}">View Latest Release Docs</a> + <small>Recommended for most users. View the stable documentation.</small> + </div> + <div class="not-found-option"> + <a href="{{ .Site.Home.RelPermalink }}">Stay on This Version</a> + <small>Continue browsing {{ .Site.Params.VersionTitle }} development docs.</small> + </div> + </div> + {{- end }} + </article> + + {{ partial "docs/inject/content-after" . }} + + <footer class="book-footer"> + {{ partial "docs/footer" . }} + {{ partial "docs/inject/footer" . }} + </footer> + + <label for="menu-control" class="hidden book-menu-overlay"></label> + </div> + </main> + + {{ partial "docs/inject/body" . }} +</body> + +</html>
