# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely need to edit after that.
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'jekyll serve'. If you change this file, please restart the server process.

# Site settings
title: Apache DistributedLog
description: > # this means to ignore newlines until "baseurl:"
  Apache DistributedLog is an high performance replicated log.

# versions
DL_VERSION_STABLE: 0.3.51-RC1
DL_VERSION_LATEST: 0.5.0-SNAPSHOT
stable_doc_version: 0.4.0-incubating

# the subpath of your site, e.g. /blog
baseurl: ""

# the base hostname & protocol for your site
url: "http://bookkeeper.apache.org/distributedlog"

twitter_username: distributedlog
twitter_url: https://twitter.com/distributedlog
github_url: https://github.com/apache/distributedlog
getslack_url: https://getdl-slack.herokuapp.com
slack_url: https://apachedistributedlog.slack.com
wiki_url: https://cwiki.apache.org/confluence/display/DL/Apache+DistributedLog+Home
jira_url: https://issues.apache.org/jira/browse/DL
developer_setup_url: https://cwiki.apache.org/confluence/display/DL/Developer+Setup
contribute_how_to_url: https://cwiki.apache.org/confluence/display/DL/Contributing+to+DistributedLog
coding_guide_url: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=65867477

# Build settings
markdown: kramdown

collections:
- distributedlog_team
- mentors

# Things to ignore in the build
exclude: ['README.md', 'Gemfile.lock', 'Gemfile', 'Rakefile', 'docs', 'build.sh']

# Things to keep in the build
keep_files: ['docs']

# Downloads directory
downloads: downloads

tracking_id: UA-83870961-1

gems:
  - jekyll-redirect-from
