ktec-subtrac 0.1.28 → 0.1.33
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +0 -1
- data/VERSION.yml +1 -1
- data/lib/subtrac/apache/location.conf.erb +16 -0
- data/lib/subtrac/{templates → apache}/vhost.conf.erb +2 -2
- data/lib/subtrac/apache.rb +47 -0
- data/lib/subtrac/client.rb +9 -0
- data/lib/subtrac/config/config.yml +6 -11
- data/lib/subtrac/core_ext/file.rb +12 -0
- data/lib/subtrac/core_ext.rb +1 -0
- data/lib/subtrac/{templates/projects → project}/blank/svn/branches/README +0 -0
- data/lib/subtrac/{templates/projects → project}/blank/svn/tags/README +0 -0
- data/lib/subtrac/{templates/projects → project}/blank/svn/trunk/README +0 -0
- data/lib/subtrac/{templates/projects → project}/blank/trac/wiki/WikiStart +5 -5
- data/lib/subtrac/{templates/projects → project}/new/svn/trunk/trac/wiki/WikiStart +4 -4
- data/lib/subtrac/{templates/projects → project}/new/trac/wiki/WikiStart +4 -4
- data/lib/subtrac/project.rb +14 -0
- data/lib/subtrac/svn.rb +56 -0
- data/lib/subtrac/template.rb +18 -0
- data/lib/subtrac/trac/common.trac.ini.erb +163 -0
- data/lib/subtrac/{templates → trac}/trac.ini.erb +2 -2
- data/lib/subtrac/trac.rb +64 -0
- data/lib/subtrac.rb +75 -196
- metadata +20 -122
- data/lib/subtrac/common/static/404.html +0 -14
- data/lib/subtrac/common/styles/trac.css +0 -222
- data/lib/subtrac/templates/location.erb +0 -16
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/__init__.py +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/bg.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/bg_page.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/bg_page_in.jpg +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/btn_more.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/col_bg.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/col_title_bg.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/col_top.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/content_article_bg.jpg +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/content_title_bg.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/footer.jpg +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/header.jpg +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_archive.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_archive2.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_cat.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_comments.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_date.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_links.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_list.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_rss.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_top.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_user.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/search_input.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/search_submit.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_active_l.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_active_r.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_hover.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_hover_l.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_hover_r.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_link.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_link_l.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_link_r.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tmp_photo.gif +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/saint.css +0 -168
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/screenshot.png +0 -0
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/templates/saint_theme.html +0 -143
- data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/theme.py +0 -12
- data/lib/subtrac/templates/trac/themes/sainttheme/setup.py +0 -29
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/css/subtrac.css +0 -1805
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/archive-li-first.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/archive-li-hover.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/archive-li-last.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/archive-li.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/archive.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/body-home.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/body.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/content-product.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/content.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/entry.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/footer.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/gallery-nav.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/header.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/inner.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/logo.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/master.css +0 -1805
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/masthead.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/more.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/nav-a-first.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/nav-a-last.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/nav-a.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/nav-li.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/products-li-large.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/products-li.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/rss-span.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/rss.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/search.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/sec-navigation-li.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/sec-navigation.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/slogan.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/wrapper-home.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/wrapper.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/prototype/subtractheme.html +0 -115
- data/lib/subtrac/templates/trac/themes/subtractheme/setup.py +0 -29
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/__init__.py +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/archive-li-first.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/archive-li-hover.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/archive-li-last.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/archive-li.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/archive.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/body-home.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/body.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/content-product.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/content.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/entry.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/footer.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/gallery-nav.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/header.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/inner.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/logo.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/master.css +0 -1805
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/masthead.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/more.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/nav-a-first.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/nav-a-last.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/nav-a.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/nav-li.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/products-li-large.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/products-li.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/rss-span.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/rss.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/search.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/sec-navigation-li.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/sec-navigation.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/slogan.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/wrapper-home.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/wrapper.png +0 -0
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/subtrac.css +0 -1805
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/templates/subtrac_theme.html +0 -143
- data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/theme.py +0 -12
data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/templates/subtrac_theme.html
DELETED
@@ -1,143 +0,0 @@
|
|
1
|
-
<!DOCTYPE html
|
2
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
3
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
-
<html xmlns="http://www.w3.org/1999/xhtml"
|
5
|
-
xmlns:xi="http://www.w3.org/2001/XInclude"
|
6
|
-
xmlns:py="http://genshi.edgewall.org/"
|
7
|
-
py:strip="">
|
8
|
-
<?python from genshi.builder import tag ?>
|
9
|
-
|
10
|
-
<div py:def="navigation(category)" id="${category}" class="nav">
|
11
|
-
<ul py:if="chrome.nav[category]">
|
12
|
-
<li py:for="idx, item in enumerate(chrome.nav[category])"
|
13
|
-
class="${classes(first_last(idx, chrome.nav[category]), active=item.active)}">${item.label}</li>
|
14
|
-
</ul>
|
15
|
-
</div>
|
16
|
-
|
17
|
-
<body py:match="body">
|
18
|
-
<div id="center-content" class="box">
|
19
|
-
<!--! Header -->
|
20
|
-
<div id="header">
|
21
|
-
|
22
|
-
<!--! Logotype -->
|
23
|
-
<div id="logo" py:choose="">
|
24
|
-
<a py:when="chrome.logo.src" href="${chrome.logo.link}"><img
|
25
|
-
src="${chrome.logo.src}" alt="${chrome.logo.alt}" /></a>
|
26
|
-
<h1 py:otherwise=""><a href="${chrome.logo.link}">${project.name}</a></h1>
|
27
|
-
</div>
|
28
|
-
<hr class="noscreen" />
|
29
|
-
|
30
|
-
<!--! Quick links -->
|
31
|
-
<div class="noscreen noprint">
|
32
|
-
<p><em>Quick links: <a href="#main">content</a>, <a href="#mainnav">navigation</a>, <a href="#theme-search">search</a>.</em></p>
|
33
|
-
<hr />
|
34
|
-
</div>
|
35
|
-
|
36
|
-
<!--! Search -->
|
37
|
-
<div id="theme-search" class="noprint" py:if="'SEARCH_VIEW' in perm">
|
38
|
-
<form action="${href.search()}" method="get">
|
39
|
-
<fieldset><legend>Search</legend>
|
40
|
-
<label><span class="noscreen">Find:</span>
|
41
|
-
<span id="search-input-out"><input type="text" name="q" id="search-input" size="30" accesskey="f" /></span></label>
|
42
|
-
<input type="hidden" name="wiki" value="on" />
|
43
|
-
<input type="hidden" name="changeset" value="on" />
|
44
|
-
<input type="hidden" name="ticket" value="on" />
|
45
|
-
<input type="image" src="${href.chrome('theme', 'img', 'search_submit.gif')}" id="search-submit" value="OK" />
|
46
|
-
</fieldset>
|
47
|
-
</form>
|
48
|
-
</div> <!--! /search -->
|
49
|
-
|
50
|
-
</div> <!--! /header -->
|
51
|
-
|
52
|
-
<!--!<div id="banner">
|
53
|
-
<div id="header" py:choose="">
|
54
|
-
<a py:when="chrome.logo.src" id="logo" href="${chrome.logo.link}"><img
|
55
|
-
src="${chrome.logo.src}" alt="${chrome.logo.alt}" /></a>
|
56
|
-
<h1 py:otherwise=""><a href="${chrome.logo.link}">${project.name}</a></h1>
|
57
|
-
</div>
|
58
|
-
<form py:if="'SEARCH_VIEW' in perm" id="search"
|
59
|
-
action="${href.search()}" method="get"><div>
|
60
|
-
<label for="proj-search">Search:</label>
|
61
|
-
<input type="text" id="proj-search" name="q" size="18" accesskey="f" value="" />
|
62
|
-
<input type="submit" value="Search" />
|
63
|
-
<input type="hidden" name="wiki" value="on" />
|
64
|
-
<input type="hidden" name="changeset" value="on" />
|
65
|
-
<input type="hidden" name="ticket" value="on" />
|
66
|
-
</div></form>
|
67
|
-
${navigation('metanav')}
|
68
|
-
</div>-->
|
69
|
-
|
70
|
-
<!--! Main menu (tabs) -->
|
71
|
-
<div id="theme-mainnav" class="noprint" py:with="category = 'mainnav'">
|
72
|
-
|
73
|
-
<h3 class="noscreen">Navigation</h3>
|
74
|
-
<ul class="box" py:if="chrome.nav[category]">
|
75
|
-
<li py:for="idx, item in enumerate(chrome.nav[category])"
|
76
|
-
class="${classes(first_last(idx, chrome.nav[category]), active=item.active)}">
|
77
|
-
<py:choose test="">
|
78
|
-
<py:when test="item.label.__class__.__name__ == 'Element' and item.label.tag.localname == 'a'">
|
79
|
-
${item.label(tag.span('', class_='tab-l'), tag.span('', class_='tab-r'))}
|
80
|
-
</py:when>
|
81
|
-
<py:otherwise>
|
82
|
-
${item.label}
|
83
|
-
</py:otherwise>
|
84
|
-
</py:choose>
|
85
|
-
</li>
|
86
|
-
</ul>
|
87
|
-
|
88
|
-
<hr class="noscreen" />
|
89
|
-
</div> <!--! /tabs -->
|
90
|
-
|
91
|
-
<!-- Page (2 columns) -->
|
92
|
-
<div id="page" class="box">
|
93
|
-
<div id="page-in" class="box">
|
94
|
-
<div id="strip" class="box noprint">
|
95
|
-
|
96
|
-
<div id="ctxtnav" class="nav">
|
97
|
-
<ul>
|
98
|
-
<li py:for="i, elm in enumerate(chrome.ctxtnav)" class="${i == 0 and 'first ' or None}${i+1 == len(chrome.ctxtnav) and 'last' or None}">$elm</li>
|
99
|
-
</ul>
|
100
|
-
</div>
|
101
|
-
${navigation('metanav')}
|
102
|
-
|
103
|
-
<div id="warning" py:if="req and req.warnings" class="system-message">
|
104
|
-
<py:choose test="len(req.warnings)">
|
105
|
-
<py:when test="1">
|
106
|
-
<strong>Warning:</strong> ${req.warnings[0]}
|
107
|
-
</py:when>
|
108
|
-
<py:otherwise>
|
109
|
-
<strong>Warnings:</strong>
|
110
|
-
<ul><li py:for="w in req.warnings">$w</li></ul>
|
111
|
-
</py:otherwise>
|
112
|
-
</py:choose>
|
113
|
-
</div>
|
114
|
-
|
115
|
-
</div> <!--! /strip -->
|
116
|
-
|
117
|
-
<div id="main">
|
118
|
-
${select('*[@id!="ctxtnav"]|text()')}
|
119
|
-
</div> <!--! /main -->
|
120
|
-
</div> <!--! /page-in -->
|
121
|
-
</div> <!--! /page -->
|
122
|
-
|
123
|
-
<div id="footer" xml:lang="en">
|
124
|
-
<div id="top" class="noprint"><p><span class="noscreen">Back on top</span> <a href="#header" title="Back on top ^">^<span></span></a></p></div>
|
125
|
-
<hr class="noscreen" />
|
126
|
-
<a id="tracpowered" href="http://trac.edgewall.org/"><img
|
127
|
-
src="${href.chrome('common/trac_logo_mini.png')}" height="30"
|
128
|
-
width="107" alt="Trac Powered"/></a>
|
129
|
-
<p class="left">
|
130
|
-
Powered by <a href="${href.about()}"><strong>Trac ${trac.version}</strong></a><br />
|
131
|
-
By <a href="http://www.edgewall.org/">Edgewall Software</a>.
|
132
|
-
</p>
|
133
|
-
<p id="createdby">
|
134
|
-
Original theme created<br />by <a href="http://www.saintdigital.co.uk">Saint Digital</a>
|
135
|
-
</p>
|
136
|
-
<p class="right">${chrome.footer}</p>
|
137
|
-
</div>
|
138
|
-
</div>
|
139
|
-
</body>
|
140
|
-
|
141
|
-
<xi:include href="site.html"><xi:fallback /></xi:include>
|
142
|
-
|
143
|
-
</html>
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# Created by Keith Salisbury on 2007-07-16.
|
2
|
-
# Copyright (c) 2009 Saint Digital. All rights reserved.
|
3
|
-
|
4
|
-
from trac.core import *
|
5
|
-
|
6
|
-
from themeengine.api import ThemeBase
|
7
|
-
|
8
|
-
class SubtracTheme(ThemeBase):
|
9
|
-
"""A theme for Trac for Subtrac (http://ktec.github.com/subtrac)."""
|
10
|
-
|
11
|
-
template = htdocs = css = screenshot = True
|
12
|
-
|