blob: 8c6d4e7e9ab8c4d4b2ffae2a2d0959ed9010694b [file] [log] [blame]
<!DOCTYPE html>
<html lang="zh" dir=ZgotmplZ>
<head>
<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<script src="/bootstrap/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" type="text/css" href="/font-awesome/css/font-awesome.min.css">
<script src="/js/anchor.min.js"></script>
<script src="/js/flink.js"></script>
<link rel="canonical" href="https://flink.apache.org/zh/how-to-contribute/improve-website/">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="改进网站 # Apache Flink 官网 介绍了 Apache Flink 及其社区。包括如下多种用途:
向来访者介绍 Apache Flink 及其特性。 鼓励来访者下载并使用 Flink。 鼓励来访者与社区进行互动。 我们欢迎任何改进官网的贡献。本文档包含了所有改进 Flink 官网所需要的信息。
获取官网源码 # Apache Flink 官网的源码托管在专用的 git 仓库中,并在 Github 中有一个镜像 https://github.com/apache/flink-web.
向官网贡献的最简单方式是通过单击右上角的 fork 按钮,将 Github 上官网的镜像 镜像到自己的仓库中。如果没有 Github 帐户,你可以免费创建一个。
接下来,把你镜像的仓库克隆到本地机器上。
git clone https://github.com/&lt;your-user-name&gt;/flink-web.git flink-web 目录包含了拷贝的仓库。官网的代码位于 asf-site 分支上。运行如下命令切换到 asf-site 分支
cd flink-web git checkout asf-site 目录结构和文件 # Flink 官网使用 Markdown 语言。Markdown 是一种轻量级标记语言,可以转换为 HTML。我们使用 Hugo 从 Markdown 生成静态 HTML 文件。
flink-web git 仓库中的文件和目录具有以下作用:">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="贡献网站" />
<meta property="og:description" content="改进网站 # Apache Flink 官网 介绍了 Apache Flink 及其社区。包括如下多种用途:
向来访者介绍 Apache Flink 及其特性。 鼓励来访者下载并使用 Flink。 鼓励来访者与社区进行互动。 我们欢迎任何改进官网的贡献。本文档包含了所有改进 Flink 官网所需要的信息。
获取官网源码 # Apache Flink 官网的源码托管在专用的 git 仓库中,并在 Github 中有一个镜像 https://github.com/apache/flink-web.
向官网贡献的最简单方式是通过单击右上角的 fork 按钮,将 Github 上官网的镜像 镜像到自己的仓库中。如果没有 Github 帐户,你可以免费创建一个。
接下来,把你镜像的仓库克隆到本地机器上。
git clone https://github.com/&lt;your-user-name&gt;/flink-web.git flink-web 目录包含了拷贝的仓库。官网的代码位于 asf-site 分支上。运行如下命令切换到 asf-site 分支
cd flink-web git checkout asf-site 目录结构和文件 # Flink 官网使用 Markdown 语言。Markdown 是一种轻量级标记语言,可以转换为 HTML。我们使用 Hugo 从 Markdown 生成静态 HTML 文件。
flink-web git 仓库中的文件和目录具有以下作用:" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/zh/how-to-contribute/improve-website/" /><meta property="article:section" content="how-to-contribute" />
<title>贡献网站 | Apache Flink</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" type="image/x-icon">
<link rel="alternate" hreflang="en" href="https://flink.apache.org/how-to-contribute/improve-website/" title="Contribute to the Website">
<link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
<script defer src="/zh.search.min.4fed8368d7410bf2cb8853d136d796128533433358adcd85133b7d8014ce76ef.js" integrity="sha256-T&#43;2DaNdBC/LLiFPRNteWEoUzQzNYrc2FEzt9gBTOdu8="></script>
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
<meta name="generator" content="Hugo 0.124.1">
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['disableCookies']);
_paq.push(["setDomains", ["*.flink.apache.org","*.nightlies.apache.org/flink"]]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
</head>
<body dir=ZgotmplZ>
<header>
<nav class="navbar navbar-expand-xl">
<div class="container-fluid">
<a class="navbar-brand" href="/zh/">
<img src="/img/logo/png/100/flink_squirrel_100_color.png" alt="Apache Flink" height="47" width="47" class="d-inline-block align-text-middle">
<span>Apache Flink</span>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<i class="fa fa-bars navbar-toggler-icon"></i>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">About</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="/zh/what-is-flink/flink-architecture/">架构</a>
</li>
<li>
<a class="dropdown-item" href="/zh/what-is-flink/flink-applications/">应用</a>
</li>
<li>
<a class="dropdown-item" href="/zh/what-is-flink/flink-operations/">运维</a>
</li>
<li>
<a class="dropdown-item" href="/zh/what-is-flink/use-cases/">应用场景</a>
</li>
<li>
<a class="dropdown-item" href="/zh/what-is-flink/powered-by/">Flink 用户</a>
</li>
<li>
<a class="dropdown-item" href="/zh/what-is-flink/roadmap/">开发计划</a>
</li>
<li>
<a class="dropdown-item" href="/zh/what-is-flink/community/">社区 & 项目信息</a>
</li>
<li>
<a class="dropdown-item" href="/zh/what-is-flink/security/">Security</a>
</li>
<li>
<a class="dropdown-item" href="/zh/what-is-flink/special-thanks/">特殊致谢</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">教程</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/try-flink/local_installation/">With Flink<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/docs/try-flink-kubernetes-operator/quick-start/">With Flink Kubernetes Operator<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/get-started/introduction/">With Flink CDC<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/docs/try-flink-ml/quick-start/">With Flink ML<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/getting-started/project-setup.html">With Flink Stateful Functions<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/learn-flink/overview/">Training Course<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Documentation</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/">Flink 1.19 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-master/">Flink Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/">Kubernetes Operator 1.8 (latest)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main">Kubernetes Operator Main (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable">CDC 3.0 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-master">CDC Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/">ML 2.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-master">ML Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/">Stateful Functions 3.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-master">Stateful Functions Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">How to Contribute</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="/zh/how-to-contribute/overview/">如何参与贡献</a>
</li>
<li>
<a class="dropdown-item" href="/zh/how-to-contribute/contribute-code/">贡献代码</a>
</li>
<li>
<a class="dropdown-item" href="/zh/how-to-contribute/reviewing-prs/">审核 Pull Request</a>
</li>
<li>
<a class="dropdown-item" href="/zh/how-to-contribute/code-style-and-quality-preamble/">代码样式与质量指南</a>
</li>
<li>
<a class="dropdown-item" href="/zh/how-to-contribute/contribute-documentation/">贡献文档</a>
</li>
<li>
<a class="dropdown-item" href="/zh/how-to-contribute/documentation-style-guide/">文档样式指南</a>
</li>
<li>
<a class="dropdown-item" href="/zh/how-to-contribute/improve-website/">贡献网站</a>
</li>
<li>
<a class="dropdown-item" href="/zh/how-to-contribute/getting-help/">获取帮助</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="/zh/downloads/">Downloads</a>
</li>
</ul>
<div class="book-search">
<div class="book-search-spinner hidden">
<i class="fa fa-refresh fa-spin"></i>
</div>
<form class="search-bar d-flex" onsubmit="return false;"su>
<input type="text" id="book-search-input" placeholder="搜索" aria-label="搜索" maxlength="64" data-hotkeys="s/">
<i class="fa fa-search search"></i>
<i class="fa fa-circle-o-notch fa-spin spinner"></i>
</form>
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
</div>
</div>
</nav>
<div class="navbar-clearfix"></div>
</header>
<main class="flex">
<section class="container book-page">
<article class="markdown"><h1 id="改进网站">
改进网站
<a class="anchor" href="#%e6%94%b9%e8%bf%9b%e7%bd%91%e7%ab%99">#</a>
</h1>
<p><a href="http://flink.apache.org">Apache Flink 官网</a> 介绍了 Apache Flink 及其社区。包括如下多种用途:</p>
<ul>
<li>向来访者介绍 Apache Flink 及其特性。</li>
<li>鼓励来访者下载并使用 Flink。</li>
<li>鼓励来访者与社区进行互动。</li>
</ul>
<p>我们欢迎任何改进官网的贡献。本文档包含了所有改进 Flink 官网所需要的信息。</p>
<h2 id="获取官网源码">
获取官网源码
<a class="anchor" href="#%e8%8e%b7%e5%8f%96%e5%ae%98%e7%bd%91%e6%ba%90%e7%a0%81">#</a>
</h2>
<p>Apache Flink 官网的源码托管在专用的 <a href="http://git-scm.com/">git</a> 仓库中,并在 Github 中有一个镜像 <a href="https://github.com/apache/flink-web">https://github.com/apache/flink-web</a>.</p>
<p>向官网贡献的最简单方式是通过单击右上角的 fork 按钮,将 <a href="https://github.com/apache/flink-web">Github 上官网的镜像</a> 镜像到自己的仓库中。如果没有 Github 帐户,你可以免费创建一个。</p>
<p>接下来,把你镜像的仓库克隆到本地机器上。</p>
<pre tabindex="0"><code>git clone https://github.com/&lt;your-user-name&gt;/flink-web.git
</code></pre><p><code>flink-web</code> 目录包含了拷贝的仓库。官网的代码位于 <code>asf-site</code> 分支上。运行如下命令切换到 <code>asf-site</code> 分支</p>
<pre tabindex="0"><code>cd flink-web
git checkout asf-site
</code></pre><h2 id="目录结构和文件">
目录结构和文件
<a class="anchor" href="#%e7%9b%ae%e5%bd%95%e7%bb%93%e6%9e%84%e5%92%8c%e6%96%87%e4%bb%b6">#</a>
</h2>
<p>Flink 官网使用 <a href="http://daringfireball.net/projects/markdown/">Markdown</a> 语言。Markdown 是一种轻量级标记语言,可以转换为 HTML。我们使用 <a href="https://gohugo.io/">Hugo</a> 从 Markdown 生成静态 HTML 文件。</p>
<p><code>flink-web</code> git 仓库中的文件和目录具有以下作用:</p>
<ul>
<li>所有以 <code>.md</code> 结尾的文件都是 Markdown 文件。这些文件将被转换为静态 HTML 文件。</li>
<li><code>docs</code> 目录包含所有文档、主题和其他用于渲染和生成网站的内容。</li>
<li><code>docs/content/docs</code> 文件夹包含所有英文内容。<code>docs/content.zh/docs</code> 文件夹包含所有中文内容。</li>
<li><code>docs/content/posts</code> 文件夹包含所有博客文章。</li>
<li><code>content/</code> 目录包含 Hugo 生成的 HTML 文件。鉴于托管 Flink 官网的 Apache Infrastructure 从该目录中拉取 HTML 网页内容,因此将生成文件放置在此目录中这一步至关重要。( Committer 注意:在向 git 仓库推送更改的同时,需要同时更新 <code>content/</code> 目录中的内容!)</li>
</ul>
<h2 id="更新文档">
更新文档
<a class="anchor" href="#%e6%9b%b4%e6%96%b0%e6%96%87%e6%a1%a3">#</a>
</h2>
<p>可以通过修改已有文档,或新增资源–比如 CSS 文件等方式对网站进行更新。想验证你的修改,可以执行如下命令:</p>
<pre tabindex="0"><code>./build.sh
</code></pre><p>该脚本将 Markdown 文件编译为 HTML 并启动本地 Web 服务器。在浏览器中打开 <code>http://localhost:1313</code> 以查看包括修改后的网站。中文版本位于 <code>http://localhost:1313/zh/</code> 。当您做出修改、保存任何文件并刷新浏览器时,网站内容会自动重新编译和更新。</p>
<p>如果要在文档或者博客文章中添加 Flink 官方文档的外链引用,请使用以下语法:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{<span class="p">&lt;</span> <span class="nt">docs_link</span> <span class="na">file</span><span class="o">=</span><span class="s">&#34;relative_path/&#34;</span> <span class="na">name</span><span class="o">=</span><span class="s">&#34;Title&#34;</span><span class="p">&gt;</span>}}
</span></span></code></pre></div><p>例如:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{<span class="p">&lt;</span> <span class="nt">docs_link</span> <span class="na">file</span><span class="o">=</span><span class="s">&#34;flink-docs-stable/docs/dev/datastream/side_output/&#34;</span> <span class="na">name</span><span class="o">=</span><span class="s">&#34;Side Output&#34;</span><span class="p">&gt;</span>}}
</span></span></code></pre></div><p>如果有任何疑问,欢迎在开发者邮件列表中咨询。</p>
<h2 id="提交你的贡献">
提交你的贡献
<a class="anchor" href="#%e6%8f%90%e4%ba%a4%e4%bd%a0%e7%9a%84%e8%b4%a1%e7%8c%ae">#</a>
</h2>
<p>Flink 项目通过 <a href="https://github.com/apache/flink-web">GitHub Mirror</a> 以提交 <a href="https://help.github.com/articles/using-pull-requests">Pull Requests</a> 方式接受网站贡献。Pull requests 是一种通过向特定代码分支提交补丁的简单方法。</p>
<p>请按以下步骤操作准备并提交 pull request。</p>
<ol>
<li>
<p>将你的更改提交到本地 git 仓库。如果不是重大重构,请将代码压缩到一个提交中。</p>
</li>
<li>
<p>请将提交推送到 GitHub 上你自己仓库的一个特定分支。</p>
<pre tabindex="0"><code>git push origin myBranch
</code></pre></li>
<li>
<p>打开你镜像的仓库 (<code>https://github.com/&lt;your-user-name&gt;/flink-web</code>) 并使用 “Create Pull Request” 按钮开始创建新的 pull request。确保基础分支是 <code>apache/flink-web asf-site</code> ,并且 head fork 选择带有更改内容的分支。 为 pull request 提供有意义的描述并提交。</p>
</li>
</ol>
<h2 id="committer-章节">
Committer 章节
<a class="anchor" href="#committer-%e7%ab%a0%e8%8a%82">#</a>
</h2>
<p><strong>本章节仅适用于 Committer。</strong></p>
<h3 id="asf-网站的-git-仓库">
ASF 网站的 git 仓库
<a class="anchor" href="#asf-%e7%bd%91%e7%ab%99%e7%9a%84-git-%e4%bb%93%e5%ba%93">#</a>
</h3>
<p><strong>ASF writable</strong>: <a href="https://gitbox.apache.org/repos/asf/flink-web.git">https://gitbox.apache.org/repos/asf/flink-web.git</a></p>
<p>有关如何设置 ASF git 仓库凭据的详细信息可以参考 <a href="https://gitbox.apache.org/">链接</a></p>
<h3 id="合并-pull-request">
合并 pull request
<a class="anchor" href="#%e5%90%88%e5%b9%b6-pull-request">#</a>
</h3>
<p>默认所有的修改仅在源文件上完成(对 <code>content/</code> 目录中自动生成的文件没有修改)。 在推送网站更改之前,请运行构建脚本。</p>
<pre tabindex="0"><code>./build.sh
</code></pre><p>将更改添加到 <code>content/</code> 目录作为附加提交,并将更改推送到 ASF 基本仓库。</p>
</article>
<div class="edit-this-page">
<p>
<a href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications">Want to contribute translation?</a>
</p>
<p>
<a href="//github.com/apache/flink-web/edit/asf-site/docs/content.zh/how-to-contribute/improve-website.md">
Edit This Page<i class="fa fa-edit fa-fw"></i>
</a>
</p>
</div>
</section>
<aside class="book-toc">
<nav id="TableOfContents"><h3>On This Page <a href="javascript:void(0)" class="toc" onclick="collapseToc()"><i class="fa fa-times" aria-hidden="true"></i></a></h3>
<ul>
<li><a href="#改进网站">改进网站</a>
<ul>
<li><a href="#获取官网源码">获取官网源码</a></li>
<li><a href="#目录结构和文件">目录结构和文件</a></li>
<li><a href="#更新文档">更新文档</a></li>
<li><a href="#提交你的贡献">提交你的贡献</a></li>
<li><a href="#committer-章节">Committer 章节</a>
<ul>
<li><a href="#asf-网站的-git-仓库">ASF 网站的 git 仓库</a></li>
<li><a href="#合并-pull-request">合并 pull request</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</aside>
<aside class="expand-toc hidden">
<a class="toc" onclick="expandToc()" href="javascript:void(0)">
<i class="fa fa-bars" aria-hidden="true"></i>
</a>
</aside>
</main>
<footer>
<div class="separator"></div>
<div class="panels">
<div class="wrapper">
<div class="panel">
<ul>
<li>
<a href="https://flink-packages.org/">flink-packages.org</a>
</li>
<li>
<a href="https://www.apache.org/">Apache Software Foundation</a>
</li>
<li>
<a href="https://www.apache.org/licenses/">License</a>
</li>
<li>
<a href="/how-to-contribute/improve-website/">
<i class="fa fa-globe" aria-hidden="true"></i>&nbsp;English
</a>
</li>
</ul>
</div>
<div class="panel">
<ul>
<li>
<a href="/zh/what-is-flink/security">Security</a-->
</li>
<li>
<a href="https://www.apache.org/foundation/sponsorship.html">Donate</a>
</li>
<li>
<a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
</li>
</ul>
</div>
<div class="panel icons">
<div>
<a href="/posts">
<div class="icon flink-blog-icon"></div>
<span>Flink blog</span>
</a>
</div>
<div>
<a href="https://github.com/apache/flink">
<div class="icon flink-github-icon"></div>
<span>Github</span>
</a>
</div>
<div>
<a href="https://twitter.com/apacheflink">
<div class="icon flink-twitter-icon"></div>
<span>Twitter</span>
</a>
</div>
</div>
</div>
</div>
<hr/>
<div class="container disclaimer">
<p>The contents of this website are © 2024 Apache Software Foundation under the terms of the Apache License v2. Apache Flink, Flink, and the Flink logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p>
</div>
</footer>
</body>
</html>