Part of Tetsuro Kurita's website. scriptfactory@mac.com . 1999.9.5.


Welcome to Yet-Another glossaryPatcher

Contents

What is Yet-Another GlossaryPatcher?

Frontierのweb authoring機能でrelative URLを実現しているscriptは、

system.verbs.builtins.html.data.standardMacros.glossaryPatcher

ですが、まともに動いた試しがありません。中身をよくよく見てみると、どう見てもまともに動くようには思えません。 そこで、思い切って自分で作ってみました。

自分は、Frontier 5.0.2b20を使っています。Frontier 5.0.1なら、きっと、多分、Maybe、perhaps、動いたら良いなとは思いますが、さてどうでしょうか。。。Ftontier 4.2.3ではきっと動かないでしょう。

How To Use

file "workspace.glossaryPatcher"を Double Clickすると、私が改造したglossaryPatcherはroot.workspaceに取り合えずinstallされます。勇気のある方は、system.verbs.builtins.html.data.standardMacros.glossaryPatcherと差し替えてください。

The Principle

glossaryPatcherに対応した、glossaryのentryは以下のような形式です。

[ [#glossPatch linkText|path to linked page|] ]

ここで、

具体的には、

[ [#glossPatch C&T Changer|scriptfactory/ScriptGallery/C&TChanger/C&TChanger.html|] ]

という感じになります。 これはすなわちC&T ChangerというTextにlinkが張られて、scriptfactoryというtableの1階層上に#ftpsiteを自分は置いており(具体的には、website.public_html)、website.public_html.scriptfactory.ScriptGallery.C&TChanger.C&TChangerというobject database上のpageから生成されたhtml fileにlinkを張りたいんだよ!!という事になります。

Ftontier5では、pageのrenderingに伴うglossaryへのentryはtableの形式ですが、rendering中に上のように焼き直されるみたいです。

では、本題に入ります。ここからどうやってrelative URLを生成するか。

いま、publishしたいpageが、scriptfactory.scriptGrabyard.indexだとしましょう。

originalでは、一度、#ftpsiteまで登って、そこからまた下っていくようなrelative URLが生成されます。 こんな感じになります。

../../../scriptfactory/ScriptGallery/C&TChanger/C&TChanger.html

頭が悪すぎますね。いまほしいrelative URLは

../ScriptGallery/C&TChanger/C&TChanger.html

です。Originalのscriptが何故#ftpsiteまでの階層を数えているのか自分には良く解りませんが、まったく違ったapprochを取ります。

いま、publishしたいpageの#ftpsiteからのpathとlinkを張りたいpageの#ftpsiteからのpathがわかっているので、"/"をstring.nthFieldの区切り文字として一致している部分を頭から削って行きます。上記の例で行くと、

publishしたいpageのURLは scriptGrabyard/index.html

linkしたいpageのURLは ScriptGallery/C&TChanger/C&TChanger.html

迄、削れます。 そしてここからpublishしたいURLの階層を調べて、今の場合は1階層なので、../を1つlinkしたいURLの頭につけます。 すなわち

.../ScriptGallery/C&TChanger/C&TChanger.html

として、relative URLのでき上がりです。

History

Limitations and Distribution

Script factory Tetsuro Kurita
scriptfactory@mac.com

Userland Frontier This page was last built on 1999.9.5; 4:25:24 AM with Frontier 5. At the moment I am using Macintosh to work on this website. Thanks for checking it out!