<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
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.
-->

<project name="Apache HttpComponents">

<!-- N.B. all non-body elements are automatically inherited -->

  <version position="none" /><!-- no version display on unversioned part of the site -->
  <edit>${project.scm.url}</edit>

  <skin>
    <groupId>org.apache.maven.skins</groupId>
    <artifactId>maven-fluido-skin</artifactId>
    <version>1.9</version>
  </skin>

  <bannerLeft>
    <name>Apache</name>
    <src>http://www.apache.org/images/asf_logo_wide.gif</src>
    <href>http://www.apache.org/</href>
  </bannerLeft>

  <bannerRight>
    <name>HttpComponents</name>
    <src>http://hc.apache.org/images/logos/httpcomponents.png</src>
    <href>http://hc.apache.org/</href>
  </bannerRight>

  <body>
    <breadcrumbs>
      <item name="HttpComponents" href="http://hc.apache.org/index.html"/>
    </breadcrumbs>

    <!-- N.B. body links are automatically inherited -->
    <links>
      <item name="Apache" href="http://www.apache.org/"/>
    </links>
    
    <!-- add standard menu links for all sub-sites -->
    <menu name="HttpComponents" inherit="top">
      <item name="Home" href="index.html"/>
      <item name="License" href="http://www.apache.org/licenses/"/>
      <item name="Download" href="downloads.cgi"/>
      <item name="Mailing Lists" href="mail.html"/>
      <item name="Wiki (external)" href="http://wiki.apache.org/HttpComponents/"/>
      <item name="Security" href="http://www.apache.org/security/"/>
    </menu>
    
    <!-- sections for top-level site only -->
    <menu name="Overview">
      <item name="About" href="index.html"/>
      <item name="News" href="news.html"/>
      <item name="Powered by" href="poweredby.html"/>
      <item name="Get Involved" href="get-involved.html"/>
    </menu>
    <menu name="Components">
      <item name="HttpClient 5.1 BETA" collapse="true" href="httpcomponents-client-5.1.x/index.html">
        <item name="Quick Start" href="httpcomponents-client-5.1.x/quickstart.html"/>
        <item name="Examples (Classic)" href="httpcomponents-client-5.1.x/examples.html"/>
        <item name="Examples (Async)" href="httpcomponents-client-5.1.x/examples-async.html"/>
        <item name="Examples (Reactive)" href="httpcomponents-client-5.1.x/examples-reactive.html"/>
        <item name="Logging Guide" href="httpcomponents-client-5.1.x/logging.html"/>
        <item name="Android" href="httpcomponents-client-5.1.x/android.html"/>
        <item name="Related" href="httpcomponents-client-5.1.x/related-projects.html"/>
        <item name="Download" href="httpcomponents-client-5.1.x/download.html"/>
      </item>
      <item name="HttpClient 5.0" collapse="true" href="httpcomponents-client-5.0.x/index.html">
        <item name="Quick Start" href="httpcomponents-client-5.0.x/quickstart.html"/>
        <item name="Examples (Classic)" href="httpcomponents-client-5.0.x/examples.html"/>
        <item name="Examples (Async)" href="httpcomponents-client-5.0.x/examples-async.html"/>
        <item name="Examples (Reactive)" href="httpcomponents-client-5.0.x/examples-reactive.html"/>
        <item name="Logging Guide" href="httpcomponents-client-5.0.x/logging.html"/>
        <item name="Android" href="httpcomponents-client-5.0.x/android.html"/>
        <item name="Related" href="httpcomponents-client-5.0.x/related-projects.html"/>
        <item name="Download" href="httpcomponents-client-5.0.x/download.html"/>
      </item>
      <item name="HttpCore 5.1 BETA" collapse="true" href="httpcomponents-core-5.1.x/index.html">
        <item name="Examples" href="httpcomponents-core-5.1.x/examples.html"/>
        <item name="Related" href="httpcomponents-core-5.1.x/related-projects.html"/>
        <item name="Download" href="httpcomponents-core-5.1.x/download.html"/>
      </item>
      <item name="HttpCore 5.0" collapse="true" href="httpcomponents-core-5.0.x/index.html">
        <item name="Examples" href="httpcomponents-core-5.0.x/examples.html"/>
        <item name="Related" href="httpcomponents-core-5.0.x/related-projects.html"/>
        <item name="Download" href="httpcomponents-core-5.0.x/download.html"/>
      </item>
      <item name="HttpClient 4.5" collapse="true" href="httpcomponents-client-4.5.x/index.html">
        <item name="Quick Start" href="httpcomponents-client-4.5.x/quickstart.html"/>
        <item name="Tutorial" href="httpcomponents-client-4.5.x/current/tutorial/html/index.html"/>
        <item name="Examples" href="httpcomponents-client-4.5.x/examples.html"/>
        <item name="Android" href="httpcomponents-client-4.5.x/android.html"/>
        <item name="Programming Primer" href="httpcomponents-client-4.5.x/primer.html"/>
        <item name="NTLM Guide" href="httpcomponents-client-4.5.x/ntlm.html"/>
        <item name="Logging Guide" href="httpcomponents-client-4.5.x/logging.html"/>
        <item name="Download" href="httpcomponents-client-4.5.x/download.html"/>
      </item>
      <item name="HttpCore 4.4" collapse="true" href="httpcomponents-core-4.4.x/index.html">
        <item name="Tutorial" href="httpcomponents-core-4.4.x/current/tutorial/html/index.html"/>
        <item name="Examples" href="httpcomponents-core-4.4.x/examples.html"/>
        <item name="Download" href="httpcomponents-core-4.4.x/download.html"/>
      </item>
      <item name="HttpAsyncClient 4.1" collapse="true" href="httpcomponents-asyncclient-4.1.x/index.html">
        <item name="Quick Start" href="httpcomponents-asyncclient-4.1.x/quickstart.html"/>
        <item name="Examples" href="httpcomponents-asyncclient-4.1.x/examples.html"/>
        <item name="Download" href="httpcomponents-asyncclient-4.1.x/download.html"/>
      </item>
    </menu>
    <menu name="Legacy">
      <item name="Commons HttpClient" href="httpclient-legacy/index.html"/>
    </menu>
    <menu name="Project">
      <item name="Status" href="status.html"/>
      <item name="Charter" href="charter.html"/>
    </menu>

    <!-- inherited -->
    <menu ref="reports" inherit="bottom"/>

    <menu name="ASF" inherit="bottom">
      <item name="ASF Home Page" href="http://www.apache.org"/>
      <item name="Foundation" href="http://www.apache.org/foundation/"/>
      <item name="Sponsor Apache" href="http://www.apache.org/foundation/sponsorship.html"/>
      <item name="Thanks" href="http://www.apache.org/foundation/thanks.html"/>
    </menu>
  </body>
  
  <!-- inherited -->
  <poweredBy>
    <!-- Add ApacheCon logo -->
    <logo name="ApacheCon" href="http://www.apache.org/events/current-event.html"
          img="http://www.apache.org/events/current-event-125x125.png"/>
    <!-- Keep the default logo as well -->
    <logo name="Maven" href="http://maven.apache.org/"
          img="http://maven.apache.org/images/logos/maven-feather.png"/>
  </poweredBy>

  <!-- inherited -->
  <custom>
    <footer>
      <div class="xleft">Apache HttpComponents, Commons HttpClient, Apache, the Apache feather logo, and the Apache HttpComponents project logo are trademarks of The Apache Software Foundation.</div>
      <br/>
      <div class="xleft">All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
    </footer>
    <fluidoSkin>
      <skipGenerationDate>true</skipGenerationDate>
    </fluidoSkin>
  </custom>
</project>
