Soks 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/LICENSE.txt +60 -0
  2. data/README.txt +65 -0
  3. data/bin/soks-create-wiki.rb +41 -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/redcloth-2.0.11.rb +894 -0
  14. data/contrib/redcloth-3.0.1.rb +1019 -0
  15. data/contrib/redcloth_license.txt +27 -0
  16. data/lib/authenticators.rb +79 -0
  17. data/lib/soks-helpers.rb +321 -0
  18. data/lib/soks-model.rb +208 -0
  19. data/lib/soks-servlet.rb +125 -0
  20. data/lib/soks-utils.rb +80 -0
  21. data/lib/soks-view.rb +424 -0
  22. data/lib/soks.rb +19 -0
  23. data/template/attachment/logo.png +0 -0
  24. data/template/attachment/stylesheet.css +63 -0
  25. data/template/content/How%20to%20export%20a%20site%20from%20this%20wiki.textile +5 -0
  26. data/template/content/How%20to%20hack%20soks.textile +60 -0
  27. data/template/content/How%20to%20import%20a%20site%20from%20instiki.textile +13 -0
  28. data/template/content/Improving%20the%20style%20of%20this%20wiki.textile +30 -0
  29. data/template/content/Picture%20of%20a%20pair%20of%20soks.textile +1 -0
  30. data/template/content/Pointers%20on%20adjusting%20the%20settings.textile +39 -0
  31. data/template/content/Pointers%20on%20how%20to%20use%20this%20wiki.textile +21 -0
  32. data/template/content/Recent%20Changes%20to%20This%20Site.textile +203 -0
  33. data/template/content/Soks%20Licence.textile +64 -0
  34. data/template/content/home%20page.textile +18 -0
  35. data/template/start.rb +74 -0
  36. data/template/views/AttachmentPage_edit.rhtml +36 -0
  37. data/template/views/ImagePage_edit.rhtml +36 -0
  38. data/template/views/Page_content.rhtml +1 -0
  39. data/template/views/Page_edit.rhtml +34 -0
  40. data/template/views/Page_print.rhtml +5 -0
  41. data/template/views/Page_revisions.rhtml +18 -0
  42. data/template/views/Page_rss.rhtml +34 -0
  43. data/template/views/Page_search_results.rhtml +19 -0
  44. data/template/views/Page_view.rhtml +3 -0
  45. data/template/views/frame.rhtml +34 -0
  46. metadata +88 -0
