ruwiki 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. data/Readme.rubygems +86 -0
  2. data/Readme.tarfile +65 -0
  3. data/bin/ruwiki +58 -0
  4. data/bin/ruwiki.cgi +87 -0
  5. data/bin/ruwiki_convert +56 -0
  6. data/bin/ruwiki_service.rb +82 -0
  7. data/bin/ruwiki_servlet +53 -0
  8. data/contrib/enscript-token.rb +55 -0
  9. data/contrib/rublog_integrator.rb +68 -0
  10. data/data/Default/ProjectIndex.ruwiki +49 -0
  11. data/data/Ruwiki/Antispam.ruwiki +65 -0
  12. data/data/Ruwiki/BugTracking.ruwiki +33 -0
  13. data/data/Ruwiki/ChangeLog.ruwiki +102 -0
  14. data/data/Ruwiki/Configuring_Ruwiki.ruwiki +151 -0
  15. data/data/Ruwiki/Extending_Ruwiki.ruwiki +317 -0
  16. data/data/Ruwiki/LicenseAndAuthorInfo.ruwiki +30 -0
  17. data/data/Ruwiki/ProjectIndex.ruwiki +84 -0
  18. data/data/Ruwiki/Roadmap.ruwiki +225 -0
  19. data/data/Ruwiki/RuwikiTemplatingLibrary.ruwiki +156 -0
  20. data/data/Ruwiki/RuwikiUtilities.ruwiki +157 -0
  21. data/data/Ruwiki/SandBox.ruwiki +9 -0
  22. data/data/Ruwiki/To_Do.ruwiki +51 -0
  23. data/data/Ruwiki/TroubleShooting.ruwiki +33 -0
  24. data/data/Ruwiki/WikiFeatures.ruwiki +17 -0
  25. data/data/Ruwiki/WikiMarkup.ruwiki +261 -0
  26. data/data/Tutorial/AddingPages.ruwiki +16 -0
  27. data/data/Tutorial/AddingProjects.ruwiki +16 -0
  28. data/data/Tutorial/ProjectIndex.ruwiki +11 -0
  29. data/data/Tutorial/SandBox.ruwiki +9 -0
  30. data/data/agents.banned +60 -0
  31. data/data/agents.readonly +321 -0
  32. data/data/hostip.banned +30 -0
  33. data/data/hostip.readonly +28 -0
  34. data/lib/ruwiki.rb +622 -0
  35. data/lib/ruwiki/auth.rb +56 -0
  36. data/lib/ruwiki/auth/gforge.rb +73 -0
  37. data/lib/ruwiki/backend.rb +318 -0
  38. data/lib/ruwiki/backend/flatfiles.rb +217 -0
  39. data/lib/ruwiki/config.rb +244 -0
  40. data/lib/ruwiki/exportable.rb +192 -0
  41. data/lib/ruwiki/handler.rb +342 -0
  42. data/lib/ruwiki/lang/de.rb +339 -0
  43. data/lib/ruwiki/lang/en.rb +334 -0
  44. data/lib/ruwiki/lang/es.rb +339 -0
  45. data/lib/ruwiki/page.rb +262 -0
  46. data/lib/ruwiki/servlet.rb +38 -0
  47. data/lib/ruwiki/template.rb +553 -0
  48. data/lib/ruwiki/utils.rb +24 -0
  49. data/lib/ruwiki/utils/command.rb +102 -0
  50. data/lib/ruwiki/utils/converter.rb +297 -0
  51. data/lib/ruwiki/utils/manager.rb +639 -0
  52. data/lib/ruwiki/utils/servletrunner.rb +295 -0
  53. data/lib/ruwiki/wiki.rb +147 -0
  54. data/lib/ruwiki/wiki/tokens.rb +136 -0
  55. data/lib/ruwiki/wiki/tokens/00default.rb +211 -0
  56. data/lib/ruwiki/wiki/tokens/01wikilinks.rb +166 -0
  57. data/lib/ruwiki/wiki/tokens/02actions.rb +63 -0
  58. data/lib/ruwiki/wiki/tokens/abbreviations.rb +40 -0
  59. data/lib/ruwiki/wiki/tokens/calendar.rb +147 -0
  60. data/lib/ruwiki/wiki/tokens/headings.rb +43 -0
  61. data/lib/ruwiki/wiki/tokens/lists.rb +112 -0
  62. data/lib/ruwiki/wiki/tokens/rubylists.rb +48 -0
  63. data/ruwiki.conf +22 -0
  64. data/ruwiki.pkg +0 -0
  65. data/templates/default/body.tmpl +19 -0
  66. data/templates/default/content.tmpl +7 -0
  67. data/templates/default/controls.tmpl +23 -0
  68. data/templates/default/edit.tmpl +27 -0
  69. data/templates/default/error.tmpl +14 -0
  70. data/templates/default/footer.tmpl +23 -0
  71. data/templates/default/ruwiki.css +297 -0
  72. data/templates/default/save.tmpl +8 -0
  73. data/templates/sidebar/body.tmpl +19 -0
  74. data/templates/sidebar/content.tmpl +8 -0
  75. data/templates/sidebar/controls.tmpl +8 -0
  76. data/templates/sidebar/edit.tmpl +27 -0
  77. data/templates/sidebar/error.tmpl +13 -0
  78. data/templates/sidebar/footer.tmpl +22 -0
  79. data/templates/sidebar/ruwiki.css +347 -0
  80. data/templates/sidebar/save.tmpl +10 -0
  81. data/templates/simple/body.tmpl +13 -0
  82. data/templates/simple/content.tmpl +7 -0
  83. data/templates/simple/controls.tmpl +8 -0
  84. data/templates/simple/edit.tmpl +25 -0
  85. data/templates/simple/error.tmpl +10 -0
  86. data/templates/simple/footer.tmpl +10 -0
  87. data/templates/simple/ruwiki.css +192 -0
  88. data/templates/simple/save.tmpl +8 -0
  89. data/tests/harness.rb +52 -0
  90. data/tests/tc_backend_flatfile.rb +103 -0
  91. data/tests/tc_bugs.rb +74 -0
  92. data/tests/tc_exportable.rb +64 -0
  93. data/tests/tc_template.rb +145 -0
  94. data/tests/tc_tokens.rb +335 -0
  95. data/tests/testall.rb +20 -0
  96. metadata +182 -0
