# 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 edit after that. If you find
# yourself editing these 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 OpenWhisk is a serverless, open source cloud platform
email: dev@openwhisk.apache.org
description: >
  An open source platform for serverless, event-driven code at any scale.
  We handle the infrastructure & servers so you can focus on building
  amazing things.
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com

seo:
  default_image: /images/apache-openwhisk@2x.jpg
  facebook:
    app_id: 176365419499478
  twitter:
    card_type: summary_large_image
    username: openwhisk

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

# Build settings
markdown: kramdown
sass:
    sass_dir: _scss
    style: compressed
gems:
  - jekyll-feed
exclude:
  - Gemfile
  - Gemfile.lock
  - src/
  - vendor/

iis_slider_array: []
