summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authoreliott <eliott@cactuswax.net>2007-11-03 03:45:10 -0400
committereliott <eliott@cactuswax.net>2007-11-03 03:45:10 -0400
commit39a548fd2629f3b6383990264b2e331b3aea99fb (patch)
treef68c3156dad5f7814473ceff2461679ddf11a2e8 /templates
Initial import for public release...
Special Note Prior to git import, approx 90% of the code was done by Judd Vinet. Thanks Judd!
Diffstat (limited to 'templates')
-rw-r--r--templates/403.html9
-rw-r--r--templates/404.html9
-rw-r--r--templates/500.html9
-rw-r--r--templates/base.html84
-rw-r--r--templates/devel/index.html75
-rw-r--r--templates/devel/profile.html32
-rw-r--r--templates/error_page.html8
-rw-r--r--templates/errors.html5
-rw-r--r--templates/feeds/news_description.html1
-rw-r--r--templates/feeds/news_title.html1
-rw-r--r--templates/feeds/packages_description.html1
-rw-r--r--templates/feeds/packages_title.html1
-rw-r--r--templates/news/add.html26
-rw-r--r--templates/news/delete.html16
-rw-r--r--templates/news/list.html26
-rw-r--r--templates/news/view.html13
-rw-r--r--templates/packages/details.html77
-rw-r--r--templates/packages/files.html11
-rw-r--r--templates/packages/flag.html26
-rw-r--r--templates/packages/flaghelp.html14
-rw-r--r--templates/packages/outofdate.txt13
-rw-r--r--templates/packages/search.html120
-rw-r--r--templates/public/about.html82
-rw-r--r--templates/public/art.html28
-rw-r--r--templates/public/blank.html10
-rw-r--r--templates/public/cvs.html48
-rw-r--r--templates/public/denied.html11
-rw-r--r--templates/public/developers.html67
-rw-r--r--templates/public/donate.html59
-rw-r--r--templates/public/download.html74
-rw-r--r--templates/public/index.html174
-rw-r--r--templates/public/index.html.bak151
-rw-r--r--templates/public/irc.html39
-rw-r--r--templates/public/moreforums.html78
-rw-r--r--templates/public/press.html33
-rw-r--r--templates/public/projects.html36
-rw-r--r--templates/registration/login.html23
-rw-r--r--templates/registration/logout.html10
-rw-r--r--templates/status_page.html8
-rw-r--r--templates/todolists/add.html25
-rw-r--r--templates/todolists/list.html30
-rw-r--r--templates/todolists/view.html31
-rw-r--r--templates/wiki/base.html30
-rw-r--r--templates/wiki/edit.html22
-rw-r--r--templates/wiki/home.html9
-rw-r--r--templates/wiki/page.html17
46 files changed, 1672 insertions, 0 deletions
diff --git a/templates/403.html b/templates/403.html
new file mode 100644
index 00000000..c853fef1
--- /dev/null
+++ b/templates/403.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="box">
+ <h2>403 - Access Forbidden</h2>
+ Sorry, the page you've requested is not available.
+ </div>
+{% endblock %}
+
diff --git a/templates/404.html b/templates/404.html
new file mode 100644
index 00000000..bc50f69b
--- /dev/null
+++ b/templates/404.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="box">
+ <h2>404 - Page Not Found</h2>
+ Sorry, the page you've requested does not exist.
+ </div>
+{% endblock %}
+
diff --git a/templates/500.html b/templates/500.html
new file mode 100644
index 00000000..9566fc29
--- /dev/null
+++ b/templates/500.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="box">
+ <h2>500 - Internal Server Error</h2>
+ Something has gone horribly wrong. Back away slowly.
+ </div>
+{% endblock %}
+
diff --git a/templates/base.html b/templates/base.html
new file mode 100644
index 00000000..507e8abb
--- /dev/null
+++ b/templates/base.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1-strict.dtd ">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <title>{% block title %}Arch Linux{% endblock %}</title>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <link rel="stylesheet" href="/media/arch.css" />
+ <link rel="icon" href="/media/favicon.ico" type="image/x-icon" />
+ <link rel="shortcut icon" href="/media/favicon.ico" type="image/x-icon" />
+ {% block head %}
+ {% endblock %}
+ </head>
+ <body>
+ <div id="head_container">
+ <div id="title">
+ <div id="logo"><a href="/"><img src="/media/logo.png" alt="Arch Logo" /></a></div>
+ <div id="titleimg"><a href="/"><img src="/media/title.png" alt="Arch Linux" /></a></div>
+ </div>
+ <div style="float: right; color: #eeeeee; font-size: small">
+ {% if not user.is_anonymous %}
+ Logged in as <strong>{{ user.username }}</strong>.
+ <a href="/accounts/logout/">Logout</a>
+ {% endif %}
+ </div>
+ <div id="main_nav">
+ {% block topmenu %}
+ <ul>
+ <li{% ifequal path '/download/' %} class="selected"{% endifequal %}><a href="/download/">Get Arch</a></li>
+ <li><a href="http://aur.archlinux.org">AUR</a></li>
+ <li><a href="http://bugs.archlinux.org">Bugs</a></li>
+ <li><a href="http://wiki.archlinux.org">Wiki</a></li>
+ <li><a href="http://bbs.archlinux.org">Forums</a></li>
+ <li{% ifequal path '/' %} class="selected"{% endifequal %}><a href="/">Home</a></li>
+ </ul>
+ {% endblock %}
+ </div>
+ {% block ads %}
+ {% if not user.is_anonymous %}
+ <div id="dev_nav">
+ <ul>
+ <li><a href="/devel/profile/">Profile</a></li>
+ <li><a href="https://www.archlinux.org/mailman/private/arch-dev/">Archives</a></li>
+ <li><a href="https://www.archlinux.org/wiki/">Dev Wiki</a></li>
+ <li><a href="/todo/">Todos</a></li>
+ <li><a href="/news/">News</a></li>
+ <li><a href="/devel/">Dashboard</a></li>
+ </ul>
+ </div>
+ {% else %}
+ <div id="ads">
+ <script type="text/javascript"><!--
+ google_ad_client = "pub-0403484505451360";
+ google_ad_width = 468;
+ google_ad_height = 60;
+ google_ad_format = "468x60_as";
+ google_color_border = "2D5893";
+ google_color_border = "fbf8f1";
+ google_color_bg = "fbf8f1";
+ google_color_link = "6C83B0";
+ google_color_url = "99AACC";
+ google_color_text = "000000";
+ //--></script>
+ <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
+ {% endif %}
+ </div>
+ {% endblock %}
+ </div>
+ <div id="content">
+ {% block content %}
+ <div class="right">
+ {% block content_right %}
+ {% endblock %}
+ </div>
+ <div class="left">
+ {% block content_left %}
+ {% endblock %}
+ </div>
+ {% endblock %}
+ </div>
+ <div class="foot">
+ Copyright © 2002-2007, Judd Vinet &lt;<a href="mailto:jvinet@zeroflux.org">jvinet@zeroflux.org</a>&gt;<br /><br />
+ <img src="http://www.archlinux.org/logos/button.png" alt="Arch Linux" />
+ </div>
+ </body>
+</html>
diff --git a/templates/devel/index.html b/templates/devel/index.html
new file mode 100644
index 00000000..2617de9f
--- /dev/null
+++ b/templates/devel/index.html
@@ -0,0 +1,75 @@
+{% extends "base.html" %}
+
+{% block content %}
+ {% if todos %}
+ <div class="greybox">
+ <h3 class="title">Package ToDo Lists</h3>
+ <table class="results" width="100%">
+ <tr>
+ <th>Name</th>
+ <th>Creation Date</th>
+ <th>Description</th>
+ </tr>
+ {% for todo in todos %}
+ <tr>
+ <td style="white-space:nowrap"><a href="/todo/{{ todo.id }}/">{{ todo.name }}</a></td>
+ <td>{{ todo.date_added }}</td>
+ <td>{{ todo.description }}</td>
+ </tr>
+ {% endfor %}
+ </table>
+ </div>
+ <br /><br />
+ {% endif %}
+
+ <div class="greybox">
+ <h3 class="title">Flagged Package Stats</h3>
+ <table class="results" width="100%">
+ <tr>
+ <th>Maintainer</th>
+ <th># Package</th>
+ <th># Flagged</th>
+ </tr>
+ {% for maint in stats %}
+ <tr>
+ <td><a href="/packages/?maint={{ maint.0.id }}">{{ maint.0.get_full_name }}</a></td>
+ <td><strong>{{ maint.1 }}</strong> packages</td>
+ <td><strong>{{ maint.2 }}</strong> packages</td>
+ </tr>
+ {% endfor %}
+ </table>
+ </div>
+ <br /><br />
+
+ <div class="box">
+ <h3 class="title">Package Maintenance</h3>
+ <br />
+ <table width="100%">
+ <tr>
+ <td style="vertical-align: top">
+ {% if maint %}
+ <a href="/packages/?maint={{ maint.id }}">My Packages</a><br />
+ {% endif %}
+ <a href="/packages/?maint=0">Orphan Packages</a><br />
+ <br />
+ <a href="/devel/guide/">Package Maintainer's Guide</a><br />
+ </td><td style="vertical-align: top">
+ {% if pkgs %}
+ <h4>My Flagged Packages:</h4>
+ <ul class="small">
+ <li><form method="post" action="/devel/notify/">
+ <input name="notify" type="checkbox" value="yes"{% if maint.get_profile.notify %} checked{% endif %} /> Notify me when packages are flagged
+ &nbsp; &nbsp;
+ <input type="submit" value="Update" />
+ </form></li>
+ </ul>
+ <ul class="small">
+ {% for pkg in pkgs %}
+ <li><a href="/packages/{{ pkg.id }}/">{{ pkg.repo.name }}::{{ pkg.pkgname }} {{ pkg.pkgver }}</a></li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+ </td>
+ </tr>
+ </table>
+{% endblock %}
diff --git a/templates/devel/profile.html b/templates/devel/profile.html
new file mode 100644
index 00000000..60837356
--- /dev/null
+++ b/templates/devel/profile.html
@@ -0,0 +1,32 @@
+{% load validation %}
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="greybox">
+ <h2 class="title">Developer Profile</h2>
+ {% if errors %}
+ {% print_errors errors %}
+ {% endif %}
+ <form method="post" action=".">
+ <table>
+ <tr>
+ <td>Username:</td>
+ <td><strong>{{ user.username }}</strong></td>
+ </tr><tr>
+ <td>Email Address:</td>
+ <td><input type="text" name="email" value="{{ user.email }}" size="30"></td>
+ </tr><tr>
+ <td>New Password:</td>
+ <td><input type="password" name="passwd" size="30"></td>
+ </tr><tr>
+ <td>Confirm Password:</td>
+ <td><input type="password" name="passwd2" size="30"></td>
+ </tr><tr>
+ <td colspan="2" align="right">
+ <input type="submit" value=" Save ">
+ </td>
+ </tr>
+ </table>
+ </form>
+ </div>
+{% endblock %}
diff --git a/templates/error_page.html b/templates/error_page.html
new file mode 100644
index 00000000..575ac416
--- /dev/null
+++ b/templates/error_page.html
@@ -0,0 +1,8 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="box">
+ <h4>{{ errmsg }}</h4>
+ </div>
+{% endblock %}
+
diff --git a/templates/errors.html b/templates/errors.html
new file mode 100644
index 00000000..84f98d79
--- /dev/null
+++ b/templates/errors.html
@@ -0,0 +1,5 @@
+<ul class="error">
+{% for err in errors %}
+ <li>{{ err.0 }}: {{ err.1 }}</li>
+{% endfor %}
+</ul>
diff --git a/templates/feeds/news_description.html b/templates/feeds/news_description.html
new file mode 100644
index 00000000..26e1cbbe
--- /dev/null
+++ b/templates/feeds/news_description.html
@@ -0,0 +1 @@
+{{ obj.content }}
diff --git a/templates/feeds/news_title.html b/templates/feeds/news_title.html
new file mode 100644
index 00000000..d355de5b
--- /dev/null
+++ b/templates/feeds/news_title.html
@@ -0,0 +1 @@
+{{ obj.title }}
diff --git a/templates/feeds/packages_description.html b/templates/feeds/packages_description.html
new file mode 100644
index 00000000..6b9c47b3
--- /dev/null
+++ b/templates/feeds/packages_description.html
@@ -0,0 +1 @@
+{{ obj.pkgdesc }}
diff --git a/templates/feeds/packages_title.html b/templates/feeds/packages_title.html
new file mode 100644
index 00000000..a2731625
--- /dev/null
+++ b/templates/feeds/packages_title.html
@@ -0,0 +1 @@
+{{ obj.pkgname }} {{ obj.pkgver }}-{{ obj.pkgrel }}
diff --git a/templates/news/add.html b/templates/news/add.html
new file mode 100644
index 00000000..702d7ab7
--- /dev/null
+++ b/templates/news/add.html
@@ -0,0 +1,26 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="greybox">
+ {% if news %}
+ <h2 class="title">Edit News</h2>
+ {% else %}
+ <h2 class="title">Add News</h2>
+ {% endif %}
+ <form method="post" action=".">
+ <table>
+ <tr>
+ <td>Title:</td>
+ <td>{{ form.title }}</td>
+ </tr><tr>
+ <td style="vertical-align:top">Content:</td>
+ <td>{{ form.content }}</td>
+ </tr><tr>
+ <td colspan="2" align="right">
+ <input type="submit" value=" Save " />
+ </td>
+ </tr>
+ </table>
+ </form>
+ </div>
+{% endblock %}
diff --git a/templates/news/delete.html b/templates/news/delete.html
new file mode 100644
index 00000000..7ac5e250
--- /dev/null
+++ b/templates/news/delete.html
@@ -0,0 +1,16 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="greybox">
+ <h2>Confirm Delete</h2>
+ <hr />
+ <form method="post" action=".">
+ <table>
+ <tr>
+ <td>Are You Sure?</td>
+ <td>&nbsp; &nbsp; <input name="delete" type="submit" value=" Yes " /></td>
+ </tr>
+ </table>
+ </form>
+ </div>
+{% endblock %}
diff --git a/templates/news/list.html b/templates/news/list.html
new file mode 100644
index 00000000..e188e3c9
--- /dev/null
+++ b/templates/news/list.html
@@ -0,0 +1,26 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="greybox">
+ {% if perms.news.add_news %}
+ <div style="float:right">
+ <a href="/news/add/">Add News Item</a>
+ </div>
+ {% endif %}
+ <h2 class="title">News Updates</h2>
+ <table class="results" width="100%">
+ {% for item in news %}
+ <tr>
+ <td>{{ item.postdate }}</td>
+ <td><a href="{{ item.get_absolute_url }}">{{ item.title }}</a></td>
+ <td>
+ {% comment %}{% if item.author %}{% ifequal user.username item.author.username %}{% endcomment %}
+ <a href="/news/edit/{{ item.id }}/">edit</a>
+ <a href="/news/delete/{{ item.id }}/">delete</a>
+ {% comment %}{% endifequal %}{% endif %}{% endcomment %}
+ </td>
+ </tr>
+ {% endfor %}
+ </table>
+ </div>
+{% endblock %}
diff --git a/templates/news/view.html b/templates/news/view.html
new file mode 100644
index 00000000..5d100450
--- /dev/null
+++ b/templates/news/view.html
@@ -0,0 +1,13 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="box">
+ <div style="float: right; font-size: small">
+ {{ news.author.get_full_name }}<br />
+ {{ news.postdate }}
+ </div>
+ <h3>{{ news.title }}</h3>
+ <hr /><br />
+ {{ news.content|linebreaks }}
+ </div>
+{% endblock %}
diff --git a/templates/packages/details.html b/templates/packages/details.html
new file mode 100644
index 00000000..65de079a
--- /dev/null
+++ b/templates/packages/details.html
@@ -0,0 +1,77 @@
+{% load package_extras %}
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="box">
+ <h2 class="title">{{ pkg.pkgname }} {{ pkg.pkgver }}-{{ pkg.pkgrel }}</h2>
+ <div style="float:right" class="listing">
+ <ul class="small">
+ <li><a href="http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/{{ pkg.category.category }}/{{ pkg.pkgname }}/?cvsroot={{ pkg.repo.name }}&amp;only_with_tag=CURRENT">View CVS Entries</a></li>
+ <li><a href="/packages/files/{{ pkg.id }}/">View File List</a></li>
+ <li>
+ {% if pkg.needupdate %}
+ <span style="font-size:x-small"><em>This package has been flagged out-of-date</em></span>
+ {% if not user.is_anonymous %}{% if pkg.maintainer %}{% ifequal user.username pkg.maintainer.username %}
+ <br />&nbsp; &nbsp; <a href="/packages/unflag/{{ pkg.id }}/">Click here to unflag</a>
+ {% endifequal %}{% endif %}{% endif %}
+ {% else %}
+ <a href="/packages/flag/{{ pkg.id }}/" onclick="return !window.open('/packages/flag/{{ pkg.id }}/','FlagHelp','height=250,width=450,location=no,scrollbars=yes,menubars=no,toolbars=no,resizable=no');">Flag Package Out-of-Date</a>
+ <a href="/packages/flaghelp" onclick="return !window.open('/packages/flaghelp','FlagHelp','height=250,width=450,location=no,scrollbars=yes,menubars=no,toolbars=no,resizable=no');"><span style="font-size:x-small">(?)</span></a>
+ {% endif %}
+ </li>
+ {% if not user.is_anonymous %}
+ <li>&nbsp;</li>
+ <li>
+ <form name="devaction" method="post" action="/packages/update/">
+ <input type="hidden" name="pkgid" value="{{ pkg.id }}" />
+ <input type="submit" style="background: #e1e3e6;" name="adopt" value="Adopt Package" />
+ <input type="submit" style="background: #e1e3e6;" name="disown" value="Disown Package" />
+ </form>
+ </li>
+ {% endif %}
+ </ul>
+ </div>
+ <table class="listing">
+ <tr>
+ <th>Repository:</th>
+ <td>{{ pkg.repo.name }}</td>
+ </tr><tr>
+ <th>Category:</th>
+ <td>{{ pkg.category.category }}</td>
+ </tr><tr>
+ <th>Description:</th>
+ <td>{{ pkg.pkgdesc }}</td>
+ </tr><tr>
+ <th>URL:</th>
+ <td><a href="{{ pkg.url }}">{{ pkg.url }}</a></td>
+ </tr><tr>
+ <th>Maintainer:</th>
+ <td>{% if pkg.maintainer %}{{ pkg.maintainer.get_full_name }}{% else %}None{% endif %}</td>
+ </tr><tr>
+ <th>LastUpdated:</th>
+ <td>{{ pkg.last_update|date:"Y-m-d" }}</td>
+ </tr>
+ </table>
+ <br />
+ <table width="100%">
+ <tr>
+ <td valign="top">
+ <div class="listing">
+ <h4>Dependencies:</h4>
+ <ul style="font-size:small;list-style:none">
+ {{ pkg.depends_urlize }}
+ </ul>
+ </div>
+ </td><td colspan="2" valign="top">
+ <div class="listing">
+ <h4>Sources:</h4>
+ <ul style="font-size:small;list-style:none">
+ {{ pkg.sources_urlize }}
+ </ul>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+{% endblock %}
+
diff --git a/templates/packages/files.html b/templates/packages/files.html
new file mode 100644
index 00000000..24f55819
--- /dev/null
+++ b/templates/packages/files.html
@@ -0,0 +1,11 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="box">
+ <h3>Viewing Files: {{ pkg.pkgname }} {{ pkg.pkgver }}-{{ pkg.pkgrel }}</h3>
+ {% for file in files %}
+ {{ file.path }}<br />
+ {% endfor %}
+ </div>
+{% endblock %}
+
diff --git a/templates/packages/flag.html b/templates/packages/flag.html
new file mode 100644
index 00000000..215b6fa8
--- /dev/null
+++ b/templates/packages/flag.html
@@ -0,0 +1,26 @@
+{% load validation %}
+<html>
+<head><title>Flagging Packages</title></head>
+<body>
+{% if errors %}
+ {% print_errors errors %}
+{% endif %}
+<span style="font-family: verdana, arial, helvetica">
+{% if confirmemail %}
+ Thank you. Maintainers have been notified.
+{% else %}
+<form method="post" action=".">
+ Please confirm your flag request.<br />
+ <br />
+ Email Address: (required) <br />
+ <input type="text" name="confirmemail" size="40" maxlength="128" /><br />
+ <br />
+ Message to dev: (optional)<br />
+ <textarea name="usermessage" rows="3" cols="40"></textarea><br />
+ <input type="submit" value=" Confirm " />
+</form>
+{% endif %}
+</span>
+</body>
+</html>
+
diff --git a/templates/packages/flaghelp.html b/templates/packages/flaghelp.html
new file mode 100644
index 00000000..09f7530b
--- /dev/null
+++ b/templates/packages/flaghelp.html
@@ -0,0 +1,14 @@
+<html>
+<head><title>Flagging Packages</title></head>
+<body>
+<span style="font-family: verdana, arial, helvetica">
+If you notice that one of Arch's packages is out of date (ie, there is a newer
+<b>stable</b> release available), then please notify us by using the <b>Flag</b>
+button in the <i>Package Details</i> screen. This will notify the maintainer
+responsible for that package so they can update it.
+<br><br>
+<b>Note:</b> Please do <i>not</i> use this facility if the package is broken!
+Use the <a target="_blank" href='http://bugs.archlinux.org'>bugtracker</a> instead.
+</span>
+</body>
+</html>
diff --git a/templates/packages/outofdate.txt b/templates/packages/outofdate.txt
new file mode 100644
index 00000000..7b863608
--- /dev/null
+++ b/templates/packages/outofdate.txt
@@ -0,0 +1,13 @@
+
+* Note: this is an automated message
+
+{{ email }} wants to notify you that the following package may be out
+of date:
+
+ {{ pkgname }} ({{ weburl }})
+{% if message %}
+The user provided the following additional text:
+
+{{ message }}
+{% endif %}
+
diff --git a/templates/packages/search.html b/templates/packages/search.html
new file mode 100644
index 00000000..030289d4
--- /dev/null
+++ b/templates/packages/search.html
@@ -0,0 +1,120 @@
+{% load validation %}
+{% load package_extras %}
+{% extends "base.html" %}
+
+{% block head %}
+<script type="text/JavaScript" src="/media/calendar.js"></script>
+<link href="/media/calendar.css" rel="stylesheet" type="text/css" />
+{% endblock %}
+
+{% block content %}
+ <div class="greybox">
+ <h4 style="text-align: right">Search Criteria</h4>
+ {% if errors %}
+ {% print_errors errors %}
+ {% endif %}
+ <hr />
+ <form method="get" action="/packages/search/">
+ <table width="100%">
+ <tr>
+ <td><span class="smalltext">Repository</span></td>
+ <td><span class="smalltext">Category</span></td>
+ <td><span class="smalltext">Keywords</span></td>
+ <td><span class="smalltext">Last Update</span></td>
+ <td><span class="smalltext">Per Page</span></td>
+ </tr><tr>
+ <td>
+ <select name="repo">
+ <option value="all">All</option>
+ {% for r in repos %}
+ <option value="{{ r.name }}"{% ifequal repo r.name %} selected{% endifequal %}>{{ r.name|capfirst }}</option>
+ {% endfor %}
+ </select>
+ </td><td>
+ <select name="category">
+ <option value="all">All</option>
+ {% for c in categories %}
+ <option value="{{ c.category }}"{% ifequal category c.category %} selected{% endifequal %}>{{ c.category|capfirst }}</option>
+ {% endfor %}
+ </select>
+ </td><td>
+ <input type="text" name="q" value="{{ query|escape }}" size="30" maxlength="200" />
+ </td><td>
+ <input type="text" name="lastupdate" value="{{ lastupdate|escape }}" size="10" maxlength="10" id="f_lastupdate" /> <button type="reset" id="f_trigger">...</button>
+ <script type="text/javascript">
+ Calendar.setup({
+ inputField : "f_lastupdate", // id of the input field
+ ifFormat : "%Y-%m-%d", // format of the input field
+ showsTime : false, // will display a time selector
+ button : "f_trigger", // trigger for the calendar (button ID)
+ singleClick : true, // double-click mode
+ step : 1 // show all years in drop-down boxes (instead of every other year as default)
+ });
+ </script>
+ </td><td>
+ <select name="limit">
+ <option value="50"{% ifequal limit 50 %} selected{% endifequal %}>50</option>
+ <option value="100"{% ifequal limit 100 %} selected{% endifequal %}>100</option>
+ <option value="250"{% ifequal limit 250 %} selected{% endifequal %}>250</option>
+ <option value="0"{% ifequal limit 0 %} selected{% endifequal %}>All</option>
+ </select>
+ </td><td>
+ <input type="submit" value=" Search " />
+ </td>
+ </tr>
+ </table>
+ </form>
+ </div>
+ <br /><br />
+
+ {% if results %}
+ <div class="greybox">
+ <table class="results" width="100%">
+ <tr>
+ {% if not user.is_anonymous %}
+ <form method="post" action="/packages/update/">
+ <th>&nbsp;</th>
+ {% endif %}
+ <th><a href="{% buildsortqs "repo" %}">Repo</a></th>
+ <th><a href="{% buildsortqs "category" %}">Category</a></th>
+ <th><a href="{% buildsortqs "pkgname" %}">Name</a></th>
+ <th>Version</th>
+ <th>Description</th>
+ <th><a href="{% buildsortqs "last_update" %}">Last Updated</a></th>
+ </tr>
+ {% for pkg in results %}
+ <tr class="{% cycle pkgr1,pkgr2 %}">
+ {% if not user.is_anonymous %}
+ <td><input type="checkbox" name="pkgid" value="{{ pkg.id }}" /></td>
+ {% endif %}
+ <td>{{ pkg.repo.name }}</td>
+ <td>{{ pkg.category.category }}</td>
+ <td><a href="{{ pkg.get_absolute_url }}">{{ pkg.pkgname }}</a></td>
+ {% if pkg.needupdate %}
+ <td><span style="color:red">{{ pkg.pkgver }}-{{ pkg.pkgrel }}</span></td>
+ {% else %}
+ <td>{{ pkg.pkgver }}-{{ pkg.pkgrel }}</td>
+ {% endif %}
+ <td>{{ pkg.pkgdesc }}</td>
+ <td>{{ pkg.last_update|date:"Y-m-d" }}</td>
+ </tr>
+ {% endfor %}
+ <tr>
+ <td colspan="2" style="font-size:x-small">{% if prevpage %}<br /><a href="{{ prevpage }}">&lt;&lt;&lt; Prev</a>{% endif %}</td>
+ <td colspan="2">&nbsp;</td>
+ <td colspan="2" style="font-size:x-small;text-align:right">{% if nextpage %}<br /><a href="{{ nextpage }}">Next &gt;&gt;&gt;</a>{% endif %}</td>
+ </tr>
+ {% if not user.is_anonymous %}
+ <tr>
+ <td colspan="3">&nbsp;</td>
+ <td colspan="2" style="text-align:center"><input type="submit" name="adopt" value="Adopt Packages"></td>
+ <td colspan="1" style="text-align:center"><input type="submit" name="disown" value="Disown Packages"></td>
+ <td colspan="1">&nbsp;</td>
+ </tr>
+ </form>
+ {% endif %}
+ </table>
+ </div>
+ {% endif %}
+{% endblock %}
+
diff --git a/templates/public/about.html b/templates/public/about.html
new file mode 100644
index 00000000..0712b5d0
--- /dev/null
+++ b/templates/public/about.html
@@ -0,0 +1,82 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <h2 class="title">About Arch Linux</h2>
+
+ <p>
+ Arch Linux is a general purpose linux distribution that can be molded to
+ do just about anything. It is fast, lightweight, flexible, and most of the
+ parts under the hood are quite simple to understand and tweak, which can
+ make it a good distro to "learn the ropes" on. We do not provide any
+ configuration helper utilities (ie, you won't find <i>linuxconf</i> in
+ here) so you will quickly become very proficient at configuring your system
+ from the shell commandline.
+ </p>
+
+ <p>
+ Arch Linux uses i686-optimized packages which gives us improved
+ performance over some of our i386-optimized cousins. This means that Arch
+ Linux will only run on a Pentium II processor or higher. We try to stay
+ fairly bleeding edge, and typically have the latest stable versions of
+ software.
+ </p>
+
+ <p>
+ Arch Linux uses the <a href='http://www.archlinux.org/pacman'>Pacman</a>
+ package manager, which couples a simple binary package format with an
+ easy-to-use build system, allowing the users to easily manage and customize
+ their packages, whether they be official Arch packages or the user's own
+ homegrown ones. The repository system allows users to build and maintain
+ their own custom package repositories, which encourages community growth and
+ contribution.
+ </p>
+
+ <p>
+ Pacman can keep a system up to date by synchronizing package lists with
+ the master server, making it a breeze for the security-conscious system
+ administrator to maintain. This server/client model also allows you to
+ download/install packages with a simple command, complete with all required
+ dependencies (similar to Debian's apt-get).
+ </p>
+
+ <p>
+ Arch's official package set is fairly streamlined, but we supplement this
+ with a larger, more complete "extra" repository that contains a lot of the
+ stuff that never made it into our core package set. This repository is
+ constantly growing with the help of packages submitted from our strong
+ community.
+ </p>
+
+ <p>
+ Arch Linux does not provide any official support, but you will find a lot
+ of helpful people on our IRC channel and on our <a
+ href='http://bbs.archlinux.org'>user forums</a>. Chances are that some other
+ Archer has had the same problem/question as you and it's already been
+ answered. Ask around!
+ </p>
+
+ <p>
+ Arch Linux uses a "rolling release" system which works like this: We have
+ two versions of our core package set at any given time, <b>Current</b> and
+ <b>Release</b>. The Current repository always contains the latest and
+ greatest versions of packages. As soon as a package is updated it is part of
+ the Current repository, so this is the one to follow if you want to stay very
+ up to date. The Release repository follows the semi-regular snapshot
+ releases and does not update until the next snapshot/iso has been released.
+ For example, the Release repository will point to all packages on the 0.5 ISO
+ until we release 0.6; then it will point to 0.6 packages until 0.7 is
+ released. This is useful if you only want to update your system when a new
+ release is available.
+ </p>
+
+ <p>
+ So, to sum up: Arch Linux is a workhorse distribution designed to fit the
+ needs of the competent linux user. We strive to make it both powerful and
+ easy to manage, making it an ideal distro for servers and workstations. Take
+ it in any direction you like.
+ </p>
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/art.html b/templates/public/art.html
new file mode 100644
index 00000000..0fab30a8
--- /dev/null
+++ b/templates/public/art.html
@@ -0,0 +1,28 @@
+{% extends "base.html" %}
+
+{% block content %}
+<br /><br />
+<div class="box">
+ <h2 class="title">Arch Linux Logos</h2>
+ <br /><br />
+ <table id="art" width="90%">
+ <tr>
+ <td><img src="/logos/archblue2.png"><br><a href="/logos/archlinux_logo_1.svg">SVG</a></td>
+ <td><a href="/logos/archlinux_logo_aqua.png"><img src="/logos/sml-archlinux_logo_aqua.png" border=0></a><br><a href="/logos/archlinux_logo_aqua.svg">SVG</a></td>
+ </tr><tr>
+ <td><img src="/logos/128x128/arch_linux_blue.png"><br><a href="/logos/scalable/arch_linux_blue.svg">SVG</a></td>
+ <td><img src="/logos/128x128/arch_linux_white.png"><br><a href="/logos/scalable/arch_linux_white.svg">SVG</a></td>
+ </tr><tr>
+ <td><img src="/logos/archblue.png"><br><a href="/logos/archlinux_logo_2.svg">SVG</a></td>
+ <td><a href="/logos/archstar.jpg"><img src="/logos/sml-archstar.jpg" border="0"></a></td>
+ </tr><tr>
+ <td><a href="/logos/cdlabel-0.8-2.svg"><img src="/logos/sml-cdlabel-0.8-2.png" border="0"></a></td>
+ <td><a href="/logos/cdlabel-0.8.svg"><img src="/logos/sml-cdlabel-0.8.png" border="0"></a></td>
+ </tr><tr>
+ <td colspan="2"><img src="/logos/archbannerglass3.jpg"></td>
+ </tr>
+ </table>
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/blank.html b/templates/public/blank.html
new file mode 100644
index 00000000..d1e7b71b
--- /dev/null
+++ b/templates/public/blank.html
@@ -0,0 +1,10 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <h2 class="title">Download Arch Linux</h2>
+ <br /><br />
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/cvs.html b/templates/public/cvs.html
new file mode 100644
index 00000000..715d00d3
--- /dev/null
+++ b/templates/public/cvs.html
@@ -0,0 +1,48 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="greybox" style="text-align:center">
+ You can access all of our PKGBUILD files from the
+ <a href="http://cvs.archlinux.org">cvsweb</a> interface.
+</div>
+<br /><br />
+<div class="box">
+ <h2 class="title">CVS Repositories</h2>
+ <br /><br />
+ Anonymous CVS access is also available. Use <i><u>anonymous</u></i> as the
+ username and password.<br /><br />
+ <ol class="instructions">
+ <li>
+ Set CVSROOT to the repository you wish to access:<br /><br />
+ <blockquote class="code">
+# export CVSROOT=:pserver:anonymous@cvs.archlinux.org:/home/cvs-core<br /><br />
+OR<br /><br />
+# export CVSROOT=:pserver:anonymous@cvs.archlinux.org:/home/cvs-extra<br /><br />
+OR<br /><br />
+# export CVSROOT=:pserver:anonymous@cvs.archlinux.org:/home/cvs-unstable<br /><br />
+ </blockquote>
+ <br /><br />
+ </li>
+ <li>
+ Login:<br /><br />
+ <blockquote class="code">
+# touch ~/.cvspass<br />
+# cvs login<br />
+Logging in to :pserver:anonymous@cvs.archlinux.org:2401/home/cvs-core<br />
+CVS password: anonymous<br />
+ </blockquote>
+ <br /><br />
+ </li>
+ <li>
+ Check out the repository:<br /><br />
+ <blockquote class="code">
+# cvs -z3 co core<br /><br />
+OR<br /><br />
+# cvs -z3 co extra<br />
+ </blockquote>
+ </li>
+ </ol>
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/denied.html b/templates/public/denied.html
new file mode 100644
index 00000000..c59c0f73
--- /dev/null
+++ b/templates/public/denied.html
@@ -0,0 +1,11 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <br /><br />
+ Sorry, you don't have sufficient privileges to perform this function.
+ <br /><br />
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/developers.html b/templates/public/developers.html
new file mode 100644
index 00000000..6b1fe8b7
--- /dev/null
+++ b/templates/public/developers.html
@@ -0,0 +1,67 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <h2 class="title">Arch Linux Core Developers</h2>
+ <br /><br />
+ <div id="devlist">
+ {% for dev in devs %}
+ <a href="#{{ dev.first_name}}">{{ dev.first_name }}</a> &nbsp;
+ {% endfor %}
+ </div><br /><br />
+
+ <table class="center" cellpadding="20">
+ {% for dev in devs %}
+ <tr>
+ <td class="devpic">
+ <img src="{{ dev.get_profile.get_picture_url }}" height="175" width="175" style="border:1px solid black">
+ </td><td>
+ <a name="{{ dev.first_name }}" />
+ <table class="deventry" cellspacing="5">
+ <tr>
+ <th>Name:</th>
+ <td>{{ dev.get_full_name }}</td>
+ </tr><tr>
+ <th>Alias:</th>
+ <td>{{ dev.get_profile.alias }}</td>
+ </tr><tr>
+ <th>Email:</th>
+ <td>{{ dev.get_profile.public_email }}</td>
+ </tr><tr>
+ <th>Other Contact:</th>
+ <td>{{ dev.get_profile.other_contact }}</td>
+ </tr><tr>
+ <th>Roles:</th>
+ <td>{{ dev.get_profile.roles }}<br />
+ </td>
+ </tr><tr>
+ <th>Website:</th>
+ <td>{{ dev.get_profile.website }}</td>
+ </tr><tr>
+ <th>Occupation:</th>
+ <td>{{ dev.get_profile.occupation }}</td>
+ </tr><tr>
+ <th>YOB:</th>
+ <td>{% if dev.get_profile.yob %}{{ dev.get_profile.yob }}{% else %}&nbsp;{% endif %}</td>
+ </tr><tr>
+ <th>Location:</th>
+ <td>{{ dev.get_profile.location }}</td>
+ </tr><tr>
+ <th>Languages:</th>
+ <td>{{ dev.get_profile.languages }}</td>
+ </tr><tr>
+ <th>Interests:</th>
+ <td>{{ dev.get_profile.interests }}</td>
+ </tr><tr>
+ <th>Favorite Distros:</th>
+ <td>{{ dev.get_profile.favorite_distros }}</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ {% endfor %}
+ </table>
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/donate.html b/templates/public/donate.html
new file mode 100644
index 00000000..bdb9adef
--- /dev/null
+++ b/templates/public/donate.html
@@ -0,0 +1,59 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <h2 class="title">Donate to Arch Linux</h2>
+ <p>
+ Arch Linux survives because of the tireless efforts of many people in
+ the community and the core development circle. None of us are paid for our
+ work, and we don't have the personal funds to sustain server costs ourselves.
+ </p><p>
+ There are many ways to help Arch Linux. If technical development,
+ documentation, or support aren't your strong points, you could certainly
+ help us by dropping a few bucks our way.
+ </p><p>
+ Many thanks!
+ </p>
+ <div style="text-align:center">
+ <!-- paypal code -->
+ <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
+ <input type="hidden" name="cmd" value="_xclick">
+ <input type="hidden" name="business" value="jvinet@zeroflux.org">
+ <input type="hidden" name="item_name" value="Arch Linux">
+ <input type="hidden" name="image_url" value="/logos/arch-paypal.jpg">
+ <input type="hidden" name="no_shipping" value="1">
+ <input type="hidden" name="cn" value="Suggestions/Comments">
+ <input type="hidden" name="no_note" value="1">
+ <input type="image" src="https://www.paypal.com/images/x-click-butcc-donate.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!" style="background: transparent; border: none">
+ </form>
+ </div>
+ <br /><br />
+ <h2 class="title">Past Donors</h2>
+ <table width="100%">
+ <tr>
+ <td style="font-size:x-small;vertical-align:top">
+ {% for donor in slice1 %}
+ {{ donor.name }}<br />
+ {% endfor %}
+ </td>
+ <td style="font-size:x-small;vertical-align:top">
+ {% for donor in slice2 %}
+ {{ donor.name }}<br />
+ {% endfor %}
+ </td>
+ <td style="font-size:x-small;vertical-align:top">
+ {% for donor in slice3 %}
+ {{ donor.name }}<br />
+ {% endfor %}
+ </td>
+ <td style="font-size:x-small;vertical-align:top">
+ {% for donor in slice4 %}
+ {{ donor.name }}<br />
+ {% endfor %}
+ </td>
+ </tr>
+ </table>
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/download.html b/templates/public/download.html
new file mode 100644
index 00000000..be840d3a
--- /dev/null
+++ b/templates/public/download.html
@@ -0,0 +1,74 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <h2 class="title">Buy A CD</h2>
+ CDs are available for purchase from OSDisc.com. For each CD purchased, a
+ portion of the money goes to the Arch Linux Project.<br /><br />
+ <div style="text-align:center">
+ <a href="http://www.osdisc.com/cgi-bin/distro/index.cgi?distro=archlinux">Click here to purchase a CD</a>
+ </div>
+ <br /><br />
+
+ <h2 class="title">BitTorrent Download</h2>
+ <br /><br />
+ <div style="text-align:center">
+ <h3>Download with BitTorrent</h3>
+ If you can spare the bytes, please leave the BT client
+ open after your<br /> download is finished, so you can seed it back to others.<br />
+ <br />
+ <table class="center" cellspacing="10">
+ <tr>
+ <th>&nbsp;</th>
+ <th>CORE</th>
+ <th>FTP Install</th>
+ </tr>
+ <tr>
+ <td>i686:</td>
+ <td>
+ <a href="ftp://ftp.archlinux.org/iso/2007.08/i686/Archlinux-i686-2007.08-2.core.iso.torrent">
+ 2007.08-2
+ </a>
+ </td>
+ <td>
+ <a href="ftp://ftp.archlinux.org/iso/2007.08/i686/Archlinux-i686-2007.08-2.ftp.iso.torrent">
+ 2007.08-2
+ </a>
+ </td>
+ </tr><tr>
+ <td>x86_64:</td>
+ <td>
+ <a href="ftp://ftp.archlinux.org/iso/2007.08/x86_64/Archlinux-x86_64-2007.08-2.core.iso.torrent">
+ 2007.08-2
+ </a>
+ </td>
+ <td>
+ <a href="ftp://ftp.archlinux.org/iso/2007.08/x86_64/Archlinux-x86_64-2007.08-2.ftp.iso.torrent">
+ 2007.08-2
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <br /><br />
+
+ <h2 class="title">HTTP/FTP Download</h2>
+ <br /><br />
+ <div style="text-align:center">
+ <h3>Download with HTTP/FTP</h3>
+ In addition to the BitTorrent links above, ISO images can also be downloaded <br /> via HTTP/FTP from the /iso/ sub-directory of mirror sites listed below.<br />
+ <br /><br />
+ <h3>Mirror Sites</h3>
+ <table class="center" cellspacing="10">
+ {% for mirror in mirrors %}
+ <tr>
+ <td style="text-align:left"><a href="{{ mirror.url }}">{{ mirror.domain }}</a></td>
+ <td style="text-align:right">{{ mirror.country }}</td>
+ </tr>
+ {% endfor %}
+ </table>
+ </div>
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/index.html b/templates/public/index.html
new file mode 100644
index 00000000..2e0d0056
--- /dev/null
+++ b/templates/public/index.html
@@ -0,0 +1,174 @@
+{% extends "base.html" %}
+
+{% block head %}
+<link rel="alternate" type="application/rss+xml" title="Arch Linux News Updates" href="/feeds/news/" />
+<link rel="alternate" type="application/rss+xml" title="Arch Linux Package Updates" href="/feeds/packages/" />
+{% endblock %}
+
+{% block content_left %}
+ <div id="about" class="box">
+ <h2>Welcome to Arch!</h2>
+ <p>
+ You've reached the website for <strong>Arch Linux</strong>, a lightweight
+ and flexible linux distribution that tries to Keep It Simple.
+ </p><p>
+ Currently we have official packages optimized for the i686 and x86-64
+ architectures. We complement our official package sets with a
+ <a href="http://aur.archlinux.org">community-operated package repository</a>
+ that grows in size and quality each and every day.
+ </p><p>
+ Our strong community is diverse and helpful, and we pride ourselves on
+ the range of skillsets and uses for Arch that stem from it. Please
+ check out our <a href="http://bbs.archlinux.org">forums</a> and
+ <a href="http://www.archlinux.org/mailman/listinfo/">mailing lists</a>
+ to get your feet wet. Also glance through our <a href="http://wiki.archlinux.org">wiki</a>
+ if you want to learn more about Arch.
+ </p><p style="text-align: right">
+ <a href="/about/"><span style="font-size:x-small">Learn more...</span></a>
+ </p>
+ </div>
+ <br /><br />
+ <div style="float:right;position:relative;bottom:-25px">
+ <a href="/feeds/news/"><img src="/media/rss.png" alt="RSS Feed" /></a>
+ </div>
+ <h2 class="title">Latest News</h2>
+ <div>
+ {% for news in news_updates %}
+ <br />
+ <span style="float:right; font-size:x-small">{{ news.postdate }}</span>
+ <h4 class="news"><a href="{{ news.get_absolute_url }}">{{ news.title }}</a></h4>
+ <p class="news">{{ news.content|striptags|truncatewords:60 }}</p>
+ <br />
+ {% endfor %}
+ <span style="float:right;font-size:x-small"><a href="/news/">More News...</a></span>
+ <br /><br />
+ </div>
+{% endblock %}
+
+{% block content_right %}
+ <div id="search">
+ <form method="get" action="/packages/search/">
+ <p>Package Search:&nbsp;&nbsp;<input type="text" name="q" size="20" maxlength="200" /></p>
+ </form>
+ </div>
+ <div id="updates">
+ <table width="100%">
+ <tr>
+ <td><h3>Recent Updates</h3></td>
+ <td style="vertical-align:top;text-align:right"><a href="/feeds/packages/"><img src="/media/rss.png" alt="RSS Feed" /></a></td>
+ </tr>
+ {% for pkg in pkg_updates %}
+ <tr>
+ <td><a href="{{ pkg.get_absolute_url }}">{{ pkg.pkgname }} {{ pkg.pkgver }}-{{ pkg.pkgrel }}</a></td>
+ <td style="text-align:right">{{ pkg.category.category }}</td>
+ </tr>
+ {% endfor %}
+ <tr>
+ <td colspan="2" style="text-align:right;font-size:x-small"><br /><a href="/packages/search?sort=-last_update">More...</a></td>
+ </tr>
+ </table>
+ </div>
+ <br />
+ <div class="greybox">
+ <h3>Package Repositories</h3>
+ <table id="repolinks">
+ {% for repo in repos %}
+ <tr>
+ <th><a href="/packages/?repo={{ repo.name }}">{{ repo.name }}</a></th>
+ <td>{{ repo.last_update }}</td>
+ </tr>
+ {% endfor %}
+ </table>
+ </div>
+ <br />
+ <div class="greybox">
+ <h3>Releases</h3>
+ <table id="releases">
+ <tr>
+ <td><a href="/packages/?repo=Core">2007.08-2</a></td>
+ <td><a href="/packages/?repo=Core">Don't Panic</a></td>
+ <td style="text-align:right">2007-10-07</td>
+ </tr><tr>
+ <td><a href="/packages/?repo=Current">2007.08.1</a></td>
+ <td><a href="/packages/?repo=Current">Don't Panic</a></td>
+ <td style="text-align:right">2007-09-10</td>
+ </tr><tr>
+ <td><a href="/packages/?repo=Current">2007.08</a></td>
+ <td><a href="/packages/?repo=Current">Don't Panic</a></td>
+ <td style="text-align:right">2007-08-05</td>
+ </tr><tr>
+ <td><a href="/packages/?repo=Current">2007.05</a></td>
+ <td><a href="/packages/?repo=Current">Duke</a></td>
+ <td style="text-align:right">2007-05-17</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.8.txt">0.8</a></td>
+ <td><a href="/static/pkglists/list-0.8.txt">Voodoo</a></td>
+ <td style="text-align:right">2007-03-31</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.7.2.txt">0.7.2</a></td>
+ <td><a href="/static/pkglists/list-0.7.2.txt">Gimmick</a></td>
+ <td style="text-align:right">2006-05-23</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.7.1.txt">0.7.1</a></td>
+ <td><a href="/static/pkglists/list-0.7.1.txt">Noodle</a></td>
+ <td style="text-align:right">2006-01-05</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.7.txt">0.7</a></td>
+ <td><a href="/static/pkglists/list-0.7.txt">Wombat</a></td>
+ <td style="text-align:right">2005-01-24</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.6.txt">0.6</a></td>
+ <td><a href="/static/pkglists/list-0.6.txt">Widget</a></td>
+ <td style="text-align:right">2004-03-01</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.5.txt">0.5</a></td>
+ <td><a href="/static/pkglists/list-0.5.txt">Nova</a></td>
+ <td style="text-align:right">2003-07-21</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.4.txt">0.4</a></td>
+ <td><a href="/static/pkglists/list-0.4.txt">Dragon</a></td>
+ <td style="text-align:right">2002-12-18</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.3.txt">0.3</a></td>
+ <td><a href="/static/pkglists/list-0.3.txt">Firefly</a></td>
+ <td style="text-align:right">2002-08-07</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.2.txt">0.2</a></td>
+ <td><a href="/static/pkglists/list-0.2.txt">Vega</a></td>
+ <td style="text-align:right">2002-04-17</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.1.txt">0.1</a></td>
+ <td><a href="/static/pkglists/list-0.1.txt">Homer</a></td>
+ <td style="text-align:right">2002-03-11</td>
+ </tr>
+ </table>
+ </div>
+ <br />
+ <h3>Documentation:</h3>
+ <ul class="links">
+ <li><a href="/static/docs/arch-install-guide.txt">Installation Guide</a></li>
+ <li><a href="http://wiki.archlinux.org">Wiki</a></li>
+ </ul>
+ <h3>Support Arch:</h3>
+ <ul class="links">
+ <li><a href="/donate/">Donate</a></li>
+ <li><a href="http://www.cafeshops.com/archlinux/">Arch Schwag</a></li>
+ <li><a href="/art/">Logos &amp; Artwork</a></li>
+ </ul>
+ <h3>Community Links:</h3>
+ <ul class="links">
+ <li><a href="http://www.archlinux.org/mailman/listinfo/">Mailing Lists</a></li>
+ <li><a href="/irc/">IRC Channels</a></li>
+ <li><a href="http://planet.archlinux.org">Planet Arch</a></li>
+ <li><a href="/static/newsletters/">Newsletters</a></li>
+ <li><a href="/projects/">Arch-Based Projects</a></li>
+ <li><a href="/moreforums/">Non-English Forums</a></li>
+ <li><a href="/press/">Press</a></li>
+ </ul>
+ <h3>Development:</h3>
+ <ul class="links">
+ <li><a href="/developers/">Developers</a></li>
+ <li><a href="http://bugs.archlinux.org">Bug Tracker</a></li>
+ <li><a href="/cvs/">CVS</a></li>
+ </ul>
+{% endblock %}
diff --git a/templates/public/index.html.bak b/templates/public/index.html.bak
new file mode 100644
index 00000000..a41196df
--- /dev/null
+++ b/templates/public/index.html.bak
@@ -0,0 +1,151 @@
+{% extends "base.html" %}
+
+{% block head %}
+<link rel="alternate" type="application/rss+xml" title="Arch Linux News Updates" href="/feeds/news/" />
+<link rel="alternate" type="application/rss+xml" title="Arch Linux Package Updates" href="/feeds/packages/" />
+{% endblock %}
+
+{% block content_left %}
+ <div id="about" class="box">
+ <h2>Welcome to Arch!</h2>
+ <p>
+ You've reached the website for <strong>Arch Linux</strong>, a lightweight
+ and flexible linux distribution that tries to Keep It Simple.
+ </p><p>
+ Currently we have official packages optimized for the i686 and x86-64
+ architectures. We complement our official package sets with a
+ <a href="http://aur.archlinux.org">community-operated package repository</a>
+ that grows in size and quality each and every day.
+ </p><p>
+ Our strong community is diverse and helpful, and we pride ourselves on
+ the range of skillsets and uses for Arch that stem from it. Please
+ check out our <a href="http://bbs.archlinux.org">forums</a> and
+ <a href="http://www.archlinux.org/mailman/listinfo/">mailing lists</a>
+ to get your feet wet. Also glance through our <a href="http://wiki.archlinux.org">wiki</a>
+ if you want to learn more about Arch.
+ </p><p style="text-align: right">
+ <a href="/about/"><span style="font-size:x-small">Learn more...</span></a>
+ </p>
+ </div>
+ <br /><br />
+ <div style="float:right;position:relative;bottom:-25px">
+ <a href="/feeds/news/"><img src="/media/rss.png" alt="RSS Feed" /></a>
+ </div>
+ <h2 class="title">Latest News</h2>
+ <div>
+ {% for news in news_updates %}
+ <span style="float:right; font-size:x-small">{{ news.postdate }}</span>
+ <h4 class="news"><a href="{{ news.get_absolute_url }}">{{ news.title }}</a></h4>
+ <p class="news">{{ news.content|striptags|truncatewords:60 }}</p><br /><br />
+ {% endfor %}
+ </div>
+{% endblock %}
+
+{% block content_right %}
+ <div id="search">
+ <form method="get" action="/packages/search/">
+ <p>Package Search:&nbsp;&nbsp;<input type="text" name="q" size="20" maxlength="200" /></p>
+ </form>
+ </div>
+ <br /><br />
+ <div id="updates">
+ <div style="float:right">
+ <a href="/feeds/packages/"><img src="/media/rss.png" alt="RSS Feed" /></a>
+ </div>
+ <h3>Recent Updates</h3>
+ <table width="100%">
+ {% for pkg in pkg_updates %}
+ <tr>
+ <td><a href="{{ pkg.get_absolute_url }}">{{ pkg.pkgname }} {{ pkg.pkgver }}-{{ pkg.pkgrel }}</a></td>
+ <td style="text-align:right">{{ pkg.category.category }}</td>
+ </tr>
+ {% endfor %}
+ </table>
+ </div>
+ <div class="greybox">
+ <h3>Package Repositories</h3>
+ <table id="repolinks">
+ {% for repo in repos %}
+ <tr>
+ <th><a href="/packages/?repo={{ repo.name }}">{{ repo.name }}</a></th>
+ <td>{{ repo.last_update }}</td>
+ </tr>
+ {% endfor %}
+ </table>
+ </div>
+ <br />
+ <div class="greybox">
+ <h3>Releases</h3>
+ <table id="releases">
+ <tr>
+ <td><a href="/packages/?repo=Current">0.8</a></td>
+ <td><a href="/packages/?repo=Current">_________</a></td>
+ <td style="text-align:right"><em>pending</em></td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.7.2.txt">0.7.2</a></td>
+ <td><a href="/static/pkglists/list-0.7.2.txt">Gimmick</a></td>
+ <td style="text-align:right">2006-05-23</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.7.1.txt">0.7.1</a></td>
+ <td><a href="/static/pkglists/list-0.7.1.txt">Noodle</a></td>
+ <td style="text-align:right">2006-01-05</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.7.txt">0.7</a></td>
+ <td><a href="/static/pkglists/list-0.7.txt">Wombat</a></td>
+ <td style="text-align:right">2005-01-24</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.6.txt">0.6</a></td>
+ <td><a href="/static/pkglists/list-0.6.txt">Widget</a></td>
+ <td style="text-align:right">2004-03-01</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.5.txt">0.5</a></td>
+ <td><a href="/static/pkglists/list-0.5.txt">Nova</a></td>
+ <td style="text-align:right">2003-07-21</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.4.txt">0.4</a></td>
+ <td><a href="/static/pkglists/list-0.4.txt">Dragon</a></td>
+ <td style="text-align:right">2002-12-18</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.3.txt">0.3</a></td>
+ <td><a href="/static/pkglists/list-0.3.txt">Firefly</a></td>
+ <td style="text-align:right">2002-08-07</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.2.txt">0.2</a></td>
+ <td><a href="/static/pkglists/list-0.2.txt">Vega</a></td>
+ <td style="text-align:right">2002-04-17</td>
+ </tr><tr>
+ <td><a href="/static/pkglists/list-0.1.txt">0.1</a></td>
+ <td><a href="/static/pkglists/list-0.1.txt">Homer</a></td>
+ <td style="text-align:right">2002-03-11</td>
+ </tr>
+ </table>
+ </div>
+ <br />
+ <h3>Documentation:</h3>
+ <ul class="links">
+ <li><a href="/static/docs/arch-install-guide.html">Installation Guide</a></li>
+ </ul>
+ <h3>Support Arch:</h3>
+ <ul class="links">
+ <li><a href="/donate/">Donate</a></li>
+ <li><a href="http://www.cafeshops.com/archlinux/">Arch Schwag</a></li>
+ <li><a href="/art/">Logos &amp; Artwork</a></li>
+ </ul>
+ <h3>Community Links:</h3>
+ <ul class="links">
+ <li><a href="http://www.archlinux.org/mailman/listinfo/">Mailing Lists</a></li>
+ <li><a href="/irc/">IRC Channels</a></li>
+ <li><a href="http://planet.archlinux.org">Planet Arch</a></li>
+ <li><a href="http://blog.archlinux.org">Development Blog</a></li>
+ <li><a href="/static/newsletters/">Newsletters</a></li>
+ <li><a href="/projects/">Arch-Based Projects</a></li>
+ <li><a href="/moreforums/">Non-English Forums</a></li>
+ <li><a href="/press/">Press</a></li>
+ </ul>
+ <h3>Development:</h3>
+ <ul class="links">
+ <li><a href="/developers/">Developers</a></li>
+ <li><a href="http://bugs.archlinux.org">Bug Tracker</a></li>
+ <li><a href="/cvs/">CVS</a></li>
+ </ul>
+{% endblock %}
diff --git a/templates/public/irc.html b/templates/public/irc.html
new file mode 100644
index 00000000..cbd00daa
--- /dev/null
+++ b/templates/public/irc.html
@@ -0,0 +1,39 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <h2 class="title">IRC Channels</h2>
+ <br /><br />
+ <p>You can find Arch-related discussion on the following IRC channels.
+ All channels are on <strong>irc.freenode.net</strong></p>
+ <table cellspacing="20">
+ <tr>
+ <td><strong>#archlinux</strong></td>
+ <td>The main discussion channel, mostly in English</td>
+ </tr><tr>
+ <td><strong>#archlinux-bugs<strong></td>
+ <td>Bug-centric discussion</td>
+ </tr><tr>
+ <td><strong>#archlinuxfr</strong></td>
+ <td>Discussion (French)</td>
+ </tr><tr>
+ <td><strong>#archlinux.de</strong></td>
+ <td>Discussion (German)</td>
+ </tr><tr>
+ <td><strong>#archlinux.se</strong></td>
+ <td>Discussion (Swedish)</td>
+ </tr><tr>
+ <td><strong>#archlinux.dk</strong></td>
+ <td>Discussion (Danish)</td>
+ </tr><tr>
+ <td><strong>#archlinux-es</strong></td>
+ <td>Discussion (Spanish)</td>
+ </tr><tr>
+ <td><strong>#archlinux.br</strong></td>
+ <td>Discussion (Brazilian Community)</td>
+ </tr>
+ </table>
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/moreforums.html b/templates/public/moreforums.html
new file mode 100644
index 00000000..f8a13624
--- /dev/null
+++ b/templates/public/moreforums.html
@@ -0,0 +1,78 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <h2 class="title">More Arch Forums</h2>
+ <br /><br />
+ <p>
+ Our main forum is located at <a href="http://bbs.archlinux.org">bbs.archlinux.org</a>.
+ However, there are other locale-specific forums available.
+ </p>
+ <table cellspacing="20">
+ <tr>
+ <td width="200">Brazilian</td>
+ <td><a href="http://forum.archlinux-br.org/">http://forum.archlinux-br.org</a></td>
+ </tr>
+ <tr>
+ <td>Czech</td>
+ <td><a href="http://forum.archlinux.cz/">http://forum.archlinux.cz/</a></td>
+ </tr>
+ <tr>
+ <td>Danish</td>
+ <td><a href="http://forum.archlinux.dk">http://forum.archlinux.dk/</a></td>
+ </tr>
+ <tr>
+ <td>Dutch</td>
+ <td><a href="http://arch-forum.nl/">http://arch-forum.nl/</a></td>
+ </tr>
+ <tr>
+ <td>French</td>
+ <td><a href="http://forums.archlinuxfr.org/">http://forums.archlinuxfr.org</a></td>
+ </tr>
+ <tr>
+ <td>French</td>
+ <td><a href="http://forums.archlinux.fr/">http://forums.archlinux.fr</a></td>
+ </tr>
+ <tr>
+ <td>German</td>
+ <td><a href="http://forum.archlinux.de/">http://forum.archlinux.de</a></td>
+ </tr>
+ <tr>
+ <td>Hungarian</td>
+ <td><a href="http://archlinux.hu/forum/">http://archlinux.hu/forum/</a></td>
+ </tr>
+ <tr>
+ <td>Italian</td>
+ <td><a href="http://www.archlinux.it/forum/">http://www.archlinux.it/forum/</a></td>
+ </tr>
+ <tr>
+ <td>Polish</td>
+ <td><a href="http://forum.arch-linux.pl">http://forum.arch-linux.pl</a></td>
+ </tr>
+ <tr>
+ <td>Russian</td>
+ <td><a href="http://archlinux.org.ru/forum/">http://archlinux.org.ru/forum/</a></td>
+ </tr>
+ <tr>
+ <td>Spanish</td>
+ <td><a href="http://www.archlinux.com.ar/foros/">http://www.archlinux.com.ar/foros/</a></td>
+ </tr>
+ <tr>
+ <td>Sweden</td>
+ <td><a href="http://forum.archlinux.se/">http://forum.archlinux.se/</a>
+ </tr>
+ <tr>
+ <td>Turkish</td>
+ <td><a href="http://forum.linux-sevenler.org/index.php/board,65.0.html">http://forum.linux-sevenler.org/index.php/board,65.0.html</a></td>
+ </tr>
+ <tr>
+ <td>Ukrainian</td>
+ <td><a href="http://archlinux.org.ua/">http://archlinux.org.ua/</a></td>
+ </tr>
+ </table>
+ <br />
+ If you have a forum you would like linked, please open a <a href="http://bugs.archlinux.org/">Bug Ticket</a> with the category "web site", and a relevant description.
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/press.html b/templates/public/press.html
new file mode 100644
index 00000000..b652c8dc
--- /dev/null
+++ b/templates/public/press.html
@@ -0,0 +1,33 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <h2 class="title">Who's Talking About Arch?</h2>
+ <br /><br />
+ Lots of people.
+ <ul>
+ <li><a href="http://www.openaddict.com/page.php?28">Open Addict</a></li>
+ <li><a href="http://cutecomputer.wordpress.com/2006/11/12/review-arch-linux-072/">Myself and my Computer</a></li>
+ <li><a href="http://www.linuxtechdaily.com/2006/11/review-arch64-archlinux-for-64bit-processors/">Linux Tech Daily</a></li>
+ <li><a href="http://www.osnews.com/story.php?news_id=15075">OSNews</a></li>
+ <li><a href="http://www.linux-magazine.com/issue/64/Arch_Linux_Review.pdf">Linux Magazine (pdf)</a></li>
+ <li><a href="http://michael-and-mary.net/intro/?q=node/260">Michael &amp; Mary</a></li>
+ <li><a href="http://osnews.com/story.php?news_id=10142">OSNews</a></li>
+ <li><a href="http://osnews.com/story.php?news_id=10047">OSNews</a></li>
+ <li><a href="http://os.newsforge.com/os/05/02/14/1722211.shtml?tid=2">NewsForge</a></li>
+ <li><a href="http://www.linuxtimes.net/modules.php?name=News&file=article&sid=774">LinuxTimes</a></li>
+ <li><a href="http://osnews.com/story.php?news_id=9540">OSNews</a></li>
+ <li><a href="http://discuss.extremetech.com/n/mb/display.asp?webtag=extremetech&msg=53648.1">Robert Burns</a></li>
+ <li><a href="http://www.linuxlookup.com/modules.php?op=modload&name=Reviews&file=index&req=showcontent&id=58">LinuxLookup</a></li>
+ <li><a href="http://www.osnews.com/story.php?news_id=5971">OSNews</a></li>
+ <li><a href="http://www.osnews.com/story.php?news_id=4827">OSNews</a></li>
+ <li><a href="http://lwn.net/Articles/40952/">LWN</a></li>
+ <li><a href="http://www.distrowatch.com/dwres.php?resource=interview-arch">DistroWatch</a></li>
+ <li><a href="http://home.nyc.rr.com/computertaijutsu/arch.html">Scott Robbins</a></li>
+ </ul>
+ <br />
+ If you have some press you would like linked, please open a <a href="http://bugs.archlinux.org/">Bug Ticket</a> with the category "web site", and a relevant description.
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/public/projects.html b/templates/public/projects.html
new file mode 100644
index 00000000..c669d048
--- /dev/null
+++ b/templates/public/projects.html
@@ -0,0 +1,36 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <h2 class="title">Arch Related Projects</h2>
+ <br /><br />
+ <p>There are a few Arch-based projects or communities that have sprung up
+ over the years. Here's a list of the ones we know about.</p>
+ <table cellspacing="20">
+ <tr>
+ <td><a href="http://user-contributions.org/home/index.php">user-contributions.org</a></td>
+ <td>A website belongs to members wanting to give a little something to the free software community</td>
+ </tr><tr>
+ <td><a href="http://www.archlinux.org/~simo/archstats/">ArchStats</a></td>
+ <td>An opt-in system that tracks which packages each user has installed, hardware specs, etc</td>
+ </tr><tr>
+ <td><a href="http://archie.dotsrc.org/">Archie Live CD</a></td>
+ <td>A live CD (and live CD build scripts) based on Arch</td>
+ </tr>
+ <tr>
+ <td><a href="http://www.archlinuxppc.org/">ArchPPC</a></td>
+ <td>Arch packages optimized for PPC</td>
+ </tr><tr>
+ <td><a href="http://user-contributions.org/projects/hwd/hwd.html">Hardware Detection</a></td>
+ <td>Hardware detection scripts for Arch <span style="font-size:x-small">(deprecated in favor of udev's auto-detection)</span></td>
+ </tr><tr>
+ <td><a href="http://arch-egis.berlios.de/">AEGIS</a></td>
+ <td>Arch Environmental/Geographical Information Systems (AEGIS) Project</td>
+ </tr>
+ </table>
+ <br />
+ If you have an Arch related project you would like linked, please open a <a href="http://bugs.archlinux.org/">Bug Ticket</a> with the category "web site", and a relevant description.
+</div>
+<br /><br />
+{% endblock %}
+
diff --git a/templates/registration/login.html b/templates/registration/login.html
new file mode 100644
index 00000000..b3b264c3
--- /dev/null
+++ b/templates/registration/login.html
@@ -0,0 +1,23 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+<div class="greybox">
+<h2 class="title">Developer Login</h2>
+{% if form.has_errors %}
+<p class="error">Your username and password didn't match. Please try again.</p>
+{% endif %}
+<br /><br />
+
+<form method="post" action=".">
+<input type="hidden" name="next" value="{% if next %}{{ next }}{% else %}/{% endif %}" />
+<table>
+ <tr><td><label for="id_username">Username:</label></td><td>{{ form.username }}</td></tr>
+ <tr><td><label for="id_password">Password:</label></td><td>{{ form.password }}</td></tr>
+ <tr><td colspan="2" align="right"><input type="submit" value="Login" /></td></tr>
+</table>
+</form>
+</div>
+
+{% endblock %}
+
diff --git a/templates/registration/logout.html b/templates/registration/logout.html
new file mode 100644
index 00000000..2b829869
--- /dev/null
+++ b/templates/registration/logout.html
@@ -0,0 +1,10 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+<div class="greybox">
+You've been logged out.
+</div>
+
+{% endblock %}
+
diff --git a/templates/status_page.html b/templates/status_page.html
new file mode 100644
index 00000000..558c6544
--- /dev/null
+++ b/templates/status_page.html
@@ -0,0 +1,8 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="box">
+ <h4>{{ message }}</h4>
+ </div>
+{% endblock %}
+
diff --git a/templates/todolists/add.html b/templates/todolists/add.html
new file mode 100644
index 00000000..a53637ce
--- /dev/null
+++ b/templates/todolists/add.html
@@ -0,0 +1,25 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="greybox">
+ <h2 class="title">Add ToDo List</h2>
+ <form method="post" action=".">
+ <table>
+ <tr>
+ <td>Name:</td>
+ <td><input type="text" name="name" size="30" value="" /></td>
+ </tr><tr>
+ <td style="vertical-align:top">Description:</td>
+ <td><textarea name="description" cols="60" rows="4"></textarea></td>
+ </tr><tr>
+ <td style="vertical-align:top">List of Package Names:<br /><span style="font-size:x-small">(one per line)</span></td>
+ <td><textarea name="packages" cols="60" rows="20"></textarea></td>
+ </tr><tr>
+ <td colspan="2" style="text-align:right">
+ <input type="submit" value=" Create List " />
+ </td>
+ </tr>
+ </table>
+ </form>
+ </div>
+{% endblock %}
diff --git a/templates/todolists/list.html b/templates/todolists/list.html
new file mode 100644
index 00000000..0e659f93
--- /dev/null
+++ b/templates/todolists/list.html
@@ -0,0 +1,30 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="greybox">
+ {% if perms.todolists.add_todolist %}
+ <div style="float:right">
+ <a href="/todo/add/">Add Todo List</a>
+ </div>
+ {% endif %}
+ <h2 class="title">Package ToDo lists</h2>
+ <table class="results" width="100%">
+ <tr>
+ <th>Name</th>
+ <th>Creation Date</th>
+ <th>Creator</th>
+ <th>Description</th>
+ <th>Status</th>
+ </tr>
+ {% for list in lists %}
+ <tr>
+ <td style="white-space:nowrap"><a href="/todo/{{ list.id }}/">{{ list.name }}</a></td>
+ <td>{{ list.date_added }}</td>
+ <td>{{ list.creator.get_full_name }}</td>
+ <td>{{ list.description }}</td>
+ <td>{% if list.complete %}<span style="color:blue">Complete</span>{% else %}<span style="color:red">Incomplete</span>{% endif %}</td>
+ </tr>
+ {% endfor %}
+ </table>
+ </div>
+{% endblock %}
diff --git a/templates/todolists/view.html b/templates/todolists/view.html
new file mode 100644
index 00000000..89a07a99
--- /dev/null
+++ b/templates/todolists/view.html
@@ -0,0 +1,31 @@
+{% extends "base.html" %}
+
+{% block content %}
+ <div class="greybox">
+ <h3 class="title">ToDo List: {{ list.name }}</h2>
+ <table class="results" width="100%">
+ <tr>
+ <th>ID</th>
+ <th>Repo</th>
+ <th>Name</th>
+ <th>Maintainer</th>
+ <th>Status</th>
+ </tr>
+ {% for pkg in pkgs %}
+ <tr>
+ <td><a href="/packages/{{ pkg.pkg.id }}/">{{ pkg.pkg.id }}</a></td>
+ <td>{{ pkg.pkg.repo.name }}</td>
+ <td>{{ pkg.pkg.pkgname }}</td>
+ <td>{{ pkg.pkg.maintainer.get_full_name }}</td>
+ <td>
+ {% if pkg.complete %}
+ <a href="/todo/flag/{{ list.id }}/{{ pkg.id }}/"><span style="color:blue">Complete</span></a>
+ {% else %}
+ <a href="/todo/flag/{{ list.id }}/{{ pkg.id }}/"><span style="color:red">Incomplete</span></a>
+ {% endif %}
+ </td>
+ </tr>
+ {% endfor %}
+ </table>
+ </div>
+{% endblock %}
diff --git a/templates/wiki/base.html b/templates/wiki/base.html
new file mode 100644
index 00000000..90d93156
--- /dev/null
+++ b/templates/wiki/base.html
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <style type='text/css'>
+body {
+ background: #333;
+ color: #ddd;
+}
+
+a {
+ color: #fff;
+}
+
+div.body {
+ padding: 25px;
+ margin: 15px;
+ background: #444;
+}
+
+div.controls {
+ padding: 20px;
+}
+ </style>
+<title>{% block title %}{% endblock %}</title>
+</head>
+<body>
+{% block content %}
+<h1>This is the base template. Extend it with the "extends" template tag.</h1>
+{% endblock %}
+</body>
+</html> \ No newline at end of file
diff --git a/templates/wiki/edit.html b/templates/wiki/edit.html
new file mode 100644
index 00000000..421a313f
--- /dev/null
+++ b/templates/wiki/edit.html
@@ -0,0 +1,22 @@
+{% extends "base.html" %}
+{% block content %}
+<div class="greybox">
+ <div style="float:right;font-size:x-small">
+ <a href="http://daringfireball.net/projects/markdown/syntax/">Wiki Syntax</a>
+ </div>
+ <h2 class="title">Editing: {{ page.title }}</h2>
+ <form action="." method="post">
+ <input name="title" value="{{ page.title }}" />
+ <br /><br />
+ <textarea name="content" cols="100" rows="32">{{ page.content }}</textarea>
+ <br /><br />
+ <input type="submit" value="Save" />
+ </form>
+ <!--
+ <form action="/wiki/delete/" method="post">
+ <input type="hidden" name="title" value="{{ page.title }}" />
+ <input type="submit" value="Delete" />
+ </form>
+ -->
+</div>
+{% endblock %}
diff --git a/templates/wiki/home.html b/templates/wiki/home.html
new file mode 100644
index 00000000..6c0fb6ef
--- /dev/null
+++ b/templates/wiki/home.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+{% block content %}
+<div class="box">
+ <h2 class="title">Wiki Index</h2>
+{% for page in pages %}
+ <h3><a href='{{ page.title }}/'>{{ page.title }}</a></h3>
+{% endfor %}
+</div>
+{% endblock %}
diff --git a/templates/wiki/page.html b/templates/wiki/page.html
new file mode 100644
index 00000000..e0e6ddd9
--- /dev/null
+++ b/templates/wiki/page.html
@@ -0,0 +1,17 @@
+{% extends "base.html" %}
+{% load wikitags %}
+{% block content %}
+<div class="box">
+ <h1 class="wiki">{{ page.title }}</h1>
+ <div class="wikibody">
+{{ page.content|wikify }}
+ </div>
+
+ <div class="wikifoot_r">
+ <a href='{{ page.editurl }}'>Edit this page</a> | <a href='/wiki/'>Wiki Index</a>
+ </div>
+ <div class="wikifoot_l">
+ Last Author: {{ page.last_author.username }}
+ </div>
+</div>
+{% endblock %}