instiki 0.10.0 → 0.10.1

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 (88) hide show
  1. data/CHANGELOG +174 -165
  2. data/README +68 -68
  3. data/app/controllers/admin_controller.rb +94 -94
  4. data/app/controllers/application.rb +135 -131
  5. data/app/controllers/file_controller.rb +129 -129
  6. data/app/controllers/wiki_controller.rb +354 -354
  7. data/app/helpers/application_helper.rb +68 -68
  8. data/app/models/author.rb +3 -3
  9. data/app/models/chunks/category.rb +33 -33
  10. data/app/models/chunks/chunk.rb +86 -86
  11. data/app/models/chunks/engines.rb +61 -54
  12. data/app/models/chunks/include.rb +41 -41
  13. data/app/models/chunks/literal.rb +31 -31
  14. data/app/models/chunks/nowiki.rb +28 -28
  15. data/app/models/chunks/test.rb +18 -18
  16. data/app/models/chunks/uri.rb +182 -182
  17. data/app/models/chunks/wiki.rb +141 -141
  18. data/app/models/file_yard.rb +58 -58
  19. data/app/models/page.rb +112 -112
  20. data/app/models/page_lock.rb +22 -22
  21. data/app/models/page_set.rb +89 -89
  22. data/app/models/revision.rb +123 -123
  23. data/app/models/web.rb +182 -176
  24. data/app/models/wiki_content.rb +207 -207
  25. data/app/models/wiki_service.rb +233 -233
  26. data/app/models/wiki_words.rb +23 -23
  27. data/app/views/admin/create_system.rhtml +83 -83
  28. data/app/views/admin/create_web.rhtml +69 -69
  29. data/app/views/admin/edit_web.rhtml +137 -136
  30. data/app/views/file/file.rhtml +18 -18
  31. data/app/views/file/import.rhtml +22 -22
  32. data/app/views/layouts/default.rhtml +86 -85
  33. data/app/views/markdown_help.rhtml +12 -12
  34. data/app/views/mixed_help.rhtml +6 -6
  35. data/app/views/navigation.rhtml +30 -30
  36. data/app/views/rdoc_help.rhtml +12 -12
  37. data/app/views/textile_help.rhtml +24 -24
  38. data/app/views/wiki/authors.rhtml +11 -11
  39. data/app/views/wiki/edit.rhtml +39 -39
  40. data/app/views/wiki/export.rhtml +12 -12
  41. data/app/views/wiki/feeds.rhtml +14 -14
  42. data/app/views/wiki/list.rhtml +64 -64
  43. data/app/views/wiki/locked.rhtml +23 -23
  44. data/app/views/wiki/login.rhtml +14 -14
  45. data/app/views/wiki/new.rhtml +31 -31
  46. data/app/views/wiki/page.rhtml +115 -115
  47. data/app/views/wiki/print.rhtml +14 -14
  48. data/app/views/wiki/published.rhtml +9 -9
  49. data/app/views/wiki/recently_revised.rhtml +26 -26
  50. data/app/views/wiki/revision.rhtml +103 -103
  51. data/app/views/wiki/rollback.rhtml +36 -36
  52. data/app/views/wiki/rss_feed.rhtml +22 -22
  53. data/app/views/wiki/search.rhtml +38 -38
  54. data/app/views/wiki/tex.rhtml +22 -22
  55. data/app/views/wiki/tex_web.rhtml +34 -34
  56. data/app/views/wiki/web_list.rhtml +18 -18
  57. data/app/views/wiki_words_help.rhtml +9 -9
  58. data/config/environment.rb +82 -82
  59. data/config/environments/development.rb +5 -5
  60. data/config/environments/production.rb +4 -4
  61. data/config/environments/test.rb +17 -17
  62. data/config/routes.rb +18 -18
  63. data/lib/active_record_stub.rb +31 -31
  64. data/lib/bluecloth_tweaked.rb +1127 -0
  65. data/lib/diff.rb +444 -444
  66. data/lib/instiki_errors.rb +14 -14
  67. data/lib/rdocsupport.rb +151 -151
  68. data/lib/redcloth_for_tex.rb +736 -736
  69. data/natives/osx/desktop_launcher/AppDelegate.h +18 -18
  70. data/natives/osx/desktop_launcher/AppDelegate.mm +109 -109
  71. data/natives/osx/desktop_launcher/Credits.html +15 -15
  72. data/natives/osx/desktop_launcher/English.lproj/MainMenu.nib/classes.nib +12 -12
  73. data/natives/osx/desktop_launcher/English.lproj/MainMenu.nib/info.nib +24 -24
  74. data/natives/osx/desktop_launcher/Info.plist +12 -12
  75. data/natives/osx/desktop_launcher/Instiki.xcode/project.pbxproj +592 -592
  76. data/natives/osx/desktop_launcher/Instiki_Prefix.pch +7 -7
  77. data/natives/osx/desktop_launcher/MakeDMG.sh +9 -9
  78. data/natives/osx/desktop_launcher/main.mm +14 -14
  79. data/natives/osx/desktop_launcher/version.plist +16 -16
  80. data/public/404.html +5 -5
  81. data/public/500.html +5 -5
  82. data/public/dispatch.rb +9 -9
  83. data/public/javascripts/edit_web.js +52 -52
  84. data/public/javascripts/prototype.js +336 -336
  85. data/public/stylesheets/instiki.css +222 -222
  86. data/script/breakpointer +4 -4
  87. data/script/server +93 -93
  88. metadata +4 -3
