<!--!  Copyright (C) 2006-2014 Edgewall Software

  This software is licensed as described in the file COPYING, which
  you should have received as part of this distribution. The terms
  are also available at http://trac.edgewall.com/license.html.

  This software consists of voluntary contributions made by many
  individuals. For the exact contribution history, see the revision
  history and logs, available at http://trac.edgewall.org/.
-->
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:py="http://genshi.edgewall.org/"
      xmlns:i18n="http://genshi.edgewall.org/i18n"
      xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="layout.html" />
  <head>
    <title>About Trac</title>
    <link rel="stylesheet" type="text/css" href="${chrome.htdocs_location}css/about.css" />
    <script type="text/javascript">
      //<![CDATA[
      jQuery(document).ready(function ($) {
        $("#systeminfo table").append("<tr><th>jQuery</th><td>"+$().jquery+"</td></tr>" +
                                      "<tr><th>jQuery UI</th><td>"+$.ui.version+"</td></tr>" +
                                      "<tr><th>jQuery Timepicker</th><td>"+$.timepicker.version+"</td></tr>");
      });
      //]]>
    </script>
  </head>

  <body>
    <div id="content" class="about">

      <a href="http://trac.edgewall.org/"
        style="border: none; float: right; margin-left: 2em">
        <img style="display: block" src="${chrome.htdocs_location}trac_banner.png"
          alt="Trac: Integrated SCM &amp; Project Management"/>
      </a>
      <h1>About Trac</h1>
      <p>Trac is a web-based software project management and bug/issue
        tracking system emphasizing ease of use and low ceremony.
        It provides an integrated Wiki, an interface to version control
        systems, and a number of convenient ways to stay on top of events
        and changes within a project.
      </p>
      <p i18n:msg="">Trac is distributed under the modified BSD License.<br />
        The complete text of the license can be found
        <a href="http://trac.edgewall.org/wiki/TracLicense">online</a>
        as well as in the <tt>COPYING</tt> file included in the distribution.</p>
      <a href="http://www.python.org/" style="border: none; float: right">
        <img style="display: block" src="${chrome.htdocs_location}python.png"
          alt="python powered" width="140" height="56" />
      </a>
      <p i18n:msg="">Please visit the Trac open source project:
        <a href="http://trac.edgewall.org/">http://trac.edgewall.org/</a></p>
      <p class="copyright" xml:lang="en" i18n:msg="">Copyright &copy; 2003-2015
        <a href="http://www.edgewall.org/">Edgewall Software</a>
      </p>

      <py:if test="systeminfo or plugins or config">
        <hr />

        <div py:if="systeminfo" id="systeminfo">
          <h2>System Information</h2>
          <table class="listing">
            <thead><tr><th>Package</th><th>Version</th></tr></thead>
            <tbody>
              <tr py:for="name, value in systeminfo">
                <th>$name</th>
                <td>$value</td>
              </tr>
            </tbody>
          </table>
        </div>

        <div py:if="plugins" id="plugins">
          <h2>Installed Plugins</h2>
          <table class="listing">
            <thead><tr><th>Name</th><th>Version</th><th>Location</th></tr></thead>
            <tbody>
              <tr py:for="plugin in plugins"
                  class="${'disabled' if all(not component.enabled for module in plugin.modules.itervalues()
                                             for component in module.components.itervalues()) else None}">
                <th py:with="url = plugin.info.home_page or plugin.info.author_email and 'mailto:' + plugin.info.author_email">
                  <a py:strip="not url" href="$url">$plugin.name</a>
                </th>
                <td>${plugin.version or _('N/A')}</td>
                <td class="file">$plugin.path</td>
              </tr>
            </tbody>
          </table>
        </div>

        <div py:if="interface" id="interface">
          <h2>Interface Customization</h2>
          <table class="listing">
            <tr>
              <th class="section">Site templates</th>
              <td class="file">${' '.join(interface['site-templates'])}</td>
            </tr>
            <tr>
              <th class="section">Shared templates</th>
              <td class="file">${' '.join(interface['shared-templates'])}</td>
            </tr>
            <tr>
              <th class="section">Site static resources</th>
              <td class="file">${' '.join(interface['site-htdocs'])}</td>
            </tr>
            <tr>
              <th class="section">Shared static resources</th>
              <td class="file">${' '.join(interface['shared-htdocs'])}</td>
            </tr>
          </table>
        </div>

        <div py:if="config" id="config">
          <h2>Configuration</h2>
          <table class="listing">
            <thead>
              <tr>
                <th class="section">Section</th>
                <th class="name">Name</th>
                <th class="value">Value</th>
              </tr>
            </thead>
            <tbody>
              <py:for each="section in config">
                <tr py:for="idx,option in enumerate(section.options)"
                    class="${'modified' if option.modified else None}">
                  <th py:if="idx == 0" class="section"
                      rowspan="${len(section.options)}">${section.name}</th>
                  <td class="name">${option.name}</td>
                  <td class="value">${option.value}</td>
                </tr>
              </py:for>
            </tbody>
          </table>
        </div>
      </py:if>

    </div>
  </body>
</html>
