redcarpet-render-hiki 0.0.1 → 0.0.2
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.
- checksums.yaml +4 -4
- data/lib/redcarpet/render/hiki.rb +53 -2
- data/lib/redcarpet/render/hiki/version.rb +1 -1
- data/redcarpet-render-hiki.gemspec +1 -1
- data/test/test_recarpet-render-hiki.rb +164 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 519bd68e8ab79b21e805f0e9d2ee48a83a13ffed
|
4
|
+
data.tar.gz: 4b59e8c60cf9a4716caaea45ec364747dde05c70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19f0e524e2e05160a7efbd405ae0101d3ec3c6ccad2c1d4a9b95dfc999a0b93f9a871511459b2b31233a035b58dd8aaaa1f4363d47213b20cf63f68fcd3120ba
|
7
|
+
data.tar.gz: 190ec8b756be18cf89def17e8a8fb6a75d997417a13ad143450936eb2526e7d00f2cdfb089292a7fe3802014709f7fd9b7354f6e182ca66a115629109f107370
|
@@ -3,13 +3,64 @@ require "redcarpet/render/hiki/version"
|
|
3
3
|
module Redcarpet
|
4
4
|
module Render
|
5
5
|
class Hiki < Base
|
6
|
+
# Block-level calls
|
7
|
+
def block_code(code, language)
|
8
|
+
"<<<#{$/}#{code}>>>#{$/*2}"
|
9
|
+
end
|
10
|
+
|
11
|
+
def block_quote(quote)
|
12
|
+
quote.chomp.lines.map {|line| %(""#{line}) }.join + $/
|
13
|
+
end
|
14
|
+
|
15
|
+
def header(text, header_level)
|
16
|
+
# FIXME escape !
|
17
|
+
"#{?!*header_level}#{text}#{$/*2}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def hrule
|
21
|
+
'-' * 4 + $/ * 2
|
22
|
+
end
|
23
|
+
|
24
|
+
def list(contents, list_type)
|
25
|
+
l = list_type == :unordered ? '*' : '#'
|
26
|
+
contents.lines.map {|line|
|
27
|
+
"#{l}#{line}"
|
28
|
+
}.join
|
29
|
+
end
|
30
|
+
|
31
|
+
def list_item(text, list_type)
|
32
|
+
# FIXME mixed list type
|
33
|
+
text
|
34
|
+
end
|
35
|
+
|
36
|
+
def paragraph(text)
|
37
|
+
text + $/ * 2
|
38
|
+
end
|
39
|
+
|
40
|
+
# Span-level calls
|
41
|
+
def double_emphasis(text)
|
42
|
+
# FIXME escape '
|
43
|
+
"'''#{text}'''"
|
44
|
+
end
|
45
|
+
|
46
|
+
def emphasis(text)
|
47
|
+
# FIXME escape '
|
48
|
+
"''#{text}''"
|
49
|
+
end
|
50
|
+
|
51
|
+
def image(link, title, alt_text)
|
52
|
+
# FIXME I don't care about title
|
53
|
+
"[[#{alt_text}|#{link}]]"
|
54
|
+
end
|
55
|
+
|
6
56
|
def link(link, title, content)
|
7
57
|
# FIXME I don't care about title
|
8
58
|
"[[#{content}|#{link}]]"
|
9
59
|
end
|
10
60
|
|
11
|
-
def
|
12
|
-
|
61
|
+
def strikethrough(text)
|
62
|
+
# FIXME escape =
|
63
|
+
"==#{text}=="
|
13
64
|
end
|
14
65
|
end
|
15
66
|
end
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_runtime_dependency "redcarpet"
|
22
22
|
|
23
|
-
spec.add_development_dependency "bundler", "~> 1.5"
|
23
|
+
spec.add_development_dependency "bundler", "~> 1.8.5"
|
24
24
|
spec.add_development_dependency "pry"
|
25
25
|
spec.add_development_dependency "pry-doc"
|
26
26
|
spec.add_development_dependency "rake"
|
@@ -5,13 +5,91 @@ require 'redcarpet/render/hiki'
|
|
5
5
|
class TestRecarpetRenderHiki < Test::Unit::TestCase
|
6
6
|
def test_render_markdown_as_hiki
|
7
7
|
renderer = Redcarpet::Render::Hiki
|
8
|
-
rc_markdown = Redcarpet::Markdown.new(renderer.new)
|
8
|
+
rc_markdown = Redcarpet::Markdown.new(renderer.new, fenced_code_blocks: true, strikethrough: true)
|
9
9
|
|
10
10
|
markdown = <<MARKDOWN
|
11
11
|
[redcarpet-render-hiki](https://github.com/hanachin/redcarpet-render-hiki)で、
|
12
12
|
Markdownをhiki記法に変換したい。
|
13
13
|
なぜなら、Markdownで書かれた記事をhikiに変換できるとるびまの編集の手間が減って、
|
14
14
|
世界がちょっと幸せになりそうだからだ。
|
15
|
+
|
16
|
+
任意のURLへのリンク
|
17
|
+
|
18
|
+

|
19
|
+
|
20
|
+
整形済みテキスト
|
21
|
+
|
22
|
+
```
|
23
|
+
整
|
24
|
+
形
|
25
|
+
済
|
26
|
+
み
|
27
|
+
```
|
28
|
+
```ruby
|
29
|
+
puts :helloworld
|
30
|
+
```
|
31
|
+
~~~
|
32
|
+
整
|
33
|
+
形
|
34
|
+
済
|
35
|
+
み
|
36
|
+
~~~
|
37
|
+
~~~rb
|
38
|
+
puts :helloworld
|
39
|
+
~~~
|
40
|
+
|
41
|
+
文字の修飾
|
42
|
+
|
43
|
+
_emphasized_ and *emphasized* and __strong emphasis__ and **strong emphasis**
|
44
|
+
|
45
|
+
~~だるいだるい~~
|
46
|
+
|
47
|
+
見出し
|
48
|
+
|
49
|
+
# 見出し1
|
50
|
+
## 見出し2
|
51
|
+
### 見出し3
|
52
|
+
#### 見出し4
|
53
|
+
##### 見出し5
|
54
|
+
|
55
|
+
水平線
|
56
|
+
|
57
|
+
- - - - -
|
58
|
+
|
59
|
+
順番なし
|
60
|
+
|
61
|
+
- アイテム1
|
62
|
+
- アイテム1.1
|
63
|
+
- アイテム1.2
|
64
|
+
- アイテム1.2.1
|
65
|
+
- アイテム1.2.2
|
66
|
+
- アイテム1.2.3
|
67
|
+
- アイテム1.3
|
68
|
+
- アイテム1.4
|
69
|
+
- アイテム2
|
70
|
+
|
71
|
+
順番あり
|
72
|
+
|
73
|
+
1. その1
|
74
|
+
2. その2
|
75
|
+
1. その2.1
|
76
|
+
2. その2.2
|
77
|
+
3. その2.3
|
78
|
+
2. その3
|
79
|
+
1. その3.1
|
80
|
+
1. その3.1.1
|
81
|
+
2. その3.1.2
|
82
|
+
|
83
|
+
引用
|
84
|
+
|
85
|
+
> これは引用です。
|
86
|
+
> さらに引用します。
|
87
|
+
> 続けて引用します。
|
88
|
+
> 引用が連続する場合、
|
89
|
+
> このように一つの引用として
|
90
|
+
> 展開されます。
|
91
|
+
|
92
|
+
おわり
|
15
93
|
MARKDOWN
|
16
94
|
|
17
95
|
hiki = <<HIKI
|
@@ -19,8 +97,92 @@ MARKDOWN
|
|
19
97
|
Markdownをhiki記法に変換したい。
|
20
98
|
なぜなら、Markdownで書かれた記事をhikiに変換できるとるびまの編集の手間が減って、
|
21
99
|
世界がちょっと幸せになりそうだからだ。
|
100
|
+
|
101
|
+
任意のURLへのリンク
|
102
|
+
|
103
|
+
[[クローバー|http://jp.rubyist.net/theme/clover/clover_h1.png]]
|
104
|
+
|
105
|
+
整形済みテキスト
|
106
|
+
|
107
|
+
<<<
|
108
|
+
整
|
109
|
+
形
|
110
|
+
済
|
111
|
+
み
|
112
|
+
>>>
|
113
|
+
|
114
|
+
<<<
|
115
|
+
puts :helloworld
|
116
|
+
>>>
|
117
|
+
|
118
|
+
<<<
|
119
|
+
整
|
120
|
+
形
|
121
|
+
済
|
122
|
+
み
|
123
|
+
>>>
|
124
|
+
|
125
|
+
<<<
|
126
|
+
puts :helloworld
|
127
|
+
>>>
|
128
|
+
|
129
|
+
文字の修飾
|
130
|
+
|
131
|
+
''emphasized'' and ''emphasized'' and '''strong emphasis''' and '''strong emphasis'''
|
132
|
+
|
133
|
+
==だるいだるい==
|
134
|
+
|
135
|
+
見出し
|
136
|
+
|
137
|
+
!見出し1
|
138
|
+
|
139
|
+
!!見出し2
|
140
|
+
|
141
|
+
!!!見出し3
|
142
|
+
|
143
|
+
!!!!見出し4
|
144
|
+
|
145
|
+
!!!!!見出し5
|
146
|
+
|
147
|
+
水平線
|
148
|
+
|
149
|
+
----
|
150
|
+
|
151
|
+
順番なし
|
152
|
+
|
153
|
+
*アイテム1
|
154
|
+
**アイテム1.1
|
155
|
+
**アイテム1.2
|
156
|
+
***アイテム1.2.1
|
157
|
+
***アイテム1.2.2
|
158
|
+
***アイテム1.2.3
|
159
|
+
**アイテム1.3
|
160
|
+
**アイテム1.4
|
161
|
+
*アイテム2
|
162
|
+
順番あり
|
163
|
+
|
164
|
+
#その1
|
165
|
+
#その2
|
166
|
+
##その2.1
|
167
|
+
##その2.2
|
168
|
+
##その2.3
|
169
|
+
#その3
|
170
|
+
##その3.1
|
171
|
+
###その3.1.1
|
172
|
+
###その3.1.2
|
173
|
+
引用
|
174
|
+
|
175
|
+
""これは引用です。
|
176
|
+
""さらに引用します。
|
177
|
+
""続けて引用します。
|
178
|
+
""引用が連続する場合、
|
179
|
+
""このように一つの引用として
|
180
|
+
""展開されます。
|
181
|
+
|
182
|
+
おわり
|
183
|
+
|
22
184
|
HIKI
|
23
185
|
|
24
|
-
assert_equal(rc_markdown.render(markdown)
|
186
|
+
assert_equal(hiki, rc_markdown.render(markdown))
|
25
187
|
end
|
26
188
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redcarpet-render-hiki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seiei Higa
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.8.5
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.8.5
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: pry
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|