Soks 0.0.2

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 (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: []