No.3057, No.3056, No.3055[3件]

>>3056 にししさま、検討頂けるとのご回答と、解決策の提示まで下さって、感謝です。
faviconは例でしたが、②のjavascriptで動的に差し込む方法で対処したいと思います。
有難うございました。 2年以上前(日 21:14:31)

🌰Re:3055◆なるほど、[[ROOTPATH]]的な記法は便利そうですね。今のところその機能はありませんから、ToDoリストに加えておきます。ご要望をどうもありがとうございます。現時点で使えそうな解決策を2点ほど挙げておきます。
➊スキンに記述されているlink要素は、 <link ~ > のように小文字でと書くと別スキン適用時にhref属性値の先頭にディレクトリが補完されますが、<LINK ~ > のように大文字で書くと自動補完の対象になりません。なので、強制的に「CGIの位置」からの相対パスで書きたい場合には、要素名を大文字で書くと良いと思います。(XHTMLでない限りは)タグを大文字で書いても問題ありませんから。
➋また、JavaScriptを使ってlink要素を出力する手もある気がします。別スキン適用時にhref属性値を自動補完する処理は、スキンHTMLに直接link要素が(小文字で)書いてある場合(かつ、ご指摘の通りhref属性値にコロン記号がない場合)だけですので、document.createElement("link");等の記述で動的に生成されたlink要素は補完対象になりませんから。(ああ、ただfaviconとして使いたい場合、JavaScriptでlink要素を生成してもfaviconとして使ってくれるかどうかは分かりませんね……。使ってくれても、ブラウザに依りそうな。そうでもないのかな……?)
まあ、①の方法で問題ないなら①を使うのが楽には違いないですね。^^;
もし、属性値にどうしてもフルパスが必要だという何らかの事情がある場合には、今のところは②を使うしかないかな、という気がします。
いずれにせよ、[[ROOTPATH]]的な記法は便利そうなので将来的には追加したいと思います。
2年以上前(日 11:24:46) 回答/返信

使っていて、自分のオリジナルスキンを作成する際にあったらいいな、と思った機能があったので、もしよろしければご検討頂けると幸いです。
tegalog.cgiを設置しているディレクトリまでのパスを "[[ROOTPATH]]" のような記法で出力できるようになると嬉しいです。
(http://localhost/tegalog.cgi だったら http://localhost の結果が得られる)
faviconの設定を複数のスキンで使いまわしたい時のような、head内で共通して設定しておきたいlink要素を相対パスでskin-cover.htmlに記入すると、
スキンをサブディレクトリに置いてある場合、スキンディレクトリまでのパスが自動で補完されてしまうため、([[INCLUDE:path/hogehoge.html]]など外部に書いていても、補完されるようですので)
CGIを設置しているディレクトリのパスが出力できればいいなと思った次第です。
おそらく回避するには、初めからコロン(:)を含むように、設置URLを別ファイルに記入しておいてincludeした次に相対パスを書けばいいようなのですが……。
(もしくはFREESPACEの複数使い分けで出力させる等)
運用次第でどうにでもできるようなものではありますが、どうぞよろしくお願いいたします。
もし何らかの形で、パスを取得する記法などが既にありましたら、誠に申し訳ありません。ドキュメントを私が見落としてしまったためです。 2年以上前(日 04:54:26)