[#28402] crypt — Kenji Noda <zaq94465a@...>
野田です
In message "[ruby-list:28402] crypt"
At Fri, 2 Mar 2001 04:34:52 +0900,
newです.
まつもと ゆきひろです
坂下です。
In message <200103030343.MAA03741@smtp1.dti.ne.jp>
坂下です。
新井です。
ごとけんです
newです.
新井です。
新井です。
In message <200103020836.RAA07709@hanare00.math.sci.hokudai.ac.jp>
At Fri, 2 Mar 2001 18:59:39 +0900,
[#28415] class Real — 正木 功 <GEC01122@...>
正木です。
[#28429] Marshal format version — Takahiro Kambe <taca@...>
再び、こんばんは。
石橋秀仁です。こんにちは。
まつもと ゆきひろです
In message <983957685.946561.24647.nullmailer@ev.netlab.zetabits.com>
[#28435] ruby 1.6.3? — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
もりきゅうです。
もりきゅうです。
もりきゅうです。
わたなべです.
もりきゅうです。
なかだです。
もりきゅうです。
もりきゅうです。
なかだです。
もりきゅうです。
[#28441] constant in module_eval — Kenichi Komiya <kom@...1.accsnet.ne.jp>
[#28454] Ruby 初心者は! — 有瀬 和徳 <crush@...>
Kazunori Aruse
[#28485] ruby/tk TkEntry#selection_present bug? — Noritsugu Nakamura <nnakamur@...>
新井です。
永井@知能.九工大です.
永井@知能.九工大です.
新井です。
永井@知能.九工大です.
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
新井です。
[#28530] テキストファイルを固定文字数で切って、行番号をつけるプログラム — Keisuke Minami <keisuke@...>
こんばんは。三並です。
新井です。
[#28536] DATA.rewind — URA Takefumi <hage@...>
浦と申します。
[#28565] 海外無料サーバ — 有瀬 和徳 <crush@...>
有瀬です。
[#28577] field sort — Kenji Noda <zaq94465a@...>
野田と申します
[#28599] 1.6 のダウンロードマニュアルが圧縮されていない? — Keisuke Minami <keisuke@...>
こんばんは。三並です。
From: Keisuke Minami <keisuke@rccn.com>
SHIBATA Hiroshiです。
In message "[ruby-list:28602] Re: 1.6 のダウンロードマニュアルが圧縮されていない?"
SHIBATA Hiroshiです。
From: Keisuke Minami <keisuke@rccn.com>
newです.
From: "丹生 光則 Nibu,Mitsunori." <nibu@tec.osaka.jip.co.jp>
newです.
From: "丹生 光則 Nibu,Mitsunori." <nibu@tec.osaka.jip.co.jp>
さくです。
青木@横浜です。
From: Daisuke Aoki <dai@sweetparty.ne.jp>
青木@横浜です。
Toshです。
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
Toshです。
青木@横浜です。
青木@横浜です。
[#28630] nest of Hash.new — Sato Hiroshi <hiroshi@...>
佐藤です.
[#28642] substr — Akihiro Yamauchi <aygoofy@...>
こんばんは。
[#28660] ruby termios library — akira yamada / やまだあきら <akira@...>
[#28691] Dir#glob of mswin32 — "たけ(tk)" <ggb03124@...>
mswin32 の Dir#glob はパスを入れても、パスを無視してしまうようです。
[#28715] GC — OHARA Shigeki <os@...>
大原です。
[#28764] Win32_process.create PID — Koga Atsushi <kog@...>
みなさまこんばんわ。
artonです。
[#28773] [Q] ChibiXML のサンプルみたいなもの — eda@...
えだです。
高橋征義です。
まつもと ゆきひろです
うえの@ぶるーすかいです。
[#28780] revenge of shell.rb — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
[#28789] freeze した文字列の書き換えチェック方法 — nekurai@...
ども、根暗井です ^^)
[#28794] undef singleton method — "K.Kosako" <kosako@...>
特異メソッドを未定義(undef)にするには、
[#28798] RubyUnit で、 initialize メソッドのようなことをしたい — "IKAGAWA, Kauztomo" <k_ikagawa@...>
お世話になります。いかがわと申します。
[#28814] fgets — Kazuhiro NISHIYAMA <zn@...>
C言語のfgetsのようなサイズ制限付きのgetsをしようとすると
[#28852] Re: [ruby-ext:01642] Re: o_dbm — keiju@... (石塚圭樹)
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
[#28855] NetBSD BSD/OS curses — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#28862] media watch 2001.03.18 — Noritsugu Nakamura <nnakamur@...>
[#28864] patch glob for MSWin32 ruby-1.6.3 — arton <arton@...>
artonです。
[#28881] 初歩的な質問 — Kenji Noda <zaq94465a@...>
野田です。
[#28887] cygwin で組み込み — "shibata kenji" <shibata@...>
柴田です。
わたなべです。
わたなべ様ありがとうございます。
[#28901] Numeric.new — "たけ(tk)" <ggb03124@...>
Numeric.new があって Fixnum.new がないようです。Fixnum はいいとして、
原です。
たけ(tk)です。
[#28903] lndir.rb でエラー — みかみ まさと <kofukan@...>
みなさん、こんにちは。みかみにございます。
[#28911] media watch 2001.03.22 — akira yamada / やまだあきら <akira@...>
こんばんは。三並です。
前田です。
こんばんは。三並です。
Keisuke Minami さん、こんにちは。Ta-ku-ya II です。
こんばんは。三並です。
Keisuke Minami さん、こんにちは。Ta-ku-ya II です。
[#28919] RD の Reference について — Kenta MURATA <muraken2@...>
むらけんです.
前田です。
[#28954] erb のバグ (ローカル変数が未定義になってしまう) — Keisuke Minami <keisuke@...>
こんにちは。三並です。
[#28963] Re: 9p L 3〜10 P 2 L 2 回目 — Naoto Hiroshima <taisei-in@...>
こんにちは(^_^)
[#29021] [ruby/GD] GD.so not found? — AKJ <ml@...>
はじめて参加させていただきます。
[#29023] 配列に要素を挿入 — Kenji Noda <zaq94465a@...>
野田と申します
From: Kenji Noda <zaq94465a@cat.zero.ad.jp>
箱崎です。
Hiroshi Hakozaki wrote:
新井です。
新井です。
[#29037] forwardable-1.0 release — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
Toshです。
まつもと ゆきひろです
Toshです。
けいじゅ@日本ラショナルソフトウェアです.
Toshです。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
わたなべです。
けいじゅ@日本ラショナルソフトウェアです.
[ruby-list:28960] rdtool で出力ファイルを分割する
むらけんです. TO が ML ぢゃなくて Tosh さんになってた...
Tosh さん2重になってしまってすみません.
興味本意なんですが, rdtool-0.6.7 に出力ファイルを分割するため
の改造をやってみました. 改造方法自体汚ないものなんですが, あ
と一歩の所でうまく分割できずにいます. 僕の改造では,
--split=LEVEL というオプションを追加して, LEVEL の数値に対応す
る HeadLine でファイルを分割します. 例えば LEVEL=2 では,
= HEAD1-1
# ここで分割
== HEAD2-1
=== HEAD3-1
=== HEAD3-2
# ここで分割
== HEAD2-2
=== HEAD3-3
# ここで分割
= HEAD1-2
という具合です. できてそうなんですが, footnote の参照が上手く
いってません.
diff の結果を添付しましたので, どなたか試して感想などお聞かせ
ください.
--
Kenta MURATA <muraken2@nifty.com> "http://village.infoweb.ne.jp/~muraken/"
diff -uNr rdtool-0.6.7.orig/rd/rd2html-lib.rb rdtool-0.6.7/rd/rd2html-lib.rb
--- rdtool-0.6.7.orig/rd/rd2html-lib.rb Sun Jan 28 04:39:03 2001
+++ rdtool-0.6.7/rd/rd2html-lib.rb Sun Mar 25 17:27:40 2001
@@ -27,6 +27,9 @@
attr(:use_old_anchor, true)
# output external Label file.
attr(:output_rbl, true)
+ # file splitting level of '='
+ attr(:split_level, true)
+ attr(:count_files)
def initialize
@css = nil
@@ -42,6 +45,10 @@
# @use_old_anchor = nil
@use_old_anchor = true # MUST -> nil
@output_rbl = nil
+ @split_level = 0
+ @count_files = 1
+ @now_file_no = 0
+ @label_hash = {}
super
end
@@ -52,11 +59,25 @@
tmp
end
- def apply_to_DocumentElement(element, content)
- content = content.join("")
- index = make_index()
- foottext = make_foottext()
- title = @title || @filename || ARGF.filename || "Untitled"
+ def navi
+ ret = %Q[]
+ if @count_files > 1
+ prevfile = 'prev'
+ if @now_file_no > 1
+ prevfile = "#{filename}-#{@now_file_no - 1}.html"
+ prevfile = %Q[<a href="#{prevfile}">prev</a>]
+ end
+ nextfile = 'next'
+ if @now_file_no < @count_files
+ nextfile = "#{filename}-#{@now_file_no + 1}.html"
+ nextfile = %Q[<a href="#{nextfile}">next</a>]
+ end
+ ret << %Q[<div id="navi">#{prevfile} #{nextfile}</a></div>]
+ end
+ ret
+ end
+
+ def file_header(title)
ret = %Q[]
if @charset
ret << %Q[<?xml version="1.0" encoding="#{@charset}" ?>\n]
@@ -87,18 +108,50 @@
@html_link_rev.each do |rev, href|
ret << %Q[<link rev="#{rev}" href="#{href}" />\n]
end
+ ret << %Q[</head>\n<body>\n#{navi}\n<hr />\n]
+ ret
+ end
+
+ def file_footer
+ ret = %Q[\n<hr />\n#{navi}\n</body>\n</head>\n]
+ end
+
+ def apply_to_DocumentElement(element, content)
+ content = content.join("")
+ index = make_index()
+ foottext = make_foottext()
+ ret = %Q[]
+ @now_file_no = 1
+ ret << file_header(@title || @filename || ARGF.filename || "Untitled")
+ @now_file_no = 0
- ret << %Q[</head>\n]
# ret << %Q[<BODY>\n#{content}#{index}#{foottext}\n</BODY>\n</HTML>]
- ret << %Q[<body>\n#{content}#{foottext}\n</body>\n</html>\n]
+# ret << %Q[<body>\n#{content}#{foottext}\n</body>\n</html>\n]
+ ret << %Q[#{content}#{foottext}]
+ ret << file_footer
ret
end
+
+ def apply_to_Comment(element, content)
+ process_instruction ($') if content =~ /^@@/
+ end
def apply_to_Headline(element, title)
+ ret = %Q[]
+ if element.level <= @split_level
+ if @now_file_no > 0
+ ret << file_footer
+ ret << %Q[\C-l\C-l]
+ end
+ @now_file_no += 1
+ if @now_file_no > 0
+ ret << file_header(@title || @filename || ARGF.filename || "Untitled")
+ end
+ end
anchor = refer(element)
label = hyphen_escape(element.label)
- %Q[<h#{element.level}><a name="#{anchor}" id="#{anchor}">#{title}</a>] +
- %Q[</h#{element.level}><!-- RDLabel: "#{label}" -->\n]
+ ret << %Q[<h#{element.level}><a name="#{anchor}" id="#{anchor}">#{title}</a>] +
+ %Q[</h#{element.level}><!-- RDLabel: "#{label}" -->\n]
end
# RDVisitor#apply_to_Include
@@ -229,8 +282,12 @@
def apply_to_RefToElement(element, content)
content = content.join("")
if anchor = refer(element)
+ filename = ''
+ if @label_hash[anchor] && @label_hash[anchor] != @now_file_no
+ filename = "#{@filename}-#{@label_hash[anchor]}.html"
+ end
content = content.sub(/^function#/, "")
- %Q[<a href="\##{anchor}">#{content}</a>]
+ %Q[<a href="#{filename}\##{anchor}">#{content}</a>]
else
# warning?
label = hyphen_escape(element.to_label)
@@ -279,12 +336,30 @@
meta_char_escape(element)
end
+ def prepare_level(tree)
+ if @filename && @split_level
+ @count_files = 0
+ tree.each { |elem|
+ if elem.type == Headline
+ @count_files += 1 if elem.level <= @split_level
+ end
+ if (elem.type == Headline) \
+ || (elem.type == DescListItem) \
+ || (elem.type == MethodListItem)
+ @label_hash[refer(elem)] = @count_files
+ end
+ }
+ end
+ p @label_hash
+ end
+
def prepare_labels(tree, prefix = "label:")
if @use_old_anchor
super
else
prepare_labels_with_url_escape(tree, prefix)
end
+ prepare_level(tree)
end
private :prepare_labels
@@ -429,6 +504,16 @@
end
end
private :make_foottext
+
+ def process_instruction (inst)
+ case inst
+ when /^tableofcontents/
+ # toc
+ when /^tocdepth=/
+ @tocdepth = $'.to_i
+ end
+ end
+ private :process_instruction
end # RD2HTMLVisitor
end # RD
diff -uNr rdtool-0.6.7.orig/rd/rdblockparser.ry rdtool-0.6.7/rd/rdblockparser.ry
--- rdtool-0.6.7.orig/rd/rdblockparser.ry Tue Jan 30 02:30:56 2001
+++ rdtool-0.6.7/rd/rdblockparser.ry Sun Mar 25 16:19:09 2001
@@ -24,7 +24,7 @@
| lists
| headline { result = val }
| include { result = val }
- | WHITELINE { result = [] }
+ | WHITELINE { if val[1] == '(:COMMENT)'; result = val; else result = []; end }
| SUBTREE { result = val[0].blocks }
;
diff -uNr rdtool-0.6.7.orig/rd/rdfmt.rb rdtool-0.6.7/rd/rdfmt.rb
--- rdtool-0.6.7.orig/rd/rdfmt.rb Fri Jun 9 23:09:54 2000
+++ rdtool-0.6.7/rd/rdfmt.rb Sun Mar 25 13:34:08 2001
@@ -7,6 +7,7 @@
following classes are defined in rdfmt.rb.
*RDElement
*BlockElement
+ *Comment
*TextBlock
*Verbatim
*Headline
@@ -151,6 +152,17 @@
=end
class BlockElement < RDElement
+ end
+
+ class Comment < BlockElement
+ attr(:content, true)
+ def initialize(content)
+ @content = content # Comment String
+ end
+
+ def accept(visitor)
+ visitor.visit_Comment(self)
+ end
end
class Headline < BlockElement
diff -uNr rdtool-0.6.7.orig/rd/rdvisitor.rb rdtool-0.6.7/rd/rdvisitor.rb
--- rdtool-0.6.7.orig/rd/rdvisitor.rb Sun Jan 14 14:43:43 2001
+++ rdtool-0.6.7/rd/rdvisitor.rb Sun Mar 25 14:02:11 2001
@@ -67,6 +67,10 @@
end
apply_to_DocumentElement(element, blocks)
end
+
+ def visit_Comment(element)
+ apply_to_Comment(element, element.content)
+ end
def visit_Headline(element)
title = []
diff -uNr rdtool-0.6.7.orig/rd2 rdtool-0.6.7/rd2
--- rdtool-0.6.7.orig/rd2 Tue Jan 30 02:36:16 2001
+++ rdtool-0.6.7/rd2 Sun Mar 25 16:32:12 2001
@@ -56,6 +56,7 @@
output_index = nil
out_code = nil
from_rdo = nil
+split_level = nil
# user option
$DEFAULT_FORMAT_LIB = "rd/rd2html-lib"
@@ -122,7 +123,13 @@
include_path.push(RD::RDTree::TMP_DIR)
end
end
-
+
+ q.on("--split=LEVEL",
+ /[1-4]/,
+ "output file is splited at LEVEL of '='") do |i|
+ split_level = i.to_i
+ end
+
q.on("--from-rdo",
"load from *.rdo instead of *.rd") do
from_rdo = true
@@ -157,6 +164,15 @@
$Visitor = $Visitor_Class.new
end
+# set split level
+begin
+ $Visitor.split_level = split_level
+rescue
+ STDERR.print("Error: specified library is not support to split file\n")
+ STDERR.print(ARGV.options.to_s)
+ exit(1)
+end if split_level && output_file
+
# make tree (but not parsed yet)
if from_rdo
rdos = []
@@ -203,7 +219,7 @@
# file base name setup
$Visitor.filename = output_file if output_file
-
+$Visitor.split_level = split_level if split_level
# character encoding
if out_code
begin
@@ -217,13 +233,27 @@
# character encoding convert
out = Kconv.kconv(out, Kconv::NAME2CONST[out_code], Kconv::AUTO) if out_code
+out_list = []
+if split_level
+ out_list = out.split "\C-l\C-l"
+else
+ out_list = [out]
+end
if output_file
- filename = output_file + "." + $Visitor.type::OUTPUT_SUFFIX
- file = open(filename, "w")
- file.print(out)
- file.close
- STDERR.print("#{$0}: output to #{filename}...\n")
+ i = 1
+ while i <= $Visitor.count_files
+ filename = output_file
+ if split_level
+ filename += "-#{i}"
+ end
+ filename += "." + $Visitor.type::OUTPUT_SUFFIX
+ file = open(filename, "w")
+ file.print(out_list[i-1])
+ file.close
+ STDERR.print("#{$0}: output to #{filename}...\n")
+ i += 1
+ end
else
print(out)
end