# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to you under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
markdown: kramdown
permalink: /blog/:year/:month/:day/:title/
repository: https://github.com/apache/arrow
destination: build
excerpt_separator: ""
timezone: America/New_York

kramdown:
  input: GFM
  syntax_highlighter: rouge

include:
  - _static

exclude:
  - Gemfile
  - Gemfile.lock
  - scripts
  - README.md
  - vendor
  - themes

collections:
  docs:
    output: true
  release:
    output: true

sass:
  style: compressed

# The base path where the website is deployed
baseurl:

plugins:
  - jekyll-assets
  - jekyll-feed
  - jekyll-jupyter-notebook
  - jekyll-seo-tag

title: "Apache Arrow"
description: "Apache Arrow is a cross-language development platform for in-memory data. It specifies a standardized language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware. It also provides computational libraries and zero-copy streaming messaging and interprocess communication. Languages currently supported include C, C++, C#, Go, Java, JavaScript, MATLAB, Python, R, Ruby, and Rust."
url: https://arrow.apache.org
logo: /img/logo.png
twitter:
  username: ApacheArrow
defaults:
  - scope:
      path: ""
    values:
      image: /img/arrow.png
