motiro 0.6.10 → 0.6.11
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.
- data/AUTHORS +7 -11
- data/LICENSE +602 -262
- data/README +6 -7
- data/README.en +5 -6
- data/README.pt-br +6 -6
- data/app/controllers/account_controller.rb +5 -6
- data/app/controllers/application.rb +5 -6
- data/app/controllers/javascript_controller.rb +6 -7
- data/app/controllers/report_controller.rb +5 -6
- data/app/controllers/root_controller.rb +5 -1
- data/app/controllers/wiki_controller.rb +10 -8
- data/app/core/cache_reporter.rb +6 -7
- data/app/core/cache_reporter_fetcher.rb +6 -6
- data/app/core/chief_editor.rb +5 -6
- data/app/core/license.rb +598 -0
- data/app/core/reporter.rb +6 -7
- data/app/core/reporter_driver.rb +5 -5
- data/app/core/reporter_fetcher.rb +6 -7
- data/app/core/settings.rb +5 -6
- data/app/core/version.rb +1 -1
- data/app/core/wiki_reporter.rb +5 -6
- data/app/helpers/application_helper.rb +33 -16
- data/app/helpers/default_page_provider.rb +6 -7
- data/app/helpers/report_helper.rb +5 -6
- data/app/helpers/wiki_helper.rb +48 -0
- data/app/models/change.rb +5 -6
- data/app/models/chunk.rb +5 -6
- data/app/models/feed_observer.rb +6 -7
- data/app/models/headline.rb +5 -6
- data/app/models/page.rb +16 -7
- data/app/models/revision.rb +9 -9
- data/app/models/user.rb +6 -9
- data/app/models/wiki_reference.rb +5 -6
- data/app/models/wiki_sweeper.rb +6 -7
- data/app/ports/chdir_runner.rb +6 -7
- data/app/ports/runner.rb +5 -5
- data/app/reporters/darcs_connection.rb +6 -7
- data/app/reporters/darcs_reporter.rb +9 -10
- data/app/reporters/darcs_temp_repo.rb +5 -6
- data/app/reporters/events_reporter.rb +5 -6
- data/app/reporters/features_reporter.rb +5 -6
- data/app/reporters/subversion_reporter.rb +5 -6
- data/app/reporters/svn_connection.rb +6 -6
- data/app/reporters/svn_settings.rb +5 -5
- data/app/views/account/_authorization.rhtml +31 -23
- data/app/views/account/_availability.rhtml +1 -3
- data/app/views/javascript/motiro.rjs +6 -8
- data/app/views/layouts/_bottom.rhtml +7 -0
- data/app/views/report/list.rhtml +1 -1
- data/app/views/root/license.rhtml +5 -0
- data/app/views/wiki/_editbar.rhtml +2 -18
- data/app/views/wiki/_properties_show.rhtml +2 -1
- data/app/views/wiki/_show_event.rhtml +3 -1
- data/app/views/wiki/_show_feature.rhtml +2 -2
- data/app/views/wiki/diff.rhtml +2 -2
- data/app/views/wiki/page_feed.rxml +1 -13
- data/app/views/wiki/raw.rhtml +7 -0
- data/app/views/wiki/show.rhtml +1 -1
- data/app/views/wiki/sourcediff.rhtml +2 -2
- data/bin/motiro +5 -6
- data/config/initializers/motiro_core.rb +1 -0
- data/config/routes.rb +9 -6
- data/db/translation/pt-BR.rb +20 -6
- data/lib/array_extensions.rb +6 -7
- data/lib/diff_chunk_builder.rb +5 -6
- data/lib/differ.rb +5 -6
- data/lib/string_extensions.rb +5 -6
- data/lib/stub_hash.rb +5 -6
- data/lib/tasks/packaging.rake +7 -7
- data/lib/tasks/testing.rake +5 -6
- data/lib/tick_daemon.rb +5 -6
- data/lib/wiki_link_handler.rb +5 -6
- data/lib/wiki_renderer.rb +5 -6
- data/public/images/calendar.gif +0 -0
- data/public/images/done.gif +0 -0
- data/public/images/error.gif +0 -0
- data/public/images/not-done.gif +0 -0
- data/public/images/rss.gif +0 -0
- data/public/stylesheets/motiro.css +163 -170
- data/script/ticker +5 -6
- data/test/acceptance/account_test.rb +6 -7
- data/test/acceptance/darcs_test.rb +6 -7
- data/test/acceptance/events_test.rb +5 -6
- data/test/acceptance/main_page_test.rb +6 -7
- data/test/acceptance/subversion_test.rb +5 -6
- data/test/acceptance/ts_all_suites.rb +5 -6
- data/test/acceptance/wiki_test.rb +5 -6
- data/test/contract/darcs_test.rb +5 -6
- data/test/contract/svn_test.rb +5 -6
- data/test/fixtures/pages.yml +12 -0
- data/test/fixtures/revisions.yml +61 -0
- data/test/functional/report_controller_test.rb +5 -6
- data/test/functional/report_features_test.rb +5 -6
- data/test/functional/report_subversion_test.rb +5 -6
- data/test/functional/root_controller_test.rb +19 -4
- data/test/functional/wiki_controller_test.rb +66 -8
- data/test/lib/acceptance_test_case.rb +6 -7
- data/test/lib/darcs_excerpts.rb +5 -6
- data/test/lib/darcs_repo.rb +5 -6
- data/test/lib/hash_extensions.rb +5 -6
- data/test/lib/live_mode_test.rb +6 -7
- data/test/lib/netutils.rb +6 -7
- data/test/lib/platform_thread.rb +5 -5
- data/test/lib/selenium_extensions.rb +6 -7
- data/test/lib/stubio.rb +6 -7
- data/test/lib/webserver.rb +5 -6
- data/test/meta/darcs_repo_test.rb +6 -6
- data/test/meta/local_svn_test.rb +6 -7
- data/test/meta/platform_thread_test.rb +5 -5
- data/test/meta/stubio_test.rb +6 -7
- data/test/stubs/wiki_link_handler.rb +5 -6
- data/test/test_helper.rb +5 -6
- data/test/unit/array_extensions_test.rb +5 -6
- data/test/unit/cache_reporter_fetcher_test.rb +5 -6
- data/test/unit/cache_reporter_test.rb +5 -6
- data/test/unit/change_test.rb +5 -6
- data/test/unit/chdir_runner_test.rb +5 -6
- data/test/unit/chief_editor_test.rb +5 -6
- data/test/unit/darcs_connection_test.rb +5 -6
- data/test/unit/darcs_reporter_test.rb +14 -6
- data/test/unit/darcs_temp_repo_test.rb +5 -6
- data/test/unit/default_page_provider_test.rb +5 -6
- data/test/unit/diff_chunk_builder_test.rb +6 -7
- data/test/unit/headline_test.rb +5 -6
- data/test/unit/page_test.rb +45 -6
- data/test/unit/reporter_driver_test.rb +6 -7
- data/test/unit/reporter_test.rb +6 -7
- data/test/unit/revision_test.rb +17 -13
- data/test/unit/runner_test.rb +5 -6
- data/test/unit/string_extensions_test.rb +6 -7
- data/test/unit/svn_connection_test.rb +5 -5
- data/test/unit/svn_reporter_interaction_test.rb +6 -7
- data/test/unit/svn_reporter_test.rb +5 -6
- data/test/unit/svn_settings_test.rb +6 -7
- data/test/unit/user_test.rb +6 -11
- data/test/unit/wiki_link_handler_test.rb +5 -6
- data/test/unit/wiki_renderer_test.rb +7 -7
- data/test/unit/wiki_reporter_test.rb +5 -6
- data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiast.rb +15 -0
- data/vendor/mediacloth-trunk/lib/mediacloth/mediawikihtmlgenerator.rb +18 -3
- data/vendor/mediacloth-trunk/lib/mediacloth/mediawikilexer.rb +48 -9
- data/vendor/mediacloth-trunk/lib/mediacloth/mediawikilinkhandler.rb +7 -0
- data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiparser.rb +534 -485
- data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiparser.y +25 -1
- data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiwalker.rb +13 -0
- data/vendor/mediacloth-trunk/test/data/html1 +3 -3
- data/vendor/mediacloth-trunk/test/data/html10 +16 -16
- data/vendor/mediacloth-trunk/test/data/html11 +1 -1
- data/vendor/mediacloth-trunk/test/data/html13 +1 -1
- data/vendor/mediacloth-trunk/test/data/html4 +1 -1
- data/vendor/mediacloth-trunk/test/data/html5 +4 -4
- data/vendor/mediacloth-trunk/test/data/html7 +13 -1
- data/vendor/mediacloth-trunk/test/data/html9 +1 -1
- data/vendor/mediacloth-trunk/test/data/input1 +2 -0
- data/vendor/mediacloth-trunk/test/data/input7 +13 -1
- data/vendor/mediacloth-trunk/test/data/lex1 +1 -1
- data/vendor/mediacloth-trunk/test/data/lex7 +13 -1
- data/vendor/mediacloth-trunk/test/htmlgenerator.rb +26 -1
- data/vendor/mediacloth-trunk/test/lexer.rb +10 -0
- metadata +95 -103
- data/build/build.rb +0 -29
- data/config/report/subversion.yml +0 -26
- data/public/images/calendar.png +0 -0
- data/public/images/done.png +0 -0
- data/public/images/not-done.png +0 -0
- data/public/images/rss.png +0 -0
|
@@ -14,7 +14,7 @@ token TEXT BOLD_START BOLD_END ITALIC_START ITALIC_END LINK_START LINK_END LINKS
|
|
|
14
14
|
PARA_START PARA_END UL_START UL_END OL_START OL_END LI_START LI_END
|
|
15
15
|
DL_START DL_END DT_START DT_END DD_START DD_END TAG_START TAG_END ATTR_NAME ATTR_VALUE
|
|
16
16
|
TABLE_START TABLE_END ROW_START ROW_END HEAD_START HEAD_END CELL_START CELL_END
|
|
17
|
-
KEYWORD VARIABLE_START VARIABLE_END
|
|
17
|
+
KEYWORD VARIABLE_START VARIABLE_END CATEGORY
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
rule
|
|
@@ -99,6 +99,20 @@ contents:
|
|
|
99
99
|
l.children = val[2] unless val[2].nil? or val[2].empty?
|
|
100
100
|
result = l
|
|
101
101
|
}
|
|
102
|
+
| INTLINK_START CATEGORY TEXT cat_sort_contents INTLINK_END
|
|
103
|
+
{
|
|
104
|
+
l = CategoryAST.new
|
|
105
|
+
l.locator = val[2]
|
|
106
|
+
l.sort_as = val[3]
|
|
107
|
+
result = l
|
|
108
|
+
}
|
|
109
|
+
| INTLINK_START RESOURCESEP CATEGORY TEXT intlink_repeated_contents INTLINK_END
|
|
110
|
+
{
|
|
111
|
+
l = CategoryLinkAST.new
|
|
112
|
+
l.locator = val[3]
|
|
113
|
+
l.children = val[4] unless val[4].nil? or val[4].empty?
|
|
114
|
+
result = l
|
|
115
|
+
}
|
|
102
116
|
| table
|
|
103
117
|
;
|
|
104
118
|
|
|
@@ -191,6 +205,16 @@ intlink_repeated_contents:
|
|
|
191
205
|
}
|
|
192
206
|
;
|
|
193
207
|
|
|
208
|
+
cat_sort_contents:
|
|
209
|
+
{
|
|
210
|
+
result = nil
|
|
211
|
+
}
|
|
212
|
+
| INTLINKSEP TEXT
|
|
213
|
+
{
|
|
214
|
+
result = val[1]
|
|
215
|
+
}
|
|
216
|
+
;
|
|
217
|
+
|
|
194
218
|
reslink_repeated_contents:
|
|
195
219
|
{
|
|
196
220
|
result = nil
|
|
@@ -31,12 +31,14 @@ protected
|
|
|
31
31
|
r = parse_link(c) if c.class == LinkAST
|
|
32
32
|
r = parse_internal_link(c) if c.class == InternalLinkAST
|
|
33
33
|
r = parse_resource_link(c) if c.class == ResourceLinkAST
|
|
34
|
+
r = parse_category_link(c) if c.class == CategoryLinkAST
|
|
34
35
|
r = parse_internal_link_item(c) if c.class == InternalLinkItemAST
|
|
35
36
|
r = parse_table(c) if c.class == TableAST
|
|
36
37
|
r = parse_table_row(c) if c.class == TableRowAST
|
|
37
38
|
r = parse_table_cell(c) if c.class == TableCellAST
|
|
38
39
|
r = parse_element(c) if c.class == ElementAST
|
|
39
40
|
r = parse_variable(c) if c.class == VariableAST
|
|
41
|
+
r = parse_category(c) if c.class == CategoryAST
|
|
40
42
|
r = parse_keyword(c) if c.class == KeywordAST
|
|
41
43
|
r
|
|
42
44
|
end
|
|
@@ -110,6 +112,13 @@ protected
|
|
|
110
112
|
end
|
|
111
113
|
end
|
|
112
114
|
|
|
115
|
+
#Reimplement this
|
|
116
|
+
def parse_category_link(ast)
|
|
117
|
+
ast.children.map do |c|
|
|
118
|
+
parse_internal_link_item(c) if c.class == InternalLinkItemAST
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
|
|
113
122
|
#Reimplement this
|
|
114
123
|
def parse_internal_link_item(ast)
|
|
115
124
|
parse_wiki_ast(ast)
|
|
@@ -139,6 +148,10 @@ protected
|
|
|
139
148
|
def parse_variable(ast)
|
|
140
149
|
end
|
|
141
150
|
|
|
151
|
+
#Reimplement this
|
|
152
|
+
def parse_category(ast)
|
|
153
|
+
end
|
|
154
|
+
|
|
142
155
|
#Reimplement this
|
|
143
156
|
def parse_keyword(ast)
|
|
144
157
|
end
|
|
@@ -10,11 +10,11 @@ Another one.
|
|
|
10
10
|
|
|
11
11
|
</p><p>We can have headlines:
|
|
12
12
|
|
|
13
|
-
</p><h1><a name='Headline1'></a> Headline1 </h1><h2><a name='Headline2'></a> Headline2 </h2><h3><a name='Headline3'></a> Headline3 </h3><h4><a name='Headline4'></a> Headline4 </h4><h5><a name='Headline5'></a> Headline5 </h5><h6><a name='Headline6'></a> Headline6 </h6><h7><a name='Headline7'></a> Headline7 </h7><p
|
|
13
|
+
</p><h1><a name='Headline1'></a> Headline1 </h1><h2><a name='Headline2'></a> Headline2 </h2><h3><a name='Headline3'></a> Headline3 </h3><h4><a name='Headline4'></a> Headline4 </h4><h5><a name='Headline5'></a> Headline5 </h5><h6><a name='Headline6'></a> Headline6 </h6><h7><a name='Headline7'></a> Headline7 </h7><p><br />
|
|
14
14
|
|
|
15
15
|
</p><p>Headlines may have formatting:
|
|
16
16
|
|
|
17
|
-
</p><h1><a name='See_for_more_info'></a> See <a href="javascript:void(0)">Internal Link</a> for more info </h1><h2><a name='This_is_an_important_heading'></a> This is an <b>important</b> heading </h2><p
|
|
17
|
+
</p><h1><a name='See_for_more_info'></a> See <a href="javascript:void(0)">Internal Link</a> for more info </h1><h2><a name='This_is_an_important_heading'></a> This is an <b>important</b> heading </h2><p><br />
|
|
18
18
|
|
|
19
19
|
</p><pre> This is a preformatted <b> </b> << <i> </i> text
|
|
20
20
|
yes
|
|
@@ -23,4 +23,4 @@ This is a text after the line.
|
|
|
23
23
|
|
|
24
24
|
</p><ul><li>foo
|
|
25
25
|
</li><li> foo2
|
|
26
|
-
</li></ul>
|
|
26
|
+
</li></ul><h2><a name='There_aren_t_any_closing_quotes_inside_this_headline_s_name'></a> There aren't any closing quotes inside this headline's name </h2>
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<p>Some examples of tables.
|
|
2
2
|
|
|
3
3
|
</p><table></table>
|
|
4
|
-
<p
|
|
4
|
+
<p><br />
|
|
5
5
|
|
|
6
6
|
</p><table><tr></tr>
|
|
7
7
|
</table>
|
|
8
|
-
<p
|
|
8
|
+
<p><br />
|
|
9
9
|
|
|
10
10
|
</p><table><tr><td> a
|
|
11
11
|
</td><td> b
|
|
12
12
|
</td></tr>
|
|
13
13
|
</table>
|
|
14
|
-
<p
|
|
14
|
+
<p><br />
|
|
15
15
|
|
|
16
16
|
</p><table><tr><td> a
|
|
17
17
|
</td><td> b
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
</td><td> 2
|
|
21
21
|
</td></tr>
|
|
22
22
|
</table>
|
|
23
|
-
<p
|
|
23
|
+
<p><br />
|
|
24
24
|
|
|
25
25
|
</p><table><tr><td> a </td><td> b
|
|
26
26
|
</td></tr>
|
|
27
27
|
<tr><td> 1 </td><td> 2
|
|
28
28
|
</td></tr>
|
|
29
29
|
</table>
|
|
30
|
-
<p
|
|
30
|
+
<p><br />
|
|
31
31
|
|
|
32
32
|
</p><table><tr><th> a
|
|
33
33
|
</th><th> b
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
</td><td> 2
|
|
37
37
|
</td></tr>
|
|
38
38
|
</table>
|
|
39
|
-
<p
|
|
39
|
+
<p><br />
|
|
40
40
|
|
|
41
41
|
</p><table><tr><th> a </th><th> b
|
|
42
42
|
</th></tr>
|
|
43
43
|
<tr><td> 1 </td><td> 2
|
|
44
44
|
</td></tr>
|
|
45
45
|
</table>
|
|
46
|
-
<p
|
|
46
|
+
<p><br />
|
|
47
47
|
|
|
48
48
|
</p><table><tr><td> a
|
|
49
49
|
</td></tr>
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
</td><td> 2
|
|
52
52
|
</td></tr>
|
|
53
53
|
</table>
|
|
54
|
-
<p
|
|
54
|
+
<p><br />
|
|
55
55
|
|
|
56
56
|
</p><table><tr><td> a
|
|
57
57
|
</td><td> b
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
<tr><td> 1
|
|
60
60
|
</td></tr>
|
|
61
61
|
</table>
|
|
62
|
-
<p
|
|
62
|
+
<p><br />
|
|
63
63
|
|
|
64
64
|
</p><table><tr><td> a
|
|
65
65
|
</td><td> b
|
|
@@ -67,19 +67,19 @@
|
|
|
67
67
|
<tr><td></td><td> 2
|
|
68
68
|
</td></tr>
|
|
69
69
|
</table>
|
|
70
|
-
<p
|
|
70
|
+
<p><br />
|
|
71
71
|
|
|
72
72
|
</p><table><tr><td> <a href="http://example.com">Example</a></td><td> <b>bold</b></td></tr>
|
|
73
73
|
<tr><td> <a href="javascript:void(0)">Example</a></td><td> <a href="javascript:void(0)">image:example.jpg(1, 2, 3)</a></td></tr>
|
|
74
74
|
</table>
|
|
75
|
-
<p
|
|
75
|
+
<p><br />
|
|
76
76
|
|
|
77
77
|
</p><table><tr><td> <a href="http://example.com">Example</a></td><td> <b>bold
|
|
78
78
|
</b></td></tr>
|
|
79
79
|
<tr><td> <a href="javascript:void(0)">Example</a></td><td> <b>bold <i>italic
|
|
80
80
|
</i></b></td></tr>
|
|
81
81
|
</table>
|
|
82
|
-
<p
|
|
82
|
+
<p><br />
|
|
83
83
|
|
|
84
84
|
</p><table><tr><td> a
|
|
85
85
|
</td><td> b
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
</li><li> two
|
|
90
90
|
</li></ul></td></tr>
|
|
91
91
|
</table>
|
|
92
|
-
<p
|
|
92
|
+
<p><br />
|
|
93
93
|
|
|
94
94
|
</p><table><tr><td> a
|
|
95
95
|
</td><td> b
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
</table>
|
|
105
105
|
</td></tr>
|
|
106
106
|
</table>
|
|
107
|
-
<p
|
|
107
|
+
<p><br />
|
|
108
108
|
|
|
109
109
|
</p><table border="1"><tr><th> a
|
|
110
110
|
</th><th> b
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
</td><td> 2
|
|
114
114
|
</td></tr>
|
|
115
115
|
</table>
|
|
116
|
-
<p
|
|
116
|
+
<p><br />
|
|
117
117
|
|
|
118
118
|
</p><p>
|
|
119
119
|
Text before
|
|
@@ -121,7 +121,7 @@ Text before
|
|
|
121
121
|
</td><td> b
|
|
122
122
|
</td></tr>
|
|
123
123
|
</table>
|
|
124
|
-
<p
|
|
124
|
+
<p><br />
|
|
125
125
|
|
|
126
126
|
</p><p>Text before with <i>italic
|
|
127
127
|
</i></p><table><tr><td> a
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<h2><a name='Examples_of_XHTML_markup_and_escaping_of_XML_characters'></a>Examples of XHTML markup and escaping of XML characters</h2><p
|
|
1
|
+
<h2><a name='Examples_of_XHTML_markup_and_escaping_of_XML_characters'></a>Examples of XHTML markup and escaping of XML characters</h2><p><br />
|
|
2
2
|
|
|
3
3
|
</p><p>Here is a <tt>code sample</tt>.
|
|
4
4
|
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
<ul><li>2.1.1 <a href='#Sub_Sub_Headline_2i'> Sub Sub Headline <i>2i</i> </a></li>
|
|
7
7
|
<li>2.1.2 <a href='#Sub_Sub_Headline_2ii'> Sub Sub Headline <b>2ii</b> </a></li>
|
|
8
8
|
</ul><li>2.2 <a href='#Sub_Headline_2b'> Sub Headline 2b </a></li>
|
|
9
|
-
</ul></ul><p
|
|
9
|
+
</ul></ul><p><br />
|
|
10
10
|
|
|
11
11
|
</p><h1><a name='Headline1'></a> Headline1 </h1><h2><a name='Sub_Headline_1a'></a> Sub Headline 1a </h2><h2><a name='Sub_Headline_1b'></a> Sub Headline 1b </h2><h1><a name='Headline2'></a> Headline2 </h1><h2><a name='Sub_Headline_2a'></a> Sub Headline 2a </h2><h3><a name='Sub_Sub_Headline_2i'></a> Sub Sub Headline <i>2i</i> </h3><h3><a name='Sub_Sub_Headline_2ii'></a> Sub Sub Headline <b>2ii</b> </h3><h2><a name='Sub_Headline_2b'></a> Sub Headline 2b </h2>
|
|
@@ -36,19 +36,19 @@ Mixed lists
|
|
|
36
36
|
Dictionary lists
|
|
37
37
|
|
|
38
38
|
</p><dl><dt>d
|
|
39
|
-
</dt></dl><p
|
|
39
|
+
</dt></dl><p><br />
|
|
40
40
|
|
|
41
41
|
</p><dl><dd>t
|
|
42
|
-
</dd></dl><p
|
|
42
|
+
</dd></dl><p><br />
|
|
43
43
|
|
|
44
44
|
</p><dl><dt>d
|
|
45
45
|
</dt><dd>t
|
|
46
|
-
</dd></dl><p
|
|
46
|
+
</dd></dl><p><br />
|
|
47
47
|
|
|
48
48
|
</p><dl><dt>d
|
|
49
49
|
</dt><dd>t
|
|
50
50
|
</dd><dd>t
|
|
51
|
-
</dd></dl><p
|
|
51
|
+
</dd></dl><p><br />
|
|
52
52
|
|
|
53
53
|
</p><dl><dt>d
|
|
54
54
|
</dt><dd>t
|
|
@@ -42,4 +42,16 @@
|
|
|
42
42
|
|
|
43
43
|
</p><p>[[]]
|
|
44
44
|
|
|
45
|
-
</p><p><a href="javascript:void(0)"> </a
|
|
45
|
+
</p><p><a href="javascript:void(0)"> </a>
|
|
46
|
+
|
|
47
|
+
</p><p>
|
|
48
|
+
|
|
49
|
+
</p><p>
|
|
50
|
+
|
|
51
|
+
</p><p>
|
|
52
|
+
|
|
53
|
+
</p><p><a href="javascript:void(0)">Category</a>
|
|
54
|
+
|
|
55
|
+
</p><p><a href="javascript:void(0)">Category name</a>
|
|
56
|
+
|
|
57
|
+
</p><p><a href="javascript:void(0)">Foo</a></p>
|
|
@@ -42,4 +42,16 @@ http://sun.com
|
|
|
42
42
|
|
|
43
43
|
[[]]
|
|
44
44
|
|
|
45
|
-
[[ ]]
|
|
45
|
+
[[ ]]
|
|
46
|
+
|
|
47
|
+
[[Category:Category]]
|
|
48
|
+
|
|
49
|
+
[[Category:Category name]]
|
|
50
|
+
|
|
51
|
+
[[Category:Category name|Sort as]]
|
|
52
|
+
|
|
53
|
+
[[:Category:Category]]
|
|
54
|
+
|
|
55
|
+
[[:Category:Category name]]
|
|
56
|
+
|
|
57
|
+
[[:Category:Category name|Foo]]
|
|
@@ -42,4 +42,16 @@ PARA_ENDPARA_STARTTEXT[ ]
|
|
|
42
42
|
|
|
43
43
|
PARA_ENDPARA_STARTTEXT[[]]
|
|
44
44
|
|
|
45
|
-
PARA_ENDPARA_STARTINTLINK_START[[TEXT INTLINK_END]]
|
|
45
|
+
PARA_ENDPARA_STARTINTLINK_START[[TEXT INTLINK_END]]TEXT
|
|
46
|
+
|
|
47
|
+
PARA_ENDPARA_STARTINTLINK_START[[CATEGORYCategory:TEXTCategoryINTLINK_END]]TEXT
|
|
48
|
+
|
|
49
|
+
PARA_ENDPARA_STARTINTLINK_START[[CATEGORYCategory:TEXTCategory nameINTLINK_END]]TEXT
|
|
50
|
+
|
|
51
|
+
PARA_ENDPARA_STARTINTLINK_START[[CATEGORYCategory:TEXTCategory nameINTLINKSEP|TEXTSort asINTLINK_END]]TEXT
|
|
52
|
+
|
|
53
|
+
PARA_ENDPARA_STARTINTLINK_START[[RESOURCESEP:CATEGORYCategory:TEXTCategoryINTLINK_END]]TEXT
|
|
54
|
+
|
|
55
|
+
PARA_ENDPARA_STARTINTLINK_START[[RESOURCESEP:CATEGORYCategory:TEXTCategory nameINTLINK_END]]TEXT
|
|
56
|
+
|
|
57
|
+
PARA_ENDPARA_STARTINTLINK_START[[RESOURCESEP:CATEGORYCategory:TEXTCategory nameINTLINKSEP|TEXTFooINTLINK_END]]PARA_ENDfalsefalse
|
|
@@ -18,7 +18,7 @@ class HTMLGenerator_Test < Test::Unit::TestCase
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def test_uses_element_attributes_from_link_handler
|
|
21
|
-
assert_generates '<p><a
|
|
21
|
+
assert_generates '<p><a href="http://www.example.com/wiki/InternalLink" class="empty">This is just an internal link</a></p>',
|
|
22
22
|
'[[InternalLink|This is just an internal link]]',
|
|
23
23
|
ClassEmptyLinkHandler.new
|
|
24
24
|
end
|
|
@@ -47,6 +47,18 @@ class HTMLGenerator_Test < Test::Unit::TestCase
|
|
|
47
47
|
FullLinkHandler.new
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
+
def test_handles_category_links
|
|
51
|
+
assert_generates '<p><a class="category" href="http://www.mywiki.net/wiki/Category:Foo">More articles on Foo</a></p>',
|
|
52
|
+
"[[:Category:Foo|More articles on Foo]]",
|
|
53
|
+
CategoryLinkHandler.new
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def test_handles_category_directives
|
|
57
|
+
assert_generates '<p><div id="catlinks">This page belongs to the <a class="category" href="http://www.mywiki.net/wiki/Category:Foo">Foo category</a></div></p>',
|
|
58
|
+
"[[Category:Foo]]",
|
|
59
|
+
CategoryDirectiveHandler.new
|
|
60
|
+
end
|
|
61
|
+
|
|
50
62
|
private
|
|
51
63
|
|
|
52
64
|
def assert_generates(result, input, link_handler=nil, message=nil)
|
|
@@ -95,3 +107,16 @@ class FullLinkHandler < MediaWikiLinkHandler
|
|
|
95
107
|
end
|
|
96
108
|
end
|
|
97
109
|
|
|
110
|
+
class CategoryLinkHandler
|
|
111
|
+
def link_for_category(locator, text)
|
|
112
|
+
%(<a class="category" href="http://www.mywiki.net/wiki/Category:#{locator}">#{text}</a>)
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
class CategoryDirectiveHandler
|
|
117
|
+
def category_add(name, sort)
|
|
118
|
+
%(<div id="catlinks">This page belongs to the <a class="category" href="http://www.mywiki.net/wiki/Category:#{name}">#{name} category</a></div>)
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
|
|
@@ -137,6 +137,10 @@ class Lexer_Test < Test::Unit::TestCase
|
|
|
137
137
|
[[:PARA_START, ""], [:LINK_START, ""], [:TEXT, "http://example.com"], [:LINK_END, ""],
|
|
138
138
|
[:PARA_END, ""], [false, false]],
|
|
139
139
|
lex("http://example.com"))
|
|
140
|
+
assert_equal(
|
|
141
|
+
[[:PARA_START, ""], [:LINK_START, ""], [:TEXT, "https://example.com"], [:LINK_END, ""],
|
|
142
|
+
[:PARA_END, ""], [false, false]],
|
|
143
|
+
lex("https://example.com"))
|
|
140
144
|
assert_equal(
|
|
141
145
|
[[:PARA_START, ""], [:LINK_START, ""], [:TEXT, "http://example.com"], [:LINK_END, ""],
|
|
142
146
|
[:PARA_END, ""], [false, false]],
|
|
@@ -333,6 +337,12 @@ class Lexer_Test < Test::Unit::TestCase
|
|
|
333
337
|
lex("<nowiki><u>uuu</u></nowiki>"))
|
|
334
338
|
end
|
|
335
339
|
|
|
340
|
+
def test_math
|
|
341
|
+
assert_equal([[:PARA_START, ""], [:TAG_START, "math"], [:TEXT, "1 == 1 == 1"], [:TAG_END, "math"],
|
|
342
|
+
[:PARA_END, ""], [false, false]],
|
|
343
|
+
lex("<math>1 == 1 == 1</math>"))
|
|
344
|
+
end
|
|
345
|
+
|
|
336
346
|
def test_variable
|
|
337
347
|
assert_equal([[:PARA_START, ""], [:VARIABLE_START, "{{"], [:TEXT, "ref"], [:VARIABLE_END, "}}"],
|
|
338
348
|
[:PARA_END, ""], [false, false]],
|
metadata
CHANGED
|
@@ -1,81 +1,34 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
|
+
rubygems_version: 0.9.4
|
|
3
|
+
specification_version: 1
|
|
2
4
|
name: motiro
|
|
3
5
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
6
|
+
version: 0.6.11
|
|
7
|
+
date: 2008-05-12 00:00:00 -03:00
|
|
8
|
+
summary: Simple project tracking tool
|
|
9
|
+
require_paths:
|
|
10
|
+
- .
|
|
11
|
+
email: thiago.arrais@gmail.com
|
|
12
|
+
homepage: http://www.motiro.org
|
|
13
|
+
rubyforge_project: motiro
|
|
14
|
+
description:
|
|
15
|
+
autorequire:
|
|
16
|
+
default_executable:
|
|
17
|
+
bindir: bin
|
|
18
|
+
has_rdoc: false
|
|
19
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
20
|
+
requirements:
|
|
21
|
+
- - ">"
|
|
22
|
+
- !ruby/object:Gem::Version
|
|
23
|
+
version: 0.0.0
|
|
24
|
+
version:
|
|
5
25
|
platform: ruby
|
|
26
|
+
signing_key:
|
|
27
|
+
cert_chain:
|
|
28
|
+
post_install_message:
|
|
6
29
|
authors:
|
|
7
30
|
- Thiago Arrais
|
|
8
|
-
autorequire:
|
|
9
|
-
bindir: bin
|
|
10
|
-
cert_chain: []
|
|
11
|
-
|
|
12
|
-
date: 2008-03-12 00:00:00 -03:00
|
|
13
|
-
default_executable:
|
|
14
|
-
dependencies:
|
|
15
|
-
- !ruby/object:Gem::Dependency
|
|
16
|
-
name: rails
|
|
17
|
-
version_requirement:
|
|
18
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
19
|
-
requirements:
|
|
20
|
-
- - "="
|
|
21
|
-
- !ruby/object:Gem::Version
|
|
22
|
-
version: 2.0.2
|
|
23
|
-
version:
|
|
24
|
-
- !ruby/object:Gem::Dependency
|
|
25
|
-
name: daemons
|
|
26
|
-
version_requirement:
|
|
27
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
28
|
-
requirements:
|
|
29
|
-
- - ">="
|
|
30
|
-
- !ruby/object:Gem::Version
|
|
31
|
-
version: 1.0.6
|
|
32
|
-
version:
|
|
33
|
-
- !ruby/object:Gem::Dependency
|
|
34
|
-
name: sqlite3-ruby
|
|
35
|
-
version_requirement:
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - ">="
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: 1.2.1
|
|
41
|
-
version:
|
|
42
|
-
- !ruby/object:Gem::Dependency
|
|
43
|
-
name: flexmock
|
|
44
|
-
version_requirement:
|
|
45
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
46
|
-
requirements:
|
|
47
|
-
- - ">="
|
|
48
|
-
- !ruby/object:Gem::Version
|
|
49
|
-
version: 0.6.1
|
|
50
|
-
version:
|
|
51
|
-
- !ruby/object:Gem::Dependency
|
|
52
|
-
name: rails-app-installer
|
|
53
|
-
version_requirement:
|
|
54
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
55
|
-
requirements:
|
|
56
|
-
- - "="
|
|
57
|
-
- !ruby/object:Gem::Version
|
|
58
|
-
version: 0.2.0
|
|
59
|
-
version:
|
|
60
|
-
- !ruby/object:Gem::Dependency
|
|
61
|
-
name: diff-lcs
|
|
62
|
-
version_requirement:
|
|
63
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - ">="
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: 1.1.2
|
|
68
|
-
version:
|
|
69
|
-
description:
|
|
70
|
-
email: thiago.arrais@gmail.com
|
|
71
|
-
executables:
|
|
72
|
-
- motiro
|
|
73
|
-
extensions: []
|
|
74
|
-
|
|
75
|
-
extra_rdoc_files: []
|
|
76
|
-
|
|
77
31
|
files:
|
|
78
|
-
- components
|
|
79
32
|
- installer
|
|
80
33
|
- installer/rails_installer_defaults.yml
|
|
81
34
|
- script
|
|
@@ -98,8 +51,6 @@ files:
|
|
|
98
51
|
- script/console
|
|
99
52
|
- script/breakpointer
|
|
100
53
|
- Rakefile
|
|
101
|
-
- build
|
|
102
|
-
- build/build.rb
|
|
103
54
|
- db
|
|
104
55
|
- db/motirodb.sqlite.initial
|
|
105
56
|
- db/schema_version
|
|
@@ -149,8 +100,6 @@ files:
|
|
|
149
100
|
- config/initializers/globalize.rb
|
|
150
101
|
- config/initializers/mime_types.rb
|
|
151
102
|
- config/motiro.yml
|
|
152
|
-
- config/report
|
|
153
|
-
- config/report/subversion.yml
|
|
154
103
|
- config/routes.rb
|
|
155
104
|
- bin
|
|
156
105
|
- bin/motiro
|
|
@@ -171,6 +120,7 @@ files:
|
|
|
171
120
|
- app/views/wiki/edit.rhtml
|
|
172
121
|
- app/views/wiki/show.rhtml
|
|
173
122
|
- app/views/wiki/_show_event.rhtml
|
|
123
|
+
- app/views/wiki/raw.rhtml
|
|
174
124
|
- app/views/wiki/_properties_edit.rhtml
|
|
175
125
|
- app/views/wiki/_editor.rhtml
|
|
176
126
|
- app/views/events
|
|
@@ -186,6 +136,7 @@ files:
|
|
|
186
136
|
- app/views/javascript/motiro.rjs
|
|
187
137
|
- app/views/root
|
|
188
138
|
- app/views/root/index.rhtml
|
|
139
|
+
- app/views/root/license.rhtml
|
|
189
140
|
- app/views/layouts
|
|
190
141
|
- app/views/layouts/_bottom.rhtml
|
|
191
142
|
- app/views/layouts/_header.rhtml
|
|
@@ -209,6 +160,7 @@ files:
|
|
|
209
160
|
- app/core/wiki_reporter.rb
|
|
210
161
|
- app/core/reporter_driver.rb
|
|
211
162
|
- app/core/cache_reporter.rb
|
|
163
|
+
- app/core/license.rb
|
|
212
164
|
- app/core/chief_editor.rb
|
|
213
165
|
- app/core/reporter_fetcher.rb
|
|
214
166
|
- app/core/wiki_page_not_found.rb
|
|
@@ -283,10 +235,11 @@ files:
|
|
|
283
235
|
- public/dispatch.rb
|
|
284
236
|
- public/favicon.ico
|
|
285
237
|
- public/images
|
|
286
|
-
- public/images/
|
|
287
|
-
- public/images/
|
|
288
|
-
- public/images/
|
|
289
|
-
- public/images/
|
|
238
|
+
- public/images/not-done.gif
|
|
239
|
+
- public/images/calendar.gif
|
|
240
|
+
- public/images/rss.gif
|
|
241
|
+
- public/images/done.gif
|
|
242
|
+
- public/images/error.gif
|
|
290
243
|
- public/stylesheets
|
|
291
244
|
- public/stylesheets/niftyCorners.css
|
|
292
245
|
- public/stylesheets/scaffold.css
|
|
@@ -628,31 +581,70 @@ files:
|
|
|
628
581
|
- vendor/mediacloth.rb
|
|
629
582
|
- log/.keepdir
|
|
630
583
|
- vendor/motiro-installer.rb
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
post_install_message:
|
|
584
|
+
test_files: []
|
|
585
|
+
|
|
634
586
|
rdoc_options: []
|
|
635
587
|
|
|
636
|
-
|
|
637
|
-
- .
|
|
638
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
639
|
-
requirements:
|
|
640
|
-
- - ">="
|
|
641
|
-
- !ruby/object:Gem::Version
|
|
642
|
-
version: "0"
|
|
643
|
-
version:
|
|
644
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
645
|
-
requirements:
|
|
646
|
-
- - ">="
|
|
647
|
-
- !ruby/object:Gem::Version
|
|
648
|
-
version: "0"
|
|
649
|
-
version:
|
|
650
|
-
requirements: []
|
|
588
|
+
extra_rdoc_files: []
|
|
651
589
|
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
specification_version: 2
|
|
656
|
-
summary: Simple project tracking tool
|
|
657
|
-
test_files: []
|
|
590
|
+
executables:
|
|
591
|
+
- motiro
|
|
592
|
+
extensions: []
|
|
658
593
|
|
|
594
|
+
requirements: []
|
|
595
|
+
|
|
596
|
+
dependencies:
|
|
597
|
+
- !ruby/object:Gem::Dependency
|
|
598
|
+
name: rails
|
|
599
|
+
version_requirement:
|
|
600
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
601
|
+
requirements:
|
|
602
|
+
- - "="
|
|
603
|
+
- !ruby/object:Gem::Version
|
|
604
|
+
version: 2.0.2
|
|
605
|
+
version:
|
|
606
|
+
- !ruby/object:Gem::Dependency
|
|
607
|
+
name: daemons
|
|
608
|
+
version_requirement:
|
|
609
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
610
|
+
requirements:
|
|
611
|
+
- - ">="
|
|
612
|
+
- !ruby/object:Gem::Version
|
|
613
|
+
version: 1.0.6
|
|
614
|
+
version:
|
|
615
|
+
- !ruby/object:Gem::Dependency
|
|
616
|
+
name: sqlite3-ruby
|
|
617
|
+
version_requirement:
|
|
618
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
619
|
+
requirements:
|
|
620
|
+
- - ">="
|
|
621
|
+
- !ruby/object:Gem::Version
|
|
622
|
+
version: 1.2.1
|
|
623
|
+
version:
|
|
624
|
+
- !ruby/object:Gem::Dependency
|
|
625
|
+
name: flexmock
|
|
626
|
+
version_requirement:
|
|
627
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
628
|
+
requirements:
|
|
629
|
+
- - ">="
|
|
630
|
+
- !ruby/object:Gem::Version
|
|
631
|
+
version: 0.6.1
|
|
632
|
+
version:
|
|
633
|
+
- !ruby/object:Gem::Dependency
|
|
634
|
+
name: rails-app-installer
|
|
635
|
+
version_requirement:
|
|
636
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
637
|
+
requirements:
|
|
638
|
+
- - "="
|
|
639
|
+
- !ruby/object:Gem::Version
|
|
640
|
+
version: 0.2.0
|
|
641
|
+
version:
|
|
642
|
+
- !ruby/object:Gem::Dependency
|
|
643
|
+
name: diff-lcs
|
|
644
|
+
version_requirement:
|
|
645
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
646
|
+
requirements:
|
|
647
|
+
- - ">="
|
|
648
|
+
- !ruby/object:Gem::Version
|
|
649
|
+
version: 1.1.2
|
|
650
|
+
version:
|