gf-Soks 1.0.4

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 (120) hide show
  1. data/LICENSE.txt +66 -0
  2. data/README.txt +64 -0
  3. data/bin/soks-create-wiki.rb +193 -0
  4. data/contrib/diff/lcs.rb +1105 -0
  5. data/contrib/diff/lcs/array.rb +21 -0
  6. data/contrib/diff/lcs/block.rb +51 -0
  7. data/contrib/diff/lcs/callbacks.rb +322 -0
  8. data/contrib/diff/lcs/change.rb +169 -0
  9. data/contrib/diff/lcs/hunk.rb +257 -0
  10. data/contrib/diff/lcs/ldiff.rb +226 -0
  11. data/contrib/diff/lcs/string.rb +19 -0
  12. data/contrib/diff_licence.txt +76 -0
  13. data/contrib/easyprompt.rb +58 -0
  14. data/contrib/easyprompt_licence.txt +504 -0
  15. data/contrib/redcloth-3.0.3.rb +1113 -0
  16. data/contrib/redcloth_license.txt +27 -0
  17. data/lib/authenticators.rb +121 -0
  18. data/lib/helpers/counter-helpers.rb +132 -0
  19. data/lib/helpers/default-helpers.rb +416 -0
  20. data/lib/helpers/mail2wiki-helper.rb +105 -0
  21. data/lib/helpers/maintenance-helpers.rb +149 -0
  22. data/lib/helpers/rss2wiki-helper.rb +47 -0
  23. data/lib/helpers/wiki2html.rb +60 -0
  24. data/lib/soks-model.rb +271 -0
  25. data/lib/soks-servlet.rb +177 -0
  26. data/lib/soks-storage.rb +187 -0
  27. data/lib/soks-upgrade-0.0.2.rb +70 -0
  28. data/lib/soks-utils.rb +327 -0
  29. data/lib/soks-view.rb +399 -0
  30. data/lib/soks.rb +27 -0
  31. data/rakefile +109 -0
  32. data/templates/default/attachment/favicon.ico +0 -0
  33. data/templates/default/attachment/logo.jpg +0 -0
  34. data/templates/default/attachment/logo.png +0 -0
  35. data/templates/default/attachment/logo.tiff +0 -0
  36. data/templates/default/attachment/newpage.js +41 -0
  37. data/templates/default/attachment/print_stylesheet.css +2 -0
  38. data/templates/default/attachment/robots.txt +6 -0
  39. data/templates/default/attachment/rss.png +0 -0
  40. data/templates/default/attachment/stylesheet.css +219 -0
  41. data/templates/default/banned_titles.txt +67 -0
  42. data/templates/default/caches/readme.txt +1 -0
  43. data/templates/default/content/Api%20for%20classes%20to%20modify%20the%20wiki.textile +30 -0
  44. data/templates/default/content/Author.textile +16 -0
  45. data/templates/default/content/Automatic%20Summaries.textile +40 -0
  46. data/templates/default/content/Automatic%20counters.textile +22 -0
  47. data/templates/default/content/Automatic%20exporters.textile +23 -0
  48. data/templates/default/content/Automatic%20importers.textile +59 -0
  49. data/templates/default/content/Automatic%20linking.textile +7 -0
  50. data/templates/default/content/Automatic%20maintenance%20helpers.textile +39 -0
  51. data/templates/default/content/Bug%3A%20Competing%20edits.textile +22 -0
  52. data/templates/default/content/Bug%3A%20Does%20not%20make%20use%20of%20if%2Dmodified%2Dsince%20r.textile +3 -0
  53. data/templates/default/content/Bug%3A%20Email%20adresses%20in%20page%20titles%20cause%20incorrec.textile +3 -0
  54. data/templates/default/content/Bug%3A%20GEM%20limits%20title%20lengths.textile +3 -0
  55. data/templates/default/content/Bug%3A%20Memory%20leak.textile +13 -0
  56. data/templates/default/content/Bug%3A%20Page%2Einserted%5Finto%20is%20never%20purged.textile +17 -0
  57. data/templates/default/content/Bug%3A%20Pages%20that%20link%20here%20may%20not%20appear%20on%20r.textile +13 -0
  58. data/templates/default/content/Bug%3A%20Textile%20mishandles%20paragraphs.textile +37 -0
  59. data/templates/default/content/Bug%3A%20Unanticipated%20Rollbacks.textile +23 -0
  60. data/templates/default/content/Bug%3A%20notextile%20does%20not%20prevent%20page%20inserts.textile +3 -0
  61. data/templates/default/content/Home%20Page.textile +22 -0
  62. data/templates/default/content/How%20to%20administrate%20this%20wiki.textile +57 -0
  63. data/templates/default/content/How%20to%20change%20the%20way%20this%20wiki%20looks.textile +32 -0
  64. data/templates/default/content/How%20to%20export%20a%20site%20from%20this%20wiki.textile +82 -0
  65. data/templates/default/content/How%20to%20get%20the%20latest%20Soks%20from%20cvs.textile +45 -0
  66. data/templates/default/content/How%20to%20hack%20soks.textile +66 -0
  67. data/templates/default/content/How%20to%20import%20a%20site%20from%20instiki.textile +15 -0
  68. data/templates/default/content/How%20to%20import%20data.textile +41 -0
  69. data/templates/default/content/How%20to%20install%20Soks.textile +33 -0
  70. data/templates/default/content/How%20to%20password%20protect%20your%20wiki.textile +53 -0
  71. data/templates/default/content/How%20to%20re%2Dbuild%20the%20page%20cache.textile +71 -0
  72. data/templates/default/content/How%20to%20report%20a%20bug.textile +9 -0
  73. data/templates/default/content/How%20to%20upgrade%20soks.textile +32 -0
  74. data/templates/default/content/How%20to%20use%20the%20Automatic%20Helper%20classes.textile +12 -0
  75. data/templates/default/content/How%20to%20use%20this%20wiki.textile +30 -0
  76. data/templates/default/content/List%20of%20changes.textile +10 -0
  77. data/templates/default/content/News%3A%20Version%201%2D0%2D0%20released.textile +19 -0
  78. data/templates/default/content/News%3A%20Version%201%2D0%2D1%20released.textile +12 -0
  79. data/templates/default/content/Pages%20to%20include%20in%20the%20distribution.textile +55 -0
  80. data/templates/default/content/Per%20Wiki%20Templates.textile +37 -0
  81. data/templates/default/content/Picture%20of%20a%20pair%20of%20soks.textile +1 -0
  82. data/templates/default/content/Planned%20Features.textile +74 -0
  83. data/templates/default/content/README.textile +64 -0
  84. data/templates/default/content/RSS%20feed.textile +9 -0
  85. data/templates/default/content/Recent%20changes%20to%20this%20site.textile +352 -0
  86. data/templates/default/content/SOKS%20features.textile +19 -0
  87. data/templates/default/content/Sidebar%20Page.textile +6 -0
  88. data/templates/default/content/Site%20Index.textile +241 -0
  89. data/templates/default/content/Soks%27s%20Licence.textile +66 -0
  90. data/templates/default/content/Tag%3A%20Include%20this%20page%20in%20the%20distribution.textile +6 -0
  91. data/templates/default/start.rb +90 -0
  92. data/templates/default/version.txt +1 -0
  93. data/templates/default/views/Page_content.rhtml +1 -0
  94. data/templates/default/views/Page_edit.rhtml +79 -0
  95. data/templates/default/views/Page_find.rhtml +35 -0
  96. data/templates/default/views/Page_linksfromrss.rhtml +24 -0
  97. data/templates/default/views/Page_listrss.rhtml +46 -0
  98. data/templates/default/views/Page_meta.rhtml +44 -0
  99. data/templates/default/views/Page_print.rhtml +6 -0
  100. data/templates/default/views/Page_revision.rhtml +39 -0
  101. data/templates/default/views/Page_revisions.rhtml +36 -0
  102. data/templates/default/views/Page_rss.rhtml +57 -0
  103. data/templates/default/views/Page_view.rhtml +8 -0
  104. data/templates/default/views/UploadPage_edit.rhtml +63 -0
  105. data/templates/default/views/frame.rhtml +63 -0
  106. data/templates/default/views/messages.yaml +7 -0
  107. data/test/html/2006Mar.html +66 -0
  108. data/test/html/poignant.html +36 -0
  109. data/test/html/poignant.textile +36 -0
  110. data/test/mock-objects.rb +69 -0
  111. data/test/test_counter-helper.rb +162 -0
  112. data/test/test_soks-helper-maintenance.rb +106 -0
  113. data/test/test_soks-helpers.rb +145 -0
  114. data/test/test_soks-model.rb +144 -0
  115. data/test/test_soks-servlet.rb +240 -0
  116. data/test/test_soks-storage.rb +108 -0
  117. data/test/test_soks-utils.rb +226 -0
  118. data/test/test_soks-view.rb +193 -0
  119. data/test/test_soks.rb +9 -0
  120. metadata +182 -0
