ruwiki 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Readme.rubygems +86 -0
- data/Readme.tarfile +65 -0
- data/bin/ruwiki +58 -0
- data/bin/ruwiki.cgi +87 -0
- data/bin/ruwiki_convert +56 -0
- data/bin/ruwiki_service.rb +82 -0
- data/bin/ruwiki_servlet +53 -0
- data/contrib/enscript-token.rb +55 -0
- data/contrib/rublog_integrator.rb +68 -0
- data/data/Default/ProjectIndex.ruwiki +49 -0
- data/data/Ruwiki/Antispam.ruwiki +65 -0
- data/data/Ruwiki/BugTracking.ruwiki +33 -0
- data/data/Ruwiki/ChangeLog.ruwiki +102 -0
- data/data/Ruwiki/Configuring_Ruwiki.ruwiki +151 -0
- data/data/Ruwiki/Extending_Ruwiki.ruwiki +317 -0
- data/data/Ruwiki/LicenseAndAuthorInfo.ruwiki +30 -0
- data/data/Ruwiki/ProjectIndex.ruwiki +84 -0
- data/data/Ruwiki/Roadmap.ruwiki +225 -0
- data/data/Ruwiki/RuwikiTemplatingLibrary.ruwiki +156 -0
- data/data/Ruwiki/RuwikiUtilities.ruwiki +157 -0
- data/data/Ruwiki/SandBox.ruwiki +9 -0
- data/data/Ruwiki/To_Do.ruwiki +51 -0
- data/data/Ruwiki/TroubleShooting.ruwiki +33 -0
- data/data/Ruwiki/WikiFeatures.ruwiki +17 -0
- data/data/Ruwiki/WikiMarkup.ruwiki +261 -0
- data/data/Tutorial/AddingPages.ruwiki +16 -0
- data/data/Tutorial/AddingProjects.ruwiki +16 -0
- data/data/Tutorial/ProjectIndex.ruwiki +11 -0
- data/data/Tutorial/SandBox.ruwiki +9 -0
- data/data/agents.banned +60 -0
- data/data/agents.readonly +321 -0
- data/data/hostip.banned +30 -0
- data/data/hostip.readonly +28 -0
- data/lib/ruwiki.rb +622 -0
- data/lib/ruwiki/auth.rb +56 -0
- data/lib/ruwiki/auth/gforge.rb +73 -0
- data/lib/ruwiki/backend.rb +318 -0
- data/lib/ruwiki/backend/flatfiles.rb +217 -0
- data/lib/ruwiki/config.rb +244 -0
- data/lib/ruwiki/exportable.rb +192 -0
- data/lib/ruwiki/handler.rb +342 -0
- data/lib/ruwiki/lang/de.rb +339 -0
- data/lib/ruwiki/lang/en.rb +334 -0
- data/lib/ruwiki/lang/es.rb +339 -0
- data/lib/ruwiki/page.rb +262 -0
- data/lib/ruwiki/servlet.rb +38 -0
- data/lib/ruwiki/template.rb +553 -0
- data/lib/ruwiki/utils.rb +24 -0
- data/lib/ruwiki/utils/command.rb +102 -0
- data/lib/ruwiki/utils/converter.rb +297 -0
- data/lib/ruwiki/utils/manager.rb +639 -0
- data/lib/ruwiki/utils/servletrunner.rb +295 -0
- data/lib/ruwiki/wiki.rb +147 -0
- data/lib/ruwiki/wiki/tokens.rb +136 -0
- data/lib/ruwiki/wiki/tokens/00default.rb +211 -0
- data/lib/ruwiki/wiki/tokens/01wikilinks.rb +166 -0
- data/lib/ruwiki/wiki/tokens/02actions.rb +63 -0
- data/lib/ruwiki/wiki/tokens/abbreviations.rb +40 -0
- data/lib/ruwiki/wiki/tokens/calendar.rb +147 -0
- data/lib/ruwiki/wiki/tokens/headings.rb +43 -0
- data/lib/ruwiki/wiki/tokens/lists.rb +112 -0
- data/lib/ruwiki/wiki/tokens/rubylists.rb +48 -0
- data/ruwiki.conf +22 -0
- data/ruwiki.pkg +0 -0
- data/templates/default/body.tmpl +19 -0
- data/templates/default/content.tmpl +7 -0
- data/templates/default/controls.tmpl +23 -0
- data/templates/default/edit.tmpl +27 -0
- data/templates/default/error.tmpl +14 -0
- data/templates/default/footer.tmpl +23 -0
- data/templates/default/ruwiki.css +297 -0
- data/templates/default/save.tmpl +8 -0
- data/templates/sidebar/body.tmpl +19 -0
- data/templates/sidebar/content.tmpl +8 -0
- data/templates/sidebar/controls.tmpl +8 -0
- data/templates/sidebar/edit.tmpl +27 -0
- data/templates/sidebar/error.tmpl +13 -0
- data/templates/sidebar/footer.tmpl +22 -0
- data/templates/sidebar/ruwiki.css +347 -0
- data/templates/sidebar/save.tmpl +10 -0
- data/templates/simple/body.tmpl +13 -0
- data/templates/simple/content.tmpl +7 -0
- data/templates/simple/controls.tmpl +8 -0
- data/templates/simple/edit.tmpl +25 -0
- data/templates/simple/error.tmpl +10 -0
- data/templates/simple/footer.tmpl +10 -0
- data/templates/simple/ruwiki.css +192 -0
- data/templates/simple/save.tmpl +8 -0
- data/tests/harness.rb +52 -0
- data/tests/tc_backend_flatfile.rb +103 -0
- data/tests/tc_bugs.rb +74 -0
- data/tests/tc_exportable.rb +64 -0
- data/tests/tc_template.rb +145 -0
- data/tests/tc_tokens.rb +335 -0
- data/tests/testall.rb +20 -0
- metadata +182 -0
@@ -0,0 +1,147 @@
|
|
1
|
+
#--
|
2
|
+
# Ruwiki
|
3
|
+
# Copyright � 2002 - 2004, Digikata and HaloStatue
|
4
|
+
# Alan Chen (alan@digikata.com)
|
5
|
+
# Austin Ziegler (ruwiki@halostatue.ca)
|
6
|
+
#
|
7
|
+
# Licensed under the same terms as Ruby.
|
8
|
+
#
|
9
|
+
# $Id: calendar.rb,v 1.5 2004/11/26 12:18:47 austin Exp $
|
10
|
+
#++
|
11
|
+
class Ruwiki
|
12
|
+
class Wiki
|
13
|
+
# Produces a mini-calendar with dates as WikiWords.
|
14
|
+
class Calendar < Ruwiki::Wiki::Token
|
15
|
+
def self.regexp
|
16
|
+
%r{^\\?%calendar\((?:(today)|(\d+),\s*(\d+))(?:,\s*(#{RE_PROJECT_WORD}))?\)}
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.make(year, month)
|
20
|
+
result = []
|
21
|
+
tt = Time.local(year, month, 1)
|
22
|
+
rr = Array.new(tt.wday, nil)
|
23
|
+
rr << 1
|
24
|
+
|
25
|
+
2.upto(31) do |ii|
|
26
|
+
break if Time.local(year, month, ii).month != month
|
27
|
+
rr << ii
|
28
|
+
end
|
29
|
+
|
30
|
+
rr += Array.new((- rr.size) % 7, nil)
|
31
|
+
|
32
|
+
0.step(rr.size - 1, 7) do |ii|
|
33
|
+
result << rr[ii, 7]
|
34
|
+
end
|
35
|
+
result
|
36
|
+
end
|
37
|
+
|
38
|
+
def make_month_link(project, year, month, state = nil)
|
39
|
+
ym = "%04d%02d" % [year, month]
|
40
|
+
case state
|
41
|
+
when :prev
|
42
|
+
title = "« #{year}.#{month}"
|
43
|
+
when :next
|
44
|
+
title = "#{year}.#{month} »"
|
45
|
+
else
|
46
|
+
title = "#{project}::#{year}.#{month}"
|
47
|
+
end
|
48
|
+
url = "#{@script}/#{project}/#{ym}"
|
49
|
+
|
50
|
+
if @backend.page_exists?(ym, project)
|
51
|
+
VIEW_LINK % [url, title]
|
52
|
+
else
|
53
|
+
EDIT_LINK % [title, "#{url}/_edit"]
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def replace
|
58
|
+
today = @match.captures[0]
|
59
|
+
project = @match.captures[3] || @project
|
60
|
+
now = Time.now
|
61
|
+
|
62
|
+
if today.nil?
|
63
|
+
year = @match.captures[1].to_i
|
64
|
+
month = @match.captures[2].to_i
|
65
|
+
else
|
66
|
+
year = now.year
|
67
|
+
month = now.month
|
68
|
+
end
|
69
|
+
|
70
|
+
if (year == now.year) and (month == now.month)
|
71
|
+
show_today = now.day
|
72
|
+
else
|
73
|
+
show_today = nil
|
74
|
+
end
|
75
|
+
|
76
|
+
result = <<-"CALENDAR_HEAD"
|
77
|
+
</p>
|
78
|
+
<div class="rwtk_Calendar">
|
79
|
+
<table class="rwtk_Calendar" summary="calendar for ::#{project}: #{year}.#{month}">
|
80
|
+
<thead>
|
81
|
+
CALENDAR_HEAD
|
82
|
+
|
83
|
+
result << %Q{ <tr>\n<th colspan="7" class="rwtk_Calendar_current_month">}
|
84
|
+
result << make_month_link(project, year, month)
|
85
|
+
result << %Q{</th>\n </tr>\n <tr>\n<th colspan="2" class="rwtk_Calendar_prev_month">}
|
86
|
+
result << make_month_link(project, year, month - 1, :prev)
|
87
|
+
result << %Q{</th>\n<th colspan="3"></th>\n<th colspan="2" class="rwtk_Calendar_next_month">}
|
88
|
+
result << make_month_link(project, year, month + 1, :next)
|
89
|
+
result << "</th>\n"
|
90
|
+
|
91
|
+
result << <<-"CALENDAR_HEAD2"
|
92
|
+
</tr>
|
93
|
+
<tr>
|
94
|
+
<th class="rwtk_Calendar_weekend">Su</th>
|
95
|
+
<th class="rwtk_Calendar_weekday">Mo</th>
|
96
|
+
<th class="rwtk_Calendar_weekday">Tu</th>
|
97
|
+
<th class="rwtk_Calendar_weekday">We</th>
|
98
|
+
<th class="rwtk_Calendar_weekday">Th</th>
|
99
|
+
<th class="rwtk_Calendar_weekday">Fr</th>
|
100
|
+
<th class="rwtk_Calendar_weekend">Sa</th>
|
101
|
+
</tr>
|
102
|
+
</thead>
|
103
|
+
<tbody>
|
104
|
+
CALENDAR_HEAD2
|
105
|
+
|
106
|
+
Calendar.make(year, month).each do |week|
|
107
|
+
result << " <tr>\n"
|
108
|
+
week.each do |day|
|
109
|
+
if day.nil?
|
110
|
+
result << %Q{ <td class="rwtk_Calendar_day"></td>\n}
|
111
|
+
else
|
112
|
+
date = "%04d%02d%02d" % [year, month, day]
|
113
|
+
# Add the ability to create pages based on date here.
|
114
|
+
if show_today == day
|
115
|
+
result << %Q{ <td class="rwtk_Calendar_today">}
|
116
|
+
else
|
117
|
+
result << %Q{ <td class="rwtk_Calendar_day">}
|
118
|
+
end
|
119
|
+
if @backend.page_exists?(date, project)
|
120
|
+
result << VIEW_LINK % ["#{@script}/#{project}/#{date}", day]
|
121
|
+
else
|
122
|
+
result << EDIT_LINK % [day, "#{@script}/#{project}/#{date}/_edit"]
|
123
|
+
end
|
124
|
+
result << %Q{</td>\n}
|
125
|
+
end
|
126
|
+
end
|
127
|
+
result << " </tr>\n"
|
128
|
+
end
|
129
|
+
|
130
|
+
result << %Q(</tbody>\n</table>\n</div>\n<p class="rwtk_Paragraph">)
|
131
|
+
result
|
132
|
+
end
|
133
|
+
|
134
|
+
def restore
|
135
|
+
@match[0][1 .. -1]
|
136
|
+
end
|
137
|
+
|
138
|
+
def self.post_replace(content)
|
139
|
+
content.gsub!(%r{<p[^>]*>(\s*</?div(?: [^>]+)?>\s*)</p>}, '\1')
|
140
|
+
content.gsub!(%r{<p[^>]*>(\s*</?table(?: [^>]+)?>\s*)</p>}, '\1')
|
141
|
+
content.gsub!(%r{<p[^>]*>(\s*</?t(?:head|body|r)(?: [^>]+)?>\s*)</p>}, '\1')
|
142
|
+
content.gsub!(%r{<p[^>]*>(\s*<t[hd].+?</t[hd]>\s*)</p>}, '\1')
|
143
|
+
content
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#--
|
2
|
+
# Ruwiki
|
3
|
+
# Copyright � 2002 - 2004, Digikata and HaloStatue
|
4
|
+
# Alan Chen (alan@digikata.com)
|
5
|
+
# Austin Ziegler (ruwiki@halostatue.ca)
|
6
|
+
#
|
7
|
+
# Licensed under the same terms as Ruby.
|
8
|
+
#
|
9
|
+
# $Id: headings.rb,v 1.7 2004/08/11 11:20:01 austin Exp $
|
10
|
+
#++
|
11
|
+
class Ruwiki
|
12
|
+
class Wiki
|
13
|
+
# Converts headings.
|
14
|
+
class Headings < Ruwiki::Wiki::Token
|
15
|
+
# def self.rank
|
16
|
+
# 5
|
17
|
+
# end
|
18
|
+
|
19
|
+
def self.regexp
|
20
|
+
%r{^\\?(=+)\s+(.*)}
|
21
|
+
end
|
22
|
+
|
23
|
+
def restore
|
24
|
+
@match[0][1 .. -1]
|
25
|
+
end
|
26
|
+
|
27
|
+
def replace
|
28
|
+
level = @match.captures[0].count("=")
|
29
|
+
content = @match.captures[1]
|
30
|
+
level = 6 if level > 6
|
31
|
+
%Q(<h#{level} class="rwtk_Headings">#{content}</h#{level}>)
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.post_replace(content)
|
35
|
+
content.gsub!(%r{(</h\d>)\n}) { |m| %Q(#{$1}\n<p class="rwtk_Paragraph">) }
|
36
|
+
content.gsub!(%r{(</h\d>)</p>\n<p>}) { |m| %Q(#{$1}\n<p class="rwtk_Paragraph">) }
|
37
|
+
content.gsub!(%r{<p[^>]*>(<h\d[^>]*>)}, '\1')
|
38
|
+
content.gsub!(%r{(</h\d>)</p>}, '\1')
|
39
|
+
content
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
#--
|
2
|
+
# Ruwiki
|
3
|
+
# Copyright � 2002 - 2004, Digikata and HaloStatue
|
4
|
+
# Alan Chen (alan@digikata.com)
|
5
|
+
# Austin Ziegler (ruwiki@halostatue.ca)
|
6
|
+
#
|
7
|
+
# Licensed under the same terms as Ruby.
|
8
|
+
#
|
9
|
+
# $Id: lists.rb,v 1.9 2004/08/13 21:33:33 austin Exp $
|
10
|
+
#++
|
11
|
+
class Ruwiki::Wiki
|
12
|
+
# Produces Lists
|
13
|
+
class Lists < Ruwiki::Wiki::Token
|
14
|
+
def self.regexp
|
15
|
+
%r{^\\?([*#]+)\s+(.*)$}
|
16
|
+
end
|
17
|
+
|
18
|
+
def replace
|
19
|
+
indent = @match.captures[0].scan(/./).map { |ee| ee == "*" ? 'ul' : 'ol' }
|
20
|
+
content = @match.captures[1]
|
21
|
+
|
22
|
+
pre = ''
|
23
|
+
post = ''
|
24
|
+
indent.each { |elem| pre << %Q(<#{elem} class="rwtk_Lists">) }
|
25
|
+
indent.reverse_each { |elem| post << %Q(</#{elem}>) }
|
26
|
+
%Q(#{pre}<li class="rwtk_Lists">#{content}</li>#{post})
|
27
|
+
end
|
28
|
+
|
29
|
+
def restore
|
30
|
+
@match[0][1 .. -1]
|
31
|
+
end
|
32
|
+
|
33
|
+
RE_NESTED_LISTS = %r{</[uo]l>\s*<[uo]l[^>]*>}
|
34
|
+
|
35
|
+
def self.post_replace(content)
|
36
|
+
content.gsub!(%r{<p[^>]*><([uo]l[^>]*)>}, '<\1>')
|
37
|
+
content.gsub!(%r{</([uo]l)></p>}, '</\1>')
|
38
|
+
content.gsub!(RE_NESTED_LISTS, '') while content =~ RE_NESTED_LISTS
|
39
|
+
content
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# Produces block quotes.
|
44
|
+
class Blockquotes < Ruwiki::Wiki::Token
|
45
|
+
def self.regexp
|
46
|
+
%r{^\\?((:+)|(>+))(\s+.*)$}
|
47
|
+
end
|
48
|
+
|
49
|
+
def replace
|
50
|
+
content = @match.captures[3]
|
51
|
+
|
52
|
+
if @match.captures[2].nil?
|
53
|
+
char = ':'
|
54
|
+
cite = ''
|
55
|
+
else
|
56
|
+
char = '>'
|
57
|
+
cite = ' type="cite"'
|
58
|
+
end
|
59
|
+
indent = @match.captures[0].count(char)
|
60
|
+
|
61
|
+
pre = ''
|
62
|
+
post = ''
|
63
|
+
indent.times do
|
64
|
+
pre << %Q(<blockquote#{cite} class="rwtk_Blockquotes">)
|
65
|
+
post << %Q(</blockquote>)
|
66
|
+
end
|
67
|
+
"#{pre}#{content}#{post}"
|
68
|
+
end
|
69
|
+
|
70
|
+
def restore
|
71
|
+
@match[0][1 .. -1].gsub(/^>/, '>')
|
72
|
+
end
|
73
|
+
|
74
|
+
def self.post_replace(content)
|
75
|
+
content.gsub!(%r{</blockquote>(\n|<br ?/?>)?<blockquote[^>]*>}, '')
|
76
|
+
content.gsub!(%r{(</?blockquote[^>]*>\n?)\s*}, '\1')
|
77
|
+
content.gsub!(%r{</blockquote>(<blockquote[^>]*>)+}, '\1')
|
78
|
+
content
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# Produces definition lists. Does not completely work correctly.
|
83
|
+
class Definitions < Ruwiki::Wiki::Token
|
84
|
+
def self.regexp
|
85
|
+
%r{^\\?(;+)\s+(.+?)\s+:\s+(.*)}
|
86
|
+
end
|
87
|
+
|
88
|
+
def replace
|
89
|
+
definition = @match.captures[2]
|
90
|
+
term = @match.captures[1]
|
91
|
+
indent = @match.captures[0].count(';')
|
92
|
+
|
93
|
+
pre = ''
|
94
|
+
post = ''
|
95
|
+
indent.times do
|
96
|
+
pre << %Q(<dl class="rwtk_Definitions">)
|
97
|
+
post << %Q(</dl>)
|
98
|
+
end
|
99
|
+
%Q(#{pre}<dt class="rwtk_Definitions">#{term}</dt><dd class="rwtk_Definitions">#{definition}</dd>#{post})
|
100
|
+
end
|
101
|
+
|
102
|
+
def restore
|
103
|
+
@match[0][1 .. -1]
|
104
|
+
end
|
105
|
+
|
106
|
+
def self.post_replace(content)
|
107
|
+
content.gsub!(%r{</dl>(\n|<br ?/?>)?<dl[^>]*>}, '')
|
108
|
+
content.gsub!(%r{</dl>(<dl[^>]*>)+}, '\1')
|
109
|
+
content
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#--
|
2
|
+
# Ruwiki
|
3
|
+
# Copyright � 2002 - 2004, Digikata and HaloStatue
|
4
|
+
# Alan Chen (alan@digikata.com)
|
5
|
+
# Austin Ziegler (ruwiki@halostatue.ca)
|
6
|
+
#
|
7
|
+
# Licensed under the same terms as Ruby.
|
8
|
+
#
|
9
|
+
# $Id: rubylists.rb,v 1.6 2004/09/26 16:30:45 austin Exp $
|
10
|
+
#++
|
11
|
+
class Ruwiki
|
12
|
+
class Wiki
|
13
|
+
# Convert ruby-talk mailing list references (e.g., [ruby-talk:12345])
|
14
|
+
# into named links.
|
15
|
+
class RubyTalkLinks < Ruwiki::Wiki::Token
|
16
|
+
def self.rank
|
17
|
+
1
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.regexp
|
21
|
+
%r{\[ruby-talk:(\d+)\]}
|
22
|
+
end
|
23
|
+
|
24
|
+
def replace
|
25
|
+
lm = @match.captures[0]
|
26
|
+
# %Q(<a class="rwtk_RubyTalkLinks" href="http://www.ruby-talk.org/#{lm}">#{@match[0]}</a>)
|
27
|
+
%Q(<a class="rwtk_RubyTalkLinks" href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/#{lm}">#{@match[0]}</a>)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
# Convert ruby-core/ext/dev/list/math mailing list references (e.g.,
|
32
|
+
# [ruby-core:12345]) into named links.
|
33
|
+
class OtherRubyLinks < Ruwiki::Wiki::Token
|
34
|
+
def self.rank
|
35
|
+
1
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.regexp
|
39
|
+
%r{\[ruby-(list|doc|core|dev|ext|math):(\d+)\]}
|
40
|
+
end
|
41
|
+
|
42
|
+
def replace
|
43
|
+
ln, lm = @match.captures[0..1]
|
44
|
+
%Q(<a class="rwtk_OtherRubyLinks" href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-#{ln}/#{lm}">#{@match[0]}</a>)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/ruwiki.conf
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
ruwiki-config!auth-options:
|
2
|
+
ruwiki-config!css: ruwiki.css
|
3
|
+
ruwiki-config!date-format: %Y.%m.%d
|
4
|
+
ruwiki-config!datetime-format: %Y.%m.%d %H:%M:%S
|
5
|
+
ruwiki-config!debug: true
|
6
|
+
ruwiki-config!default-page: ProjectIndex
|
7
|
+
ruwiki-config!default-project: Default
|
8
|
+
ruwiki-config!language: en
|
9
|
+
ruwiki-config!storage-options: flatfiles!data-path: ./data
|
10
|
+
flatfiles!extension: ruwiki
|
11
|
+
ruwiki-config!storage-type: flatfiles
|
12
|
+
ruwiki-config!template-path: ./templates/
|
13
|
+
ruwiki-config!template-set: default
|
14
|
+
ruwiki-config!time-format: %H:%M:%S
|
15
|
+
ruwiki-config!title: Ruwiki
|
16
|
+
ruwiki-config!webmaster: webmaster@domain.tld
|
17
|
+
webrick-config!addresses:
|
18
|
+
webrick-config!do-log: true
|
19
|
+
webrick-config!log-dest: <STDERR>
|
20
|
+
webrick-config!mount: /
|
21
|
+
webrick-config!port: 8808
|
22
|
+
webrick-config!threads: 1
|
data/ruwiki.pkg
ADDED
Binary file
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<title>%wiki_title%</title>
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=#charset_encoding#" />
|
7
|
+
[!indexable|<meta name="robots" content="noindex,nofollow,noarchive" />?]
|
8
|
+
%css_link%
|
9
|
+
<!--[if IE 6]>
|
10
|
+
<style type="text/css" media="screen,print">
|
11
|
+
html { overflow: hidden; }
|
12
|
+
body { height: 100%; overflow: auto; }
|
13
|
+
</style>
|
14
|
+
<![endif]-->
|
15
|
+
</head>
|
16
|
+
<body>
|
17
|
+
!INCLUDE!
|
18
|
+
</body>
|
19
|
+
</html>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<div id="rw_header">
|
2
|
+
<form class="rw_navbar" action="_search">
|
3
|
+
<div class="rw_navbar_tab">%home_link%</div>
|
4
|
+
<div class="rw_navbar_tab">#label_project#<a href="%cgi_url%/%page_project%/"><strong>%page_project%</strong></a></div>
|
5
|
+
<div class="rw_navbar_tab">%label_topic_or_search% %page_topic%</div>
|
6
|
+
[?editable|<div class="rw_navbar_tab"><a href="%cgi_url%/%page_project%/%page_raw_topic%/_edit">#label_edit#</a></div>?]
|
7
|
+
<!-- Right-hand tabs must go in reverse order! -->
|
8
|
+
<div class="rw_navbar_righttab">
|
9
|
+
<input class="rw_search_box" type="text" name="q" size="10" />
|
10
|
+
<button class="rw_search_button" type="submit">#label_search_project#</button>
|
11
|
+
<input class="rw_search_all_check" type="checkbox" name="a">#label_search_all#</input>
|
12
|
+
</div>
|
13
|
+
<div class="rw_navbar_righttab">
|
14
|
+
<a href="%cgi_url%/%page_project%/RecentChanges">#label_recent_changes#</a>
|
15
|
+
</div>
|
16
|
+
<div class="rw_navbar_righttab">
|
17
|
+
%page_project%::<a href="%cgi_url%/%page_project%/_topics">#label_topics#</a>
|
18
|
+
</div>
|
19
|
+
<div class="rw_navbar_righttab">
|
20
|
+
<a href="%cgi_url%/_projects">#label_projects#</a>
|
21
|
+
</div>
|
22
|
+
</form>
|
23
|
+
</div>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<div id="rw_header">
|
2
|
+
<div class="rw_navbar">
|
3
|
+
<div class="rw_navbar_tab">%home_link%</div>
|
4
|
+
<div class="rw_navbar_tab">#label_topic#<b>%page_topic%</b></div>
|
5
|
+
<div class="rw_navbar_tab">#label_project#<b>%page_project%</b></div>
|
6
|
+
<div class="rw_navbar_righttab" id="rw_editing_tab"><strong><em>#label_editing#</em> #%page_version%</strong></div>
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div id="rw_content">
|
11
|
+
[?message|<div class="rw_message">%message%</div>?]
|
12
|
+
<div class="rw_content">
|
13
|
+
<form class="rw_edit_form" action="%cgi_url%/%page_project%/%page_raw_topic%" method="post">
|
14
|
+
<span class="rw_accelerator">(#label_text_accelerator#)</span> #label_text#<br /><textarea accesskey="#label_text_accelerator#" class="rw_edit_content" rows="15" name="newpage">%page_content%</textarea>
|
15
|
+
<div class="rw_edit_comment"><span class="rw_accelerator">(#label_comment_accelerator#)</span> #label_edit_comment#<input accesskey="#label_comment_accelerator#" type="text" name="edcomment" value="%edit_comment%" /></div>
|
16
|
+
<input type="hidden" name="topic" value="%page_raw_topic%" />
|
17
|
+
<input type="hidden" name="project" value="%page_project%" />
|
18
|
+
<input type="hidden" name="version" value="%page_version%" /><br />
|
19
|
+
<button class="rw_edit_form_button" accesskey="#label_save_accelerator#" type="submit" name="save"><span class="rw_accelerator">(#label_save_accelerator#)</span> #label_save#</button>
|
20
|
+
<button class="rw_edit_form_button" accesskey="#label_cancel_accelerator#" type="submit" name="cancel"><span class="rw_accelerator">(#label_cancel_accelerator#)</span> #label_cancel#</button>
|
21
|
+
<button class="rw_edit_form_button" accesskey="#label_preview_accelerator#" type="submit" name="preview"><span class="rw_accelerator">(#label_preview_accelerator#)</span> #label_preview#</button>
|
22
|
+
</form>
|
23
|
+
<h2 style="border-bottom: 1px solid black">#label_original_text#</h2>
|
24
|
+
<div class="rw_edit_raw"><h2 class="rw_edit_title">#label_raw#</h2><pre>%pre_page_content%</pre></div>
|
25
|
+
<div class="rw_edit_format"><h2 class="rw_edit_title">#label_formatted#</h2><div>%unedited_page_content%</div></div>
|
26
|
+
</div>
|
27
|
+
</div>
|