namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tutorial (Re: toward 2.0 release)
藤原 誠 Makoto Fujiwara <makoto@xxxxx> wrote:
>s> * 今月末までに日本語のマニュアルを書く
>s> - リファレンスマニュアル風に簡潔にまとめます
>s> 導入方法は藤原さんのチュートリアルに期待 :-)
>
>今月末というのはあと四日位 ? 28 29 30 31。だったら
>http://www.ki.nu/software/namazu/
>を化粧直しして...(でもいいですか)
あ、マニュアルは僕が書きます。「導入方法は藤原さんのチュート
リアルに期待」と書いたのは、マニュアルには導入方法は最低限し
か書かない、という意味です。
というわけで、藤原さんには
>s> * 2月中旬頃までにチュートリアルを用意する
>s> - 藤原さん、お願いできます?
>
>ちょっとその頃忙しくなるかも知れないのですが、出来るだけ
>やります。
チュートリアルをお願いします。
>これは上と同じことのようで違うみたい。(どう違うのでしょう)
マニュアル: 高林が担当
チュートリアル: 藤原さんが担当
です。一通り書き終えたら、他の人に読んでもらって、手直しを入
れてもらうつもりです。(せっかくの CVSですし)
>とりあえず
>http://www.ki.nu/software/namazu/tutorial.shtml
>に書いてあるような書き出しでいいのでしょうか。
>僕はどうも小出しにして別の譜に link を張ってしまうの
>が好みなのですが、それはそれで面倒なこともあるのですよね。
マニュアルは印刷して読みたい、という人は少なくない思うので僕
は目次をつけて 1つのファイルにまとめています。
参考までに <h2><a name="foo">foo</a></h2> といった見出しから
目次を生成するスクリプトをメイル末尾に添付しておきます。僕が
日頃、使っているものです。
>それと、
>・http://openlab.ring.or.jp/namazu/
> の下に用意するように考えた方がいい
> のか、
>・cvs/namazu/doc の下に置くことを優先した方がいい
> のか教えて下さい。
後者です。
>それと、「です、ます」ですよね。
はい。
ちなみに、僕の HTML文書の好みは HTML 4.01 Strict DTD + CSS1、
html element は小文字、anchorも小文字、2語以上から形成される
anchorは foo_bar_baz ではなく foo-bar-baz と表記する、です。
<http://openlab.ring.gr.jp/namazu/> は基本的にこの規則で統一
しています。窮屈かもしれないけど、できれば cvs/namazu/doc も
この規則で統一した方がいいかな、と思っています。
参考までに html element を大文字から小文字に変換するスクリプ
トをメイル末尾に添付しておきます。
-- Satoru Takabayashi
#!/usr/bin/perl -w
use NKF;
$_ = join '', <>;
$_ = nkf("-e", $_);
my $n = 0;
while (1) {
if (s/^\s*<h([2-6])[^>]*><a name="([^"]*)">([^<>]*)<\/a><\/h\1>//ism) {
$level = $1;
$anchor = $2;
$heading = $3;
} elsif (s/^\s*<h([2-6].*?) id="([^"]*)">([^<>]*)<\/h\1>//ism) {
$level = $1;
$anchor = $2;
$heading = $3;
} else {
last;
};
if ($level > $n) {
print " " x ($level - 2);
print "<ul>\n";
} elsif ($level < $n) {
for ($i = $level; $i < $n; $i++) {
print " " x ($n - $i);
print "</ul>\n";
}
}
$n = $level;
print " " x ($n - 2);
print "<li><a href=\"#$anchor\">$heading</a>\n";
}
for ($i = 1; $i < $n; $i++) {
print " " x ($n - $i -1);
print "</ul>\n";
}
#! /usr/bin/perl -w
use strict;
my $content = join '', <>;
$content =~ s/(<\/?)([A-Z]\w*)((?:\s+[A-Z]\w*(?:\s*=\s*(?:(["']).*?\4|[\w-.]+))?)*)(\s*>)/
$1 . lc($2) . lc_attr($3) . $5/gsixe;
print $content;
sub lc_attr($) {
my ($attrs) = @_;
$attrs =~ s/\n/ /g;
$attrs =~ s!(\s+)([A-Z]\w*)((?:\s*=\s*(?:(["']).*?\4|[\w-.]+)))?!
$1 . lc($2) . $3!gies;
return $attrs;
}