@@ -1,14 +1,14 @@
1
- <%
2
- @title = @page.plain_name
3
- @hide_navigation = true
4
- @style_additions = ".newWikiWord { background-color: white; font-style: italic; }"
5
- @inline_style = true
6
- %>
7
-
8
- <%= @page.display_content_for_export %>
9
-
10
- <div class="byline">
11
- <%= @page.revisions? ? "Revised" : "Created" %> on <%= @page.pretty_created_at %>
12
- by
13
- <%= @page.author_link({ :mode => (@link_mode || :show) }) %>
14
- </div>
1
+ <%
2
+ @title = @page.plain_name
3
+ @hide_navigation = true
4
+ @style_additions = ".newWikiWord { background-color: white; font-style: italic; }"
5
+ @inline_style = true
6
+ %>
7
+
8
+ <%= @page.display_content_for_export %>
9
+
10
+ <div class="byline">
11
+ <%= @page.revisions? ? "Revised" : "Created" %> on <%= @page.pretty_created_at %>
12
+ by
13
+ <%= @page.author_link({ :mode => (@link_mode || :show) }) %>
14
+ </div>
@@ -1,9 +1,9 @@
1
- <%
2
- @title = @page.plain_name
3
- @hide_navigation = false
4
- @style_additions = ".newWikiWord { background-color: white; font-style: italic; }"
5
- @inline_style = true
6
- @show_footer = true
7
- %>
8
-
9
- <%= @page.display_published %>
1
+ <%
2
+ @title = @page.plain_name
3
+ @hide_navigation = false
4
+ @style_additions = ".newWikiWord { background-color: white; font-style: italic; }"
5
+ @inline_style = true
6
+ @show_footer = true
7
+ %>
8
+
9
+ <%= @page.display_published %>
@@ -1,27 +1,27 @@
1
- <% @title = "Recently Revised" %>
2
-
3
- <%= categories_menu %>
4
-
5
- <% unless @pages_by_revision.empty? %>
6
- <% revision_date = @pages_by_revision.first.revised_on %>
7
- <h3><%= revision_date.strftime('%B %e, %Y') %></h3>
8
- <ul>
9
- <% for page in @pages_by_revision %>
10
- <% if page.revised_on < revision_date %>
11
- <% revision_date = page.revised_on %>
12
- </ul>
13
- <h3><%= revision_date.strftime('%B %e, %Y') %></h3>
14
- <ul>
15
- <% end %>
16
- <li>
17
- <%= link_to_existing_page page %>
18
- <div class="byline" style="margin-bottom: 0px">
19
- by <%= link_to_page(page.author) %>
20
- at <%= page.created_at.strftime "%H:%M" %>
21
- <%= "from #{page.author.ip}" if page.author.respond_to?(:ip) %>
22
- </div>
23
- </li>
24
- <% end %>
25
- </ul>
26
- <% end %>
1
+ <% @title = "Recently Revised" %>
2
+
3
+ <%= categories_menu %>
4
+
5
+ <% unless @pages_by_revision.empty? %>
6
+ <% revision_date = @pages_by_revision.first.revised_on %>
7
+ <h3><%= revision_date.strftime('%B %e, %Y') %></h3>
8
+ <ul>
9
+ <% for page in @pages_by_revision %>
10
+ <% if page.revised_on < revision_date %>
11
+ <% revision_date = page.revised_on %>
12
+ </ul>
13
+ <h3><%= revision_date.strftime('%B %e, %Y') %></h3>
14
+ <ul>
15
+ <% end %>
16
+ <li>
17
+ <%= link_to_existing_page page %>
18
+ <div class="byline" style="margin-bottom: 0px">
19
+ by <%= link_to_page(page.author) %>
20
+ at <%= page.created_at.strftime "%H:%M" %>
21
+ <%= "from #{page.author.ip}" if page.author.respond_to?(:ip) %>
22
+ </div>
23
+ </li>
24
+ <% end %>
25
+ </ul>
26
+ <% end %>
27
27
 
