上記の目的を果たすようなライブラリがあれば教えてください。
コマンドではなく、スクリプト中でRDで書かれている文字列をHTMLに変換する方法を知りたいです。
ならばこれで。おれおれvisitorを定義しておく。
require 'rd/rdfmt' require 'rd/rd2html-lib' class RD::RD2HTMLNoHeadVisitor < RD::RD2HTMLVisitor def html_body(contents) content = contents.join("\n") foottext = make_foottext %Q|#{content}\n#{foottext}\n| end def apply_to_DocumentElement(element, content) html_body(content) end end src = <<RD =begin = h1 test1 == h2 test2 =end RD tree = RD::RDTree.new(src, ".", nil) visitor = RD::RD2HTMLNoHeadVisitor.new tree.parse visitor.filename = "test.html" visitor.charcode = "euc-jp" visitor.lang = "ja" puts visitor.visit(tree) # >> <h1><a name="label:0" id="label:0">h1</a></h1><!-- RDLabel: "h1" --> # >> <p>test1</p> # >> <h2><a name="label:1" id="label:1">h2</a></h2><!-- RDLabel: "h2" --> # >> <p>test2</p> # >>
rd2コマンドから抜き出しただけなんだが、こんなのはどうでしょう?
require 'rd/rdfmt' require 'rd/rd2html-lib' src = <<RD =begin = h1 test =end RD tree = RD::RDTree.new(src, ".", nil) tree.parse visitor = RD::RD2HTMLVisitor.new visitor.filename = "test.html" visitor.charcode = "euc-jp" visitor.lang = "ja" puts visitor.visit(tree) # >> <?xml version="1.0" encoding="euc-jp" ?> # >> <!DOCTYPE html # >> PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" # >> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> # >> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> # >> <head> # >> <title>test.html</title> # >> <meta http-equiv="Content-type" content="text/html; charset=euc-jp" /> # >> </head> # >> <body> # >> <h1><a name="label:0" id="label:0">h1</a></h1><!-- RDLabel: "h1" --> # >> <p>test</p> # >> # >> </body> # >> </html>
ありがとうございます。
できればRDでかかれた部分だけのHTMLが欲しいです。
この結果で言うとbodyタグの中のみの結果が欲しいのですが、rd2コマンドの中からそこを抜き出してみれば良さそうですね.
ならばこれで。おれおれvisitorを定義しておく。
require 'rd/rdfmt' require 'rd/rd2html-lib' class RD::RD2HTMLNoHeadVisitor < RD::RD2HTMLVisitor def html_body(contents) content = contents.join("\n") foottext = make_foottext %Q|#{content}\n#{foottext}\n| end def apply_to_DocumentElement(element, content) html_body(content) end end src = <<RD =begin = h1 test1 == h2 test2 =end RD tree = RD::RDTree.new(src, ".", nil) visitor = RD::RD2HTMLNoHeadVisitor.new tree.parse visitor.filename = "test.html" visitor.charcode = "euc-jp" visitor.lang = "ja" puts visitor.visit(tree) # >> <h1><a name="label:0" id="label:0">h1</a></h1><!-- RDLabel: "h1" --> # >> <p>test1</p> # >> <h2><a name="label:1" id="label:1">h2</a></h2><!-- RDLabel: "h2" --> # >> <p>test2</p> # >>
ありがとうございます!
これで試してみます!
ありがとうございます!
これで試してみます!