# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.

# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Apache Quickstep (Incubating)
email: dev@quickstep.incubator.apache.org
description: > # this means to ignore newlines until "baseurl:"
  Quickstep is a next-generation data processing platform designed 
  for high-performance analytical queries.
baseurl: ""
url: "http://quickstep.apache.org/"
github_username: apache

# Build settings
destination: content
defaults:
  -
    scope:
      path: ""
    values:
      layout: plain

# Build settings
markdown: kramdown
theme: minima
gems:
  - jekyll-feed
exclude:
  - Gemfile
  - Gemfile.lock
