# 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-native/docs/geode-native-book
public_host: localhost

sections:
- repository:
    name: geode-native-docs-dotnet
  directory: docs/geode-native/dotnet/111
  subnav_template: geode-nc-nav

template_variables:
  product_name_long: Apache Geode
  product_name: Geode
  product_name_lc: geode
  product_version: "1.11"
  product_version_nodot: 111
  product_language: dotnet
  client_name: Geode Native Client for .NET
  min_java_update: 121
  support_url: http://geode.apache.org/community
  product_url: http://geode.apache.org
  book_title: Apache Geode Native .NET Documentation
  book_header_img: /images/Apache_Geode_logo_symbol_white.png
  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 Product Page</a></div>
  domain_name: apache.org
  book_title_short: Geode Native .NET Docs
  local_header_title: Apache Geode Native .NET
  local_header_img: /images/Apache_Geode_logo_symbol.png

broken_link_exclusions: iefix|using_custom_classes|arrowhead|cppdocs|dotnetdocs|#
