From: gotoken@... (GOTO Kentaro) Date: 1999-08-13T15:33:11+09:00 Subject: [ruby-list:16109] Re: rd2html --Multipart_Fri_Aug_13_15:32:39_1999-1 Content-Type: text/plain; charset=ISO-2022-JP ごとけんです In message "[ruby-list:16104] Re: rd2html" on 99/08/13, Toshiro Kuwabara writes: >rd2html.htmlに簡単なHowto InstallとUsage、rdtoolが想定しているRDの >フォーマットについての説明があります。 >これは、rd2html rd2html > rd2html.htmlしたものと同じものです。 まず、HTML的にまずいところがあるので、rd2html.htmlの範囲で引っ かかったとこだけ直しました。自然言語は処理してません(^^;; -- gotoken --Multipart_Fri_Aug_13_15:32:39_1999-1 Content-Type: application/octet-stream Content-Disposition: attachment; filename="rdtool-0.1.0.patch0.txt" Content-Transfer-Encoding: 7bit diff -ur rdtool-orig/rd2html-lib.rb rdtool/rd2html-lib.rb --- rdtool-orig/rd2html-lib.rb Fri Aug 13 00:30:53 1999 +++ rdtool/rd2html-lib.rb Fri Aug 13 15:31:02 1999 @@ -11,7 +11,8 @@ @children.each do |i| content.push(i.translate) end content = content.join("\n") foottext = FootnoteElement.foottext - ret = "\n\n\n" + ret = '' + ret << "\n#{ARGF.filename}\n\n" ret << "\n#{content}\n#{foottext}\n\n" ret end @@ -37,7 +38,16 @@ class VerbatimElement < BlockElement def translate - content = @children.join("\n") + content = @children.join("\n").gsub(/[&<>]/){ + case $& + when "&" + "&" + when "<" + "<" + when ">" + ">" + end + } "
\n#{content}\n
" end end @@ -56,7 +66,7 @@ content = [] @children.each do |i| content.push(i.translate) end content = content.join("\n") - "
  • \n#{content}" + "
  • #{content}" end end @@ -102,7 +112,7 @@ FootnoteElement.list.push(@content) num = FootnoteElement.list.length %[] + - "*#{num}" + "*#{num}" end def FootnoteElement.foottext @@ -112,7 +122,7 @@ while i = FootnoteElement.list.shift num += 1 ret << %[] + - %[*#{num}] + + %[*#{num}] + %[ #{i}
    ] end ret << "

    " diff -ur rdtool-orig/rd2html.html rdtool/rd2html.html --- rdtool-orig/rd2html.html Fri Aug 13 00:38:21 1999 +++ rdtool/rd2html.html Fri Aug 13 15:31:26 1999 @@ -1,5 +1,5 @@ - - + +rd2html

    rd2html

    @@ -24,27 +24,23 @@

    Install

      -
    1. -

      +

    2. rd2htmlをコマンドパスに含まれるディレクトリに置きます。

      -
    3. -

      +

    4. rd2htmlのパーミッションを755にします。

      -
    5. -

      +

    6. 必要ならrd2htmlの先頭行の /usr/local/bin/ruby を変更してください。

      -
    7. -

      +

    8. rdfmt.rb及びrd-html-mod.rbをRubyのライブラリ サーチパスに含まれるディレクトリに置きます。

    Usage

    -rd2html file1.rb [ file2.rb ...] > output.html
    +rd2html file1.rb [ file2.rb ...] > output.html
     

    About RD Format

    概要

    @@ -53,7 +49,7 @@ 形式です。RDはPerlのPODと役割は似ていますが、インデントやシンプルな記号 を使った可読性の高いフォーマットなので、そのままでも違和感無くドキュメント として読め、またドキュメントを整備しなくてはならないプログラマにとっても -手軽に書けるものとなっています*1。 +手軽に書けるものとなっています*1。

    RDは @@ -78,7 +74,7 @@

    RDでは空白文字だけの行は1つの例外を除いて、BlockElementの区切りとしての意味 以外はありません。ただし、VerbatimElementに含まれる行の次の行が完全な空白行 -*2でなく改行文字以外の空白文字を含めば +*2でなく改行文字以外の空白文字を含めば VerbatimElementに含まれるものだと処理されます。これはプログラムのコードを ドキュメントに引用するためのものです。

    @@ -92,7 +88,7 @@

    BlockElement

    BlockElementはHeadlineElement・TextElement・VerbatimElement・ListElementで、 -必ず行頭からはじまり行末*3で終ります。BlockElementは行頭のインデントや特殊な文字で見分ける事が +必ず行頭からはじまり行末*3で終ります。BlockElementは行頭のインデントや特殊な文字で見分ける事が できます。完全な空白行は全てのBlockElementの共通の終端記号(文字列)になります。

    HeadlineElement

    @@ -127,7 +123,7 @@

    TextElement

    TextElementは単純なテキストのブロックです。TextElementは行の先頭が「空白文字・ -=・+・*・(1)*4・:」以外の文字で +=・+・*・(1)*4・:」以外の文字で 始まります。そして、「」内の文字で始まる行、もしくは空白行がくるまでは同じ ブロックの行であると解釈されます。TextElement内では改行文字は他の空白文字と 同じ意味しかありません。TextElementはテキストにInlineElementを含む @@ -270,7 +266,7 @@


    -*1 つまりRubyと同じように「楽しく書ける」 -ように設計されているのです。(たぶん^^;)
    *2 つまり改行文字だけの行
    *3 これは始まった行の行末とは限りません。
    *4 1は他の数字でも構いません。/\(\d+\)/です。

    +*1 つまりRubyと同じように「楽しく書ける」 +ように設計されているのです。(たぶん^^;)
    *2 つまり改行文字だけの行
    *3 これは始まった行の行末とは限りません。
    *4 1は他の数字でも構いません。/\(\d+\)/です。

    --Multipart_Fri_Aug_13_15:32:39_1999-1--