rdtool 0.6.38 → 0.6.39

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 56afd1caa2b9928320d804efbc6af88cd5e867cd9cca7afddb61118f3573c710
4
+ data.tar.gz: f2ee0a6892a2ea81230c7fe5df0cd39fb0944e42678f99cb277f8f6892746fb8
5
+ SHA512:
6
+ metadata.gz: 231e6ef5337bfb62ff43e2c64b99db29f96ed5e7a558b1cfbb9a10c348fbfc481d2af9d3987f7760ad806ef25ecc8db2c74a4f6e26d72c1fa19e93155ab8fedb
7
+ data.tar.gz: 36c56afad7c53699ed2353c576a1ddcd94f569e094d18e2bb46c33d4342ada27137a20328b543b42a427f632667c590bfc86c2ea57c3f1f5c02709ecddc258ab
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
1
  # -*- mode: ruby; coding: utf-8 -*-
2
- source "http://rubygems.org"
2
+ source "https://rubygems.org"
3
3
  gemspec
data/HISTORY CHANGED
@@ -71,6 +71,12 @@ Please read these files for those lisence info.
71
71
 
72
72
  = CHANGES
73
73
 
74
+ :0.6.39
75
+ * Modernize packaging metadata, CI, and release workflow for current Ruby.
76
+ * Refactor rd2 internals without breaking external formatter compatibility.
77
+ * Add configurable man section support and improve rd2man output quality.
78
+ * Add a simple HTML5 formatter, and document bundled format libraries.
79
+ * Modernize rdswap and document its purpose.
74
80
  :0.6.38
75
81
  * Fix incompatibility between Ruby1.8 and Ruby1.9
76
82
  ARGF.filename return "-" if ARGV is empty on Ruby >= 1.9
data/README.html CHANGED
@@ -7,17 +7,20 @@
7
7
  <title>README.rd</title>
8
8
  </head>
9
9
  <body>
10
- <h1><a name="label-0" id="label-0">RDtool 0.6.38</a></h1><!-- RDLabel: "RDtool 0.6.38" -->
10
+ <h1><a name="label-0" id="label-0">RDtool 0.6.39</a></h1><!-- RDLabel: "RDtool 0.6.39" -->
11
11
  <h2><a name="label-1" id="label-1">What is RDtool</a></h2><!-- RDLabel: "What is RDtool" -->
12
12
  <p>RD is Ruby's POD. RDtool is formatter for RD.</p>
13
13
  <h2><a name="label-2" id="label-2">What is Changed</a></h2><!-- RDLabel: "What is Changed" -->
14
14
  <p>See HISTORY.</p>
15
15
  <h2><a name="label-3" id="label-3">How to Install</a></h2><!-- RDLabel: "How to Install" -->
16
- <ol>
17
- <li><kbd>su</kbd> if you install into public directories.</li>
18
- <li><kbd>ruby setup.rb</kbd></li>
19
- <li>If you want to use , utils/rd-mode.el, install it <em>by hand</em>.</li>
20
- </ol>
16
+ <p>Install the released gem:</p>
17
+ <pre>% gem install rdtool</pre>
18
+ <p>For development:</p>
19
+ <pre>% bundle install
20
+ % bundle exec rake test
21
+ % bundle exec rake build</pre>
22
+ <p>If you want to use utils/rd-mode.el, install it <em>by hand</em>.</p>
23
+ <p>The legacy <kbd>ruby setup.rb</kbd> flow is kept only for compatibility.</p>
21
24
  <h2><a name="label-4" id="label-4">How to use</a></h2><!-- RDLabel: "How to use" -->
22
25
  <p>Simply,</p>
23
26
  <pre>% rd2 rdfile.rd &gt; outputfile</pre>
@@ -28,13 +31,64 @@
28
31
  the indication of format-library. For example,</p>
29
32
  <pre>% rd2 -r rd/rd2html-lib.rb --help</pre>
30
33
  <p>rd2 load "${HOME}/.rd2rc" when it runs.</p>