@@ -0,0 +1,64 @@
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>
@@ -0,0 +1,18 @@
1
+ h1. Welcome!
2
+
3
+ You have succesfully installed soks. Remember it is work in progress, and definitely not fully de-bugged. So don't trust your mission critical sites to it. In particular, I have only really used it with ruby 1.8.2 on Mac OS X 10.3. If you have any success or failure on other platforms, please let me know.
4
+
5
+ For further information see:
6
+ * Pointers on how to use this wiki
7
+ * Improving the style of this wiki
8
+ * Pointers on adjusting the settings such as the url, or the port, or 'advanced' features such as automatic calendars and summaries.
9
+ * How to import a site from instiki
10
+ * How to export a site from this wiki
11
+ * [[How to hack soks]]
12
+
13
+ Feedback
14
+ * Please send me your feedback. tamc@rubyforge.com.
15
+ * Or submit a bug at http://rubyforge.org/projects/soks/.
16
+ * To keep track of developments, you may wish to subscribe to the mailing list at http://rubyforge.org/projects/soks to be notified of updates.
17
+
18
+ [[insert picture of a pair of soks]]
data/template/start.rb ADDED
@@ -0,0 +1,74 @@
1
+ #!/usr/local/bin/ruby
2
+
3
+ # This file was created automatically on <%= Time.now %>
4
+ # Uncomment different sections to enable features of this wiki.
5
+
6
+ #Add the required libraries to the search path:
7
+ $:.push( "<%= settings[:soks_libraries].join('","') %>" )
8
+
9
+ require 'soks'
10
+
11
+ module StartSoks
12
+
13
+ CUSTOMSETTINGS = {
14
+ :root_directory => '<%= settings[:root_directory] %>',
15
+ # :name => 'test',
16
+ # :description => 'A Soks Wiki',
17
+ # :url => 'http://localhost:8000',
18
+ # :port => 8000,
19
+ # :dont_authenticate => ['view','rss'], # To allow anyone to read
20
+ # :dont_authenticate => [], # Require authentication for reading as well as editing
21
+ # :authenticator => WEBrick::HTTPAuth::NotAuthentication.new( 'No password, just enter a name'), # Doesn't require a passwrod
22
+ # :authenticator => WEBrick::HTTPAuth::OnePasswordAuthentication.new( 'password', 'Enter the site wide password (password by default!)' ), # One group wide password
23
+ # :authenticator => WEBrick::HTTPAuth::BasicAuth.new( :UserDB => htpasswd, :Realm => realm ) # See webrick documentation
24
+ # :authenticator => WEBrick::HTTPAuth::DigestAuth.new( :UserDB => htpdigest, :Realm => realm ) # See webrick documentation
25
+ }
26
+
27
+ def self.start
28
+ start_wiki( CUSTOMSETTINGS ) do |wiki|
29
+ AutomaticUpdateCrossLinks.new( wiki )
30
+ AutomaticRecentChanges.new( wiki )
31
+
32
+ AutomaticOnePageIndex.new( wiki ) # Index on one page, best for small wikis
33
+ # AutomaticMultiPageIndex.new( wiki ) # One page per letter index, best for large wikis
34
+
35
+ # calendar = AutomaticCalendar.new( wiki ) # Adds a series of calendar pages to the wiki
36
+ # AutomaticUpcomingEvents.new( wiki, calendar ) # Creates a page with the next weeks events drawn from the calendar pages
37
+
38
+ =begin
39
+ # Example of an automatically generated summary of any new pages whose title starts with 'news'
40
+ AutomaticSummary.new( wiki,
41
+ :regexp_for_pages => /^NNews/i,
42
+ :max_pages_to_show => 10,
43
+ :pagename => 'Recent News',
44
+ :lines_to_include => 10,
45
+ :only_new_pages => true
46
+ )
47
+ =end
48
+
49
+ =begin
50
+ # Example of an automatically generated summary of any new pages whose title starts with 'blog'
51
+ AutomaticSummary.new( wiki,
52
+ :regexp_for_pages => /^NBlog/i,
53
+ :max_pages_to_show => 10,
54
+ :pagename => 'Recent Blog Entries',
55
+ :only_new_pages => true
56
+ )
57
+ =end
58
+ =begin
59
+ # Example of an automatically generated summary of all recently updated pages
60
+ AutomaticSummary.new( wiki,
61
+ :regexp_for_pages => /.*/i,
62
+ :max_pages_to_show => 10,
63
+ :pagename => 'New or Updated Pages',
64
+ :lines_to_include => 10
65
+ )
66
+ =end
67
+ end
68
+ end
69
+
70
+ end
71
+
72
+ if $0 == __FILE__ then
73
+ StartSoks::start
74
+ end
@@ -0,0 +1,36 @@
1
+ <span class='pagename'><%= pagename %><%= page.deleted? ? "(Deleted)" : '' %></span>
2
+
3
+ <form action='/upload/<%= pagename %>' method=post enctype=multipart/form-data >
4
+ <input type=hidden name='titleprefix' value='Attached ' />
5
+ <table>
6
+ <tr><td>Title:</td><td>Attached <input name='newtitle' size = '52' value='<%= pagename[ 9..-1].strip %>' onClick="this.value == 'Type a title here' ? this.value = '' : true"/></td></tr>
7
+ <tr><td valign='top'>File:</td><td><input name='file' type=file /></td></tr>
8
+ <tr><td>Author:</td><td><a href='/<%= person %>'><%= person %></a> Quit browser to log out.</td>
9
+ <tr><td></td><td><input name=action value='Save changes' type=submit accesskey="S"> <a href='/<%= pagename %>' accesskey="C" >(Cancel)</a> or <a href='/delete/<%= pagename %>' accesskey='D'>(Delete)</a> this page.</td></tr>
10
+ </table>
11
+ </form>
12
+ <hr>
13
+ <% unless page.empty? %>
14
+ <p>The most recent change was made by <a href='/<%= page.author %>'><%= page.author %></a> who changed:</p>
15
+ <%
16
+ page.changes.each do |change_group|
17
+ change_group.each do |change|
18
+ case change[0]
19
+ when "-" %>
20
+ <del><%= change[1] %>. <%= change[2] %></del><br/>
21
+ <% when "+" %>
22
+ <%= change[1] %>. <%= change[2] %><br/>
23
+ <%
24
+ end
25
+ end
26
+ end
27
+ %>
28
+ <p>
29
+ <a href='/rollback/<%= pagename %>?revision=<%= page.number - 1 %>' accesskey="U" >(Undo this change)</a> or <a href='/revisions/<%= pagename %>' accesskey="A" >(Show All changes)</a> or
30
+ <% if page.watching? person %>
31
+ <a href='/unwatch/<%= pagename %>' accesskey="E" >(Don't e-mail when this page changes)</a>
32
+ <% else %>
33
+ <a href='/watch/<%= pagename %>' accesskey="E" >(E-mail when this page changes)</a>
34
+ <% end %>
35
+ </p>
36
+ <% end %>
@@ -0,0 +1,36 @@
1
+ <span class='pagename'><%= pagename %><%= page.deleted? ? "(Deleted)" : '' %></span>
2
+
3
+ <form action='/upload/<%= pagename %>' method=post enctype=multipart/form-data >
4
+ <input type=hidden name='titleprefix' value='Picture of ' />
5
+ <table>
6
+ <tr><td>Title:</td><td>Picture of <input name='newtitle' size = '51' value='<%= pagename[ 10..-1].strip %>' onClick="this.value == 'Type a title here' ? this.value = '' : true"/></td></tr>
7
+ <tr><td valign='top'>File:</td><td><input name='file' type=file /></td></tr>
8
+ <tr><td>Author:</td><td><a href='/<%= person %>'><%= person %></a> Quit browser to log out.</td>
9
+ <tr><td></td><td><input name=action value='Save changes' type=submit accesskey="S"> <a href='/<%= pagename %>' accesskey="C" >(Cancel)</a> or <a href='/delete/<%= pagename %>' accesskey='D'>(Delete)</a> this page.</td></tr>
10
+ </table>
11
+ </form>
12
+ <hr>
13
+ <% unless page.empty? %>
14
+ <p>The most recent change was made by <a href='/<%= page.author %>'><%= page.author %></a> who changed:</p>
15
+ <%
16
+ page.changes.each do |change_group|
17
+ change_group.each do |change|
18
+ case change[0]
19
+ when "-" %>
20
+ <del><%= change[1] %>. <%= change[2] %></del><br/>
21
+ <% when "+" %>
22
+ <%= change[1] %>. <%= change[2] %><br/>
23
+ <%
24
+ end
25
+ end
26
+ end
27
+ %>
28
+ <p>
29
+ <a href='/rollback/<%= pagename %>?revision=<%= page.number - 1 %>' accesskey="U" >(Undo this change)</a> or <a href='/revisions/<%= pagename %>' accesskey="A" >(Show All changes)</a> or
30
+ <% if page.watching? person %>
31
+ <a href='/unwatch/<%= pagename %>' accesskey="E" >(Don't e-mail when this page changes)</a>
32
+ <% else %>
33
+ <a href='/watch/<%= pagename %>' accesskey="E" >(E-mail when this page changes)</a>
34
+ <% end %>
35
+ </p>
36
+ <% end %>
@@ -0,0 +1 @@
1
+ <%= page.content %>
@@ -0,0 +1,34 @@
1
+ <span class='pagename'><%= pagename %> <%= page.deleted? ? "(Deleted)" : '' %></span>
2
+ <form method=post action='/save/<%= pagename %>' >
3
+ <table>
4
+ <tr><td>Title:</td><td><input name='newtitle' size = '60' value='<%= pagename %>' onClick="this.value == 'Type a title here' ? this.value = '' : true"/></td></tr>
5
+ <tr><td valign='top'>Content:</td><td><textarea name='content' rows=30 cols=60 onClick="this.value == 'Type what you want here and click save' ? this.value = '' : true" ><%= page.content %></textarea></td></tr>
6
+ <tr><td>Author:</td><td><a href='/<%= person %>'><%= person %></a> Quit browser to log out.</td>
7
+ <tr><td></td><td><input name=action value='Save changes' type=submit accesskey="S"> <a href='/<%= pagename %>' accesskey="C" >(Do not Save)</a> or <a href='/delete/<%= pagename %>' accesskey='D'>(Delete)</a> this page.</td></tr>
8
+ </table>
9
+ </form>
10
+ <hr>
11
+ <% unless page.empty? %>
12
+ <p>The most recent change was made by <a href='/<%= page.author %>'><%= page.author %></a> who changed:</p>
13
+ <%
14
+ page.changes.each do |change_group|
15
+ change_group.each do |change|
16
+ case change[0]
17
+ when "-" %>
18
+ <del><%= change[1] %>. <%= change[2] %></del><br/>
19
+ <% when "+" %>
20
+ <%= change[1] %>. <%= change[2] %><br/>
21
+ <%
22
+ end
23
+ end
24
+ end
25
+ %>
26
+ <p>
27
+ <a href='/rollback/<%= pagename %>?revision=<%= page.number-1 %>' accesskey="U" >(Undo this change)</a> or <a href='/revisions/<%= pagename %>' accesskey="A" >(Show All changes)</a> or
28
+ <% if page.watching? person %>
29
+ <a href='/unwatch/<%= pagename %>' accesskey="E" >(Don't e-mail when this page changes)</a>
30
+ <% else %>
31
+ <a href='/watch/<%= pagename %>' accesskey="E" >(E-mail when this page changes)</a>
32
+ <% end %>
33
+ </p>
34
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <html>
2
+ <body>
3
+ <%= renderedview %>
4
+ </body>
5
+ </html>
@@ -0,0 +1,18 @@
1
+ <span class='pagename'><%= pagename %></span>
2
+ <div class="undochange">
3
+ <% page.revisions.reverse_each do |revision| %>
4
+ <p><b><%= revision.number %>. On <%= revision.created_at %> <a href='/<%= revision.author %>'><%= revision.author %></a> changed:</b> <a href='/rollback/<%= pagename %>?revision=<%= revision.number %>' >(return to this version)</a><br/>
5
+ <% revision.changes.each do |change_group| %>
6
+ <% change_group.each do |change|
7
+ case change[0]
8
+ when "-" %>
9
+ <del><%= change[1] %>. <%= change[2] %></del><br/>
10
+ <% when "+" %>
11
+ <%= change[1] %>. <%= change[2] %><br/>
12
+ <% end %>
13
+ <% end %>
14
+ <% end %>
15
+ </p>
16
+ <% end %>
17
+ <br/>(<a href='/edit/<%= pagename %>' accesskey="R" >Return to editing</a>)
18
+ </div>
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
3
+ <channel>
4
+ <title><%= $SETTINGS[:name] %>:<%= pagename %></title>
5
+ <link><%= $SETTINGS[:url] %></link>
6
+ <description><%= $SETTINGS[:description] %></description>
7
+ <language>en-us</language>
8
+ <% count = 0 %>
9
+ <% for revision in page.revisions %>
10
+ <% count += 1 %>
11
+ <% break if count > 15 %>
12
+ <item>
13
+ <title><%= revision.author %></title>
14
+ <link><%= $SETTINGS[:url] %>/<%= pagename %></link>
15
+ <description>
16
+ <p>
17
+ <% revision.changes.each do |change_group| %>
18
+ <% change_group.each do |change|
19
+ case change[0]
20
+ when "-" %>
21
+ <del><%= change[1] %>. <%= change[2] %></del><br/>
22
+ <% when "+" %>
23
+ <%= change[1] %>. <%= change[2] %><br/>
24
+ <% end %>
25
+ <% end %>
26
+ <% end %>
27
+ </p>
28
+ </description>
29
+ <dc:date><%= page.created_at.strftime "%a, %e %b %Y %H:%M:%S %Z" %></dc:date>
30
+ <dc:creator><%= revision.author %></dc:creator>
31
+ </item>
32
+ <% end %>
33
+ </channel>
34
+ </rss>
@@ -0,0 +1,19 @@
1
+ <span class='pagename'><%= pagename %></span>
2
+ <h1>Results of Search for &#8220;<%= pagename %>&#8221;</h1>
3
+ <% unless title_results.empty? %>
4
+ <h2>Matches in the titles of pages</h2>
5
+ <ul>
6
+ <% title_results.each do |name, page| %>
7
+ <li><a href='/<%= name %>' ><%= name %></a></li>
8
+ <% end %>
9
+ </ul>
10
+ <% end %>
11
+ <% unless text_results.empty? %>
12
+ <h2>Matches in the text of pages</h2>
13
+ <ul>
14
+ <% text_results.each do |name, page| %>
15
+ <li><a href='/<%= name %>' ><%= name %></a></li>
16
+ <% end %>
17
+ </ul>
18
+ <% end %>
19
+ <br/>(<a href='/edit/<%= pagename %>' accesskey="E" >Create a page titled &#8220;<%= pagename %>&#8221;</a>)
@@ -0,0 +1,3 @@
1
+ <span class='pagename'><%= pagename %> <%= page.deleted? ? "(Deleted)" : '' %></span>
2
+ <%= renderedview %>
3
+ <br/><a href='/edit/<%= pagename %>' accesskey="E" >(Edit this page)</a>
@@ -0,0 +1,34 @@
1
+ <html>
2
+ <head>
3
+ <title><%= pagename %></title>
4
+ <style type="text/css" media="screen">@import "/attachment/stylesheet.css";</style>
5
+ <link rel="alternate" type="application/rss+xml" title="RSS" href="/rss/<%= pagename %>">
6
+ </head>
7
+ <body>
8
+ <div id="Content">
9
+ <%= content_of_page %>
10
+ </div>
11
+ <div id="Menu">
12
+ <a href='/Home Page' accesskey="H" ><img width=149 src='/attachment/logo.png' alt='<%= @wikiname %>' border='0' /></a>
13
+ <form method=GET action='/find/<%= pagename %>' >
14
+ <input name=regex value='' size=20 />
15
+ <input name=action value='search' type=submit>
16
+ </form>
17
+ <a href='/site index' accesskey="I" >Site Index</a>
18
+ <a href='/recent changes to this site' accesskey="R" >Recent Changes</a>
19
+ <% if page %>
20
+ <% page.links_to.each do |linkedpage| %>
21
+ <a href='/<%= linkedpage.name %>'><%= linkedpage.name %></a>
22
+ <% end %>
23
+ <% end %>
24
+ <br/>
25
+ <a href='/edit/Type a title here'>Add a new page</a>
26
+ <a href='/edit/Picture of Type a title here'>Add a new picture</a>
27
+ <a href='/edit/Attached Type a title here'>Attach a new file</a>
28
+ <br/>
29
+ <span class='disclaimer'>
30
+ This website can be edited by anyone. It is therefore unlikely to represent the views of anyone named.
31
+ </span>
32
+ </div>
33
+ </body>
34
+ </html>
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.8.4
3
+ specification_version: 1
4
+ name: Soks
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.0.2
7
+ date: 2005-01-11
8
+ summary: Yet another wiki.
9
+ require_paths:
10
+ - lib
11
+ - contrib
12
+ email: tamc@rubyforge.org
13
+ homepage: http://rubyforge.org/projects/soks/
14
+ rubyforge_project:
15
+ description:
16
+ autorequire: soks
17
+ default_executable:
18
+ bindir: bin
19
+ has_rdoc: false
20
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
21
+ requirements:
22
+ -
23
+ - ">"
24
+ - !ruby/object:Gem::Version
25
+ version: 0.0.0
26
+ version:
27
+ platform: ruby
28
+ authors:
29
+ - Tom Counsell
30
+ files:
31
+ - bin/soks-create-wiki.rb
32
+ - contrib/diff
33
+ - contrib/diff_licence.txt
34
+ - contrib/redcloth-2.0.11.rb
35
+ - contrib/redcloth-3.0.1.rb
36
+ - contrib/redcloth_license.txt
37
+ - contrib/diff/lcs
38
+ - contrib/diff/lcs.rb
39
+ - contrib/diff/lcs/array.rb
40
+ - contrib/diff/lcs/block.rb
41
+ - contrib/diff/lcs/callbacks.rb
42
+ - contrib/diff/lcs/change.rb
43
+ - contrib/diff/lcs/hunk.rb
44
+ - contrib/diff/lcs/ldiff.rb
45
+ - contrib/diff/lcs/string.rb
46
+ - lib/authenticators.rb
47
+ - lib/soks-helpers.rb
48
+ - lib/soks-model.rb
49
+ - lib/soks-servlet.rb
50
+ - lib/soks-utils.rb
51
+ - lib/soks-view.rb
52
+ - lib/soks.rb
53
+ - template/attachment
54
+ - template/content
55
+ - template/start.rb
56
+ - template/views
57
+ - template/attachment/logo.png
58
+ - template/attachment/stylesheet.css
59
+ - template/content/home%20page.textile
60
+ - template/content/How%20to%20export%20a%20site%20from%20this%20wiki.textile
61
+ - template/content/How%20to%20hack%20soks.textile
62
+ - template/content/How%20to%20import%20a%20site%20from%20instiki.textile
63
+ - template/content/Improving%20the%20style%20of%20this%20wiki.textile
64
+ - template/content/Picture%20of%20a%20pair%20of%20soks.textile
65
+ - template/content/Pointers%20on%20adjusting%20the%20settings.textile
66
+ - template/content/Pointers%20on%20how%20to%20use%20this%20wiki.textile
67
+ - template/content/Recent%20Changes%20to%20This%20Site.textile
68
+ - template/content/Soks%20Licence.textile
69
+ - template/views/AttachmentPage_edit.rhtml
70
+ - template/views/frame.rhtml
71
+ - template/views/ImagePage_edit.rhtml
72
+ - template/views/Page_content.rhtml
73
+ - template/views/Page_edit.rhtml
74
+ - template/views/Page_print.rhtml
75
+ - template/views/Page_revisions.rhtml
76
+ - template/views/Page_rss.rhtml
77
+ - template/views/Page_search_results.rhtml
78
+ - template/views/Page_view.rhtml
79
+ - LICENSE.txt
80
+ - README.txt
81
+ test_files: []
82
+ rdoc_options: []
83
+ extra_rdoc_files: []
84
+ executables:
85
+ - soks-create-wiki.rb
86
+ extensions: []
87
+ requirements: []
88
+ dependencies: []