org-parse 0.1.1 → 0.1.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.
- data/VERSION.yml +2 -2
- data/bin/org-parse +3 -2
- data/doc/images/org-parse-struct_ca4f70a7189eddf1f60e8486f7d289b294cf8df3.png +0 -0
- data/doc/org-parse.html +121 -32
- data/lib/org-parse.rb +1 -1
- data/lib/org-parse/node.rb +11 -1
- data/lib/org-parse/struct-parser.rb +2 -2
- data/lib/org-parse/struct-scanner.rb +11 -9
- data/lib/org-parse/templates/single.html.erb +4 -1
- data/lib/org-parse/visitor.rb +40 -6
- data/org-parse.gemspec +4 -3
- metadata +19 -9
data/VERSION.yml
CHANGED
data/bin/org-parse
CHANGED
@@ -34,8 +34,9 @@ begin
|
|
34
34
|
puts options_parser
|
35
35
|
else
|
36
36
|
data = IO.read(ARGV[0])
|
37
|
-
|
38
|
-
|
37
|
+
opts = {}
|
38
|
+
opts[:default_title] = File.basename(ARGV[0], '.*')
|
39
|
+
parser = OrgParse::StructParser.new(data, opts)
|
39
40
|
root = parser.parse
|
40
41
|
if options[:format] == :html
|
41
42
|
visitor = OrgParse::HtmlVisitor.new(root, options[:template])
|
data/doc/org-parse.html
CHANGED
@@ -7,7 +7,7 @@ lang="en" xml:lang="en">
|
|
7
7
|
<title>OrgParse</title>
|
8
8
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
|
9
9
|
<meta name="generator" content="Org-mode"/>
|
10
|
-
<meta name="generated" content="2010-03-10
|
10
|
+
<meta name="generated" content="2010-03-24 10:38:50 JST"/>
|
11
11
|
<meta name="author" content="Kensei Nakamura"/>
|
12
12
|
<meta name="description" content=""/>
|
13
13
|
<meta name="keywords" content=""/>
|
@@ -35,6 +35,7 @@ lang="en" xml:lang="en">
|
|
35
35
|
dt { font-weight: bold; }
|
36
36
|
div.figure { padding: 0.5em; }
|
37
37
|
div.figure p { text-align: center; }
|
38
|
+
textarea { overflow-x: auto; }
|
38
39
|
.linenr { font-size:smaller }
|
39
40
|
.code-highlighted {background-color:#ffff00;}
|
40
41
|
.org-info-js_info-navigation { border-style:none; }
|
@@ -77,17 +78,31 @@ lang="en" xml:lang="en">
|
|
77
78
|
<h2>Table of Contents</h2>
|
78
79
|
<div id="text-table-of-contents">
|
79
80
|
<ul>
|
80
|
-
<li><a href="#sec-1">1 これは何か? </a
|
81
|
-
<li><a href="#sec-2">2 何故作ったか。 </a></li>
|
82
|
-
<li><a href="#sec-3">3 構成 </a>
|
81
|
+
<li><a href="#sec-1">1 これは何か? </a>
|
83
82
|
<ul>
|
84
|
-
<li><a href="#sec-
|
83
|
+
<li><a href="#sec-1.1">1.1 何故作ったか。 </a></li>
|
85
84
|
</ul>
|
86
85
|
</li>
|
87
|
-
<li><a href="#sec-
|
86
|
+
<li><a href="#sec-2">2 構成 </a>
|
88
87
|
<ul>
|
89
|
-
<li><a href="#sec-
|
90
|
-
|
88
|
+
<li><a href="#sec-2.1">2.1 概要 </a></li>
|
89
|
+
</ul>
|
90
|
+
</li>
|
91
|
+
<li><a href="#sec-3">3 使い方 </a>
|
92
|
+
<ul>
|
93
|
+
<li><a href="#sec-3.1">3.1 org-parse コマンド </a></li>
|
94
|
+
<li><a href="#sec-3.2">3.2 org-parse ライブラリ </a></li>
|
95
|
+
</ul>
|
96
|
+
</li>
|
97
|
+
<li><a href="#sec-4">4 MEMO </a>
|
98
|
+
<ul>
|
99
|
+
<li><a href="#sec-4.1">4.1 オプション類の扱い </a>
|
100
|
+
<ul>
|
101
|
+
<li><a href="#sec-4.1.1">4.1.1 プログラム内でのオプションの記憶場所 </a></li>
|
102
|
+
<li><a href="#sec-4.1.2">4.1.2 オプションの指定方法 </a></li>
|
103
|
+
<li><a href="#sec-4.1.3">4.1.3 オプションの優先順位 </a></li>
|
104
|
+
</ul>
|
105
|
+
</li>
|
91
106
|
</ul>
|
92
107
|
</li>
|
93
108
|
</ul>
|
@@ -99,13 +114,12 @@ lang="en" xml:lang="en">
|
|
99
114
|
<div class="outline-text-2" id="text-1">
|
100
115
|
|
101
116
|
<p><a href="http://orgmode.org">Org-Mode</a> で書かれた文書を他のフォーマットに変換するためのライブラリである。
|
102
|
-
</p
|
103
|
-
|
117
|
+
</p>
|
104
118
|
</div>
|
105
119
|
|
106
|
-
<div id="outline-container-
|
107
|
-
<
|
108
|
-
<div class="outline-text-
|
120
|
+
<div id="outline-container-1.1" class="outline-3">
|
121
|
+
<h3 id="sec-1.1"><span class="section-number-3">1.1</span> 何故作ったか。 </h3>
|
122
|
+
<div class="outline-text-3" id="text-1.1">
|
109
123
|
|
110
124
|
<p>直接の動機は、Redmine の文書やWikiに、Org-Modeで書いた文書を入れたかったから。
|
111
125
|
長文になると、textileで書くのは骨が折れる。Org-Mode のアウトライン操作は快適である。
|
@@ -113,45 +127,50 @@ lang="en" xml:lang="en">
|
|
113
127
|
<p>
|
114
128
|
この用途には<a href="http://orgmode.org/worg/org-tutorials/org-ruby.php">Org-ruby</a> が使えそうだけど、日本語の textile 文書との相性が悪かった。
|
115
129
|
Org-rubyに手を入れるか自分用を作るか迷ったのだが、Racc の勉強を兼ねて一から作ることにした。
|
130
|
+
</p>
|
131
|
+
<p>
|
132
|
+
が、構文エラーを出さない方針にしてみると、Racc 等の構文解析ライブラリは使いにくかった。
|
133
|
+
プログラミング言語じゃないから、あまりガチガチにすると使いにくいし、悩ましい所である。
|
116
134
|
</p></div>
|
135
|
+
</div>
|
117
136
|
|
118
137
|
</div>
|
119
138
|
|
120
|
-
<div id="outline-container-
|
121
|
-
<h2 id="sec-
|
122
|
-
<div class="outline-text-2" id="text-
|
139
|
+
<div id="outline-container-2" class="outline-2">
|
140
|
+
<h2 id="sec-2"><span class="section-number-2">2</span> 構成 </h2>
|
141
|
+
<div class="outline-text-2" id="text-2">
|
123
142
|
|
124
143
|
|
125
144
|
</div>
|
126
145
|
|
127
|
-
<div id="outline-container-
|
128
|
-
<h3 id="sec-
|
129
|
-
<div class="outline-text-3" id="text-
|
146
|
+
<div id="outline-container-2.1" class="outline-3">
|
147
|
+
<h3 id="sec-2.1"><span class="section-number-3">2.1</span> 概要 </h3>
|
148
|
+
<div class="outline-text-3" id="text-2.1">
|
130
149
|
|
131
150
|
<p>org-file を、スキャナー、パーサーを通して、構文木を作成する。
|
132
151
|
出来上がった構文木から、HTMLや、textile 等のフォーマットの文書を構築する。
|
133
152
|
</p>
|
134
153
|
<p>
|
135
|
-
<img src="images/org-parse-
|
154
|
+
<img src="images/org-parse-struct_ca4f70a7189eddf1f60e8486f7d289b294cf8df3.png" alt="images/org-parse-struct_ca4f70a7189eddf1f60e8486f7d289b294cf8df3.png" />
|
136
155
|
</p>
|
137
156
|
<p>
|
138
157
|
RDtool の構成と同じ様な形式である。
|
139
|
-
visitor
|
158
|
+
visitor の部分を置き換えることで、様々なフォーマットへ変換出来るようになる(予定)。
|
140
159
|
</p></div>
|
141
160
|
</div>
|
142
161
|
|
143
162
|
</div>
|
144
163
|
|
145
|
-
<div id="outline-container-
|
146
|
-
<h2 id="sec-
|
147
|
-
<div class="outline-text-2" id="text-
|
164
|
+
<div id="outline-container-3" class="outline-2">
|
165
|
+
<h2 id="sec-3"><span class="section-number-2">3</span> 使い方 </h2>
|
166
|
+
<div class="outline-text-2" id="text-3">
|
148
167
|
|
149
168
|
|
150
169
|
</div>
|
151
170
|
|
152
|
-
<div id="outline-container-
|
153
|
-
<h3 id="sec-
|
154
|
-
<div class="outline-text-3" id="text-
|
171
|
+
<div id="outline-container-3.1" class="outline-3">
|
172
|
+
<h3 id="sec-3.1"><span class="section-number-3">3.1</span> org-parse コマンド </h3>
|
173
|
+
<div class="outline-text-3" id="text-3.1">
|
155
174
|
|
156
175
|
|
157
176
|
|
@@ -167,9 +186,9 @@ visitor の部分を置き換えることで、様々なフォーマットへの
|
|
167
186
|
|
168
187
|
</div>
|
169
188
|
|
170
|
-
<div id="outline-container-
|
171
|
-
<h3 id="sec-
|
172
|
-
<div class="outline-text-3" id="text-
|
189
|
+
<div id="outline-container-3.2" class="outline-3">
|
190
|
+
<h3 id="sec-3.2"><span class="section-number-3">3.2</span> org-parse ライブラリ </h3>
|
191
|
+
<div class="outline-text-3" id="text-3.2">
|
173
192
|
|
174
193
|
<p>以下の様な感じ。
|
175
194
|
</p>
|
@@ -188,6 +207,76 @@ puts visitor.build
|
|
188
207
|
</pre>
|
189
208
|
|
190
209
|
|
210
|
+
</div>
|
211
|
+
</div>
|
212
|
+
|
213
|
+
</div>
|
214
|
+
|
215
|
+
<div id="outline-container-4" class="outline-2">
|
216
|
+
<h2 id="sec-4"><span class="section-number-2">4</span> MEMO </h2>
|
217
|
+
<div class="outline-text-2" id="text-4">
|
218
|
+
|
219
|
+
<p>以下は、これからの修正のための覚書
|
220
|
+
</p>
|
221
|
+
</div>
|
222
|
+
|
223
|
+
<div id="outline-container-4.1" class="outline-3">
|
224
|
+
<h3 id="sec-4.1"><span class="section-number-3">4.1</span> オプション類の扱い </h3>
|
225
|
+
<div class="outline-text-3" id="text-4.1">
|
226
|
+
|
227
|
+
|
228
|
+
</div>
|
229
|
+
|
230
|
+
<div id="outline-container-4.1.1" class="outline-4">
|
231
|
+
<h4 id="sec-4.1.1"><span class="section-number-4">4.1.1</span> プログラム内でのオプションの記憶場所 </h4>
|
232
|
+
<div class="outline-text-4" id="text-4.1.1">
|
233
|
+
|
234
|
+
<p>オプションや、セクション番号等の情報は、各Nodeに持たせる。
|
235
|
+
つまり、ビジターで、コンテキストやオプション類の判定を行わないで済む様にする。
|
236
|
+
</p><ul>
|
237
|
+
<li>
|
238
|
+
セクション番号を、Section Node に持たせる
|
239
|
+
</li>
|
240
|
+
<li>
|
241
|
+
Verse、Example 等は、各 BlockNode 配下のnode 自体が知っている
|
242
|
+
</li>
|
243
|
+
</ul>
|
244
|
+
</div>
|
245
|
+
|
246
|
+
</div>
|
247
|
+
|
248
|
+
<div id="outline-container-4.1.2" class="outline-4">
|
249
|
+
<h4 id="sec-4.1.2"><span class="section-number-4">4.1.2</span> オプションの指定方法 </h4>
|
250
|
+
<div class="outline-text-4" id="text-4.1.2">
|
251
|
+
|
252
|
+
<p>コマンドラインで指定。
|
253
|
+
コンフィグファイルを作る?(~/.org-parse-rc)
|
254
|
+
文書内での指定を最優先する方が正しいか?
|
255
|
+
<a href="../examples/dot.org-parse-rc">../examples/dot.org-parse-rc</a>
|
256
|
+
</p></div>
|
257
|
+
|
258
|
+
</div>
|
259
|
+
|
260
|
+
<div id="outline-container-4.1.3" class="outline-4">
|
261
|
+
<h4 id="sec-4.1.3"><span class="section-number-4">4.1.3</span> オプションの優先順位 </h4>
|
262
|
+
<div class="outline-text-4" id="text-4.1.3">
|
263
|
+
|
264
|
+
<ul>
|
265
|
+
<li>
|
266
|
+
デフォルト設定
|
267
|
+
</li>
|
268
|
+
<li>
|
269
|
+
.opt-parse
|
270
|
+
</li>
|
271
|
+
<li>
|
272
|
+
コマンドラインオプション
|
273
|
+
</li>
|
274
|
+
<li>
|
275
|
+
ソースファイル内の指定
|
276
|
+
|
277
|
+
</li>
|
278
|
+
</ul>
|
279
|
+
</div>
|
191
280
|
</div>
|
192
281
|
</div>
|
193
282
|
</div>
|
@@ -195,8 +284,8 @@ puts visitor.build
|
|
195
284
|
<p class="author"> Author: Kensei Nakamura
|
196
285
|
<a href="mailto:kensei@dalmore.artifarm.com"><kensei@dalmore.artifarm.com></a>
|
197
286
|
</p>
|
198
|
-
<p class="date"> Date: 2010-03-10
|
199
|
-
<p class="creator">HTML generated by org-mode 6.
|
287
|
+
<p class="date"> Date: 2010-03-24 10:38:50 JST</p>
|
288
|
+
<p class="creator">HTML generated by org-mode 6.34trans in emacs 23</p>
|
200
289
|
</div>
|
201
290
|
</div>
|
202
291
|
</body>
|
data/lib/org-parse.rb
CHANGED
data/lib/org-parse/node.rb
CHANGED
@@ -234,9 +234,10 @@ module OrgParse
|
|
234
234
|
|
235
235
|
# BLOCK の情報を保持
|
236
236
|
class BlockNode < Node
|
237
|
-
attr_reader :indent, :block_name, :syntax, :syntax_theme
|
237
|
+
attr_reader :indent, :block_name, :syntax, :syntax_theme, :filename, :type
|
238
238
|
def initialize(vals, children)
|
239
239
|
@block_name = vals[0].upcase
|
240
|
+
@line = vals[1]
|
240
241
|
@indent = vals[2]
|
241
242
|
@syntax = ''
|
242
243
|
@syntax_theme = ''
|
@@ -254,6 +255,15 @@ module OrgParse
|
|
254
255
|
elsif vals[1] =~ /SRC\s*(.+)\s*$/i
|
255
256
|
@syntax = $1.downcase
|
256
257
|
end
|
258
|
+
when 'DOT'
|
259
|
+
set_to_descendant :set_src
|
260
|
+
if vals[1] =~ /DOT\s+(.+)\s+-T(.*)$/
|
261
|
+
@filename = $1
|
262
|
+
@type = $2
|
263
|
+
else
|
264
|
+
@block_name = 'SRC'
|
265
|
+
@syntax = 'dot'
|
266
|
+
end
|
257
267
|
when 'HTML'
|
258
268
|
set_to_descendant :set_html
|
259
269
|
end
|
@@ -22,8 +22,8 @@ module OrgParse
|
|
22
22
|
include InlineUtils
|
23
23
|
|
24
24
|
# コンストラクタ
|
25
|
-
def initialize(src,
|
26
|
-
@scanner = StructScanner.new(src,
|
25
|
+
def initialize(src, opts)
|
26
|
+
@scanner = StructScanner.new(src, opts)
|
27
27
|
@variables = []
|
28
28
|
@yydebug = true
|
29
29
|
set_struct_parser self
|
@@ -24,8 +24,8 @@ module OrgParse
|
|
24
24
|
# コンストラクタ
|
25
25
|
# [_src_] ソース文字列(または、文字列の配列)
|
26
26
|
# ソース文字列は、1行単位の配列として @srcに保存する
|
27
|
-
# [
|
28
|
-
def initialize(src,
|
27
|
+
# [_opts_] skip:t の場合にタイトルとして使われる
|
28
|
+
def initialize(src, opts)
|
29
29
|
@src = (src.is_a? Array) ? src : src.to_a
|
30
30
|
@line_idx = 0
|
31
31
|
@outline_level = 0
|
@@ -38,13 +38,15 @@ module OrgParse
|
|
38
38
|
:email => nil,
|
39
39
|
:creator => GENERATOR, :timestamp => true,
|
40
40
|
:title => nil, :text => [], :language => 'ja', :charset => 'utf-8',
|
41
|
-
:default_title => title, :style => '', :uv => true,
|
41
|
+
:default_title => '(no title)', :style => '', :uv => true,
|
42
|
+
:dot_path => ''
|
42
43
|
}
|
44
|
+
opts.each {|k, v| @options[k] = v}
|
43
45
|
read_options
|
44
|
-
opt = YAML.dump @options
|
45
|
-
File.open('dot.rc2', "w") {|f|
|
46
|
-
|
47
|
-
}
|
46
|
+
# opt = YAML.dump @options
|
47
|
+
# File.open('dot.rc2', "w") {|f|
|
48
|
+
# f.write opt
|
49
|
+
# }
|
48
50
|
# p @options
|
49
51
|
end
|
50
52
|
|
@@ -196,7 +198,7 @@ module OrgParse
|
|
196
198
|
@token_que << [:DOCUMENT_START, @options]
|
197
199
|
while @line_idx < @src.size
|
198
200
|
line = @src[@line_idx]
|
199
|
-
if example_flag && line !~ /^\s*#\+end_(example|html|src)/i
|
201
|
+
if example_flag && line !~ /^\s*#\+end_(example|html|src|dot)/i
|
200
202
|
@token_que << [:TEXTLINE, [line, get_indent(line)]]
|
201
203
|
@line_idx += 1
|
202
204
|
next
|
@@ -240,7 +242,7 @@ module OrgParse
|
|
240
242
|
block_name = $1.upcase
|
241
243
|
exit_nests line
|
242
244
|
@token_que << [:BLOCK_START, [block_name, line, get_indent(line)]]
|
243
|
-
example_flag = true if ['EXAMPLE', 'HTML', 'SRC'].include? block_name.upcase
|
245
|
+
example_flag = true if ['EXAMPLE', 'HTML', 'SRC', 'DOT'].include? block_name.upcase
|
244
246
|
when /^\s*#\+END_([A-Z0-9_]+)/i # BLOCK
|
245
247
|
block_name = $1
|
246
248
|
exit_nests line
|
data/lib/org-parse/visitor.rb
CHANGED
@@ -2,6 +2,24 @@
|
|
2
2
|
require 'rubygems'
|
3
3
|
require 'erb'
|
4
4
|
require 'uv'
|
5
|
+
require 'graphviz'
|
6
|
+
|
7
|
+
#
|
8
|
+
# 文字列を受け取ってパースする関数を追加
|
9
|
+
#
|
10
|
+
class GraphViz
|
11
|
+
class Parser
|
12
|
+
def self.parse_str(str, *hOpts, &block)
|
13
|
+
parser = DotParser.new()
|
14
|
+
tree = parser.parse(str)
|
15
|
+
graph = tree.eval( GraphViz::Parser::Context.new(), hOpts )
|
16
|
+
yield( graph ) if( block and graph.nil? == false )
|
17
|
+
return graph
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
|
5
23
|
|
6
24
|
module OrgParse
|
7
25
|
|
@@ -129,20 +147,19 @@ module OrgParse
|
|
129
147
|
toc += "</ul>\n"
|
130
148
|
return '' if toc == "<ul>\n</ul>\n"
|
131
149
|
ret =<<"EOS"
|
132
|
-
<div id="table-of-contents">
|
133
|
-
<h2>Table of Contents</h2>
|
134
150
|
<div id="text-table-of-contents">
|
135
151
|
#{toc}
|
136
152
|
</div>
|
137
|
-
</div>
|
138
153
|
EOS
|
139
154
|
end
|
140
155
|
|
141
156
|
def toc_out(node)
|
142
157
|
curr_level = node.headline.level
|
143
158
|
idx_no = node.section_no
|
159
|
+
idx_label = node.section_no + ' '
|
160
|
+
idx_label = '' unless @options[:num]
|
144
161
|
str = toc_headline node.headline
|
145
|
-
ret = %Q|<li><a href="#sec-#{idx_no}">#{
|
162
|
+
ret = %Q|<li><a href="#sec-#{idx_no}">#{idx_label}#{str}</a>|
|
146
163
|
has_child = false
|
147
164
|
node.children.each {|node|
|
148
165
|
if node.kind == :SECTION
|
@@ -200,7 +217,11 @@ EOS
|
|
200
217
|
def headline(node)
|
201
218
|
level = node.level+1
|
202
219
|
index_str = node.parent.section_no
|
203
|
-
|
220
|
+
if @options[:num]
|
221
|
+
%Q|<h#{level} id="sec-#{index_str}"><span class="section-number-#{level}">#{index_str}</span> #{exec_children(node).chomp} </h#{level}>|
|
222
|
+
else
|
223
|
+
%Q|<h#{level} id="sec-#{index_str}">#{exec_children(node).chomp} </h#{level}>|
|
224
|
+
end
|
204
225
|
end
|
205
226
|
|
206
227
|
# paragraph
|
@@ -296,6 +317,17 @@ EOS
|
|
296
317
|
%Q|#{indent}<blockquote>\n#{body.chomp}\n#{indent}</blockquote>\n|
|
297
318
|
end
|
298
319
|
|
320
|
+
def graphviz(node)
|
321
|
+
text = exec_children(node)
|
322
|
+
g = GraphViz::Parser.parse_str(text, {})
|
323
|
+
fname = node.filename
|
324
|
+
fname = File.join(@options[:dot_path], node.filename) unless @options[:dot_path].empty?
|
325
|
+
g.output(node.type => fname)
|
326
|
+
ub = ''
|
327
|
+
ub = @options[:dot_url_base] if @options[:dot_url_base]
|
328
|
+
%Q|<img src="#{ub + node.filename}" />|
|
329
|
+
end
|
330
|
+
|
299
331
|
def blocks(node)
|
300
332
|
case node.block_name
|
301
333
|
when 'VERSE'
|
@@ -306,6 +338,8 @@ EOS
|
|
306
338
|
blockquote node
|
307
339
|
when 'HTML'
|
308
340
|
html_quote node
|
341
|
+
when 'DOT'
|
342
|
+
graphviz node
|
309
343
|
when 'COMMENT'
|
310
344
|
''
|
311
345
|
when 'SRC'
|
@@ -353,7 +387,7 @@ EOS
|
|
353
387
|
if node.uri =~ @image_file_reg
|
354
388
|
image_tag(node.uri, a_attr+img_attr)
|
355
389
|
else
|
356
|
-
%Q|<a href="#{node.uri.sub(/^file:/,'')}"#{a_attr+img_attr}
|
390
|
+
%Q|<a href="#{node.uri.sub(/^file:/,'')}"#{a_attr+img_attr}>#{node.uri}</a>|
|
357
391
|
end
|
358
392
|
else
|
359
393
|
if desc =~ @image_file_reg
|
data/org-parse.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{org-parse}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["knb"]
|
12
|
-
s.date = %q{2010-03-
|
12
|
+
s.date = %q{2010-03-24}
|
13
13
|
s.description = %q{This gem contains libraries for parsing org-mode files and build html or textile format file}
|
14
14
|
s.email = %q{knb@artif.org}
|
15
15
|
s.executables = ["org-parse", "org-test"]
|
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
"bin/org-parse",
|
30
30
|
"bin/org-test",
|
31
31
|
"doc/images/org-parse-struct_1ffae50f0c5eb867f9418df6800f40a5cc3d1751.png",
|
32
|
+
"doc/images/org-parse-struct_ca4f70a7189eddf1f60e8486f7d289b294cf8df3.png",
|
32
33
|
"doc/org-parse.html",
|
33
34
|
"doc/org-parse.org",
|
34
35
|
"doc/struct.dot",
|
@@ -90,7 +91,7 @@ Gem::Specification.new do |s|
|
|
90
91
|
s.homepage = %q{http://github.com/knb/org-parse}
|
91
92
|
s.rdoc_options = ["--charset=UTF-8"]
|
92
93
|
s.require_paths = ["lib"]
|
93
|
-
s.rubygems_version = %q{1.3.
|
94
|
+
s.rubygems_version = %q{1.3.6}
|
94
95
|
s.summary = %q{parse and convert Org-Mode file}
|
95
96
|
s.test_files = [
|
96
97
|
"test/test_org-parse.rb",
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: org-parse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 2
|
9
|
+
version: 0.1.2
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- knb
|
@@ -9,19 +14,21 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-03-
|
17
|
+
date: 2010-03-24 00:00:00 +09:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: ultraviolet
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
25
|
- - ">="
|
22
26
|
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
23
29
|
version: "0"
|
24
|
-
|
30
|
+
type: :development
|
31
|
+
version_requirements: *id001
|
25
32
|
description: This gem contains libraries for parsing org-mode files and build html or textile format file
|
26
33
|
email: knb@artif.org
|
27
34
|
executables:
|
@@ -44,6 +51,7 @@ files:
|
|
44
51
|
- bin/org-parse
|
45
52
|
- bin/org-test
|
46
53
|
- doc/images/org-parse-struct_1ffae50f0c5eb867f9418df6800f40a5cc3d1751.png
|
54
|
+
- doc/images/org-parse-struct_ca4f70a7189eddf1f60e8486f7d289b294cf8df3.png
|
47
55
|
- doc/org-parse.html
|
48
56
|
- doc/org-parse.org
|
49
57
|
- doc/struct.dot
|
@@ -114,18 +122,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
114
122
|
requirements:
|
115
123
|
- - ">="
|
116
124
|
- !ruby/object:Gem::Version
|
125
|
+
segments:
|
126
|
+
- 0
|
117
127
|
version: "0"
|
118
|
-
version:
|
119
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
129
|
requirements:
|
121
130
|
- - ">="
|
122
131
|
- !ruby/object:Gem::Version
|
132
|
+
segments:
|
133
|
+
- 0
|
123
134
|
version: "0"
|
124
|
-
version:
|
125
135
|
requirements: []
|
126
136
|
|
127
137
|
rubyforge_project:
|
128
|
-
rubygems_version: 1.3.
|
138
|
+
rubygems_version: 1.3.6
|
129
139
|
signing_key:
|
130
140
|
specification_version: 3
|
131
141
|
summary: parse and convert Org-Mode file
|