31
- <h2><a name="label-5" id="label-5">How to write RD?</a></h2><!-- RDLabel: "How to write RD?" -->
34
+ <p>Bundled format libraries include:</p>
35
+ <dl>
36
+ <dt><a name="label-5" id="label-5"><kbd>rd/rd2html-lib</kbd></a></dt><!-- RDLabel: "rd/rd2html-lib" -->
37
+ <dd>
38
+ XHTML-style HTML output. Main options include <kbd>--with-css=FILE</kbd>,
39
+ <kbd>--html-charset=CHARSET</kbd>, <kbd>--html-lang=LANG</kbd>,
40
+ <kbd>--html-title=TITLE</kbd>, <kbd>--html-link-rel=REL</kbd>,
41
+ <kbd>--html-link-rev=REV</kbd>, and <kbd>--output-rbl</kbd>.
42
+ </dd>
43
+ <dt><a name="label-6" id="label-6"><kbd>rd/rd2html-ext-lib</kbd></a></dt><!-- RDLabel: "rd/rd2html-ext-lib" -->
44
+ <dd>
45
+ Extended HTML output with headline numbering and related features.
46
+ Main additional options include <kbd>--ref-extension</kbd>,
47
+ <kbd>--headline-title</kbd>, <kbd>--headline-secno</kbd>,
48
+ <kbd>--enable-br</kbd>, <kbd>--native-inline</kbd>, and <kbd>--head-element</kbd>.
49
+ </dd>
50
+ <dt><a name="label-7" id="label-7"><kbd>rd/rd2html5-lib</kbd></a></dt><!-- RDLabel: "rd/rd2html5-lib" -->
51
+ <dd>
52
+ HTML5 output. It accepts the same main options as <kbd>rd/rd2html-lib</kbd>,
53
+ such as <kbd>--with-css=FILE</kbd>, <kbd>--html-charset=CHARSET</kbd>,
54
+ <kbd>--html-lang=LANG</kbd>, and <kbd>--html-title=TITLE</kbd>.
55
+ </dd>
56
+ <dt><a name="label-8" id="label-8"><kbd>rd/rd2man-lib</kbd></a></dt><!-- RDLabel: "rd/rd2man-lib" -->
57
+ <dd>
58
+ man page output. The main option is <kbd>--man-section=SECTION</kbd>.
59
+ </dd>
60
+ <dt><a name="label-9" id="label-9"><kbd>rd/rd2rdo-lib</kbd></a></dt><!-- RDLabel: "rd/rd2rdo-lib" -->
61
+ <dd>
62
+ Dumps the parsed RD tree as Marshal data.
63
+ </dd>
64
+ <dt><a name="label-10" id="label-10"><kbd>rd/rd2rmi-lib</kbd></a></dt><!-- RDLabel: "rd/rd2rmi-lib" -->
65
+ <dd>
66
+ Outputs method index data for reference lookup.
67
+ </dd>
68
+ </dl>
69
+ <p>For example, to generate HTML explicitly:</p>
70
+ <pre>% rd2 -r rd/rd2html-lib rdfile.rd &gt; output.html</pre>
71
+ <p>To generate HTML5 or a man page:</p>
72
+ <pre>% rd2 -r rd/rd2html5-lib rdfile.rd &gt; output.html
73
+ % rd2 -r rd/rd2man-lib rdfile.rd &gt; output.1</pre>
74
+ <p>To check detailed options for a specific formatter, run:</p>
75
+ <pre>% rd2 -r rd/rd2html-ext-lib --help
76
+ % rd2 -r rd/rd2man-lib --help</pre>
77
+ <p>RDtool also includes <kbd>rdswap.rb</kbd>, which merges translated RD blocks
78
+ back into a Ruby script. This is intended for maintaining one source
79
+ script with embedded RD comments and generating language-specific copies.
80
+ For example:</p>
81
+ <pre>% rdswap.rb sample.rb sample.ja</pre>
82
+ <p>This generates <kbd>sample.rb.ja</kbd> while keeping Ruby code from
83
+ <kbd>sample.rb</kbd> and replacing matching RD blocks with translated ones
84
+ from <kbd>sample.ja</kbd>.</p>
85
+ <h2><a name="label-11" id="label-11">How to write RD?</a></h2><!-- RDLabel: "How to write RD?" -->
32
86
  <p>Please read doc/rd-draft.rd.</p>
33
- <h2><a name="label-6" id="label-6">About bug report</a></h2><!-- RDLabel: "About bug report" -->
87
+ <h2><a name="label-12" id="label-12">About bug report</a></h2><!-- RDLabel: "About bug report" -->
34
88
  <p>If you find a bug in RDtool, please add new