@@ -1,103 +1,103 @@
1
- <% @title = "#{@page.plain_name} (Rev ##{@revision.number})" %>
2
-
3
- <div id="revision">
4
- <%= @revision.display_content %>
5
- </div>
6
-
7
- <div id="changes" style="display: none">
8
- <p style="background: #eee; padding: 3px; border: 1px solid silver">
9
- <small>
10
- Showing changes from revision #<%= @revision.number - 1 %> to #<%= @revision.number %>:
11
- <ins class="diffins">Added</ins> | <del class="diffdel">Removed</del>
12
- </small>
13
- </p>
14
-
15
- <%= @revision.display_diff %>
16
- </div>
17
-
18
-
19
- <div class="byline">
20
- <%= "Revision from #{@revision.pretty_created_at} by" %>
21
- <%= link_to_page @revision.author %>
22
- </div>
23
-
24
- <div class="navigation">
25
-
26
- <% if @revision.next_revision %>
27
- <% if @revision.next_revision.number < (@page.revisions.length - 1) %>
28
- <%= link_to('Forward in time',
29
- {:web => @web.address, :action => 'revision', :id => @page.name,
30
- :rev => @revision.next_revision.number},
31
- {:class => 'navlink'})
32
- %>
33
- <% else %>
34
- <%= link_to('Forward in time',
35
- {:web => @web.address, :action => 'show', :id => @page.name},
36
- {:class => 'navlink'})
37
- %>
38
- <% end %>
39
- (<%= @revision.page.revisions.length - @revision.next_revision.number %> more)
40
- <% end %>
41
-
42
- <% if @revision.next_revision && @revision.previous_revision %>
43
- |
44
- <% end %>
45
-
46
- <% if @revision.previous_revision %>
47
- <%= link_to('Back in time',
48
- {:web => @web.address, :action => 'revision', :id => @page.name,
49
- :rev => @revision.previous_revision.number},
50
- {:class => 'navlink'})
51
- %>
52
- (<%= @revision.previous_revision.number + 1 %> more)
53
- <% end %>
54
-
55
- |
56
- <%= link_to('See current', {:web => @web.address, :action => 'show', :id => @page.name},
57
- {:class => 'navlink'})
58
- %>
59
-
60
- <% if @revision.previous_revision %>
61
- <span id="show_changes">
62
- | <a href="#" onClick="toggleChanges(); return false;">See changes</a>
63
- </span>
64
- <span id="hide_changes" style="display: none">
65
- | <a href="#" onClick="toggleChanges(); return false;">Hide changes</a>
66
- </span>
67
- <% end %>
68
-
69
- |
70
-
71
- <%= link_to('Rollback',
72
- {:web => @web.address, :action => 'rollback', :id => @page.name, :rev => @revision.number},
73
- {:class => 'navlink'})
74
- %>
75
-
76
- <% if @page.references.length > 0 %>
77
- <small>
78
- | Linked from:
79
- <%= @page.references.collect { |ref|
80
- link_to ref.name, :web => @web.address, :action => 'show', :id => ref.name
81
- }.join(", ")
82
- %>
83
- </small>
84
- <% else %>
85
- Orphan page
86
- <% end %>
87
- </div>
88
-
89
- <script language="Javascript">
90
- function toggleChanges() {
91
- if (document.getElementById("changes").style.display == "none") {
92
- document.getElementById("changes").style.display = "block";
93
- document.getElementById("revision").style.display = "none";
94
- document.getElementById("show_changes").style.display = "none";
95
- document.getElementById("hide_changes").style.display = "inline";
96
- } else {
97
- document.getElementById("changes").style.display = "none";
98
- document.getElementById("revision").style.display = "block";
99
- document.getElementById("show_changes").style.display = "inline";
100
- document.getElementById("hide_changes").style.display = "none";
101
- }
102
- }
103
- </script>
1
+ <% @title = "#{@page.plain_name} (Rev ##{@revision.number})" %>
2
+
3
+ <div id="revision">
4
+ <%= @revision.display_content %>
5
+ </div>
6
+
7
+ <div id="changes" style="display: none">
8
+ <p style="background: #eee; padding: 3px; border: 1px solid silver">
9
+ <small>
10
+ Showing changes from revision #<%= @revision.number - 1 %> to #<%= @revision.number %>:
11
+ <ins class="diffins">Added</ins> | <del class="diffdel">Removed</del>
12
+ </small>
13
+ </p>
14
+
15
+ <%= @revision.display_diff %>
16
+ </div>
17
+
18
+
19
+ <div class="byline">
20
+ <%= "Revision from #{@revision.pretty_created_at} by" %>
21
+ <%= link_to_page @revision.author %>
22
+ </div>
23
+
24
+ <div class="navigation">
25
+
26
+ <% if @revision.next_revision %>
27
+ <% if @revision.next_revision.number < (@page.revisions.length - 1) %>
28
+ <%= link_to('Forward in time',
29
+ {:web => @web.address, :action => 'revision', :id => @page.name,
30
+ :rev => @revision.next_revision.number},
31
+ {:class => 'navlink'})
32
+ %>
33
+ <% else %>
34
+ <%= link_to('Forward in time',
35
+ {:web => @web.address, :action => 'show', :id => @page.name},
36
+ {:class => 'navlink'})
37
+ %>
38
+ <% end %>
39
+ (<%= @revision.page.revisions.length - @revision.next_revision.number %> more)
40
+ <% end %>
41
+
42
+ <% if @revision.next_revision && @revision.previous_revision %>
43
+ |
44
+ <% end %>
45
+
46
+ <% if @revision.previous_revision %>
47
+ <%= link_to('Back in time',
48
+ {:web => @web.address, :action => 'revision', :id => @page.name,
49
+ :rev => @revision.previous_revision.number},
50
+ {:class => 'navlink'})
51
+ %>
52
+ (<%= @revision.previous_revision.number + 1 %> more)
53
+ <% end %>
54
+
55
+ |
56
+ <%= link_to('See current', {:web => @web.address, :action => 'show', :id => @page.name},
57
+ {:class => 'navlink'})
58
+ %>
59
+
60
+ <% if @revision.previous_revision %>
61
+ <span id="show_changes">
62
+ | <a href="#" onClick="toggleChanges(); return false;">See changes</a>
63
+ </span>
64
+ <span id="hide_changes" style="display: none">
65
+ | <a href="#" onClick="toggleChanges(); return false;">Hide changes</a>
66
+ </span>
67
+ <% end %>
68
+
69
+ |
70
+
71
+ <%= link_to('Rollback',
72
+ {:web => @web.address, :action => 'rollback', :id => @page.name, :rev => @revision.number},
73
+ {:class => 'navlink'})
74
+ %>
75
+
76
+ <% if @page.references.length > 0 %>
77
+ <small>
78
+ | Linked from:
79
+ <%= @page.references.collect { |ref|
80
+ link_to ref.name, :web => @web.address, :action => 'show', :id => ref.name
81
+ }.join(", ")
82
+ %>
83
+ </small>
84
+ <% else %>
85
+ Orphan page
86
+ <% end %>
87
+ </div>
88
+
89
+ <script language="Javascript">
90
+ function toggleChanges() {
91
+ if (document.getElementById("changes").style.display == "none") {
92
+ document.getElementById("changes").style.display = "block";
93
+ document.getElementById("revision").style.display = "none";
94
+ document.getElementById("show_changes").style.display = "none";
95
+ document.getElementById("hide_changes").style.display = "inline";
96
+ } else {
97
+ document.getElementById("changes").style.display = "none";
98
+ document.getElementById("revision").style.display = "block";
99
+ document.getElementById("show_changes").style.display = "inline";
100
+ document.getElementById("hide_changes").style.display = "none";
101
+ }
102
+ }
103
+ </script>
@@ -1,36 +1,36 @@
1
- <%
2
- @title = "Rollback to #{@page.plain_name} Rev ##{@revision.number}"
3
- @content_width = 720
4
- @hide_navigation = true
5
- %>
6
-
7
- <%= "<p style='color:red'>Please correct the error that caused this error in rendering:<br/><small>#{@params["msg"]}</small></p>" if @params["msg"] %>
8
-
9
- <%= form_tag({:web => @web.address, :action => 'save', :id => @page.name},
10
- {:id => 'editForm', :method => 'post', :onSubmit => 'cleanAuthorName();'})
11
- %>
12
- <p>
13
- <textarea name="content" style="font-size: 12px; width: 450px; height: 500px"><%= @revision.content %></textarea>
14
- </p>
15
- <p>
16
- <input type="submit" value="Update" accesskey="u" /> as
17
- <input type="text" name="author" id="authorName" value="<%= @author %>"
18
- onClick="this.value == 'AnonymousCoward' ? this.value = '' : true" />
19
- |
20
- <% link_to('Cancel',
21
- {:web => @web.address, :action => 'cancel_edit', :id => @page.name},
22
- {:accesskey => 'c'})
23
- %>
24
- <small>(unlocks page)</small>
25
- </p>
26
- <%= end_form_tag %>
27
-
28
- <%= render("#{@web.markup}_help") if @web %>
29
-
30
- <script language="JavaScript1.2">
31
- function cleanAuthorName() {
32
- if (document.getElementById('authorName').value == "") {
33
- document.getElementById('authorName').value = 'AnonymousCoward';
34
- }
35
- }
36
- </script>
1
+ <%
2
+ @title = "Rollback to #{@page.plain_name} Rev ##{@revision.number}"
3
+ @content_width = 720
4
+ @hide_navigation = true
5
+ %>
6
+
7
+ <%= "<p style='color:red'>Please correct the error that caused this error in rendering:<br/><small>#{@params["msg"]}</small></p>" if @params["msg"] %>
8
+
9
+ <%= form_tag({:web => @web.address, :action => 'save', :id => @page.name},
10
+ {:id => 'editForm', :method => 'post', :onSubmit => 'cleanAuthorName();'})
11
+ %>
12
+ <p>
13
+ <textarea name="content" style="font-size: 12px; width: 450px; height: 500px"><%= @revision.content %></textarea>
14
+ </p>
15
+ <p>
16
+ <input type="submit" value="Update" accesskey="u" /> as
17
+ <input type="text" name="author" id="authorName" value="<%= @author %>"
18
+ onClick="this.value == 'AnonymousCoward' ? this.value = '' : true" />
19
+ |
20
+ <% link_to('Cancel',
21
+ {:web => @web.address, :action => 'cancel_edit', :id => @page.name},
22
+ {:accesskey => 'c'})
23
+ %>
24
+ <small>(unlocks page)</small>
25
+ </p>
26
+ <%= end_form_tag %>
27
+
28
+ <%= render("#{@web.markup}_help") if @web %>
29
+
30
+ <script language="JavaScript1.2">
31
+ function cleanAuthorName() {
32
+ if (document.getElementById('authorName').value == "") {
33
+ document.getElementById('authorName').value = 'AnonymousCoward';
34
+ }
35
+ }
36
+ </script>
@@ -1,22 +1,22 @@
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><%= @web.name %></title>
5
- <link><%= url_for :only_path => false, :web => @web_name, :action => @link_action, :id => 'HomePage' %></link>
6
- <description>An Instiki wiki</description>
7
- <language>en-us</language>
8
- <ttl>40</ttl>
9
- <% for page in @pages_by_revision %>
10
- <item>
11
- <title><%= page.plain_name %></title>
12
- <% unless @hide_description %>
13
- <description><%= h page.display_content %></description>
14
- <% end %>
15
- <pubDate><%= page.created_at.strftime "%a, %e %b %Y %H:%M:%S %Z" %></pubDate>
16
- <guid><%= url_for :only_path => false, :web => @web_name, :action => @link_action, :id => page.name %></guid>
17
- <link><%= url_for :only_path => false, :web => @web_name, :action => @link_action, :id => page.name %></link>
18
- <dc:creator><%= WikiWords.separate(page.author) %></dc:creator>
19
- </item>
20
- <% end %>
21
- </channel>
22
- </rss>
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><%= @web.name %></title>
5
+ <link><%= url_for :only_path => false, :web => @web_name, :action => @link_action, :id => 'HomePage' %></link>
6
+ <description>An Instiki wiki</description>
7
+ <language>en-us</language>
8
+ <ttl>40</ttl>
9
+ <% for page in @pages_by_revision %>
10
+ <item>
11
+ <title><%= h page.plain_name %></title>
12
+ <% unless @hide_description %>
13
+ <description><%= h page.display_content %></description>
14
+ <% end %>
15
+ <pubDate><%= page.created_at.getgm.strftime "%a, %d %b %Y %H:%M:%S Z" %></pubDate>
16
+ <guid><%= url_for :only_path => false, :web => @web_name, :action => @link_action, :id => page.name %></guid>
17
+ <link><%= url_for :only_path => false, :web => @web_name, :action => @link_action, :id => page.name %></link>
18
+ <dc:creator><%= WikiWords.separate(page.author) %></dc:creator>
19
+ </item>
20
+ <% end %>
21
+ </channel>
22
+ </rss>
@@ -1,38 +1,38 @@
1
- <% @title = "Search results for \"#{@params["query"]}\"" %>
2
-
3
- <% unless @title_results.empty? %>
4
- <h2><%= @title_results.length %> page(s) containing search string in the page name:</h2>
5
- <ul>
6
- <% for page in @title_results %>
7
- <li>
8
- <%= link_to page.plain_name, :web => @web.address, :action => 'show', :id => page.name %>
9
- </li>
10
- <% end %>
11
- </ul>
12
- <% end %>
13
-
14
-
15
- <% unless @results.empty? %>
16
- <h2> <%= @results.length %> page(s) containing search string in the page text:</h2>
17
- <ul>
18
- <% for page in @results %>
19
- <li>
20
- <%= link_to page.plain_name, :web => @web.address, :action => 'show', :id => page.name %>
21
- </li>
22
- <% end %>
23
- </ul>
24
- <% end %>
25
-
26
- <% if (@results + @title_results).empty? %>
27
- <h2>No pages contains "<%= @params["query"] %>" </h2>
28
- <p>
29
- Perhaps you should try expanding your query. Remember that Instiki searches for entire
30
- phrases, so if you search for "all that jazz" it will not match pages that contain these
31
- words in separation&mdash;only as a sentence fragment.
32
- </p>
33
- <p>
34
- If you're a high-tech computer wizard, you might even want try constructing a Ruby regular
35
- expression. That's actually what Instiki uses, so go right ahead and flex your
36
- "[a-z]*Leet?RegExpSkill(s|z)"
37
- </p>
38
- <% end %>
1
+ <% @title = "Search results for \"#{@params["query"]}\"" %>
2
+
3
+ <% unless @title_results.empty? %>
4
+ <h2><%= @title_results.length %> page(s) containing search string in the page name:</h2>
5
+ <ul>
6
+ <% for page in @title_results %>
7
+ <li>
8
+ <%= link_to page.plain_name, :web => @web.address, :action => 'show', :id => page.name %>
9
+ </li>
10
+ <% end %>
11
+ </ul>
12
+ <% end %>
13
+
14
+
15
+ <% unless @results.empty? %>
16
+ <h2> <%= @results.length %> page(s) containing search string in the page text:</h2>
17
+ <ul>
18
+ <% for page in @results %>
19
+ <li>
20
+ <%= link_to page.plain_name, :web => @web.address, :action => 'show', :id => page.name %>
21
+ </li>
22
+ <% end %>
23
+ </ul>
24
+ <% end %>
25
+
26
+ <% if (@results + @title_results).empty? %>
27
+ <h2>No pages contains "<%= @params["query"] %>" </h2>
28
+ <p>
29
+ Perhaps you should try expanding your query. Remember that Instiki searches for entire
30
+ phrases, so if you search for "all that jazz" it will not match pages that contain these
31
+ words in separation&mdash;only as a sentence fragment.
32
+ </p>
33
+ <p>
34
+ If you're a high-tech computer wizard, you might even want try constructing a Ruby regular
35
+ expression. That's actually what Instiki uses, so go right ahead and flex your
36
+ "[a-z]*Leet?RegExpSkill(s|z)"
37
+ </p>
38
+ <% end %>