Soks 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE.txt +60 -0
- data/README.txt +65 -0
- data/bin/soks-create-wiki.rb +41 -0
- data/contrib/diff/lcs.rb +1105 -0
- data/contrib/diff/lcs/array.rb +21 -0
- data/contrib/diff/lcs/block.rb +51 -0
- data/contrib/diff/lcs/callbacks.rb +322 -0
- data/contrib/diff/lcs/change.rb +169 -0
- data/contrib/diff/lcs/hunk.rb +257 -0
- data/contrib/diff/lcs/ldiff.rb +226 -0
- data/contrib/diff/lcs/string.rb +19 -0
- data/contrib/diff_licence.txt +76 -0
- data/contrib/redcloth-2.0.11.rb +894 -0
- data/contrib/redcloth-3.0.1.rb +1019 -0
- data/contrib/redcloth_license.txt +27 -0
- data/lib/authenticators.rb +79 -0
- data/lib/soks-helpers.rb +321 -0
- data/lib/soks-model.rb +208 -0
- data/lib/soks-servlet.rb +125 -0
- data/lib/soks-utils.rb +80 -0
- data/lib/soks-view.rb +424 -0
- data/lib/soks.rb +19 -0
- data/template/attachment/logo.png +0 -0
- data/template/attachment/stylesheet.css +63 -0
- data/template/content/How%20to%20export%20a%20site%20from%20this%20wiki.textile +5 -0
- data/template/content/How%20to%20hack%20soks.textile +60 -0
- data/template/content/How%20to%20import%20a%20site%20from%20instiki.textile +13 -0
- data/template/content/Improving%20the%20style%20of%20this%20wiki.textile +30 -0
- data/template/content/Picture%20of%20a%20pair%20of%20soks.textile +1 -0
- data/template/content/Pointers%20on%20adjusting%20the%20settings.textile +39 -0
- data/template/content/Pointers%20on%20how%20to%20use%20this%20wiki.textile +21 -0
- data/template/content/Recent%20Changes%20to%20This%20Site.textile +203 -0
- data/template/content/Soks%20Licence.textile +64 -0
- data/template/content/home%20page.textile +18 -0
- data/template/start.rb +74 -0
- data/template/views/AttachmentPage_edit.rhtml +36 -0
- data/template/views/ImagePage_edit.rhtml +36 -0
- data/template/views/Page_content.rhtml +1 -0
- data/template/views/Page_edit.rhtml +34 -0
- data/template/views/Page_print.rhtml +5 -0
- data/template/views/Page_revisions.rhtml +18 -0
- data/template/views/Page_rss.rhtml +34 -0
- data/template/views/Page_search_results.rhtml +19 -0
- data/template/views/Page_view.rhtml +3 -0
- data/template/views/frame.rhtml +34 -0
- 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,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 “<%= pagename %>”</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 “<%= pagename %>”</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: []
|