35
89
  <a href="https://github.com/uwabami/rdtool/issues">issues at gihtub</a>,
36
90
  or E-mail me <a href="mailto:uwabami@gfd-dennou.org">&lt;URL:mailto:uwabami@gfd-dennou.org&gt;</a>.</p>
37
- <h2><a name="label-7" id="label-7">Copyright and License</a></h2><!-- RDLabel: "Copyright and License" -->
91
+ <h2><a name="label-13" id="label-13">Copyright and License</a></h2><!-- RDLabel: "Copyright and License" -->
38
92
  <p>You can use/re-distribute/change RDtool under Ruby's License or GPL-2+.
39
93
  see LICNESE.txt and COPYING.txt. This distribution of RDtool include
40
94
  files that are copyrighted by somebody else, and these files can be
data/README.ja.html CHANGED
@@ -7,19 +7,22 @@
7
7
  <title>README.rd.ja</title>
8
8
  </head>
9
9
  <body>
10
- <h1><a name="label-0" id="label-0">RDtool 0.6.38</a></h1><!-- RDLabel: "RDtool 0.6.38" -->
10
+ <h1><a name="label-0" id="label-0">RDtool 0.6.39</a></h1><!-- RDLabel: "RDtool 0.6.39" -->
11
11
  <h2><a name="label-1" id="label-1">RDってなに?</a></h2><!-- RDLabel: "RDってなに?" -->
12
12
  <p>RDはRubyにおけるPOD(Plain Old Documentation)のようなものです。
13
13
  RDtoolはRDのフォーマッタであり、RDをHTMLなどに変換できます。</p>
14
14
  <h2><a name="label-2" id="label-2">何が変わった?</a></h2><!-- RDLabel: "何が変わった?" -->
15
15
  <p>HISTORYを見てください。</p>
16
16
  <h2><a name="label-3" id="label-3">インストールの方法</a></h2><!-- RDLabel: "インストールの方法" -->
17
- <ol>
18
- <li>必要なら、<kbd>su</kbd></li>
19
- <li><kbd>ruby setup.rb</kbd></li>
20
- <li>utils/rd-mode.elを使いたいならば
21
- それらを<em>手で</em>インストールします。</li>
22
- </ol>
17
+ <p>公開された gem を使うなら:</p>
18
+ <pre>% gem install rdtool</pre>
19
+ <p>開発時は:</p>
20
+ <pre>% bundle install
21
+ % bundle exec rake test
22
+ % bundle exec rake build</pre>
23
+ <p>utils/rd-mode.el を使いたいなら、
24
+ それらは<em>手で</em>インストールします。</p>
25
+ <p>従来の <kbd>ruby setup.rb</kbd> 方式は互換性のために残してあります。</p>
23
26
  <h2><a name="label-4" id="label-4">どうやって使うか。</a></h2><!-- RDLabel: "どうやって使うか。" -->
24
27
  <p>基本的には、こんな感じ。</p>
25
28
  <pre>% rd2 rdfile.rd &gt; outputfile</pre>
@@ -31,9 +34,63 @@ RDtoolはRDのフォーマッタであり、RDをHTMLなどに変換できます
31
34
  <pre>% rd2 -r rd/rd2html-lib.rb --help</pre>
32
35
  <p>rd2はホームディレクトリにある".rd2rc"というファイルを読み込みます。
33
36
  これはRubyスクリプトです。</p>
