/flink-web

Apache Flink Website

Primary LanguageHTMLApache License 2.0Apache-2.0

flink-web

This repository contains the Flink project website: https://flink.apache.org/.

You can find instructions for contributing to this repository here: https://flink.apache.org/how-to-contribute/improve-website/

Testing changes locally

Build the documentation and serve it locally

The Flink documentation uses Hugo to generate HTML files. More specifically, it uses the extended version of Hugo with Sass/SCSS support.

To build the documentation, you can install Hugo locally or use a Docker image.

The built site is served at http://localhost:1313/.

Using Hugo Docker image:

$ ./docker-build.sh

Local Hugo installation:

Make sure you have installed Hugo on your system.

$ ./build.sh

The site can be viewed at http://localhost:1313/

Building the website

You must have Hugo installed on your system.

The website needs to be rebuilt before being merged into the asf-site branch.

You can execute the following command to rebuild non-incrementally:

Using Hugo Docker image:

./docker-build.sh build

Local Hugo installation:

./build.sh build

This will generate the static HTML files in the content folder, which are used to serve out the project website.

Contribute

Markdown

The documentation pages are written in Markdown. It is possible to use GitHub flavored syntax and intermix plain html.

Front matter

In addition to Markdown, every page contains a Jekyll front matter, which specifies the title of the page and the layout to use. The title is used as the top-level heading for the page. The default layout is plain (found in _layouts).

---
title: "Title of the Page"
---

---
title: "Title of the Page" <-- Title rendered in the side nave
weight: 1 <-- Weight controls the ordering of pages in the side nav.
aliases:  <-- Alias to setup redirect from removed page to this one
  - /alias/to/removed/page.html
---

Structure

Page

Headings

All documents are structured with headings. From these headings, you can automatically generate a page table of contents (see below).

# Level-1 Heading  <- Used for the title of the page 
## Level-2 Heading <- Start with this one for content
### Level-3 heading
#### Level-4 heading
##### Level-5 heading

Please stick to the "logical order" when using the headlines, e.g. start with level-2 headings and use level-3 headings for subsections, etc. Don't use a different ordering, because you don't like how a headline looks.

Table of Contents

Table of contents are added automatically to every page, based on heading levels 2 - 4. The ToC can be omitted by adding the following to the front matter of the page:

---
bookToc: false
---

ShortCodes

Flink uses shortcodes to add custom functionality to its documentation markdown.