# 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/111
  subnav_template: geode-subnav

template_variables:
  product_name_long: Apache Geode
  product_name: Geode
  product_version: '1.11'
  product_version_geode: '1.11'
  product_version_nodot: '111'
  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

broken_link_exclusions: iefix|using_custom_classes|arrowhead|cppdocs|DotNetDocs
