# 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.4.0-incubating
DL_VERSION_LATEST: 0.6.0-SNAPSHOT
stable_doc_version: 0.4.0-incubating

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

# 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 keep in the build
keep_files: ['docs']

# Downloads directory
downloads: downloads

tracking_id: UA-83870961-1

gems:
  - jekyll-redirect-from

exclude:
  - Gemfile
  - Gemfile.lock
  - Makefile
  - Rakefile
  - README.md
  - apache_content
  - build.sh
  - build-javadoc.sh
  - content
  - docker
  - docs
  - local_content
  - production_content
  - scripts
  - temp_content
  - temp_apache_content
  - temp_local_content
  - temp_production_content
  - vendor
