ひだかです。
閑舎 <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