作者: HIDAKA Takahiro
日時: 2002/4/13(02:21)
 ひだかです。

閑舎 <raku@...> wrote:

> HIDAKA Takahiro <cv8t-hdk@...-net.or.jp> さん writes.
> 
> >  単純にソースを取り出したりHTML形式を取り出したりは、
> > dRuby という分散Rubyライブラリを経由して、自分のプログラムでも
> > わりと簡単にできます。
> 
> やってみたところ、テキスト化はうまくいきました。でも、これは、元々
> 
>   rwiki/rd.mine
> 
> にあるので、あまりうれしくはない感じ(^^;。

 いちおう、リンクがちゃんととりだせるのだよーというのが
やってみたかったことなのでした。たくさんあるページのなかから
必要なものだけを抜き出したいので。

> HTML 形式を取り出す、というや
> り方がどうもわかりませんでした。教えてもらえるとうれしいです。

素直にやるならソースと RDtool ライブラリでRD→HTML変換を
ちゃんと書けばよいのですが・・

RWiki自身のその機能を呼び出して、

======================================================
#!/usr/local/bin/ruby

$:.unshift('../rwiki/')
$:.unshift('../rwiki/lib/')

RWIKI_URI = 'druby://localhost:8470'

require 'rw-lib'
require 'drb/drb'
require 'kconv'

pgname = ARGV[0]

DRb.start_service()
rwiki = DRbObject.new( nil, RWIKI_URI )

pg = rwiki.page(pgname)

env = Hash.new
env[ 'base' ] = ""
env[ 'base_url' ] = RWiki::Request.base_url(ENV)
env[ 'server' ] = ""
env[ 'rw-agent-info' ] = [ VERSION ]

print pg.body_html(env).gsub(/(<a href=")\?cmd=view;name=/, '\1')
======================================================

これで(最後のgsubがかなり強引ですが)HTML断片は取り出せています。
ERb とかでテンプレートHTMLファイルに埋め込めば、充分配布できるかと。
body_html のかわりに view_html にすれば、RWiki用のナビゲーションバーも
含めたHTMLが作れますけどこれはちょっとローカルHTML向けには
使いにくいですね。

上手にやれば gsub をなくせるだろうと思うのですがまだ
調べているところです(^_^;

> たは、サーバ側に画像専用受け入れ cgi を作っておき、ホームページ上から
> 
>   <input type="file" name="file" size=40>
> 
> といったタグでファイルを指定して転送、かな。

 upload CGI が一番手軽だとは思います。野望としては
WEBrick 用の WEBDAVモジュールを書く、というのがあるのですが
これがまた全然進まないです(>_<)

-- 
ひだかたかひろ  cv8t-hdk@...-net.or.jp