@@ -0,0 +1,19 @@
1
+ h2. Soks Features
2
+
3
+ p{font-size: x-small;}. Soks Features is a separate page that has been inserted into the home page using [ [ insert soks features ]].
4
+
5
+ * Automatic linking between pages (no ugly WikiWords or brackets).
6
+ * Add, move and delete pages easily
7
+ * Calendars, automatic summaries and the like
8
+ * An API for classes to modify the wiki
9
+ * Flat file storage (which makes it easy to [[ import from instiki => how to import a site from instiki ]] using its export function)
10
+ * Theming: easily change the how the wiki looks using per wiki templates.
11
+ * [[password protection => how to password protect your wiki]] support, with the authentication scheme selected based on a regexp of the page title.
12
+ * Built in web server (No need for Apache)
13
+ * Textile text formatting
14
+ * Uploads and Images
15
+ * RSS: a feed for each page enables easy tracking of changes
16
+
17
+ See also: planned features and list of changes
18
+
19
+ p{display:none;}. Tag: Include this page in the distribution
@@ -0,0 +1,6 @@
1
+ [[ Home Page ]]
2
+ [[ Site Index ]]
3
+ [[ Known Bugs ]]
4
+ [[ Recent Changes => recent changes to this site ]]
5
+
6
+ <!-- Tag: Include this page in the distribution -->
@@ -0,0 +1,241 @@
1
+ h2. Site Index
2
+
3
+ p{font-size: x-small;}. Site Index was created automatically from pages whose title matches /.*/.
4
+
5
+ <automaticsummary>
6
+
7
+ * [[ 2005 Apr ]]
8
+ * [[ 2005 Mar 19 ]]
9
+ * [[ [ANN] Defaultable 0.0.3 ]]
10
+ * [[ [ANN] Soks - Yet Another Wiki ]]
11
+ * [[ [Fwd: NASA Half-summer of Code] ]]
12
+ * [[ [Fwd: Soks rocks] ]]
13
+ * [[ [Soks] (no subject) ]]
14
+ * [[ [Soks] [ANN] Soks v-0-0-5 ]]
15
+ * [[ [Soks] [Fwd: *cloth and ToC] ]]
16
+ * [[ [Soks] [Fwd: Another neat Soks Wiki thing] ]]
17
+ * [[ [Soks] [Fwd: Re: [ redcloth-Bugs-1640 ] email addresses with a ]]
18
+ * [[ [Soks] [Fwd: Re: [Rails] WriteBoard - Compare Revisions - How'd they do that?] ]]
19
+ * [[ [Soks] [Fwd: Re: Soks rocks (but now need "deep" search capability)] ]]
20
+ * [[ [Soks] Annotations ]]
21
+ * [[ [Soks] automatic summaries and page expiration dates ]]
22
+ * [[ [Soks] AutomaticSummary :lines_to_show ]]
23
+ * [[ [Soks] bug in time units ]]
24
+ * [[ [Soks] calendar feature ]]
25
+ * [[ [Soks] compressing and filtering Recent Changes ]]
26
+ * [[ [Soks] downcasing page names ]]
27
+ * [[ [Soks] Dynamic menu ]]
28
+ * [[ [Soks] Dynamic menu (was Re: A few customer reactions) ]]
29
+ * [[ [Soks] editing Automatic Summary pages ]]
30
+ * [[ [Soks] Editing CSS through browser ]]
31
+ * [[ [Soks] email addresses imported to wiki ]]
32
+ * [[ [Soks] Enabling blogs? ]]
33
+ * [[ [Soks] feature descriptions ]]
34
+ * [[ [Soks] File upload bug ]]
35
+ * [[ [Soks] home page counter ]]
36
+ * [[ [Soks] import script gone wild? ]]
37
+ * [[ [Soks] Linking to attached files ]]
38
+ * [[ [Soks] non-greedy regexps in automatic summary ]]
39
+ * [[ [Soks] page counters, etc. ]]
40
+ * [[ [Soks] page templates/categories ]]
41
+ * [[ [Soks] Parentheses ]]
42
+ * [[ [Soks] Pathname behavior ]]
43
+ * [[ [Soks] Popular pages default refresh rate ]]
44
+ * [[ [Soks] Q: how to I change the default "home page" for WEBrick? ]]
45
+ * [[ [Soks] Re: [Fwd: Soks rocks] ]]
46
+ * [[ [Soks] Re: Eeek ! ]]
47
+ * [[ [Soks] Recent Changes revisions: 404 ]]
48
+ * [[ [Soks] Recent changes: "Today" ]]
49
+ * [[ [Soks] Rounding error? ]]
50
+ * [[ [Soks] RSS feed of recent changes ]]
51
+ * [[ [Soks] Searching attached files ]]
52
+ * [[ [Soks] soks site down ]]
53
+ * [[ [Soks] Soks speed ]]
54
+ * [[ [Soks] Soks-0.0.5: RecentChanges ignoring 'changes' argument? ]]
55
+ * [[ [Soks] soks-create-wiki.rb upgrade ]]
56
+ * [[ [Soks] Some counter thoughts ]]
57
+ * [[ [Soks] Sub wikis ]]
58
+ * [[ [Soks] Switch from CVS to Darcs ]]
59
+ * [[ [Soks] Trouble adding new page ]]
60
+ * [[ [Soks] unanticipated rollbacks ]]
61
+ * [[ [Soks] upload filesize limit? ]]
62
+ * [[ [Soks] User reaction: edit page button/link mixture ]]
63
+ * [[ [Soks] www.soks.org proxy error ]]
64
+ * [[ A few customer reactions (was Re: [Soks] Re: [Fwd: Soks rocks]) ]]
65
+ * [[ Picture of a logo for the ruby language ]]
66
+ * [[ A page with an umlaut � in its title ]]
67
+ * [[ Picture of a pair of soks ]]
68
+ * [[ AHoward ]]
69
+ * [[ All categories ]]
70
+ * [[ All News ]]
71
+ * [[ Api for classes to modify the wiki ]]
72
+ * [[ Author ]]
73
+ * [[ Automatic counters ]]
74
+ * [[ Automatic exporters ]]
75
+ * [[ Automatic importers ]]
76
+ * [[ Automatic linking ]]
77
+ * [[ Automatic maintenance helpers ]]
78
+ * [[ Automatic Summaries ]]
79
+ * [[ AW: soks vs. instiki ]]
80
+ * [[ Picture of bad_buttons_bad ]]
81
+ * [[ Picture of bad_buttons_better ]]
82
+ * [[ Picture of Bil ]]
83
+ * [[ Bil ]]
84
+ * [[ Bil Kleb ]]
85
+ * [[ Bill Wood ]]
86
+ * [[ Bug: Competing edits ]]
87
+ * [[ Bug: Does not make use of if-modified-since request headers ]]
88
+ * [[ Bug: edit pages display the title of pages with inverted commas incorrectly ]]
89
+ * [[ Bug: Email adresses in page titles cause incorrect links ]]
90
+ * [[ Bug: ERROR stack level too deep: day ]]
91
+ * [[ Bug: File Uploads broken for Internet Explorer 6.0 ]]
92
+ * [[ Bug: GEM limits title lengths ]]
93
+ * [[ Bug: Memory leak ]]
94
+ * [[ Bug: notextile does not prevent page inserts ]]
95
+ * [[ Bug: Page.inserted_into is never purged ]]
96
+ * [[ Bug: Pages that link here may not appear on restart ]]
97
+ * [[ Bug: Textile mishandles paragraphs ]]
98
+ * [[ Bug: Type a title here ]]
99
+ * [[ Bug: Unanticipated Rollbacks ]]
100
+ * [[ CategoryHelper ]]
101
+ * [[ Changes to Soks-development ]]
102
+ * [[ Changes to Soks-Stable ]]
103
+ * [[ Changes to Soks-testing ]]
104
+ * [[ ctrl-n ]]
105
+ * [[ DarcsWatcher ]]
106
+ * [[ Days in month ]]
107
+ * [[ del.icio.us/tag/ruby :: ::ruby ]]
108
+ * [[ Distribution Home Page ]]
109
+ * [[ Feedback ]]
110
+ * [[ Fixed Bug: ampersand in page name creates missing links that work ]]
111
+ * [[ Fixed Bug: automatic linking does not work with trailing punctuation ]]
112
+ * [[ Fixed Bug: AutomaticPageMover still apears in RecentChanges ]]
113
+ * [[ Fixed Bug: AutomaticRecentChanges ignores changes parameter ]]
114
+ * [[ Fixed Bug: AutomaticSummary can overwrite existing pages ]]
115
+ * [[ Fixed Bug: AutomaticSummary does not reflect changes to summarised pages ]]
116
+ * [[ Fixed Bug: AutomaticSummary does not remove pages ]]
117
+ * [[ Fixed bug: calendar does not appear ]]
118
+ * [[ Fixed Bug: Cannot change capitalization of a page title ]]
119
+ * [[ Fixed Bug: Certain text crashes yaml revision loading ]]
120
+ * [[ Fixed Bug: Do not save and delete links confusing on edit page ]]
121
+ * [[ Fixed Bug: Does not redirect pages with no view ]]
122
+ * [[ Fixed Bug: Duplicate links-to a page sometimes appear ]]
123
+ * [[ Fixed bug: E-mail addresses with hyphens not recognised ]]
124
+ * [[ Fixed Bug: External links incorrectly include trailing punctuation ]]
125
+ * [[ Fixed Bug: FATAL When renaming upload picture pages ]]
126
+ * [[ Fixed Bug: Forward slashes in titles problematic ]]
127
+ * [[ Fixed Bug: Halting can corrupt revisions ]]
128
+ * [[ Fixed Bug: In a list of links, the last link is sometimes not linked ]]
129
+ * [[ Fixed Bug: Inserted pages are not refreshed when new autolinks are made ]]
130
+ * [[ Fixed Bug: Internet Exploror 6.0 incompatibilities during page edits ]]
131
+ * [[ Fixed Bug: LinuxFirefox1.0 scroll reset after cursor move ]]
132
+ * [[ Fixed Bug: Matching page titles in middle of words ]]
133
+ * [[ Fixed Bug: No robots.txt or favicon.ico ]]
134
+ * [[ Fixed Bug: no superclass method _deprecated_base64 ]]
135
+ * [[ Fixed Bug: pages names with single quotes ]]
136
+ * [[ Fixed Bug: Pictures and Attachments linked to site root ]]
137
+ * [[ Fixed Bug: Print stylesheet does not hide menu or commands ]]
138
+ * [[ Fixed Bug: Punctuation in page titles still problematic ]]
139
+ * [[ Fixed Bug: Recent changes today can be yesterday ]]
140
+ * [[ Fixed Bug: RSS feed does not validate ]]
141
+ * [[ Fixed Bug: RSS feed shows oldest 15 revisions (not newest!) ]]
142
+ * [[ Fixed Bug: Search box width does not match column width ]]
143
+ * [[ Fixed Bug: Search includes leading and trailing spaces ]]
144
+ * [[ Fixed Bug: Search textarea and button rendered without vertical separation ]]
145
+ * [[ Fixed Bug: Symbols are not always correctly rendered in html ]]
146
+ * [[ Fixed Bug: Template pages should not be moved ]]
147
+ * [[ Fixed Bug: Time per change on meta page view incorrect ]]
148
+ * [[ Fixed bug: trailing spaces in page names ]]
149
+ * [[ Fixed Bug: Update frequency rounds inappropriately in meta view ]]
150
+ * [[ Fixed Bug: Upload filenames needlessly mangled ]]
151
+ * [[ Fixed Bug: Uploads are not password protected ]]
152
+ * [[ Fixed bug: viewing revisions requires authentification ]]
153
+ * [[ Fixed Bug: Wrong title in Result Search page ]]
154
+ * [[ Picture of hh.jpg ]]
155
+ * [[ Home Page ]]
156
+ * [[ How to add movies, svg, flash and other embedded objects ]]
157
+ * [[ How to administrate this wiki ]]
158
+ * [[ How to change the way this wiki looks ]]
159
+ * [[ How to enable a blog ]]
160
+ * [[ How to export a site from this wiki ]]
161
+ * [[ How to get the latest Soks from cvs ]]
162
+ * [[ How to hack soks ]]
163
+ * [[ How to import a site from instiki ]]
164
+ * [[ How to import data ]]
165
+ * [[ How to install Soks ]]
166
+ * [[ How to password protect your wiki ]]
167
+ * [[ How to re-build the page cache ]]
168
+ * [[ How to report a bug ]]
169
+ * [[ How to upgrade soks ]]
170
+ * [[ How to use the Automatic Helper classes ]]
171
+ * [[ How to use the keyboard shortcuts ]]
172
+ * [[ How to use this wiki ]]
173
+ * [[ Instructions and Howtos ]]
174
+ * [[ Known bugs ]]
175
+ * [[ L'equipe ]]
176
+ * [[ Latest News ]]
177
+ * [[ let me know ]]
178
+ * [[ List of changes ]]
179
+ * [[ list of changes for older versions ]]
180
+ * [[ May I use your Redcloth ToC code ]]
181
+ * [[ New page templates or categories code ]]
182
+ * [[ New Recent Changes class ]]
183
+ * [[ News: Next release due, so this site is being edited ]]
184
+ * [[ News: Soks 1.0.2 released ]]
185
+ * [[ News: Switch from CVS to Darcs ]]
186
+ * [[ News: Version 0.0.6 Released ]]
187
+ * [[ News: Version 0.0.7 Released ]]
188
+ * [[ News: Version 1-0-0 released ]]
189
+ * [[ News: Version 1-0-1 released ]]
190
+ * [[ News: Version numbering system change ]]
191
+ * [[ Not a Soks Bug: Sok CVS tar file has "implausibly old time stamp" ]]
192
+ * [[ Page test ]]
193
+ * [[ Pages to include in the distribution ]]
194
+ * [[ paragraphs and explicit linebreaks ]]
195
+ * [[ Per Wiki Templates ]]
196
+ * [[ Planned Features ]]
197
+ * [[ print_stylesheet.css ]]
198
+ * [[ README ]]
199
+ * [[ Recent Blog Entries ]]
200
+ * [[ Recent changes to this site ]]
201
+ * [[ Rich media viewing in Soks Wiki? ]]
202
+ * [[ RSS feed ]]
203
+ * [[ Ruby ]]
204
+ * [[ Ruby wiki reccomendation ]]
205
+ * [[ RubyForge New Mailing List ]]
206
+ * [[ sandbox ]]
207
+ * [[ Picture of search box rendering ]]
208
+ * [[ Sidebar Page ]]
209
+ * [[ Skorgu ]]
210
+ * [[ Soks - Yet Another Wiki ]]
211
+ * [[ Soks 0.0.5 feedback... ]]
212
+ * [[ Soks correction for windows... ]]
213
+ * [[ SOKS features ]]
214
+ * [[ Soks stopping problem. ]]
215
+ * [[ Soks Stylesheet ]]
216
+ * [[ Soks v-0-0-5 released ]]
217
+ * [[ soks vs. instiki ]]
218
+ * [[ Soks Wiki - Support for page tagging added ]]
219
+ * [[ Soks's Licence ]]
220
+ * [[ Soks... ]]
221
+ * [[ SoksSpace ]]
222
+ * [[ Syntax highlight code ]]
223
+ * [[ Tag: Include this page in the distribution ]]
224
+ * [[ tamc ]]
225
+ * [[ tamc2 ]]
226
+ * [[ Test Page ]]
227
+ * [[ Test-first (was Re: [Soks] Dynamic menu) ]]
228
+ * [[ testo ]]
229
+ * [[ Thinking about meta-data ]]
230
+ * [[ This is a test ]]
231
+ * [[ To Do List ]]
232
+ * [[ Picture of Tom Counsell ]]
233
+ * [[ Try Ruwiki, too (Re: [ANN] Soks - Yet Another Wiki) ]]
234
+ * [[ Ugly Page URLs in Soks ]]
235
+ * [[ WatchPage ]]
236
+ * [[ What's the best way to write a Textile-to-PDF::Writer converter? ]]
237
+ * [[ Why "pre" AND "code" tags in Textile Markup? ]]
238
+ * [[ Wikis ]]
239
+
240
+
241
+ </automaticsummary>
@@ -0,0 +1,66 @@
1
+ h1. Soks is licensed under the The Ruby License
2
+
3
+ Note: This licence applies to all that is contained in this distribution EXCEPT files within the contrib folder which may be under different licences.
4
+
5
+ Soks is copyrighted (c) 2004, 2005 free software by Thomas Counsell tamc@rubyforge.org.
6
+
7
+ <pre>
8
+
9
+ You can redistribute it and/or modify it under either the terms of the
10
+ GPL (see the file GPL), or the conditions below:
11
+
12
+ 1. You may make and give away verbatim copies of the source form of the
13
+ software without restriction, provided that you duplicate all of the
14
+ original copyright notices and associated disclaimers.
15
+
16
+ 2. You may modify your copy of the software in any way, provided that
17
+ you do at least ONE of the following:
18
+
19
+ a) place your modifications in the Public Domain or otherwise
20
+ make them Freely Available, such as by posting said
21
+ modifications to Usenet or an equivalent medium, or by allowing
22
+ the author to include your modifications in the software.
23
+
24
+ b) use the modified software only within your corporation or
25
+ organization.
26
+
27
+ c) rename any non-standard executables so the names do not conflict
28
+ with standard executables, which must also be provided.
29
+
30
+ d) make other distribution arrangements with the author.
31
+
32
+ 3. You may distribute the software in object code or executable
33
+ form, provided that you do at least ONE of the following:
34
+
35
+ a) distribute the executables and library files of the software,
36
+ together with instructions (in the manual page or equivalent)
37
+ on where to get the original distribution.
38
+
39
+ b) accompany the distribution with the machine-readable source of
40
+ the software.
41
+
42
+ c) give non-standard executables non-standard names, with
43
+ instructions on where to get the original software distribution.
44
+
45
+ d) make other distribution arrangements with the author.
46
+
47
+ 4. You may modify and include the part of the software into any other
48
+ software (possibly commercial). But some files in the distribution
49
+ are not written by the author, so that they are not under these terms.
50
+
51
+ For the list of those files and their copying conditions, see the
52
+ contrib directory.
53
+
54
+ 5. The scripts and library files supplied as input to or produced as
55
+ output from the software do not automatically fall under the
56
+ copyright of the software, but belong to whomever generated them,
57
+ and may be sold commercially, and may be aggregated with this
58
+ software.
59
+
60
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
61
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
62
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
63
+ PURPOSE.
64
+ </pre>
65
+
66
+ Tag: Include this page in the distribution
@@ -0,0 +1,6 @@
1
+ h1. Tag: Include this page in the distribution
2
+
3
+ Pages with this text on are downloaded from http://www.soks.org and packaged up in the soks distribution.
4
+
5
+
6
+ [[insert pages to include in the distribution]]
@@ -0,0 +1,90 @@
1
+ #!/usr/local/bin/ruby
2
+
3
+ # This file was created automatically on <%= Time.now %>
4
+ require 'logger'
5
+
6
+ $LOG = Logger.new(STDOUT)
7
+ $LOG.level = Logger::DEBUG
8
+ $LOG.datetime_format = "%Y-%m-%d %H:%M:%S"
9
+
10
+ #Add the required libraries to the search path
11
+ <% if $IS_GEM %>
12
+ require 'rubygems'
13
+ gem 'soks', '~> <%= settings[:version] %>'
14
+ require 'soks'
15
+ $LOG.info 'Loaded Soks from gem'
16
+ <% else %>
17
+ $:.push( "<%= settings[:soks_libraries].join('","') %>" )
18
+ require 'soks'
19
+ $LOG.info 'Loaded Soks libraries from <%= settings[:soks_libraries].first.to_s %>'
20
+ <% end %>
21
+
22
+ $LOG.info "Running Soks version #{SOKS_VERSION}"
23
+
24
+ root_directory = File.expand_path( File.dirname( __FILE__) )
25
+ $MESSAGES = YAML.load( IO.readlines("#{root_directory}/views/messages.yaml").join )
26
+ banned_titles = IO.readlines("#{root_directory}/banned_titles.txt").map { |title| title.strip }
27
+
28
+ server = WEBrick::HTTPServer.new(:Port => <%= settings[:port] %> )
29
+
30
+ wiki = Wiki.new( "#{root_directory}/content", "#{root_directory}/caches" )
31
+ wiki.check_files_every = :min
32
+
33
+ view = View.new( wiki, "<%= settings[:url] %>", "#{root_directory}/views" )
34
+ view.name = 'A Soks Wiki'
35
+ view.description = 'A Soks Wiki for you!'
36
+ view.reload_erb_each_request = false
37
+ view.dont_frame_views = ['print','rss','listrss','linksfromrss']
38
+ view.redcloth_hard_breaks = false
39
+ view.author_to_email_conversion = '@address-not-known.com'
40
+
41
+ servlet = ServletSettings.new( wiki, view )
42
+ servlet.home_page = 'Home Page'
43
+ servlet.content_types = { 'Rss' => 'application/xml', 'Listrss' => 'application/xml', 'Linksfromrss' => 'application/xml' }
44
+ servlet.force_no_cache = false
45
+
46
+ servlet.authenticators << [ /\/(edit|save|upload|delete|rollback)\//i, WEBrick::HTTPAuth::AskForUserName.new( 'No password, just enter a name') ]
47
+ servlet.authenticators << [ /.*/, WEBrick::HTTPAuth::NoAuthenticationRequired.new ]
48
+
49
+ servlet.static_file_directories[ 'Attachment' ] = "#{root_directory}/attachment"
50
+ servlet.upload_directory = 'Attachment' # Must be one of the static file directories
51
+
52
+ wiki.watch_for(:start) do |event,wiki,view|
53
+ MergeOldRevisionsHelper.new( wiki, :day, 2, 60*60*24)
54
+
55
+ AutomaticDetailedList.new( wiki, 'Known bugs' ) do |page|
56
+ page.name =~ /^Bug:/i && page.name !~ /^Bug: Type a title here/i
57
+ end
58
+
59
+ AutomaticList.new( wiki, 'Instructions and Howtos' ) { |page| page.name =~ /^How to /i }
60
+ AutomaticSummary.new( wiki, 'Latest News', :max_pages_to_show => 1, :reverse_sort => true) { |page| page.name =~ /^News:/i }
61
+ AutomaticSummary.new( wiki, 'All News', :reverse_sort => true) { |page| page.name =~ /^News:/i }
62
+
63
+ #ViewCountHelper.new( wiki ) # Counts which are the most popular pages
64
+ #ViewerCountHelper.new( wiki ) # Counts who visits the wiki most
65
+ #AuthorCountHelper.new(wiki) # Counts who makes the most revisions
66
+
67
+ AutomaticRecentChanges.new( wiki )
68
+
69
+ AutomaticOnePageIndex.new( wiki ) # Index on one page, best for small wikis
70
+ # AutomaticMultiPageIndex.new( wiki ) # One page per letter index, best for large wikis
71
+
72
+ #calendar = AutomaticCalendar.new( wiki ) # Adds a series of calendar pages to the wiki
73
+ #AutomaticUpcomingEvents.new( wiki, calendar ) # Creates a page with the next weeks events drawn from the calendar pages
74
+
75
+ AutomaticUpdateCrossLinks.new( wiki, view, banned_titles )
76
+ end
77
+
78
+
79
+ server.mount("/", WikiServlet, servlet )
80
+
81
+ trap("INT") {
82
+ $LOG.warn "Trying to shutdown gracefully"
83
+ server.shutdown
84
+ wiki.shutdown
85
+ $LOG.info "Shutdown."
86
+ }
87
+
88
+ $LOG.warn "Starting server"
89
+ wiki.notify(:start,wiki,view)
90
+ server.start
@@ -0,0 +1 @@
1
+ 1.0.3
@@ -0,0 +1 @@
1
+ <%= page.content %>
@@ -0,0 +1,79 @@
1
+ <span class='pagename'>
2
+ <a href='<%= url page.name, "meta" %>'><%= page.name %></a>
3
+ <%= page.deleted? ? "(Deleted)" : '' %>
4
+ </span>
5
+
6
+ <a class='help' onclick='document.getElementById("tips").style.display = (document.getElementById("tips").style.display == "block") ? "none" : "block";' >Click me for help</a>
7
+
8
+ <div id='tips' style='display: none;'>
9
+ <ul>
10
+ <li>h1. big heading (make sure it is followed with a blank line)</li>
11
+ <li>h2. little heading (make sure it is followed with a blank line)</li>
12
+ <li>*bold text* = <b>bold text</b></li>
13
+ <li>_italic text_ = <i>italic text</i></li>
14
+ <li>* bullet one = &#8226; bullet one<br />
15
+ * bullet two = &#8226; bullet two</li>
16
+ <li># list one = 1. list one<br />
17
+ # list two = 2. list two</li>
18
+ <li>Most links are automatic</li>
19
+ <li>[[insert picture of title of picture]]</li>
20
+ <li>[[insert attached word document]]</li>
21
+ <li><a href='http://hobix.com/textile/quick.html' target='textile_ref'>Full Instructions</a></li>
22
+ </ul>
23
+ </div>
24
+
25
+ <form class='editpage' method='post' action='<%= url page.name, "save" %>' >
26
+ <fieldset>
27
+
28
+ <div id='edittitle'>
29
+ Title:
30
+ <input name='newtitle'
31
+ size = '60'
32
+ value='<%= page.name %>'
33
+ onblur="validateTitle( this.value );"
34
+ onClick="this.value=this.value.replace('Type a title here' ,'')"
35
+ />
36
+ </div>
37
+
38
+ <div id='editcontent'>
39
+ <textarea name='content'
40
+ rows=30
41
+ cols=65
42
+ onfocus="if( this.value == 'Type what you want here and click save' ) { this.value = '' }" ><%= page.content %></textarea>
43
+ </div>
44
+
45
+ </fieldset>
46
+
47
+ Hello <a href='<%= url person %>'><%= person %></a> (Quit browser to log out). Would you like to
48
+ <input name='action' value='Save Changes' type='submit' accesskey="S" /></form>,
49
+ <form class='editpage' method='post' action='<%= url page.name %>' >
50
+ <input name='action' value='Cancel Changes' type=submit accesskey="C" />
51
+ </form> or
52
+ <form class='editpage' method='post' action='<%= url page.name, 'delete' %>' >
53
+ <input name='action' value='Delete this Page' type='submit' accesskey="D" />
54
+ </form>?
55
+
56
+ <% unless page.empty? %>
57
+ <div class='change'>
58
+ <h2>The most recent change was made by <a href='<%= url page.author %>'><%= page.author %></a> who changed:</h2>
59
+ <%
60
+ page.changes.each do |change_group|
61
+ change_group.each do |change|
62
+ case change[0]
63
+ when "-" %>
64
+ <del><%= change[1] %>. <%= change[2] %></del><br />
65
+ <% when "+" %>
66
+ <%= change[1] %>. <%= change[2] %><br />
67
+ <%
68
+ end
69
+ end
70
+ end
71
+ %>
72
+ </div>
73
+ <p>
74
+ <form class='editpage' method=post action='<%= url page.name, "rollback" %>' >
75
+ <input name='revision' value='<%= page.number-1 %>' type='hidden' />
76
+ <input name='action' value='Undo this change' type='submit' accesskey="U" />
77
+ </form> or <a href='<%= url page.name, "revisions" %>' accesskey="A" >Show <b>A</b>ll changes</a>.
78
+ </p>
79
+ <% end %>