ruwiki 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,16 @@
1
+ page!content: = Adding Pages
2
+ To add a new page to Ruwiki, all you need to do is come up with a
3
+ meaningful title, turn it into a \WikiWord (see Ruwiki::WikiMarkup) and
4
+ Ruwiki will automatically recognise it as a reference to a page that
5
+ does not yet exist.
6
+
7
+ At the end of the new \WikiWord is a hyperlinked question mark;
8
+ clicking on this will open the edit page for the new \WikiWord in
9
+ Ruwiki.
10
+ properties!project: Tutorial
11
+ properties!title: AddingPages
12
+ properties!topic: AddingPages
13
+ properties!version: 1
14
+ ruwiki!content-version: 2
15
+ ruwiki!version: 0.9.0
16
+ properties!editable: false
@@ -0,0 +1,16 @@
1
+ page!content: = Adding Projects
2
+ To add a new project to Ruwiki, all you need to do is come up with a
3
+ meaningful one-word name, and then turn it into a project link, e.g.,
4
+ \::Project. Projects may <strong>only</strong> be a single word &mdash;
5
+ they are not normal \WikiWords (see Ruwiki::WikiMarkup for details).
6
+ Ruwiki will recognise this as a project that does not yet exist. At the
7
+ end of the Project link is a hyperlinked question mark; clicking on
8
+ this will open the \Project::ProjectIndex in Ruwiki for editing and
9
+ create the new project.
10
+ properties!project: Tutorial
11
+ properties!title: AddingProjects
12
+ properties!topic: AddingProjects
13
+ properties!version: 1
14
+ ruwiki!content-version: 2
15
+ ruwiki!version: 0.9.0
16
+ properties!editable: false
@@ -0,0 +1,11 @@
1
+ page!content: = Ruwiki 0.9.0 Tutorial
2
+ This tutorial is incomplate.
3
+
4
+ %topics(Tutorial)
5
+ properties!project: Tutorial
6
+ properties!title: ProjectIndex
7
+ properties!topic: ProjectIndex
8
+ properties!version: 1
9
+ ruwiki!content-version: 2
10
+ ruwiki!version: 0.9.0
11
+ properties!editable: false
@@ -0,0 +1,9 @@
1
+ page!content: This page is intended for users to play with freely to practice
2
+ their \WikiFormatting.
3
+ properties!project: Tutorial
4
+ properties!title: SandBox
5
+ properties!topic: SandBox
6
+ properties!version: 1
7
+ ruwiki!content-version: 2
8
+ ruwiki!version: 0.9.0
9
+ properties!editable: false
@@ -0,0 +1,60 @@
1
+ #--
2
+ # Ruwiki
3
+ # Copyright � 2002 - 2004, Digikata and HaloStatue
4
+ # Alan Chen (alan@digikata.com)
5
+ # Austin Ziegler (ruwiki@halostatue.ca)
6
+ #
7
+ # Licensed under the same terms as Ruby.
8
+ #
9
+ # $Id: agents.banned,v 1.1 2004/11/22 04:53:41 austin Exp $
10
+ #
11
+ # This file contains the list of User Agent strings which will be greeted
12
+ # with "403 Forbidden" responses by Ruwiki. These are generally known email
13
+ # harvesters or link directory builders for reciprocal link partners. These
14
+ # may also be robots that routinely ignore the robots.txt file.
15
+ #
16
+ # This list is generated from a wide variety of sources including:
17
+ # * http://www.clockwatchers.com/robots_list.html
18
+ # * http://searchenginewatch.com/webmasters/article.php/2167991
19
+ # * http://www.neilgunton.com/spambot_trap/
20
+ # * http://www.robotstxt.org/wc/active/all.txt
21
+ #
22
+ # This file is in "extended" regular expression format, one optional
23
+ # expression to a line. Spaces are not significant and comments are
24
+ # allowed. If you want to recognise a space in your regular expression, do
25
+ # so either with a character class ([ ]) or the whitespace meta-character
26
+ # (\s). Hash marks must be escaped (\#) or they will be treated as comment
27
+ # markers. Blank or comment-only lines are ignored. All other lines will
28
+ # be joined together:
29
+ #
30
+ # foo
31
+ # bar
32
+ #
33
+ # becomes:
34
+ #
35
+ # %r{foo|bar}x
36
+ #++
37
+
38
+ # Known email harvesters
39
+ (?i:^nicerspro)
40
+ (?i:^teleport)
41
+ ^CherryPicker
42
+ ^Crescent # Crescent Internet ToolPak
43
+ ^EmailCollector
44
+ ^EmailSiphon
45
+ ^EmailWolf
46
+ ^ExtractorPro
47
+ ^Microsoft\sURL
48
+ ^WebEMailExtrac
49
+
50
+ # Link directory builders.
51
+ ^LinkWalker
52
+ ^Zeus.*Webster
53
+
54
+ # Strongly suspected spoofed user agents from spam harvesters. These user
55
+ # agents have been reported patterns by other antispam fighters.
56
+ ^[A-Z]+$
57
+ ^Internet\sExplore\s5.x
58
+ ^Mozilla.*NEWT
59
+ ^Mozilla\/4.0$
60
+ MSIECrawler
@@ -0,0 +1,321 @@
1
+ #--
2
+ # Ruwiki
3
+ # Copyright � 2002 - 2004, Digikata and HaloStatue
4
+ # Alan Chen (alan@digikata.com)
5
+ # Austin Ziegler (ruwiki@halostatue.ca)
6
+ #
7
+ # Licensed under the same terms as Ruby.
8
+ #
9
+ # $Id: agents.readonly,v 1.1 2004/11/22 04:53:41 austin Exp $
10
+ #
11
+ # This file contains the list of User Agent strings which will be given
12
+ # readonly versions of the wiki instance.
13
+ #
14
+ # This list is generated from a wide variety of sources including:
15
+ # * http://www.clockwatchers.com/robots_list.html
16
+ # * http://searchenginewatch.com/webmasters/article.php/2167991
17
+ # * http://www.neilgunton.com/spambot_trap/
18
+ # * http://www.robotstxt.org/wc/active/all.txt
19
+ #
20
+ # This file is in "extended" regular expression format, one optional
21
+ # expression to a line. Spaces are not significant and comments are
22
+ # allowed. If you want to recognise a space in your regular expression, do
23
+ # so either with a character class ([ ]) or the whitespace meta-character
24
+ # (\s). Hash marks must be escaped (\#) or they will be treated as comment
25
+ # markers. Blank or comment-only lines are ignored. All other lines will
26
+ # be joined together:
27
+ #
28
+ # foo
29
+ # bar
30
+ #
31
+ # becomes:
32
+ #
33
+ # %r{foo|bar}x
34
+ #++
35
+
36
+ (?:^.*HTTrack)
37
+ (?:^.*LWP)
38
+ (?:^Digimarc)
39
+ (?:ChristCrawler.com|ChristCrawler@ChristCENTRAL.com)
40
+ (?:Net|Web)Mechanic
41
+ (?:PerlCrawler|Xavatoria)/
42
+ (?:pjspider|PortalJuice.com)
43
+ (?:spider_monkey|mouse.house)
44
+ (?:tach_bw|Black\sWidow)
45
+ (?:topiclink|TLSpider)
46
+ (?i:(?-i:ComputingSite\s)?Robi)
47
+ (?i:^curl)
48
+ (?i:^googlebot)
49
+ (?i:^gulliver) # NorthernLight
50
+ (?i:^Scooter) # Altavista
51
+ (?i:^w[@a]pSpider)
52
+ (?i:infoseek) # InfoSeek
53
+ ^ABCdatos\sBotLink # http://www.abcdatos.com/botlink/
54
+ ^AITCSRobot/
55
+ ^anthill
56
+ ^appie
57
+ ^Arachnoidea # Euroseek
58
+ ^Arachnophilia
59
+ ^arale
60
+ ^araneo
61
+ ^AraybOt
62
+ ^ArchitextSpider # Excite, WebCrawler
63
+ ^ariadne
64
+ ^arks
65
+ ^Ask\s?Jeeves/Teoma
66
+ ^ASpider/
67
+ ^ATN_Worldwide
68
+ ^Atomz
69
+ ^AURESYS/
70
+ ^BackRub/
71
+ ^BaySpider
72
+ ^bbot
73
+ ^Big\sBrother
74
+ ^Bjaaland
75
+ ^BlackWidow
76
+ ^borg-bot/
77
+ ^(?i:boxseabot)
78
+ ^BSpider/
79
+ ^CACTVS\sChemistry\sSpider
80
+ ^calif
81
+ ^Checkbot/
82
+ ^cienciaficcion.net
83
+ ^CMCM/
84
+ ^combine
85
+ (?i:^confuzzledbot)
86
+ ^CoolBot
87
+ ^cosmos
88
+ ^crawlpaper
89
+ ^cusco
90
+ ^cyberspyder
91
+ (?i:^cydralspider)
92
+ ^desert\s?realm
93
+ ^Deweb
94
+ ^Die\sBlinde\sKuh
95
+ ^dienstspider/
96
+ ^digger
97
+ ^Digger
98
+ ^DIIbot
99
+ ^dlw3robot/
100
+ ^DNAbot/
101
+ ^downloadexpress
102
+ ^DragonBot
103
+ ^Duppies
104
+ ^dwcp
105
+ ^ebiness
106
+ ^ecollector
107
+ ^EIT-Link-Verifier-Robot/
108
+ ^elfinbot
109
+ ^Emacs-w3/
110
+ ^EMC\sSpider
111
+ (?i:^esculapio)
112
+ ^ESI
113
+ ^esther
114
+ ^Evliya\sCelebi
115
+ ^explorersearch
116
+ ^fast # Fast/AllTheWeb
117
+ ^fastcrawler
118
+ ^FDSE
119
+ ^FELIX\s?IDE
120
+ ^fido
121
+ ^Fish-Search-Robot
122
+ ^fouineur
123
+ ^Freecrawl
124
+ ^FunnelWeb-
125
+ ^gammaSpider
126
+ ^gazz
127
+ ^gcreep
128
+ ^gestalttIconoclast/
129
+ ^Getterrobo-?Plus
130
+ ^GetURL\.rexx
131
+ ^golem
132
+ ^grabber
133
+ ^griffon
134
+ ^Gromit
135
+ ^gulper
136
+ ^hambot
137
+ ^havIndex
138
+ ^HKU\sWWW\sRobot
139
+ ^Hometown\sSpider\sPro
140
+ ^H�m�h�kki
141
+ ^hotwired
142
+ ^htdig
143
+ ^htmlgobble
144
+ ^IAGENT/
145
+ ^iajabot
146
+ ^IBM_Planetwide
147
+ ^image\.kapsi\.net
148
+ ^IncyWincy
149
+ ^Informant
150
+ ^InfoSpiders
151
+ ^INGRID/
152
+ ^inspectorwww
153
+ ^Internet\sCruiser\sRobot
154
+ ^irobot
155
+ ^Iron33
156
+ ^IsraeliSearch/
157
+ ^JavaBee
158
+ ^JBot
159
+ ^jcrawler
160
+ ^jobo
161
+ ^Jobot/
162
+ ^JoeBot/
163
+ ^JubiiRobot/
164
+ ^jumpstation
165
+ ^Katipo/
166
+ ^KDD-Explorer
167
+ ^KIT-Fireball # Fireball.de
168
+ ^ko_yappo_robot
169
+ ^label-grabber
170
+ ^LabelGrab/
171
+ ^larbin
172
+ ^legs
173
+ ^Linkidator
174
+ ^LinkScan\s(?:Server|Workstation)
175
+ ^Lockon
176
+ ^logo\.gif\scrawler
177
+ ^logo_gif_crawler
178
+ ^Lycos_Spider_(T-Rex) # Lycos
179
+ ^M/
180
+ ^Magpie/
181
+ ^marvin
182
+ ^mattie
183
+ ^mediafox
184
+ ^MerzScope
185
+ ^MindCrawler
186
+ ^moget
187
+ ^MOMspider/
188
+ ^Monster
189
+ ^Motor
190
+ ^Mozilla/3\.01\s(Win95;\sI) # InfoSeek
191
+ ^Mozilla\/3.0.+Indy\sLibrary
192
+ ^msnbot
193
+ ^muncher
194
+ (?i:^muninn)
195
+ ^MuscatFerret
196
+ ^MwdSearch
197
+ ^NDSpider/
198
+ ^NEC-MeshExplorer
199
+ ^Nederland.zoek
200
+ ^Net.Vampire
201
+ ^NetCarta
202
+ ^NetScoop
203
+ ^newscan-online
204
+ ^NHSEWalker/
205
+ ^Nomad
206
+ ^NorthStar
207
+ ^NPBot # Detects IP violations(?)
208
+ ^ObjectsSearch
209
+ ^Occam
210
+ ^Openbot # OpenFind
211
+ ^Openfind
212
+ ^Orbsearch
213
+ ^PackRat
214
+ ^pageboy
215
+ ^parasite
216
+ ^patric
217
+ ^PBWF
218
+ ^pegasus
219
+ ^Peregrinator-Mathematics/
220
+ ^PGP-KA/
221
+ ^phpdig
222
+ ^piltdownman
223
+ ^Pimptrain
224
+ ^Pioneer
225
+ ^Plucker
226
+ ^PlumtreeWebAccessor
227
+ ^Poppi/
228
+ ^PortalBSpider
229
+ ^psbot
230
+ ^Raven
231
+ ^Resume\sRobot
232
+ ^RHCS
233
+ ^RixBot
234
+ ^Road\s?Runner
235
+ ^Robbie
236
+ ^RoboCrawl
237
+ ^robofox
238
+ ^Robot\sdu\sCRIM
239
+ ^Robozilla/
240
+ ^root/
241
+ ^Roverbot
242
+ ^RuLeS/
243
+ ^SafetyNet\sRobot
244
+ ^Search-AU
245
+ ^searchprocess
246
+ ^searchterms\.it
247
+ ^Senrigan
248
+ ^SG-Scout
249
+ ^Shagseeker
250
+ ^Shai'Hulud
251
+ ^sharp-info-agent
252
+ ^SimBot
253
+ ^Site\sValet
254
+ ^sitecheck
255
+ ^SiteTech-Rover
256
+ ^SLCrawler
257
+ ^Sleek\sSpider
258
+ ^Slurp # Inktomi, AOL
259
+ ^snooper
260
+ ^solbot
261
+ ^speedy
262
+ ^SpiderBot
263
+ ^spiderline
264
+ ^SpiderMan
265
+ ^SpiderView
266
+ ^ssearcher
267
+ ^suke
268
+ ^suntek
269
+ (?i:http://www.sygol.com)
270
+ ^T-H-U-N-D-E-R-S-T-O-N-E
271
+ ^Tarantula/
272
+ ^tarspider
273
+ ^TechBOT
274
+ ^Templeton
275
+ ^TeomaAgent # Teoma
276
+ ^TITAN
277
+ ^titin
278
+ ^TurnitinBot # Plagiarism detector
279
+ ^UCSD-Crawler
280
+ ^UdmSearch
281
+ ^udmsearch
282
+ ^Ukonline
283
+ ^uptimebot
284
+ ^URL\sSpider\sPro
285
+ ^urlck
286
+ ^Valkyrie
287
+ ^verticrawl
288
+ ^Victoria
289
+ ^vision-search
290
+ ^void-bot
291
+ ^Voyager
292
+ ^VWbot_K
293
+ ^w3index
294
+ ^W3M2/
295
+ ^w3mir
296
+ ^WebBandit
297
+ ^webcatcher
298
+ ^WebCopier
299
+ ^WebCopy
300
+ ^WebFetcher/
301
+ ^weblayers/
302
+ ^WebLinker/
303
+ ^WebMoose
304
+ ^webquest
305
+ ^WebReaper
306
+ ^webs
307
+ ^webspider
308
+ ^webvac
309
+ ^webwalk
310
+ ^WebWalker
311
+ ^WebWatch
312
+ ^wget
313
+ ^whowhere
314
+ ^winona
315
+ ^wired-digital-newsbot/
316
+ ^wlm
317
+ ^WOLP
318
+ ^WWWC
319
+ ^WWWWanderer
320
+ ^XGET
321
+ ^ZyBorg # WiseNut/LookSmart
@@ -0,0 +1,30 @@
1
+ #--
2
+ # Ruwiki
3
+ # Copyright � 2002 - 2004, Digikata and HaloStatue
4
+ # Alan Chen (alan@digikata.com)
5
+ # Austin Ziegler (ruwiki@halostatue.ca)
6
+ #
7
+ # Licensed under the same terms as Ruby.
8
+ #
9
+ # $Id: hostip.banned,v 1.1 2004/11/22 04:53:41 austin Exp $
10
+ #
11
+ # This file contains the list of User Agent strings which will be greeted
12
+ # with "403 Forbidden" responses by Ruwiki. These are generally known email
13
+ # harvesters or link directory builders for reciprocal link partners. These
14
+ # may also be robots that routinely ignore the robots.txt file.
15
+ #
16
+ # This file is in "extended" regular expression format, one optional
17
+ # expression to a line. Spaces are not significant and comments are
18
+ # allowed. If you want to recognise a space in your regular expression, do
19
+ # so either with a character class ([ ]) or the whitespace meta-character
20
+ # (\s). Hash marks must be escaped (\#) or they will be treated as comment
21
+ # markers. Blank or comment-only lines are ignored. All other lines will be
22
+ # joined together:
23
+ #
24
+ # 192\.168\.0\..*
25
+ # 127\.0\.0\..*
26
+ #
27
+ # becomes:
28
+ #
29
+ # %r{192\.168\.0\..*|127\.0\.0\..*}
30
+ #++