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.
Files changed (135) hide show
  1. data/README.markdown +0 -1
  2. data/VERSION.yml +1 -1
  3. data/lib/subtrac/apache/location.conf.erb +16 -0
  4. data/lib/subtrac/{templates → apache}/vhost.conf.erb +2 -2
  5. data/lib/subtrac/apache.rb +47 -0
  6. data/lib/subtrac/client.rb +9 -0
  7. data/lib/subtrac/config/config.yml +6 -11
  8. data/lib/subtrac/core_ext/file.rb +12 -0
  9. data/lib/subtrac/core_ext.rb +1 -0
  10. data/lib/subtrac/{templates/projects → project}/blank/svn/branches/README +0 -0
  11. data/lib/subtrac/{templates/projects → project}/blank/svn/tags/README +0 -0
  12. data/lib/subtrac/{templates/projects → project}/blank/svn/trunk/README +0 -0
  13. data/lib/subtrac/{templates/projects → project}/blank/trac/wiki/WikiStart +5 -5
  14. data/lib/subtrac/{templates/projects → project}/new/svn/trunk/trac/wiki/WikiStart +4 -4
  15. data/lib/subtrac/{templates/projects → project}/new/trac/wiki/WikiStart +4 -4
  16. data/lib/subtrac/project.rb +14 -0
  17. data/lib/subtrac/svn.rb +56 -0
  18. data/lib/subtrac/template.rb +18 -0
  19. data/lib/subtrac/trac/common.trac.ini.erb +163 -0
  20. data/lib/subtrac/{templates → trac}/trac.ini.erb +2 -2
  21. data/lib/subtrac/trac.rb +64 -0
  22. data/lib/subtrac.rb +75 -196
  23. metadata +20 -122
  24. data/lib/subtrac/common/static/404.html +0 -14
  25. data/lib/subtrac/common/styles/trac.css +0 -222
  26. data/lib/subtrac/templates/location.erb +0 -16
  27. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/__init__.py +0 -0
  28. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/bg.gif +0 -0
  29. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/bg_page.gif +0 -0
  30. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/bg_page_in.jpg +0 -0
  31. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/btn_more.gif +0 -0
  32. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/col_bg.gif +0 -0
  33. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/col_title_bg.gif +0 -0
  34. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/col_top.gif +0 -0
  35. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/content_article_bg.jpg +0 -0
  36. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/content_title_bg.gif +0 -0
  37. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/footer.jpg +0 -0
  38. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/header.jpg +0 -0
  39. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_archive.gif +0 -0
  40. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_archive2.gif +0 -0
  41. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_cat.gif +0 -0
  42. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_comments.gif +0 -0
  43. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_date.gif +0 -0
  44. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_links.gif +0 -0
  45. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_list.gif +0 -0
  46. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_rss.gif +0 -0
  47. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_top.gif +0 -0
  48. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/ico_user.gif +0 -0
  49. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/search_input.gif +0 -0
  50. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/search_submit.gif +0 -0
  51. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_active_l.gif +0 -0
  52. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_active_r.gif +0 -0
  53. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_hover.gif +0 -0
  54. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_hover_l.gif +0 -0
  55. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_hover_r.gif +0 -0
  56. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_link.gif +0 -0
  57. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_link_l.gif +0 -0
  58. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tab_link_r.gif +0 -0
  59. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/img/tmp_photo.gif +0 -0
  60. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/saint.css +0 -168
  61. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/htdocs/screenshot.png +0 -0
  62. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/templates/saint_theme.html +0 -143
  63. data/lib/subtrac/templates/trac/themes/sainttheme/crystalxtheme/theme.py +0 -12
  64. data/lib/subtrac/templates/trac/themes/sainttheme/setup.py +0 -29
  65. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/css/subtrac.css +0 -1805
  66. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/archive-li-first.png +0 -0
  67. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/archive-li-hover.png +0 -0
  68. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/archive-li-last.png +0 -0
  69. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/archive-li.png +0 -0
  70. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/archive.png +0 -0
  71. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/body-home.png +0 -0
  72. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/body.png +0 -0
  73. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/content-product.png +0 -0
  74. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/content.png +0 -0
  75. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/entry.png +0 -0
  76. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/footer.png +0 -0
  77. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/gallery-nav.png +0 -0
  78. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/header.png +0 -0
  79. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/inner.png +0 -0
  80. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/logo.png +0 -0
  81. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/master.css +0 -1805
  82. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/masthead.png +0 -0
  83. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/more.png +0 -0
  84. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/nav-a-first.png +0 -0
  85. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/nav-a-last.png +0 -0
  86. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/nav-a.png +0 -0
  87. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/nav-li.png +0 -0
  88. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/products-li-large.png +0 -0
  89. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/products-li.png +0 -0
  90. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/rss-span.png +0 -0
  91. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/rss.png +0 -0
  92. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/search.png +0 -0
  93. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/sec-navigation-li.png +0 -0
  94. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/sec-navigation.png +0 -0
  95. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/slogan.png +0 -0
  96. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/wrapper-home.png +0 -0
  97. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/img/wrapper.png +0 -0
  98. data/lib/subtrac/templates/trac/themes/subtractheme/prototype/subtractheme.html +0 -115
  99. data/lib/subtrac/templates/trac/themes/subtractheme/setup.py +0 -29
  100. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/__init__.py +0 -0
  101. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/archive-li-first.png +0 -0
  102. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/archive-li-hover.png +0 -0
  103. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/archive-li-last.png +0 -0
  104. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/archive-li.png +0 -0
  105. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/archive.png +0 -0
  106. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/body-home.png +0 -0
  107. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/body.png +0 -0
  108. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/content-product.png +0 -0
  109. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/content.png +0 -0
  110. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/entry.png +0 -0
  111. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/footer.png +0 -0
  112. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/gallery-nav.png +0 -0
  113. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/header.png +0 -0
  114. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/inner.png +0 -0
  115. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/logo.png +0 -0
  116. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/master.css +0 -1805
  117. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/masthead.png +0 -0
  118. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/more.png +0 -0
  119. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/nav-a-first.png +0 -0
  120. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/nav-a-last.png +0 -0
  121. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/nav-a.png +0 -0
  122. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/nav-li.png +0 -0
  123. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/products-li-large.png +0 -0
  124. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/products-li.png +0 -0
  125. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/rss-span.png +0 -0
  126. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/rss.png +0 -0
  127. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/search.png +0 -0
  128. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/sec-navigation-li.png +0 -0
  129. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/sec-navigation.png +0 -0
  130. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/slogan.png +0 -0
  131. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/wrapper-home.png +0 -0
  132. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/img/wrapper.png +0 -0
  133. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/htdocs/subtrac.css +0 -1805
  134. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/templates/subtrac_theme.html +0 -143
  135. data/lib/subtrac/templates/trac/themes/subtractheme/subtractheme/theme.py +0 -12
@@ -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
-