-
Notifications
You must be signed in to change notification settings - Fork 4
/
README
146 lines (83 loc) · 3.34 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
= Ruby 版 Text::Hatena
== 説明
Text::Hatena とは、近藤淳也さんによって Perl で書かれたライブラリで、は
てな記法で書かれたテキストを解釈し、HTML 形式に変換します。はてな記法と
は、はてなダイアリーで使われている書式です。
* ((<"Junya Kondo / Text-Hatena - search.cpan.org"|URL:http://search.cpan.org/dist/Text-Hatena/>))
* ((<はてなダイアリー - キーワードでつながる面白ブログ|URL:http://d.hatena.ne.jp/>))
その Text::Hatena を Ruby へそのまま移植したものがこの Ruby 版
Text::Hatena です。Perl で書かれたコードのロジックなどを可能な限り変更
しないように移植したつもりですので、Perl 版 Text::Hatena と同様にお使い
いただけるはずです。
== 入手方法
以下のウェブページにてアーカイブファイルを公開しています。
* ((<URL:http://moonrock.jp/~don/ruby/text-hatena/>))
また、Subversionのリポジトリもご利用いただけます。
* ((<URL:http://moonrock.jp/~don/svn/text-hatena/>))
== インストール
setup.rb を使います。
% ruby setup.rb
お使いの OS によっては sudo コマンドを使う必要があるかもしれません。
% sudo ruby setup.rb
== 使い方
(1) text/hatena を require します。
require "text/hatena"
(2) Text::Hatena オブジェクトを作ります。
parser = Text::Hatena.new
(3) Text::Hatena#parse メソッドを使って変換します。
parser.parse(text)
(4) Text::Hatena#html メソッドから変換結果を取り出します。
html = parser.html
== Text::Hatena クラス
: Text::Hatena.new(args = {})
Text::Hatena クラスのオブジェクトを新しく作ります。Text::Hatena オ
ブジェクトを返します。
次の様に使います:
parser = Text::Hatena.new
省略可能な引数(args)として Hash オブジェクトを与えることが出来ます。
キーには以下のシンボルを使います。
* :baseuri
* :parmalink
* :ilevel
* :invalidnode
* :sectionanchor
* :texthandler
次の様に指定します:
parser = Text::Hatena.new({
:parmalink => 'http://www.example.com/entry/123',
:sectionanchor => '_'
})
: Text::Hatena#parse(string)
文字列(string)を解釈して、HTML 形式に変換します。
次のように使います:
parser.parse("")
: Text::Hatena#html
HTML 形式に変換された結果を文字列として返します。
次のように使いますと:
parser = Text::Hatena.new
parser.parse("*title")
puts parser.html
標準出力には以下のように出力されます:
<div class="section">
<h3><a name="p1" href="#p1"><span class="sanchor">o-</span></a> title</h3>
</div>
== ライセンス
Rubyと同じライセンスとします。詳しくは
((<URL:http://www.ruby-lang.org/ja/LICENSE.txt>)) をご覧ください。
== 著者
岩月博之 ((<URL:mailto:[email protected]>)) が Perl 版 Text::Hatena
0.01 を移植しました。
* ((<Text::Hatena|URL:http://moonrock.jp/~don/ruby/text-hatena/>))
Perl 版 Text::Hatena 0.06 への対応は drawnboy さんによるものです。
* ((<Nowhere Near - Text::Hatena 0.06|URL:http://d.hatena.ne.jp/drawnboy/20060118/1137543907>))
== 謝辞
drawnboy さんから Perl 版 Text::Hatena 0.06 への対応差分を頂きました。
ありがとうございました。
このライブラリに含まれる lib/text/hatena/utils/htmlsplit.rb は、
MoonWolf さん作成の htmlsplit.rb に堀川久さん作成のパッチを適用したもの
です。有用なライブラリの公開に感謝いたします。
* ((<htmlsplit.rb|URL:http://www.moonwolf.com/ruby/htmlsplit.html>))
* ((<"htmlsplit / htmlrepair"|URL:http://www.nslabs.jp/htmlsplit.rhtml>))
殊海夕音さんからは不具合の報告やテストコードを頂きました。ありがとうご
ざいました。
咳さんからは不具合の報告や修正案を頂きました。ありがとうございました。