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,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
+ #++