diff options
author | Tatsuya Kinoshita <tats@debian.org> | 2021-01-02 00:20:37 +0000 |
---|---|---|
committer | Tatsuya Kinoshita <tats@debian.org> | 2021-01-02 00:20:37 +0000 |
commit | 1d0ba25a660483da1272a31dd077ed94441e3d9f (patch) | |
tree | 1d8dee52cd1e3d340fe178a8193dc96c4496db84 /w3m-doc/sample | |
parent | Merge branch 'cvstrunk' into upstream (diff) | |
download | w3m-1d0ba25a660483da1272a31dd077ed94441e3d9f.tar.gz w3m-1d0ba25a660483da1272a31dd077ed94441e3d9f.zip |
New upstream version 0.5.3+git20210102upstream/0.5.3+git20210102upstream
Diffstat (limited to 'w3m-doc/sample')
-rw-r--r-- | w3m-doc/sample/README | 41 | ||||
-rw-r--r-- | w3m-doc/sample/define.wd | 4 | ||||
-rw-r--r-- | w3m-doc/sample/html.wd | 18 | ||||
-rwxr-xr-x | w3m-doc/sample/keymap.cgi | 268 | ||||
-rw-r--r-- | w3m-doc/sample/s.wd | 8 | ||||
-rw-r--r-- | w3m-doc/sample/sample.html | 6 | ||||
-rw-r--r-- | w3m-doc/sample/sample.wd | 11 | ||||
-rwxr-xr-x | w3m-doc/sample/w3mdoc.pl | 102 |
8 files changed, 0 insertions, 458 deletions
diff --git a/w3m-doc/sample/README b/w3m-doc/sample/README deleted file mode 100644 index 7bb9dab..0000000 --- a/w3m-doc/sample/README +++ /dev/null @@ -1,41 +0,0 @@ - -使い方 - perl w3mdoc.pl sample.wd > sample.html - -展開されるもの - -* @xxx.yyy@ - - @define 〜 @end 内で定義された値に展開される。 - -* @YYY(xxx)@ - - @code 〜 @end 内で定義された関数を呼び出して展開される。 - - 例) - URL(xxx) xxx.url - LINK(xxx) <A HREF="xxx.url">xxx.title</A> - MAILTO(xxx) <A HREF="mailto:xxx.address">xxx.name</A> - -コマンド一覧 - -* 定義 - @define - xxx.yyy zzz - @end - - xxx.yyy を zzz と定義する。xxx は以下の関数の引数にもなる。 - 例は define.wd を参照。 - -* コード(関数定義) - @code - コード - @end - - w3mdoc を実装している言語のコードを直接書く。とりあえず perl5。 - 例は html.wd を参照。 - -* インクルード - @include file - - ファイルを include する。 diff --git a/w3m-doc/sample/define.wd b/w3m-doc/sample/define.wd deleted file mode 100644 index f588f4c..0000000 --- a/w3m-doc/sample/define.wd +++ /dev/null @@ -1,4 +0,0 @@ -@define -hsaka.url http://www2u.biglobe.ne.jp/~hsaka/ -hsaka.title 坂本浩則のホームページ -@end diff --git a/w3m-doc/sample/html.wd b/w3m-doc/sample/html.wd deleted file mode 100644 index 1b1d7f2..0000000 --- a/w3m-doc/sample/html.wd +++ /dev/null @@ -1,18 +0,0 @@ -@code -sub URL { - $_[0]->CHECK(qw(url)); - $_[0]->{url}; -} -sub LINK { - $_[0]->CHECK(qw(url title)); - "<A HREF=\"$_[0]->{url}\">$_[0]->{title}</A>"; -} -sub LINK_SEC { - $_[0]->CHECK(qw(url section title)); - "<A HREF=\"$_[0]->{url}\">$_[0]->{section} $_[0]->{title}</A>"; -} -sub MAILTO { - $_[0]->CHECK(qw(address name)); - "<A HREF=\"mailto:$_[0]->{address}\">$_[0]->{name}</A>"; -} -@end diff --git a/w3m-doc/sample/keymap.cgi b/w3m-doc/sample/keymap.cgi deleted file mode 100755 index f68f5fb..0000000 --- a/w3m-doc/sample/keymap.cgi +++ /dev/null @@ -1,268 +0,0 @@ -#!/usr/local/bin/perl - -$QUERY = $ENV{'QUERY_STRING'}; -$KEYMAP = "$ENV{'HOME'}/.w3m/keymap"; - -if ($QUERY) { - # &write_keymap($QUERY); - print <<EOF; -Content-Type: text/html -w3m-control: DELETE_PREVBUF -w3m-control: BACK - -EOF - exit; -} -&init_func(); -@key = (); -@func = (); -@data = (); -open(KEYMAP, $KEYMAP); -while (<KEYMAP>) { - s/^keymap\s+// || next; - (($k, $_) = &getQWord($_)) || next; - (($f, $_) = &getWord($_)) || next; - $FUNC_EXIST{$f} || next; - ($d, $_) = &getQWord($_); - push(@key, $k); - push(@func, $f); - push(@data, $d); -} -close(KEYMAP); - -$N = @key; - -print <<EOF; -Content-Type: text/html - -<head><title>Keymap Setting</title></head> -<h1>Keymap Setting</h1> -<form action="file:///\$LIB/keymap.cgi"> -<table> -<tr><td> Key<td> Command<td> Argument -<tr><td><input name=k_$N size=6> -<td><select name=f_$N> -EOF -&print_func(); -print <<EOF; -</select> -<td><input name=d_$N> -<td><input type=submit name=ok value=Ok> -<tr><td colspan=4><hr> -EOF -$i = 0; -while(@key) { - $k = &Q(shift @key); - $f = shift @func; - $d = &Q(shift @data); - print <<EOF; -<tr><td><input type=hidden name=k_$i value=\"$k\"> $k -<td><select name=f_$i> -EOF - &print_func($f); - print <<EOF; -</select> -<td><input name=d_$i value=\"$d\"> -<td><input type=checkbox name=del_$i>Delete -EOF - $i++; -} -print <<EOF; -</table> -</form> -EOF - -sub write_keymap { - local($query) = @_; - @key = (); - @func = (); - @data = (); - - for $q (split('&', $query)) { - ($_, $d) = split('=', $q); - if (s/^k_//) { - $key[$_] = $d; - } elsif (s/^f_//) { - $func[$_] = $d; - } elsif (s/^d_//) { - $data[$_] = $d; - } elsif (s/^del_//) { - $del[$_] = 1; - } - } - open(KEYMAP, "> ${KEYMAP}") || next; - while(@key) { - $k = &UQ(shift @key); - $f = shift @func; - $d = &UQ(shift @data); - ($f =~ /^\w/) || next; - (shift @del) && next; - print KEYMAP "keymap\t$k\t$f"; - if ($d ne '') { - if ($d =~ /[\"\'\\\s]/) { - $d =~ s/([\"\\])/\\$1/g; - print KEYMAP "\t\t\"$d\""; - } else { - $d =~ s/([\"\\])/\\$1/g; - print KEYMAP "\t\t$d"; - } - } - print KEYMAP "\n"; - } - close(KEYMAP); -} - -sub UQ { - local($_) = @_; - s/\+/ /g; - s/%([\da-f][\da-f])/pack('c', hex($1))/egi; - return $_; -} - -sub Q { - local($_) = @_; - s/\&/\&/g; - s/\</\</g; - s/\>/\>/g; - s/\"/\"/g; - return $_; -} - -sub getQWord { - local($_) = @_; - local($x) = ''; - s/^\s+//; - while($_ ne '') { - if (s/^\'(([^\'\\]|\\.)*)\'// || - s/^\"(([^\"\\]|\\.)*)\"// || - s/^([^\'\"\\\s]+)// || s/^\\(.)//) { - $x .= $1; - } else { - last; - } - } - return ($x, $_); -} - -sub getWord { - local($_) = @_; - s/^\s+//; - s/^(\S+)// || return (); - return ($1, $_); -} - -sub print_func { - local($f) = @_; - for(@FUNC_LIST) { - if ($f eq $_) { - print "<option selected>$_\n"; - } else { - print "<option>$_\n"; - } - } -} - -sub init_func { - @FUNC_LIST = (); - %FUNC_EXIST = (); - while(<DATA>) { - chop; - push(@FUNC_LIST, $_); - $FUNC_EXIST{$_} = 1; - } -} - -__END__ -- - - - - - - -ABORT -ADD_BOOKMARK -BACK -BEGIN -BOOKMARK -CENTER_H -CENTER_V -COOKIE -DELETE_PREVBUF -DICT_WORD -DICT_WORD_AT -DOWN -DOWNLOAD -EDIT -EDIT_SCREEN -END -ESCBMAP -ESCMAP -EXEC_SHELL -EXIT -EXTERN -EXTERN_LINK -FRAME -GOTO -GOTO_LINE -GOTO_LINK -HELP -HISTORY -INFO -INIT_MAILCAP -INTERRUPT -LEFT -LINE_BEGIN -LINE_END -LINE_INFO -LINK_BEGIN -LINK_END -LOAD -MAIN_MENU -MARK -MARK_MID -MARK_URL -MENU -MOUSE -MOUSE_TOGGLE -MOVE_DOWN -MOVE_LEFT -MOVE_RIGHT -MOVE_UP -NEXT_LINK -NEXT_MARK -NEXT_PAGE -NEXT_WORD -NOTHING -NULL -OPTIONS -PCMAP -PEEK -PEEK_LINK -PIPE_SHELL -PREV_LINK -PREV_MARK -PREV_PAGE -PREV_WORD -PRINT -QUIT -READ_SHELL -REDRAW -REG_MARK -RELOAD -RIGHT -SAVE -SAVE_IMAGE -SAVE_LINK -SAVE_SCREEN -SEARCH -SEARCH_BACK -SEARCH_FORE -SEARCH_NEXT -SEARCH_PREV -SELECT -SHELL -SHIFT_LEFT -SHIFT_RIGHT -SOURCE -SUSPEND -UP -VIEW -VIEW_BOOKMARK -VIEW_IMAGE -WHEREIS -WRAP_TOGGLE diff --git a/w3m-doc/sample/s.wd b/w3m-doc/sample/s.wd deleted file mode 100644 index 02ae4ce..0000000 --- a/w3m-doc/sample/s.wd +++ /dev/null @@ -1,8 +0,0 @@ -@include html.wd -@include define.wd - -これはサンプルです。 -<P> -\@hsaka.url\@ = @hsaka.url@ -<BR> -\@LINK(hsaka)\@ = @LINK(hsaka)@ diff --git a/w3m-doc/sample/sample.html b/w3m-doc/sample/sample.html deleted file mode 100644 index b58b0c7..0000000 --- a/w3m-doc/sample/sample.html +++ /dev/null @@ -1,6 +0,0 @@ - -これはサンプルです。 -<P> -@hsaka.url@ = http://www2u.biglobe.ne.jp/~hsaka/ -<BR> -@LINK(hsaka)@ = <A HREF="http://www2u.biglobe.ne.jp/~hsaka/">坂本浩則のホームページ</A> diff --git a/w3m-doc/sample/sample.wd b/w3m-doc/sample/sample.wd deleted file mode 100644 index 0edfd0c..0000000 --- a/w3m-doc/sample/sample.wd +++ /dev/null @@ -1,11 +0,0 @@ -@include html.wd -@define -hsaka.url http://www2u.biglobe.ne.jp/~hsaka/ -hsaka.title 坂本浩則のホームページ -@end - -これはサンプルです。 -<P> -\@hsaka.url\@ = @hsaka.url@ -<BR> -\@LINK(hsaka)\@ = @LINK(hsaka)@ diff --git a/w3m-doc/sample/w3mdoc.pl b/w3m-doc/sample/w3mdoc.pl deleted file mode 100755 index 6097926..0000000 --- a/w3m-doc/sample/w3mdoc.pl +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/local/bin/perl - -package w3mdoc; - -sub CHECK { - my($a, @b) = @_; - for(@b) { - defined($a->{$_}) || die("\"$a->{id}.$_\" is not defined.\n"); - } -} - -sub DEF { - my($a, $b, $c) = @_; - - if (! defined($data->{$a})) { - $data->{$a} = bless { id => $a }; - } - $data->{$a}{$b} = $c; -} - -sub SUB { - local($_) = @_; - my($a, $b); - - if (/^\@(\w+)\.(\w+)\@$/) { - ($a, $b) = ($1, $2); - defined($data->{$a}) || die("\"$a.$b\" is not defined.\n"); - $data->{$a}->CHECK($b); - return $data->{$a}{$b}; - } - if (/^\@(\w+)\((\w+)\)\@$/) { - ($a, $b) = ($1, $2); - defined(&{$a}) || die("\"$a()\" is not defined.\n"); - defined($data->{$b}) || die("\"$a($b)\" is not defined.\n"); - return $data->{$b}->$a(); - } - return '@'; -} - -package main; - -@ARGV || unshift(@ARGV, "-"); -while(@ARGV) { - $file = shift @ARGV; - &make_doc($file); -} - -sub make_doc { - my($file) = @_; - my($in_def, $in_code, $code, $a, $b); - local(*F); - local($_); - - open(F, $file) || die("$file: $!\n"); - $in_def = 0; - $in_code = 0; - while(<F>) { - if ($in_def) { - if (/^\@end/) { - $in_def = 0; - next; - } - s/^\s+//; - s/^(\w+)\.(\w+)// || next; - ($a, $b) = ($1, $2); - s/^\s+//; - s/\s+$//; - &w3mdoc::DEF($a, $b, $_); - next; - } - if ($in_code) { - if (/^\@end/) { - eval "package w3mdoc; $code"; - $in_code = 0; - next; - } - $code .= $_; - next; - } - if (/^\@define/) { - $in_def = 1; - next; - } - if (/^\@code/) { - $in_code = 1; - $code = ""; - next; - } - if (s/^\@include\s+//) { - s/\s+$//; - &make_doc($_); - next; - } - if (/^\@/) { - die("unknown command: $_"); - } - s/(\\@|\@(\w+(\.\w+|\(\w+\)))\@)/&w3mdoc::SUB($1)/eg; - print; - } - close(F); -} - |