34
- <h2><a name="label-5" id="label-5">RDの書き方</a></h2><!-- RDLabel: "RDの書き方" -->
37
+ <p>同梱されている主なフォーマットライブラリは次の通りです。</p>
38
+ <dl>
39
+ <dt><a name="label-5" id="label-5"><kbd>rd/rd2html-lib</kbd></a></dt><!-- RDLabel: "rd/rd2html-lib" -->
40
+ <dd>
41
+ XHTML 風の HTML を出力します。主なオプションは
42
+ <kbd>--with-css=FILE</kbd>, <kbd>--html-charset=CHARSET</kbd>,
43
+ <kbd>--html-lang=LANG</kbd>, <kbd>--html-title=TITLE</kbd>,
44
+ <kbd>--html-link-rel=REL</kbd>, <kbd>--html-link-rev=REV</kbd>,
45
+ <kbd>--output-rbl</kbd> です。
46
+ </dd>
47
+ <dt><a name="label-6" id="label-6"><kbd>rd/rd2html-ext-lib</kbd></a></dt><!-- RDLabel: "rd/rd2html-ext-lib" -->
48
+ <dd>
49
+ 見出し番号などを追加した拡張 HTML を出力します。
50
+ 主な追加オプションは <kbd>--ref-extension</kbd>,
51
+ <kbd>--headline-title</kbd>, <kbd>--headline-secno</kbd>,
52
+ <kbd>--enable-br</kbd>, <kbd>--native-inline</kbd>,
53
+ <kbd>--head-element</kbd> です。
54
+ </dd>
55
+ <dt><a name="label-7" id="label-7"><kbd>rd/rd2html5-lib</kbd></a></dt><!-- RDLabel: "rd/rd2html5-lib" -->
56
+ <dd>
57
+ HTML5 を出力します。主なオプションは <kbd>rd/rd2html-lib</kbd> と同様で、
58
+ <kbd>--with-css=FILE</kbd>, <kbd>--html-charset=CHARSET</kbd>,
59
+ <kbd>--html-lang=LANG</kbd>, <kbd>--html-title=TITLE</kbd> などが使えます。
60
+ </dd>
61
+ <dt><a name="label-8" id="label-8"><kbd>rd/rd2man-lib</kbd></a></dt><!-- RDLabel: "rd/rd2man-lib" -->
62
+ <dd>
63
+ man page を出力します。主なオプションは
64
+ <kbd>--man-section=SECTION</kbd> です。
65
+ </dd>
66
+ <dt><a name="label-9" id="label-9"><kbd>rd/rd2rdo-lib</kbd></a></dt><!-- RDLabel: "rd/rd2rdo-lib" -->
67
+ <dd>
68
+ 解析済みの RD tree を Marshal data として出力します。
69
+ </dd>
70
+ <dt><a name="label-10" id="label-10"><kbd>rd/rd2rmi-lib</kbd></a></dt><!-- RDLabel: "rd/rd2rmi-lib" -->
71
+ <dd>
72
+ 参照解決用の method index data を出力します。
73
+ </dd>
74
+ </dl>
75
+ <p>例えば HTML を明示的に生成するなら:</p>
76
+ <pre>% rd2 -r rd/rd2html-lib rdfile.rd &gt; output.html</pre>
77
+ <p>HTML5 や man page を生成するなら:</p>
78
+ <pre>% rd2 -r rd/rd2html5-lib rdfile.rd &gt; output.html
79
+ % rd2 -r rd/rd2man-lib rdfile.rd &gt; output.1</pre>
80
+ <p>各 formatter の詳細なオプションを確認するには、例えば:</p>
81
+ <pre>% rd2 -r rd/rd2html-ext-lib --help
82
+ % rd2 -r rd/rd2man-lib --help</pre>
83
+ <p>また、RDtool には <kbd>rdswap.rb</kbd> も含まれています。
84
+ これは翻訳済みの RD block を Ruby スクリプトへ差し戻すための
85
+ ツールです。RD コメントを埋め込んだ 1 つの Ruby スクリプトを保ちつつ、
86
+ 言語ごとのコピーを生成する用途を想定しています。例えば:</p>
87
+ <pre>% rdswap.rb sample.rb sample.ja</pre>
88
+ <p>これにより、<kbd>sample.rb</kbd> の Ruby コードを保ったまま、
89
+ 対応する RD block を <kbd>sample.ja</kbd> の内容で置き換えた
90
+ <kbd>sample.rb.ja</kbd> を生成します。</p>
91
+ <h2><a name="label-11" id="label-11">RDの書き方</a></h2><!-- RDLabel: "RDの書き方" -->
35
92
  <p>doc/rd-draft.rdを読んでください。</p>
36
- <h2><a name="label-6" id="label-6">バグ報告</a></h2><!-- RDLabel: "バグ報告" -->
93
+ <h2><a name="label-12" id="label-12">バグ報告</a></h2><!-- RDLabel: "バグ報告" -->
37
94
  <p>If you find a bug in RDtool, please add new
38
95
  <a href="https://github.com/uwabami/rdtool/issues">issues at gihtub</a>,