@@ -0,0 +1,14 @@
1
+ <div id="rw_header">
2
+ <div class="rw_navbar">
3
+ <div class="rw_navbar_tab">%home_link%</div>
4
+ <div class="rw_navbar_righttab" style="background-color: #C72"><strong><em>%name%</em></strong></div>
5
+ </div>
6
+ </div>
7
+
8
+ <div id="rw_content">
9
+ <div class="rw_content">
10
+ <h1>%name%</h1>
11
+ <p>#label_send_report_by# <a href="mailto:%webmaster%?subject=%name%[?backtrace_email|&amp;body=%backtrace_email%?]">#label_send_report#</a></p>
12
+ <p>%backtrace%</p>
13
+ </div>
14
+ </div>
@@ -0,0 +1,23 @@
1
+ <div id="rw_footer">
2
+ <!--<form class="rw_navbar" action="_search">
3
+ <div class="rw_navbar_tab">%home_link%</div>
4
+ <div class="rw_navbar_tab">#label_project#<a href="%cgi_url%/%page_project%/"><strong>%page_project%</strong></a></div>
5
+ <div class="rw_navbar_tab">%label_topic_or_search% %page_topic%</div>
6
+ [?editable|<div class="rw_navbar_tab"><a href="%cgi_url%/%page_project%/%page_raw_topic%/_edit">#label_edit#</a></div>?]
7
+ {!-- Right-hand tabs must go in reverse order! --}
8
+ <div class="rw_navbar_righttab">
9
+ <input class="rw_search_box" type="text" name="q" size="10" />
10
+ <button class="rw_search_button" type="submit">#label_search_project#</button>
11
+ <input class="rw_search_all_check" type="checkbox" name="a">#label_search_all#</input>
12
+ </div>
13
+ <div class="rw_navbar_righttab">
14
+ <a href="%cgi_url%/%page_project%/RecentChanges">#label_recent_changes#</a>
15
+ </div>
16
+ <div class="rw_navbar_righttab">
17
+ %page_project%::<a href="%cgi_url%/%page_project%/_topics">#label_topics#</a>
18
+ </div>
19
+ <div class="rw_navbar_righttab">
20
+ <a href="%cgi_url%/_projects">#label_projects#</a>
21
+ </div>
22
+ </form>-->
23
+ </div>
@@ -0,0 +1,297 @@
1
+ /* $Id: ruwiki.css,v 1.13 2004/11/22 04:53:41 austin Exp $ */
2
+ /*
3
+ * The fixed positioning for what we're doing is based on:
4
+ * http://www.456bereastreet.com/lab/cssframes/
5
+ */
6
+ body, html { margin: 0; padding: 0; }
7
+ /* Prevents content from becoming unreachable in Gecko */
8
+ body { min-width: 720px; }
9
+
10
+ /*
11
+ * position: absolute - scrolls the whole page for all browsers. This also
12
+ * makes the background invisible, so the text doesn't appear between tabs.
13
+ */
14
+ div#rw_header
15
+ {
16
+ position: absolute;
17
+ width: 100%;
18
+ top: 0;
19
+ left: 0;
20
+ height: 2.25em;
21
+ background-color: #F7FEFF;
22
+ }
23
+
24
+ /* position: fixed - header and footer don't scroll; modern browsers */
25
+ body > div#rw_header { position: fixed; }
26
+
27
+ /*
28
+ * position: absolute - scrolls the whole page for all browsers. This also
29
+ * makes the background invisible, so the text doesn't appear between tabs.
30
+ */
31
+ div#rw_footer
32
+ {
33
+ /*position: absolute;
34
+ width: 100%;
35
+ bottom: 0;
36
+ left: 0;
37
+ height: 2.25em;
38
+ background-color: #F7FEFF;*/
39
+ }
40
+
41
+ /* position: fixed - header and footer don't scroll; modern browsers */
42
+ body > div#rw_footer { position: fixed; }
43
+
44
+ body > div#rw_footer > .rw_navbar { position: fixed; bottom: 0; }
45
+ body > div#rw_footer > .rw_navbar > div { position: relative; top: -2em; }
46
+
47
+ body
48
+ {
49
+ margin: 0.5em;
50
+ color: black;
51
+ font-size: medium;
52
+ font-family: "Trebuchet MS", "Verdana", sans-serif;
53
+ background-color: #F7FEFF;
54
+ }
55
+
56
+ .rw_navbar
57
+ {
58
+ width: 100%;
59
+ margin: 0;
60
+ padding: 0.1em;
61
+ font-size: 0.7em;
62
+ border: 1px solid black;
63
+ color: white;
64
+ background-color: #27C;
65
+ height: 0.5em;
66
+ z-index: 2;
67
+ }
68
+
69
+ .rw_navbar a
70
+ {
71
+ color: white;
72
+ border-bottom: 1px dashed white;
73
+ font-weight: bold;
74
+ }
75
+
76
+ .rw_navbar a:visited
77
+ {
78
+ color: #2E7;
79
+ font-weight: normal;
80
+ border-bottom: 1px dashed #2E7;
81
+ }
82
+
83
+ .rw_navbar a:hover
84
+ {
85
+ text-decoration: none;
86
+ }
87
+
88
+ .rw_navbar_tab
89
+ {
90
+ float: left;
91
+ background-color: #27C;
92
+ padding-left: 0.8em;
93
+ padding-right: 0.8em;
94
+ padding-top: 0.3em;
95
+ border: 1px solid #059;
96
+ margin: 0 0.3em;
97
+ height: 2em;
98
+ vertical-align: center;
99
+ }
100
+
101
+ .rw_navbar_tab:hover
102
+ {
103
+ background-color: #49E;
104
+ }
105
+
106
+ .rw_navbar_righttab
107
+ {
108
+ float: right;
109
+ padding-left: 0.8em;
110
+ padding-top: 0.3em;
111
+ padding-right: 0.8em;
112
+ border: 1px solid #059;
113
+ background-color: #27C;
114
+ margin: 0 0.3em;
115
+ height: 2em;
116
+ }
117
+
118
+ .rw_navbar_righttab:hover
119
+ {
120
+ background-color: #49E;
121
+ }
122
+
123
+ .rw_content
124
+ {
125
+ clear: both;
126
+ margin-top: 2em;
127
+ margin-left: 3em;
128
+ margin-right: 3em;
129
+ }
130
+
131
+ .rw_message
132
+ {
133
+ background-color: #fab;
134
+ border: 3px dotted red;
135
+ font-weight: bolder;
136
+ clear: both;
137
+ font-size: 90%;
138
+ padding: 1em;
139
+ margin-top: 3em;
140
+ margin-left: 5em;
141
+ margin-right: 5em;
142
+ }
143
+
144
+ .rw_edit_content
145
+ {
146
+ border: 1px dashed #059;
147
+ padding: 0.3em;
148
+ width: 100%;
149
+ min-height: 20.5em;
150
+ }
151
+
152
+ .rw_accelerator { text-decoration: underline; }
153
+
154
+ .rw_edit_content textarea
155
+ {
156
+ border: 1px dashed #059;
157
+ padding: 0.3em;
158
+ width: 100%;
159
+ min-height: 20.5em;
160
+ height: 20.5em;
161
+ }
162
+
163
+ .rw_edit_comment
164
+ {
165
+ clear: both;
166
+ margin-top: 1em;
167
+ }
168
+
169
+ .rw_edit_comment input
170
+ {
171
+ border: 1px dashed #059;
172
+ min-width: 50%;
173
+ width: 70%;
174
+ max-width: 80%;
175
+ }
176
+
177
+ .rw_edit_form_button
178
+ {
179
+ font-size: 0.8em;
180
+ border: 1px dotted #27C;
181
+ }
182
+
183
+ .rw_edit_raw
184
+ {
185
+ font-size: 0.8em;
186
+ float: left;
187
+ max-width: 48%;
188
+ width: 48%;
189
+ margin: 0;
190
+ }
191
+
192
+ .rw_edit_raw pre
193
+ {
194
+ border: 3px double #72C;
195
+ overflow: scroll;
196
+ clear: right;
197
+ }
198
+
199
+ .rw_edit_format
200
+ {
201
+ font-size: 0.8em;
202
+ float: right;
203
+ max-width: 48%;
204
+ width: 48%;
205
+ margin: 0;
206
+ }
207
+
208
+ .rw_edit_title
209
+ {
210
+ margin: 0;
211
+ }
212
+
213
+ .rw_edit_format div
214
+ {
215
+ border: 3px double #27C;
216
+ }
217
+
218
+ .rw_search_button
219
+ {
220
+ border: 1px dotted #27C;
221
+ }
222
+
223
+ .rw_search_box
224
+ {
225
+ border: 1px dotted #27C;
226
+ }
227
+
228
+ .rw_search_box:hover
229
+ {
230
+ background-color: #999;
231
+ }
232
+
233
+ li { margin-top: 0.25em; margin-bottom: 0.25em; }
234
+
235
+ .rw_minilink { font-size: 0.5em; font-weight: bold; }
236
+
237
+ #rw_editing_tab { background-color: #C72; }
238
+ #rw_saved_page_announcement { border-bottom: 1px solid black; }
239
+
240
+ /* Token Classes */
241
+ .rwtk_Paragraph { }
242
+ .rwtk_Code
243
+ {
244
+ border-left: 1em solid #999;
245
+ }
246
+ .rwtk_Image { }
247
+ .rwtk_NumberedLinks
248
+ {
249
+ border: 1px dashed #72C;
250
+ background-color: #C7CECF;
251
+ }
252
+ .rwtk_NamedLinks
253
+ {
254
+ border: 1px dashed #72C;
255
+ background-color: #C7CECF;
256
+ }
257
+ .rwtk_ExternalLinks
258
+ {
259
+ border: 1px dashed #72C;
260
+ background-color: #C7CECF;
261
+ }
262
+ .rwtk_RubyTalkLinks
263
+ {
264
+ border: 1px dashed #72C;
265
+ background-color: #C7CECF;
266
+ }
267
+ .rwtk_OtherRubyLinks
268
+ {
269
+ border: 1px dashed #72C;
270
+ background-color: #C7CECF;
271
+ }
272
+ .rwtk_HRule { }
273
+
274
+ .rwtk_Abbreviations { }
275
+
276
+ div.rwtk_Calendar {
277
+ border: 1px solid black;
278
+ float: right;
279
+ clear: none;
280
+ }
281
+ .rwtk_Calendar_current_month { }
282
+ .rwtk_Calendar_prev_month { }
283
+ .rwtk_Calendar_next_month { }
284
+ .rwtk_Calendar_weekend { }
285
+ .rwtk_Calendar_weekday { }
286
+ .rwtk_Calendar_day { }
287
+ .rwtk_Calendar_today { background-color: #FFFFA7; }
288
+
289
+ .rwtk_EditWikiLink { border: 1px dotted blue }
290
+ .rwtk_WikiLink { }
291
+
292
+ .rwtk_Headings { }
293
+ .rwtk_Lists { }
294
+ .rwtk_Blockquotes { }
295
+ .rwtk_Definitions { }
296
+ .rwtk_Definitions dt { font-weight: bold; }
297
+
@@ -0,0 +1,8 @@
1
+ <!-- header -->!INCLUDE!<!-- /header -->
2
+ <!-- content --><div id="rw_content"><div class="rw_content" id="rw_saved_page_announcement">
3
+ #label_saved_page# <a href="%cgi_url%/%page_project%/%page_raw_topic%">%page_project%::%page_topic_name%</a>
4
+ </div>
5
+ <div class="rw_content">
6
+ %content%
7
+ </div></div><!-- /content -->
8
+ <!-- footer -->!INCLUDE!<!-- /footer -->
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <title>%wiki_title%</title>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=#charset_encoding#" />
7
+ [!indexable|<meta name="robots" content="noindex,nofollow" />?]
8
+ %css_link%
9
+ <!--[if IE 6]>
10
+ <style type="text/css" media="screen,print">
11
+ html { overflow: hidden; }
12
+ body { height: 100%; overflow: auto; }
13
+ </style>
14
+ <![endif]-->
15
+ </head>
16
+ <body>
17
+ !INCLUDE!
18
+ </body>
19
+ </html>
@@ -0,0 +1,8 @@
1
+ <!-- header -->!INCLUDE!<!-- /header -->
2
+ <!-- content --><div id="rw_content">
3
+ [?message|<div class="rw_message">%message%</div>?]
4
+ <div class="rw_content">
5
+ %content%
6
+ </div>
7
+ <!-- footer -->!INCLUDE!<!-- /footer -->
8
+ </div><!-- /content -->
@@ -0,0 +1,8 @@
1
+ <div id="rw_header">
2
+ <div class="rw_titlebar">
3
+ <div class="rw_titlebar_tab">%home_link%</div>
4
+ <div class="rw_titlebar_tab">#label_project#<a href="%cgi_url%/%page_project%/"><strong>%page_project%</strong></a></div>
5
+ <div class="rw_titlebar_tab">%label_topic_or_search% %page_topic%</div>
6
+ [?editable|<div class="rw_titlebar_tab"><a href="%cgi_url%/%page_project%/%page_raw_topic%/_edit">#label_edit#</a></div>?]
7
+ </div>
8
+ </div>
@@ -0,0 +1,27 @@
1
+ <div id="rw_header">
2
+ <div class="rw_titlebar">
3
+ <div class="rw_titlebar_tab">%home_link%</div>
4
+ <div class="rw_titlebar_tab">#label_topic#<b>%page_topic%</b></div>
5
+ <div class="rw_titlebar_tab">#label_project#<b>%page_project%</b></div>
6
+ <div class="rw_titlebar_tab" id="rw_editing_tab"><strong><em>#label_editing#</em> #%page_version%</strong></div>
7
+ </div>
8
+ </div>
9
+
10
+ <div id="rw_content">
11
+ [?message|<div class="rw_message">%message%</div>?]
12
+ <div class="rw_content_edit">
13
+ <form class="rw_edit_form" action="%cgi_url%/%page_project%/%page_raw_topic%" method="post">
14
+ <span class="rw_accelerator">(#label_text_accelerator#)</span> #label_text#<br /><textarea accesskey="#label_text_accelerator#" class="rw_edit_content" rows="15" name="newpage">%page_content%</textarea>
15
+ <div class="rw_edit_comment"><span class="rw_accelerator">(#label_comment_accelerator#)</span> #label_edit_comment#<input accesskey="#label_comment_accelerator#" type="text" name="edcomment" value="%edit_comment%" /></div>
16
+ <input type="hidden" name="topic" value="%page_raw_topic%" />
17
+ <input type="hidden" name="project" value="%page_project%" />
18
+ <input type="hidden" name="version" value="%page_version%" /><br />
19
+ <button class="rw_edit_form_button" accesskey="#label_save_accelerator#" type="submit" name="save"><span class="rw_accelerator">(#label_save_accelerator#)</span> #label_save#</button>
20
+ <button class="rw_edit_form_button" accesskey="#label_cancel_accelerator#" type="submit" name="cancel"><span class="rw_accelerator">(#label_cancel_accelerator#)</span> #label_cancel#</button>
21
+ <button class="rw_edit_form_button" accesskey="#label_preview_accelerator#" type="submit" name="preview"><span class="rw_accelerator">(#label_preview_accelerator#)</span> #label_preview#</button>
22
+ </form>
23
+ <h2 style="border-bottom: 1px solid black">#label_original_text#</h2>
24
+ <div class="rw_edit_raw"><h2 class="rw_edit_title">#label_raw#</h2><pre>%pre_page_content%</pre></div>
25
+ <div class="rw_edit_format"><h2 class="rw_edit_title">#label_formatted#</h2><div>%unedited_page_content%</div></div>
26
+ </div>
27
+ </div>
@@ -0,0 +1,13 @@
1
+ <div id="rw_header">
2
+ <div class="rw_navbar">
3
+ <div class="rw_navbar_tab">%home_link%</div>
4
+ <div class="rw_navbar_righttab" style="background-color: #C72"><strong><em>%name%</em></strong></div>
5
+ </div>
6
+ </div>
7
+ <div id="rw_content">
8
+ <div class="rw_content">
9
+ <h1>%name%</h1>
10
+ <p>#label_send_report_by# <a href="mailto:%webmaster%?subject=%name%[?backtrace_email|&amp;body=%backtrace_email%?]">#label_send_report#</a></p>
11
+ <p>%backtrace%</p>
12
+ </div>
13
+ </div>
@@ -0,0 +1,22 @@
1
+ <div class="rw_footer">
2
+ <form class="rw_footer_tab" action="_search">
3
+ <div>
4
+ <input class="rw_search_box" type="text" name="q" size="10" />
5
+ </div>
6
+ <div>
7
+ <input class="rw_search_all_check" type="checkbox" name="a">#label_search_all#</input>
8
+ <button class="rw_search_button" type="submit">#label_search_project#</button>
9
+ </div>
10
+ </form>
11
+ <div class="rw_footer_tab">
12
+ <dl>
13
+ <dt>%page_project%::</dt>
14
+ <dd><a href="%cgi_url%/%page_project%/_topics">#label_topics#</a><br />
15
+ <a href="%cgi_url%/%page_project%/RecentChanges">#label_recent_changes#</a>
16
+ </dd>
17
+ </div>
18
+ <div class="rw_footer_tab">
19
+ <a href="%cgi_url%/_projects">#label_projects#</a>
20
+ </div>
21
+ </form>
22
+ </div>