hikidoc 0.0.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.
data/test/run-test.rb ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "test/unit"
4
+
5
+ if Test::Unit::AutoRunner.respond_to?(:standalone?)
6
+ exit Test::Unit::AutoRunner.run($0, File.dirname($0))
7
+ else
8
+ exit Test::Unit::AutoRunner.run(false, File.dirname($0))
9
+ end
@@ -0,0 +1,376 @@
1
+ require "test/unit"
2
+ rootdir = "#{File::dirname(__FILE__)}/.."
3
+ require "#{rootdir}/lib/hikidoc"
4
+
5
+ class HikiDocTestCase < Test::Unit::TestCase
6
+ def test_plugin
7
+ assert_convert("<div class=\"plugin\">{{hoge}}</div>\n",
8
+ "{{hoge}}")
9
+ assert_convert("<p>a<span class=\"plugin\">{{hoge}}</span>b</p>\n",
10
+ "a{{hoge}}b")
11
+ assert_convert("<p>\\<span class=\"plugin\">{{hoge}}</span></p>\n",
12
+ "\\{{hoge}}")
13
+ assert_convert("<p>a{{hoge</p>\n",
14
+ "a{{hoge")
15
+ assert_convert("<p>hoge}}b</p>\n",
16
+ "hoge}}b")
17
+ assert_convert("<p><span class=\"plugin\">{{hoge}}</span>\na</p>\n",
18
+ "{{hoge}}\na")
19
+ assert_convert("<div class=\"plugin\">{{hoge}}</div>\n<p>a</p>\n",
20
+ "{{hoge}}\n\na")
21
+ end
22
+
23
+ def test_plugin_with_quotes
24
+ assert_convert("<div class=\"plugin\">{{hoge(\"}}\")}}</div>\n",
25
+ '{{hoge("}}")}}')
26
+ assert_convert("<div class=\"plugin\">{{hoge(\'}}\')}}</div>\n",
27
+ "{{hoge('}}')}}")
28
+ assert_convert("<div class=\"plugin\">{{hoge(\'\n}}\n\')}}</div>\n",
29
+ "{{hoge('\n}}\n')}}")
30
+ end
31
+
32
+ def test_plugin_with_meta_char
33
+ assert_convert("<div class=\"plugin\">{{hoge(\"a\\\"b\")}}</div>\n",
34
+ '{{hoge("a\\"b")}}')
35
+ end
36
+
37
+ def test_plugin_with_custom_syntax
38
+ assert_convert("<p>{{&lt;&lt;\"End\"\nfoo's bar\nEnd\n}}</p>\n",
39
+ "{{<<\"End\"\nfoo's bar\nEnd\n}}")
40
+
41
+ options = {:plugin_syntax => method(:custom_valid_plugin_syntax?)}
42
+ assert_convert(%Q|<div class="plugin">{{&lt;&lt;"End"\nfoo's bar\nEnd\n}}</div>\n|,
43
+ %Q!{{<<"End"\nfoo's bar\nEnd\n}}!,
44
+ options)
45
+ assert_convert(%Q|<div class="plugin">{{&lt;&lt;"End"\nfoo\nEnd}}</div>\n|,
46
+ %Q!{{<<"End"\nfoo\nEnd}}!,
47
+ options)
48
+ end
49
+
50
+ def test_blockquote
51
+ assert_convert("<blockquote><p>hoge</p>\n</blockquote>\n",
52
+ %Q|""hoge\n|)
53
+ assert_convert("<blockquote><p>hoge\nfuga</p>\n</blockquote>\n",
54
+ %Q|""hoge\n""fuga\n|)
55
+ assert_convert("<blockquote><p>hoge</p>\n<blockquote><p>fuga</p>\n</blockquote>\n</blockquote>\n",
56
+ %Q|""hoge\n"" ""fuga\n|)
57
+ assert_convert("<blockquote><h1>hoge</h1>\n</blockquote>\n",
58
+ %Q|"" ! hoge\n|)
59
+ assert_convert("<blockquote><p>foo\nbar</p>\n<p>foo</p>\n</blockquote>\n",
60
+ %Q|""foo\n""bar\n""\n""foo|)
61
+ assert_convert("<blockquote><p>foo\nbar</p>\n<h1>foo</h1>\n</blockquote>\n",
62
+ %Q|""foo\n""bar\n""!foo|)
63
+ assert_convert("<blockquote><p>foo\nbar</p>\n<pre>baz</pre>\n</blockquote>\n",
64
+ %Q|""foo\n"" bar\n"" baz|)
65
+ assert_convert("<blockquote><p>foo\nbar</p>\n<pre>baz</pre>\n</blockquote>\n",
66
+ %Q|""foo\n""\tbar\n""\t\tbaz|)
67
+ end
68
+
69
+ def test_header
70
+ assert_convert("<h1>hoge</h1>\n", "!hoge")
71
+ assert_convert("<h2>hoge</h2>\n", "!! hoge")
72
+ assert_convert("<h3>hoge</h3>\n", "!!!hoge")
73
+ assert_convert("<h4>hoge</h4>\n", "!!!! hoge")
74
+ assert_convert("<h5>hoge</h5>\n", "!!!!!hoge")
75
+ assert_convert("<h6>hoge</h6>\n", "!!!!!! hoge")
76
+ assert_convert("<h6>! hoge</h6>\n", "!!!!!!! hoge")
77
+
78
+ assert_convert("<h1>foo</h1>\n<h2>bar</h2>\n",
79
+ "!foo\n!!bar")
80
+ end
81
+
82
+ def test_list
83
+ assert_convert("<ul>\n<li>foo</li>\n</ul>\n",
84
+ "* foo")
85
+ assert_convert("<ul>\n<li>foo</li>\n<li>bar</li>\n</ul>\n",
86
+ "* foo\n* bar")
87
+ assert_convert("<ul>\n<li>foo<ul>\n<li>bar</li>\n</ul></li>\n</ul>\n",
88
+ "* foo\n** bar")
89
+ assert_convert("<ul>\n<li>foo<ul>\n<li>foo</li>\n</ul></li>\n<li>bar</li>\n</ul>\n",
90
+ "* foo\n** foo\n* bar")
91
+ assert_convert("<ul>\n<li>foo<ol>\n<li>foo</li>\n</ol></li>\n<li>bar</li>\n</ul>\n",
92
+ "* foo\n## foo\n* bar")
93
+ assert_convert("<ul>\n<li>foo</li>\n</ul><ol>\n<li>bar</li>\n</ol>\n",
94
+ "* foo\n# bar")
95
+ end
96
+
97
+ def test_list_skip
98
+ assert_convert("<ul>\n<li>foo<ul>\n<li><ul>\n<li>foo</li>\n</ul></li>\n</ul></li>\n<li>bar</li>\n</ul>\n",
99
+ "* foo\n*** foo\n* bar")
100
+ assert_convert("<ol>\n<li>foo<ol>\n<li><ol>\n<li>bar</li>\n<li>baz</li>\n</ol></li>\n</ol></li>\n</ol>\n",
101
+ "# foo\n### bar\n###baz")
102
+ end
103
+
104
+ def test_hrules
105
+ assert_convert("<hr />\n", "----")
106
+ assert_convert("<p>----a</p>\n", "----a")
107
+ end
108
+
109
+ def test_pre
110
+ assert_convert("<pre>foo</pre>\n",
111
+ " foo")
112
+ assert_convert("<pre>\\:</pre>\n",
113
+ ' \:')
114
+ assert_convert("<pre>foo</pre>\n",
115
+ "\tfoo")
116
+ assert_convert("<pre>foo\nbar</pre>\n",
117
+ " foo\n bar")
118
+ assert_convert("<pre>foo\nbar</pre>\n",
119
+ " foo\n bar\n")
120
+ assert_convert("<pre>&lt;foo&gt;</pre>\n",
121
+ " <foo>")
122
+ end
123
+
124
+ def test_multi_pre
125
+ assert_convert("<pre>foo</pre>\n",
126
+ "<<<\nfoo\n>>>")
127
+ assert_convert("<pre>foo\n bar</pre>\n",
128
+ "<<<\nfoo\n bar\n>>>")
129
+ assert_convert("<pre>foo</pre>\n<pre>bar</pre>\n",
130
+ "<<<\nfoo\n>>>\n<<<\nbar\n>>>")
131
+ assert_convert("<pre>&lt;foo&gt;</pre>\n",
132
+ "<<<\n<foo>\n>>>")
133
+ end
134
+
135
+ def test_comment
136
+ assert_convert("", "// foo")
137
+ assert_convert("", "// foo\n")
138
+ end
139
+
140
+ def test_paragraph
141
+ assert_convert("<p>foo</p>\n", "foo")
142
+
143
+ assert_convert("<p>foo</p>\n<p>bar</p>\n",
144
+ "foo\n\nbar")
145
+ assert_convert("<p>foo</p>\n<p>bar</p>\n",
146
+ "foo\r\n\r\nbar")
147
+
148
+ assert_convert("<p>foo </p>\n<p>b a r </p>\n",
149
+ "foo \n\nb a r ")
150
+ end
151
+
152
+ def test_escape
153
+ assert_convert(%Q|<p>\\"\\"foo</p>\n|,
154
+ %q|\"\"foo|)
155
+ end
156
+
157
+ def test_link
158
+ assert_convert(%Q|<p><a href="http://hikiwiki.org/">http://hikiwiki.org/</a></p>\n|,
159
+ "http://hikiwiki.org/")
160
+ assert_convert(%Q|<p><a href="http://hikiwiki.org/">http://hikiwiki.org/</a></p>\n|,
161
+ "[[http://hikiwiki.org/]]")
162
+ assert_convert(%Q|<p><a href="http://hikiwiki.org/">Hiki</a></p>\n|,
163
+ "[[Hiki|http://hikiwiki.org/]]")
164
+ assert_convert(%Q|<p><a href="/hikiwiki.html">Hiki</a></p>\n|,
165
+ "[[Hiki|http:/hikiwiki.html]]")
166
+ assert_convert(%Q|<p><a href="hikiwiki.html">Hiki</a></p>\n|,
167
+ "[[Hiki|http:hikiwiki.html]]")
168
+ assert_convert(%Q|<p><img src="http://hikiwiki.org/img.png" alt="img.png" /></p>\n|,
169
+ "http://hikiwiki.org/img.png")
170
+ assert_convert(%Q|<p><a href="http://hikiwiki.org/ja/?c=edit;p=Test">| +
171
+ %Q|http://hikiwiki.org/ja/?c=edit;p=Test</a></p>\n|,
172
+ "http://hikiwiki.org/ja/?c=edit;p=Test")
173
+ assert_convert(%Q|<p><a href="http://hikiwiki.org/ja/?c=edit&amp;p=Test">| +
174
+ %Q|http://hikiwiki.org/ja/?c=edit&amp;p=Test</a></p>\n|,
175
+ "http://hikiwiki.org/ja/?c=edit&p=Test")
176
+ assert_convert(%Q|<p><img src="/img.png" alt="img.png" /></p>\n|,
177
+ "http:/img.png")
178
+ assert_convert(%Q|<p><img src="img.png" alt="img.png" /></p>\n|,
179
+ "http:img.png")
180
+ assert_convert(%Q|<p><a href="%CB%EE">Tuna</a></p>\n|,
181
+ "[[Tuna|%CB%EE]]")
182
+ assert_convert(%Q|<p><a href="&quot;&quot;">""</a></p>\n|,
183
+ '[[""]]')
184
+ assert_convert(%Q|<p><a href="%22">%22</a></p>\n|,
185
+ "[[%22]]")
186
+ assert_convert(%Q|<p><a href="&amp;">&amp;</a></p>\n|,
187
+ "[[&]]")
188
+ assert_convert(%Q|<p><a href="aa">aa</a>bb<a href="cc">cc</a></p>\n|,
189
+ "[[aa]]bb[[cc]]")
190
+ end
191
+
192
+ def test_wiki_name
193
+ assert_convert("<p><a href=\"WikiName\">WikiName</a></p>\n",
194
+ "WikiName")
195
+ assert_convert("<p><a href=\"HogeRule1\">HogeRule1</a></p>\n",
196
+ "HogeRule1")
197
+
198
+ assert_convert("<p><a href=\"WikiName1WikiName2\">WikiName1WikiName2</a></p>\n",
199
+ "WikiName1WikiName2")
200
+ assert_convert("<p><a href=\"WikiName1\">WikiName1</a> " +
201
+ "<a href=\"WikiName2\">WikiName2</a></p>\n",
202
+ "WikiName1 WikiName2")
203
+
204
+ assert_convert("<p>NOTWIKINAME</p>\n",
205
+ "NOTWIKINAME")
206
+ assert_convert("<p>NOT_WIKI_NAME</p>\n",
207
+ "NOT_WIKI_NAME")
208
+ assert_convert("<p>WikiNAME</p>\n",
209
+ "WikiNAME")
210
+ assert_convert("<p>fooWikiNAME</p>\n",
211
+ "fooWikiNAME")
212
+
213
+ assert_convert("<p>RSSPage</p>\n",
214
+ "RSSPage")
215
+ assert_convert("<p><a href=\"RSSPageName\">RSSPageName</a></p>\n",
216
+ "RSSPageName")
217
+ end
218
+
219
+ def test_not_wiki_name
220
+ assert_convert("<p>WikiName</p>\n",
221
+ "^WikiName")
222
+ assert_convert("<p>^<a href=\"WikiName\">WikiName</a></p>\n",
223
+ "^WikiName",
224
+ :use_not_wiki_name => false)
225
+ assert_convert("<p>^WikiName</p>\n",
226
+ "^WikiName",
227
+ :use_wiki_name => false)
228
+ assert_convert("<p>^WikiName</p>\n",
229
+ "^WikiName",
230
+ :use_wiki_name => false,
231
+ :use_not_wiki_name => false)
232
+ end
233
+
234
+ def test_use_wiki_name_option
235
+ assert_convert("<p><a href=\"WikiName\">WikiName</a></p>\n",
236
+ "WikiName")
237
+ assert_convert("<p>WikiName</p>\n",
238
+ "WikiName",
239
+ :use_wiki_name => false)
240
+ end
241
+
242
+ def test_image_link
243
+ assert_convert(%Q|<p><img src="http://hikiwiki.org/img.png" alt="img.png" /></p>\n|,
244
+ "[[http://hikiwiki.org/img.png]]")
245
+ assert_convert(%Q|<p><a href="http://hikiwiki.org/img.png">http://hikiwiki.org/img.png</a></p>\n|,
246
+ "[[http://hikiwiki.org/img.png]]",
247
+ :allow_bracket_inline_image => false)
248
+
249
+ assert_convert(%Q|<p><img src="http://hikiwiki.org/img.png" alt="img" /></p>\n|,
250
+ "[[img|http://hikiwiki.org/img.png]]")
251
+ assert_convert(%Q|<p><a href="http://hikiwiki.org/img.png">img</a></p>\n|,
252
+ "[[img|http://hikiwiki.org/img.png]]",
253
+ :allow_bracket_inline_image => false)
254
+ end
255
+
256
+ def test_definition
257
+ assert_convert("<dl>\n<dt>a</dt>\n<dd>b</dd>\n</dl>\n",
258
+ ":a:b")
259
+ assert_convert("<dl>\n<dt>a</dt>\n<dd>b\n</dd>\n<dd>c</dd>\n</dl>\n",
260
+ ":a:b\n::c")
261
+ assert_convert("<dl>\n<dt>a\\</dt>\n<dd>b:c</dd>\n</dl>\n",
262
+ ':a\:b:c')
263
+ assert_convert("<dl>\n<dt>a</dt>\n<dd>b\\:c</dd>\n</dl>\n",
264
+ ':a:b\:c')
265
+ assert_convert("<dl>\n<dt>a</dt>\n<dd>b:c</dd>\n</dl>\n",
266
+ ":a:b:c")
267
+ end
268
+
269
+ def test_definition_title_only
270
+ assert_convert("<dl>\n<dt>a</dt>\n</dl>\n",
271
+ ":a:")
272
+ end
273
+
274
+ def test_definition_description_only
275
+ assert_convert("<dl>\n<dd>b</dd>\n</dl>\n",
276
+ "::b")
277
+ end
278
+
279
+ def test_definition_with_link
280
+ assert_convert(%Q|<dl>\n<dt><a href="http://hikiwiki.org/">Hiki</a></dt>\n<dd>Website</dd>\n</dl>\n|,
281
+ ":[[Hiki|http://hikiwiki.org/]]:Website")
282
+ end
283
+
284
+ def test_definition_with_modifier
285
+ assert_convert(%Q|<dl>\n<dt><strong>foo</strong></dt>\n<dd>bar</dd>\n</dl>\n|,
286
+ ":'''foo''':bar")
287
+ end
288
+
289
+ def test_table
290
+ assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td></tr>\n</table>\n|,
291
+ "||a||b")
292
+ assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td></tr>\n</table>\n|,
293
+ "||a||b||")
294
+ assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td></tr>\n</table>\n|,
295
+ "||a||b||")
296
+ assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td><td> </td></tr>\n</table>\n|,
297
+ "||a||b|| ")
298
+ assert_convert(%Q|<table border=\"1\">\n<tr><th>a</th><td>b</td></tr>\n</table>\n|,
299
+ "||!a||b||")
300
+ assert_convert(%Q|<table border=\"1\">\n<tr><td colspan=\"2\">1</td><td rowspan=\"2\">2\n</td></tr>\n<tr><td rowspan=\"2\">3</td><td>4\n</td></tr>\n<tr><td colspan=\"2\">5</td></tr>\n</table>\n|,
301
+ "||>1||^2\n||^3||4\n||>5")
302
+ assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td><td>c</td></tr>\n<tr><td></td><td></td><td></td></tr>\n<tr><td>d</td><td>e</td><td>f</td></tr>\n</table>\n|,
303
+ "||a||b||c||\n||||||||\n||d||e||f||")
304
+ end
305
+
306
+ def test_table_with_modifier
307
+ assert_convert("<table border=\"1\">\n<tr><td>'''</td><td>'''</td><td>bar</td></tr>\n</table>\n",
308
+ "||'''||'''||bar")
309
+ assert_convert("<table border=\"1\">\n<tr><td>'''\\</td><td>'''</td><td>bar</td></tr>\n</table>\n",
310
+ "||'''\\||'''||bar")
311
+ end
312
+
313
+ def test_modifier
314
+ assert_convert("<p><strong>foo</strong></p>\n",
315
+ "'''foo'''")
316
+ assert_convert("<p><em>foo</em></p>\n",
317
+ "''foo''")
318
+ assert_convert("<p><del>foo</del></p>\n",
319
+ "==foo==")
320
+ assert_convert("<p><em>foo==bar</em>baz==</p>\n",
321
+ "''foo==bar''baz==")
322
+ assert_convert("<p><strong>foo</strong> and <strong>bar</strong></p>\n",
323
+ "'''foo''' and '''bar'''")
324
+ assert_convert("<p><em>foo</em> and <em>bar</em></p>\n",
325
+ "''foo'' and ''bar''")
326
+ end
327
+
328
+ def test_nested_modifier
329
+ assert_convert("<p><em><del>foo</del></em></p>\n",
330
+ "''==foo==''")
331
+ assert_convert("<p><del><em>foo</em></del></p>\n",
332
+ "==''foo''==")
333
+ end
334
+
335
+ def test_modifier_and_link
336
+ assert_convert("<p><a href=\"http://hikiwiki.org/\"><strong>Hiki</strong></a></p>\n",
337
+ "[['''Hiki'''|http://hikiwiki.org/]]")
338
+ end
339
+
340
+ def test_pre_and_plugin
341
+ assert_convert(%Q|<pre>{{hoge}}</pre>\n|,
342
+ " {{hoge}}")
343
+ assert_convert(%Q|<pre>{{hoge}}</pre>\n|,
344
+ "<<<\n{{hoge}}\n>>>")
345
+ assert_convert("<div class=\"plugin\">{{foo\n 1}}</div>\n",
346
+ "{{foo\n 1}}")
347
+ end
348
+
349
+ def test_plugin_in_modifier
350
+ assert_convert("<p><strong><span class=\"plugin\">{{foo}}</span></strong></p>\n",
351
+ "'''{{foo}}'''")
352
+ end
353
+
354
+ if Object.const_defined?(:Syntax)
355
+
356
+ def test_syntax_ruby
357
+ assert_convert("<pre><span class=\"keyword\">class </span><span class=\"class\">A</span>\n <span class=\"keyword\">def </span><span class=\"method\">foo</span><span class=\"punct\">(</span><span class=\"ident\">bar</span><span class=\"punct\">)</span>\n <span class=\"keyword\">end</span>\n<span class=\"keyword\">end</span></pre>\n",
358
+ "<<< ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
359
+ assert_convert("<pre><span class=\"keyword\">class </span><span class=\"class\">A</span>\n <span class=\"keyword\">def </span><span class=\"method\">foo</span><span class=\"punct\">(</span><span class=\"ident\">bar</span><span class=\"punct\">)</span>\n <span class=\"keyword\">end</span>\n<span class=\"keyword\">end</span></pre>\n",
360
+ "<<< Ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
361
+ assert_convert("<pre><span class=\"punct\">'</span><span class=\"string\">a&lt;&quot;&gt;b</span><span class=\"punct\">'</span></pre>\n",
362
+ "<<< ruby\n'a<\">b'\n>>>")
363
+ end
364
+ end
365
+
366
+ private
367
+ def assert_convert(expected, markup, options={}, message=nil)
368
+ assert_equal(expected, HikiDoc.to_xhtml(markup, options), message)
369
+ end
370
+
371
+ def custom_valid_plugin_syntax?(code)
372
+ eval("BEGIN {return true}\n#{code}", nil, "(plugin)", 0)
373
+ rescue SyntaxError
374
+ false
375
+ end
376
+ end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hikidoc
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Kazuhiko
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2007-12-31 00:00:00 +09:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hoe
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.4.0
23
+ version:
24
+ description: "'HikiDoc' is a text-to-HTML conversion tool for web writers. HikiDoc allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid HTML (or XHTML)."
25
+ email:
26
+ - kazuhiko@fdiary.net
27
+ executables:
28
+ - hikidoc
29
+ extensions: []
30
+
31
+ extra_rdoc_files: []
32
+
33
+ files:
34
+ - COPYING
35
+ - README
36
+ - README.ja
37
+ - Rakefile
38
+ - TextFormattingRules
39
+ - TextFormattingRules.ja
40
+ - bin/hikidoc
41
+ - lib/hikidoc.rb
42
+ - setup.rb
43
+ - test/run-test.rb
44
+ - test/test_hikidoc.rb
45
+ has_rdoc: true
46
+ homepage: http://rubyforge.org/projects/hikidoc/
47
+ post_install_message:
48
+ rdoc_options:
49
+ - --main
50
+ - README.txt
51
+ require_paths:
52
+ - lib
53
+ required_ruby_version: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: "0"
58
+ version:
59
+ required_rubygems_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
65
+ requirements: []
66
+
67
+ rubyforge_project: hikidoc
68
+ rubygems_version: 1.0.1
69
+ signing_key:
70
+ specification_version: 2
71
+ summary: "'HikiDoc' is a text-to-HTML conversion tool for web writers."
72
+ test_files:
73
+ - test/test_hikidoc.rb