39
96
  or E-mail me <a href="mailto:uwabami@gfd-dennou.org">&lt;URL:mailto:uwabami@gfd-dennou.org&gt;</a>.</p>
@@ -42,7 +99,7 @@ or E-mail me <a href="mailto:uwabami@gfd-dennou.org">&lt;URL:mailto:uwabami@gfd-
42
99
  に報告するか、
43
100
  次のアドレスまでメールを下さると幸いです:
44
101
  <a href="mailto:uwabami@gfd-dennou.org">&lt;URL:mailto:uwabami@gfd-dennou.org&gt;</a></p>
45
- <h2><a name="label-7" id="label-7">ライセンス</a></h2><!-- RDLabel: "ライセンス" -->
102
+ <h2><a name="label-13" id="label-13">ライセンス</a></h2><!-- RDLabel: "ライセンス" -->
46
103
  <p>RDtoolはRuby's LicenseかGPL-2+の下で使用/配布/改造してください。
47
104
  RDtoolのパッケージにはTosh以外の人が著作権を持つファイルが含まれています。
48
105
  それらのファイルについての配布条件はファイル自体に書かれたライセンスの下で
data/README.rd CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- mode: rd; coding: utf-8; indent-tabs-mode: nil -*-
2
2
  =begin
3
- = RDtool 0.6.38
3
+ = RDtool 0.6.39
4
4
  == What is RDtool
5
5
 
6
6
  RD is Ruby's POD. RDtool is formatter for RD.
@@ -11,9 +11,19 @@ See HISTORY.
11
11
 
12
12
  == How to Install
13
13
 
14
- (1)((%su%)) if you install into public directories.
15
- (2)((%ruby setup.rb%))
16
- (3)If you want to use , utils/rd-mode.el, install it ((*by hand*)).
14
+ Install the released gem:
15
+
16
+ % gem install rdtool
17
+
18
+ For development:
19
+
20
+ % bundle install
21
+ % bundle exec rake test
22
+ % bundle exec rake build
23
+
24
+ If you want to use utils/rd-mode.el, install it ((*by hand*)).
25
+
26
+ The legacy ((%ruby setup.rb%)) flow is kept only for compatibility.
17
27
 
18
28
  == How to use
19
29
 
@@ -32,6 +42,59 @@ the indication of format-library. For example,
32
42
 
33
43
  rd2 load "${HOME}/.rd2rc" when it runs.
34
44
 
45
+ Bundled format libraries include:
46
+
47
+ :((%rd/rd2html-lib%))
48
+ XHTML-style HTML output. Main options include ((%--with-css=FILE%)),
49
+ ((%--html-charset=CHARSET%)), ((%--html-lang=LANG%)),
50
+ ((%--html-title=TITLE%)), ((%--html-link-rel=REL%)),
51
+ ((%--html-link-rev=REV%)), and ((%--output-rbl%)).
52
+
53
+ :((%rd/rd2html-ext-lib%))
54
+ Extended HTML output with headline numbering and related features.
55
+ Main additional options include ((%--ref-extension%)),
56
+ ((%--headline-title%)), ((%--headline-secno%)),
57
+ ((%--enable-br%)), ((%--native-inline%)), and ((%--head-element%)).
58
+
59
+ :((%rd/rd2html5-lib%))
60
+ HTML5 output. It accepts the same main options as ((%rd/rd2html-lib%)),
61
+ such as ((%--with-css=FILE%)), ((%--html-charset=CHARSET%)),
62
+ ((%--html-lang=LANG%)), and ((%--html-title=TITLE%)).
63
+
64
+ :((%rd/rd2man-lib%))
65
+ man page output. The main option is ((%--man-section=SECTION%)).
66
+
67
+ :((%rd/rd2rdo-lib%))
68
+ Dumps the parsed RD tree as Marshal data.
69
+
70
+ :((%rd/rd2rmi-lib%))
71
+ Outputs method index data for reference lookup.
72
+
73
+ For example, to generate HTML explicitly:
74
+
75
+ % rd2 -r rd/rd2html-lib rdfile.rd > output.html
76
+
77
+ To generate HTML5 or a man page:
78
+
79
+ % rd2 -r rd/rd2html5-lib rdfile.rd > output.html
80
+ % rd2 -r rd/rd2man-lib rdfile.rd > output.1
81
+
82
+ To check detailed options for a specific formatter, run:
83
+
84
+ % rd2 -r rd/rd2html-ext-lib --help
85
+ % rd2 -r rd/rd2man-lib --help
86
+
87
+ RDtool also includes ((%rdswap.rb%)), which merges translated RD blocks
88
+ back into a Ruby script. This is intended for maintaining one source
89
+ script with embedded RD comments and generating language-specific copies.
90
+ For example:
91
+
92
+ % rdswap.rb sample.rb sample.ja
93
+
94
+ This generates ((%sample.rb.ja%)) while keeping Ruby code from
95
+ ((%sample.rb%)) and replacing matching RD blocks with translated ones
96
+ from ((%sample.ja%)).
97
+
35
98
  == How to write RD?
