<?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="Get Involved" href="get-involved.html"/>
    </menu>
    <menu name="Components">
      <item name="HttpClient 5.1" 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="HttpCore 5.1" 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="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>
