<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>Apache Allura&#153;</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <link rel="stylesheet" href="css/normalize.min.css">
        <link rel="stylesheet" href="css/main.css">

        <script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
    </head>
    <body>

        <div class="header-container">
            <header class="wrapper clearfix">
                <img src="img/asf_logo.gif" style="float:right">
                <h1 class="title">Apache Allura&#153;</h1>
                <!--
                <nav>
                    <ul>
                        <li><a href="#">nav ul li a</a></li>
                        <li><a href="#">nav ul li a</a></li>
                        <li><a href="#">nav ul li a</a></li>
                    </ul>
                </nav>
                -->
            </header>
        </div>

        <div class="main-container">
            <div class="main wrapper clearfix">
                <article>

                    <p>Apache Allura is an open source implementation of a software <em>forge</em>, a web site that manages source code repositories, bug reports, discussions, wiki pages, blogs, and more for any number of individual projects. Read about all of <a href="https://forge-allura.apache.org/p/allura/wiki/Features/">Allura's features</a> or <a href="https://forge-allura.apache.org/p/allura/wiki/Feature%20Comparison/">compare features to other OSS forge software</a>.</p>
                    <p>The Allura project is self-hosted on an instance of Allura:</p>
                    <ul>
                        <li><a href="https://forge-allura.apache.org/p/allura/git/">Git</a></li>
                        <li><a href="https://forge-allura.apache.org/p/allura/wiki/">Wiki</a></li>
                        <li><a href="https://forge-allura.apache.org/p/allura/tickets/">Tickets</a> (on sourceforge.net currently)</li>
                    </ul>

                    <h2>Get Allura</h2>

                    <ul>
                        <li><a href="http://www.apache.org/dyn/closer.cgi/allura/allura-incubating-1.1.0.tar.gz">Download v1.1.0</a> released Feb 2014
                            <ul>
                                <li><a href="https://forge-allura.apache.org/p/allura/git/ci/asf_release_1.1.0/tree/CHANGES">Changelog</a></li>
                                <li><a href="http://apache.org/dist/allura/allura-incubating-1.1.0.tar.gz.md5">md5</a>, <a href="http://apache.org/dist/allura/allura-incubating-1.1.0.tar.gz.sha1">sha1</a>, <a href="http://apache.org/dist/allura/allura-incubating-1.1.0.tar.gz.sha512">sha512</a> sums</li>
                                <li>PGP <a href="http://apache.org/dist/allura/allura-incubating-1.1.0.tar.gz.asc">signature</a>
                    &amp; <a href="http://apache.org/dist/allura/KEYS">keys</a>
                                </li>
                            </ul>
                        </li>
                        <li><a href="https://forge-allura.apache.org/p/allura/git/ci/master/tree/INSTALL.markdown">Step-by-step installation instructions</a></li>
                        <li><a href="https://forge-allura.apache.org/p/allura/wiki/Install%20and%20Run%20Allura%20-%20Vagrant/">Quickstart with Vagrant VM</a></li>
                        <li><a href="https://forge-allura.apache.org/docs/#running-allura">Documentation</a></li>
                        <li>Need help? <a href="http://mail-archives.apache.org/mod_mbox/allura-users/">Use the users@allura mailing list</a></li>
                    </ul>

                    <h2>Development</h2>

                    <p>We welcome all developers and contributions. If you need any help making a fix or ideas for a new feature, send us an email on the mailing list, or ask in IRC (if we're around)</p>
                    <ul>
                        <li><a href="http://mail-archives.apache.org/mod_mbox/allura-dev/">dev@allura mailing list</a></li>
                        <li><a href="irc://chat.freenode.net/allura">#allura on Freenode IRC</a> (<a href="https://sourceforge.net/p/allura/chat/">archives</a>)</li>
                        <li><a href="https://forge-allura.apache.org/docs/#extending-allura">Developer Docs</a>
                            <ul>
                                <li><a href="https://forge-allura.apache.org/docs/contributing.html">Contributing Guide</a></li>
                            </ul>
                        </li>
                        <li><a href="https://builds.apache.org/job/Allura/">Jenkins CI build</a></li>
                    </ul>

                </article>
                <aside>
                    <h3>Apache Software Foundation</h3>
                    <ul>
                        <li><a href="http://www.apache.org/licenses/">License</a></li>
                        <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                        <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
                        <li><a href="http://www.apache.org/security/">Security</a></li>
                        <li><a href="http://www.apache.org/">www.apache.org</a></li>
                    </ul>
                </aside>

            </div> <!-- #main -->
        </div> <!-- #main-container -->

        <div class="footer-container">
            <footer class="wrapper">
                Copyright &copy; 2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
                <br>Apache, Allura, Apache Allura, and the Apache feather logo are trademarks of The Apache Software Foundation.
            </footer>
        </div>

        <!--
        don't need JS yet :)

        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.0.min.js"><\/script>')</script>

        <script src="js/main.js"></script>
        -->
    </body>
</html>