36
99
 
37
100
  Please read doc/rd-draft.rd.
data/README.rd.ja CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- mode: rd; coding: utf-8; indent-tabs-mode: nil -*-
2
2
  =begin
3
- = RDtool 0.6.38
3
+ = RDtool 0.6.39
4
4
  == RDってなに?
5
5
 
6
6
  RDはRubyにおけるPOD(Plain Old Documentation)のようなものです。
@@ -12,10 +12,20 @@ HISTORYを見てください。
12
12
 
13
13
  == インストールの方法
14
14
 
15
- (1)必要なら、((%su%))
16
- (2)((%ruby setup.rb%))
17
- (3)utils/rd-mode.elを使いたいならば
18
- それらを((*手で*))インストールします。
15
+ 公開された gem を使うなら:
16
+
17
+ % gem install rdtool
18
+
19
+ 開発時は:
20
+
21
+ % bundle install
22
+ % bundle exec rake test
23
+ % bundle exec rake build
24
+
25
+ utils/rd-mode.el を使いたいなら、
26
+ それらは((*手で*))インストールします。
27
+
28
+ 従来の ((%ruby setup.rb%)) 方式は互換性のために残してあります。
19
29
 
20
30
  == どうやって使うか。
21
31
 
@@ -35,6 +45,62 @@ HISTORYを見てください。
35
45
  rd2はホームディレクトリにある".rd2rc"というファイルを読み込みます。
36
46
  これはRubyスクリプトです。
37
47
 
48
+ 同梱されている主なフォーマットライブラリは次の通りです。
49
+
50
+ :((%rd/rd2html-lib%))
51
+ XHTML 風の HTML を出力します。主なオプションは
52
+ ((%--with-css=FILE%)), ((%--html-charset=CHARSET%)),
53
+ ((%--html-lang=LANG%)), ((%--html-title=TITLE%)),
54
+ ((%--html-link-rel=REL%)), ((%--html-link-rev=REV%)),
55
+ ((%--output-rbl%)) です。
56
+
57
+ :((%rd/rd2html-ext-lib%))
58
+ 見出し番号などを追加した拡張 HTML を出力します。
59
+ 主な追加オプションは ((%--ref-extension%)),
60
+ ((%--headline-title%)), ((%--headline-secno%)),
61
+ ((%--enable-br%)), ((%--native-inline%)),
62
+ ((%--head-element%)) です。
63
+
64
+ :((%rd/rd2html5-lib%))
65
+ HTML5 を出力します。主なオプションは ((%rd/rd2html-lib%)) と同様で、
66
+ ((%--with-css=FILE%)), ((%--html-charset=CHARSET%)),
67
+ ((%--html-lang=LANG%)), ((%--html-title=TITLE%)) などが使えます。
68
+
69
+ :((%rd/rd2man-lib%))
70
+ man page を出力します。主なオプションは
71
+ ((%--man-section=SECTION%)) です。
72
+
73
+ :((%rd/rd2rdo-lib%))
74
+ 解析済みの RD tree を Marshal data として出力します。
75
+
76
+ :((%rd/rd2rmi-lib%))
77
+ 参照解決用の method index data を出力します。
78
+
79
+ 例えば HTML を明示的に生成するなら:
80
+
81
+ % rd2 -r rd/rd2html-lib rdfile.rd > output.html
82
+
83
+ HTML5 や man page を生成するなら:
84
+
85
+ % rd2 -r rd/rd2html5-lib rdfile.rd > output.html
86
+ % rd2 -r rd/rd2man-lib rdfile.rd > output.1
87
+
88
+ 各 formatter の詳細なオプションを確認するには、例えば:
89
+
90
+ % rd2 -r rd/rd2html-ext-lib --help
91
+ % rd2 -r rd/rd2man-lib --help
92
+
93
+ また、RDtool には ((%rdswap.rb%)) も含まれています。
94
+ これは翻訳済みの RD block を Ruby スクリプトへ差し戻すための
95
+ ツールです。RD コメントを埋め込んだ 1 つの Ruby スクリプトを保ちつつ、
96
+ 言語ごとのコピーを生成する用途を想定しています。例えば:
97
+
98
+ % rdswap.rb sample.rb sample.ja
99
+
100
+ これにより、((%sample.rb%)) の Ruby コードを保ったまま、
101
+ 対応する RD block を ((%sample.ja%)) の内容で置き換えた
102
+ ((%sample.rb.ja%)) を生成します。
103
+
38
104
  == RDの書き方
