moro-piki_doc 0.0.2.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/Changelog +8 -0
- data/README.ja.hiki +71 -0
- data/Rakefile +97 -0
- data/features/asin_plugin.feature +24 -0
- data/features/gist_plugin.feature +27 -0
- data/features/step_definitions/pluggable_hikidoc_steps.rb +27 -0
- data/features/support/env.rb +6 -0
- data/lib/piki_doc.rb +11 -0
- data/lib/piki_doc/bundles/asin.rb +25 -0
- data/lib/piki_doc/bundles/gist.rb +19 -0
- data/lib/piki_doc/bundles/plugin_adapter.rb +34 -0
- data/lib/piki_doc/document.rb +32 -0
- data/lib/piki_doc/image_uri_autolink_fix.rb +12 -0
- data/lib/piki_doc/output.rb +27 -0
- data/lib/vendor/hikidoc.rb +902 -0
- data/spec/piki_doc/document_spec.rb +19 -0
- data/spec/piki_doc/output_spec.rb +45 -0
- data/spec/piki_doc_spec.rb +57 -0
- metadata +91 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
require File.expand_path("../spec_helper", File.dirname(__FILE__))
|
2
|
+
require 'piki_doc/document'
|
3
|
+
|
4
|
+
describe PikiDoc::Document do
|
5
|
+
describe "to_xhtml(image_link_with_param)" do
|
6
|
+
subject{ PikiDoc::Document.to_xhtml('http://image.exmaple.com/image.jpg?size=100x75') }
|
7
|
+
|
8
|
+
it{ should == "<p><img src=\"http://image.exmaple.com/image.jpg?size=100x75\" alt=\"image.jpg\" /></p>\n"}
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "register(plugin)" do
|
12
|
+
before(:all) do
|
13
|
+
PikiDoc::Document.register(Object.new, Object.new)
|
14
|
+
end
|
15
|
+
|
16
|
+
it{ PikiDoc::Document.should have(2).plugins }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require File.expand_path("../spec_helper", File.dirname(__FILE__))
|
2
|
+
require 'piki_doc/output'
|
3
|
+
|
4
|
+
describe PikiDoc::HTMLOutput do
|
5
|
+
# {{vote_form('order','お名前', '[勉強会]','PP, Blog, Twitter or Github', 'ひとこと', '[ust設備あり]')}}
|
6
|
+
describe "call inline_plugin() when respond_to?(meth) and accept?()" do
|
7
|
+
Spec::Matchers.create :ouptut_content do |expected|
|
8
|
+
match do |actual|
|
9
|
+
actual.finish.strip.should == expected
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
before do
|
14
|
+
@input = "plugin/source"
|
15
|
+
|
16
|
+
@plugin = mock("plugin")
|
17
|
+
@plugin.should_receive(:respond_to?).with(:inline_plugin).at_least(:once).and_return(true)
|
18
|
+
@plugin.should_receive(:respond_to?).with(:block_plugin).at_least(:once).and_return(true)
|
19
|
+
@plugin.should_receive(:accept?).with(@input).and_return(true)
|
20
|
+
|
21
|
+
@out = PikiDoc::HTMLOutput.new(suffix = " />", [@plugin]).tap(&:reset)
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "inline_plugin" do
|
25
|
+
before do
|
26
|
+
@plugin.should_receive(:inline_plugin).with(@input).and_return("--out--")
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should render plugin output" do
|
30
|
+
@out.inline_plugin(@input).should == "--out--"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "block_plugin" do
|
35
|
+
before do
|
36
|
+
@plugin.should_receive(:block_plugin).with(@input).and_return("--block--")
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should render plugin output" do
|
40
|
+
@out.block_plugin(@input)
|
41
|
+
@out.should ouptut_content "--block--"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require File.expand_path("spec_helper", File.dirname(__FILE__))
|
2
|
+
require 'piki_doc'
|
3
|
+
|
4
|
+
class HikiComatibilityMatcher
|
5
|
+
def initialize(format, hikidoc)
|
6
|
+
@format = "to_#{format}"
|
7
|
+
@hikidoc = hikidoc
|
8
|
+
end
|
9
|
+
|
10
|
+
def matches?(actual)
|
11
|
+
actual.send(@format, @hikidoc) == HikiDoc.send(@format, @hikidoc)
|
12
|
+
end
|
13
|
+
|
14
|
+
def description
|
15
|
+
"compat with " + shorten_content
|
16
|
+
end
|
17
|
+
|
18
|
+
def failure_message_for_should
|
19
|
+
"should compat but do'nt compat with " + shorten_content
|
20
|
+
end
|
21
|
+
|
22
|
+
def failure_message_for_should_not
|
23
|
+
"should not compat but compat with " + shorten_content
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
def shorten_content(num=50)
|
28
|
+
@hikidoc.gsub(/[\r\n]/, "\\n").split(//)[0, num].join("")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe PikiDoc do
|
33
|
+
subject{ PikiDoc } # module itself
|
34
|
+
def compat_with_hiki(*arg)
|
35
|
+
HikiComatibilityMatcher.new(*arg)
|
36
|
+
end
|
37
|
+
|
38
|
+
it do should compat_with_hiki(:xhtml, <<-EOS) end
|
39
|
+
!おはよう
|
40
|
+
!!こんにちは
|
41
|
+
|
42
|
+
こんばんは
|
43
|
+
EOS
|
44
|
+
|
45
|
+
it do should compat_with_hiki(:xhtml, <<-EOS) end
|
46
|
+
- foobar
|
47
|
+
- piyopiyo
|
48
|
+
|
49
|
+
EOS
|
50
|
+
|
51
|
+
it do should_not compat_with_hiki(:xhtml, <<-EOS) end
|
52
|
+
!クエリつき画像リンク
|
53
|
+
http://image.with.query.example.com/photo.jpg?size=100x75
|
54
|
+
EOS
|
55
|
+
|
56
|
+
end
|
57
|
+
|
metadata
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: moro-piki_doc
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- MOROHASHI Kyosuke
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-04-30 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: extended HikiDoc to able to plug plugins.
|
17
|
+
email: moronatural@gmail.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- README.ja.hiki
|
24
|
+
- Changelog
|
25
|
+
files:
|
26
|
+
- README.ja.hiki
|
27
|
+
- Changelog
|
28
|
+
- Rakefile
|
29
|
+
- lib/piki_doc
|
30
|
+
- lib/piki_doc/bundles
|
31
|
+
- lib/piki_doc/bundles/asin.rb
|
32
|
+
- lib/piki_doc/bundles/gist.rb
|
33
|
+
- lib/piki_doc/bundles/plugin_adapter.rb
|
34
|
+
- lib/piki_doc/document.rb
|
35
|
+
- lib/piki_doc/image_uri_autolink_fix.rb
|
36
|
+
- lib/piki_doc/output.rb
|
37
|
+
- lib/piki_doc.rb
|
38
|
+
- lib/vendor
|
39
|
+
- lib/vendor/hikidoc.rb
|
40
|
+
- spec/piki_doc/document_spec.rb
|
41
|
+
- spec/piki_doc/output_spec.rb
|
42
|
+
- spec/piki_doc_spec.rb
|
43
|
+
- features/step_definitions/pluggable_hikidoc_steps.rb
|
44
|
+
- features/support/env.rb
|
45
|
+
- features/asin_plugin.feature
|
46
|
+
- features/gist_plugin.feature
|
47
|
+
has_rdoc: false
|
48
|
+
homepage: http://github.com/moro/piki_doc/
|
49
|
+
post_install_message:
|
50
|
+
rdoc_options:
|
51
|
+
- --title
|
52
|
+
- piki_doc documentation
|
53
|
+
- --charset
|
54
|
+
- utf-8
|
55
|
+
- --opname
|
56
|
+
- index.html
|
57
|
+
- --line-numbers
|
58
|
+
- --main
|
59
|
+
- README.ja.hiki
|
60
|
+
- --inline-source
|
61
|
+
- --exclude
|
62
|
+
- ^(examples|extras)/
|
63
|
+
require_paths:
|
64
|
+
- lib
|
65
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: "0"
|
70
|
+
version:
|
71
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: "0"
|
76
|
+
version:
|
77
|
+
requirements: []
|
78
|
+
|
79
|
+
rubyforge_project:
|
80
|
+
rubygems_version: 1.2.0
|
81
|
+
signing_key:
|
82
|
+
specification_version: 2
|
83
|
+
summary: extended HikiDoc to able to plug plugins.
|
84
|
+
test_files:
|
85
|
+
- spec/piki_doc/document_spec.rb
|
86
|
+
- spec/piki_doc/output_spec.rb
|
87
|
+
- spec/piki_doc_spec.rb
|
88
|
+
- features/step_definitions/pluggable_hikidoc_steps.rb
|
89
|
+
- features/support/env.rb
|
90
|
+
- features/asin_plugin.feature
|
91
|
+
- features/gist_plugin.feature
|