#------------------------------------------------------------------------------
# VARIABLES
#------------------------------------------------------------------------------
# Variables specified in this file can be used in the documentation via:
#     {{ site.CONFIG_KEY }}
#------------------------------------------------------------------------------

url: http://flink.apache.org

DOCS_BASE_URL: http://ci.apache.org/projects/flink/

FLINK_VERSION_STABLE: 0.9.0
FLINK_VERSION_HADOOP_1_STABLE: 0.9.0-hadoop1
FLINK_VERSION_HADOOP_2_STABLE: 0.9.0
FLINK_VERSION_STABLE_SHORT: 0.9.0

FLINK_VERSION_LATEST: 0.10-SNAPSHOT
FLINK_VERSION_HADOOP_1_LATEST: 0.10-SNAPSHOT-hadoop1
FLINK_VERSION_HADOOP_2_LATEST: 0.10-SNAPSHOT
FLINK_VERSION_LATEST_SHORT: 0.10

FLINK_ISSUES_URL: https://issues.apache.org/jira/browse/FLINK
FLINK_GITHUB_URL: https://github.com/apache/flink
FLINK_GITHUB_CONTRIBUTORS_URL: https://github.com/apache/flink/graphs/contributors
FLINK_GITHUB_REPO_NAME: flink

FLINK_DOWNLOAD_URL_SOURCE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-src.tgz
FLINK_DOWNLOAD_URL_HADOOP_1_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop1.tgz
FLINK_DOWNLOAD_URL_HADOOP_2_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop2.tgz

FLINK_DOWNLOAD_URL_HADOOP_24_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop24.tgz
FLINK_DOWNLOAD_URL_HADOOP_26_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop26.tgz
FLINK_DOWNLOAD_URL_HADOOP_27_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop27.tgz

FLINK_DOWNLOAD_URL_YARN_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop2-yarn.tgz

FLINK_DOWNLOAD_URL_HADOOP_1_LATEST: http://stratosphere-bin.s3-website-us-east-1.amazonaws.com/flink-0.10-SNAPSHOT-bin-hadoop1.tgz
FLINK_DOWNLOAD_URL_HADOOP_2_LATEST: http://stratosphere-bin.s3-website-us-east-1.amazonaws.com/flink-0.10-SNAPSHOT-bin-hadoop2.tgz

# Version numbers used in the text for stable and snapshot versions,
# e.g. "Documentation for {{ site.stable }".
stable: "0.9.0"
snapshot: "0.10"

docs-stable: "http://ci.apache.org/projects/flink/flink-docs-release-0.9"
docs-snapshot: "http://ci.apache.org/projects/flink/flink-docs-master"

# Used by the gh_link plugin
jira: "https://issues.apache.org/jira/browse/FLINK"
stackoverflow: "http://stackoverflow.com/search?q=flink"
twitter: "https://twitter.com/apacheflink"
github: "https://github.com/apache/flink"
wiki: "https://cwiki.apache.org/confluence/display/FLINK/Apache+Flink+Home"

twitter-handle: "ApacheFlink"

#baseurl: /incubator-flink-website

#------------------------------------------------------------------------------
# BUILD CONFIG
#------------------------------------------------------------------------------
# These variables configure the jekyll build (./build_docs.sh). You don't need
# to change anything here.
#------------------------------------------------------------------------------

defaults:
  -
    scope:
      path: ""
    values:
      layout: plain

markdown: KramdownPygments
highlighter: pygments

kramdown:
    toc_levels: 1..3
    input: GFM
    hard_wrap: false

redcarpet:
  # https://help.github.com/articles/github-flavored-markdown
  extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink",
               "tables", "with_toc_data", "strikethrough", "superscript",
               "lax_spacing"]

exclude: flink-src-repo

# News Posts
paginate: 10
paginate_path: "blog/page:num"
