<?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="Maven" xmlns="https://maven.apache.org/xsd/decoration-1.7.0.xsd">

    <skin>
        <groupId>lt.velykis.maven.skins</groupId>
        <artifactId>reflow-maven-skin</artifactId>
        <version>1.1.1</version>
    </skin>

    <!--
        Details on how to configure the reflow skin:
        http://andriusvelykis.github.io/reflow-maven-skin/skin/
    -->
    <custom>
        <reflowSkin>
            <theme>site</theme>
            <titleTemplate>Apache Royale� - %2$s</titleTemplate>
            <breadcrumbs>false</breadcrumbs>
            <highlightJs>true</highlightJs>
        </reflowSkin>
    </custom>

    <bannerLeft>
        <name>Apache Royale</name>
        <src>img/logo-royale.png</src>
        <href>https://royale.apache.org/</href>
    </bannerLeft>

    <bannerRight>
        <name>An Apache Project</name>
        <src>img/logo-asf.png</src>
        <href>http://www.apache.org</href>
    </bannerRight>

    <body>
        <head>
            <link rel="icon" type="image/x-icon" href="img/favicon.ico"/>
            <link rel="apple-touch-icon" href="img/apple-touch-icon-60.png"/>
            <link rel="apple-touch-icon" sizes="76x76" href="img/apple-touch-icon-76.png"/>
            <link rel="apple-touch-icon" sizes="120x120" href="img/apple-touch-icon-120.png"/>
            <link rel="apple-touch-icon" sizes="152x152" href="img/apple-touch-icon-152.png"/>
        </head>

        <links>
            <item name="Apache Royale Homepage" href="https://royale.apache.org/" />
            <item name="Apache Royale Documentation" href="https://apache.github.io/royale-docs/"/>
        </links>

        <menu ref="reports" />
        <menu ref="parent" />
        <menu ref="modules" />
    </body>
</project>
