# 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.

book_repo: apache/geode/geode-book
public_host: localhost

sections:
- repository:
    name: geode-docs
  directory: docs/guide/116
  subnav_template: geode-subnav

template_variables:
  product_name_long: Apache Geode
  product_name: Geode
  product_name_lowercase: geode
  product_version: '1.16'
  product_version_nodot: '116'
  product_version_old_minor: '1.15'
  product_version_geode: '1.16'
  min_java_version: '8'
  min_java_update: '121'
  support_url: http://geode.apache.org/community
  product_url: http://geode.apache.org/
  book_title: Apache Geode Documentation
  support_link: <a href="http://geode.apache.org/community" target="_blank">Community</a>
  support_call_to_action: <a href="http://geode.apache.org/community" target="_blank">Need Help?</a>
  changelog_href: https://cwiki.apache.org/confluence/display/GEODE/Release+Notes
  product_link: <div class="header-item"><a href="http://geode.apache.org/">Back to Geode Page</a></div>
  domain_name: apache.org
  book_title_short: Geode Docs
  local_header_title: Apache Geode
  local_header_img: /images/Apache_Geode_logo_symbol.png
  javadocs: /releases/latest/javadoc

broken_link_exclusions: iefix|using_custom_classes|arrowhead|cppdocs|DotNetDocs
