<?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>

  <custom>
    <fluidoSkin>
      <topBarEnabled>true</topBarEnabled>
      <sideBarEnabled>false</sideBarEnabled>
      <skipGenerationDate>true</skipGenerationDate>
      <googleSearch>
        <sitesearch>${project.url}</sitesearch>
      </googleSearch>
      <twitter>
        <user>archiva</user>
        <showUser>true</showUser>
        <showFollowers>false</showFollowers>
      </twitter>
      <ohloh>
        <projectId>6670</projectId>
        <widget>stats</widget>
      </ohloh>
    </fluidoSkin>

  </custom>
  <body>
    <breadcrumbs>
<!-- TODO: need to stop them inheriting 
      <item name="Reports" href="/reports" />
-->
    </breadcrumbs>

    <menu name="Developers">
      <item name="Overview" href="/index.html" />
      <item name="Terminology" href="/terminology.html" />
      <item name="Metadata Control Model" href="/metadata-content-model.html" />
      <item name="Metadata API" href="/metadata-api.html" />
      <item name="Repository API" href="/repository-api.html" />
    </menu>
    <menu ref="modules" />
  </body>
</project>