39
105
 
40
106
  doc/rd-draft.rdを読んでください。
data/Rakefile CHANGED
@@ -1,10 +1,9 @@
1
1
  # -*- mode: ruby; coding: utf-8 -*-
2
- require 'rubygems'
3
2
  require 'rake'
4
3
  require 'rake/packagetask'
5
4
  require 'rake/testtask'
6
5
  require 'rake/clean'
7
- require 'date' unless defined? Date
6
+ require 'date' unless defined? Date::today
8
7
 
9
8
  #############################################################################
10
9
  # Helper functions
@@ -22,10 +21,6 @@ def date
22
21
  Date.today.to_s
23
22
  end
24
23
 
25
- def rubyforge_project
26
- name
27
- end
28
-
29
24
  def gemspec_file
30
25
  "#{name}.gemspec"
31
26
  end
@@ -34,6 +29,14 @@ def gem_file
34
29
  "#{name}-#{version}.gem"
35
30
  end
36
31
 
32
+ def current_branch
33
+ `git rev-parse --abbrev-ref HEAD`.strip
34
+ end
35
+
36
+ def clean_worktree?
37
+ `git status --porcelain`.strip.empty?
38
+ end
39
+
37
40
  def replace_header(head, header_name)
38
41
  head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
39
42
  end
@@ -46,7 +49,7 @@ HTML_GENERATED = HTML_SRC.ext('.html')
46
49
  HTML_JA_SRC = FileList['**/*.rd.ja'].reject{|f| f =~/pkg/}
47
50
  HTML_JA_GENERATED = HTML_JA_SRC.collect{|x| x.gsub(/\.rd\.ja/,'.ja.html')}
48
51
  GENERATED_FILES = RACC_GENERATED + HTML_GENERATED + HTML_JA_GENERATED
49
- CLOBBER.push GENERATED_FILES
52
+ CLOBBER.include(*GENERATED_FILES.to_a)
50
53
 
51
54
  desc "Update parser"
52
55
  task :racc => RACC_GENERATED
@@ -83,13 +86,17 @@ end
83
86
 
84
87
  desc "Create tag v#{version} and build and push #{gem_file} to Rubygems"
85
88
  task :release => :build do
86
- unless `git branch` =~ /^\* master$/
87
- puts "You must be on the master branch to release!"
88
- exit!
89
+ unless clean_worktree?
90
+ abort "Release requires a clean git worktree."
89
91
  end
90
- sh "git commit --allow-empty -a -m 'Release #{version}'"
92
+
93
+ branch = current_branch
94
+ if branch.empty? || branch == "HEAD"
95
+ abort "Release requires a named git branch."
96
+ end
97
+
91
98
  sh "git tag v#{version}"
92
- sh "git push origin master"
99
+ sh "git push origin #{branch}"
93
100
  sh "git push origin v#{version}"
94
101
  sh "gem push pkg/#{name}-#{version}.gem"
95
102
  end
@@ -112,7 +119,6 @@ task :gemspec => [:racc, :doc, :bump_version] do
112
119
  replace_header(head, :name)
113
120
  replace_header(head, :version)
114
121
  replace_header(head, :date)
115
- # replace_header(head, :rubyforge_project)
116
122
  files = (`git ls-files`.split("\n") + GENERATED_FILES.to_a).
117
123
  sort.
118
124
  reject {|file| file =~/^\./}.