てがろぐ - Fumy Otegaru Memo Logger -

お手軽一言掲示板(この辺の文章は「管理画面」の「設定」内にある「フリースペース」タブから編集できます。)

■フリースペース: 編集

ここは、CGIの設定画面から自由に文章を入力して掲載できるスペースです。スキンを編集しなくてもCGI上から手軽に内容を変更できます(HTML使用可)。
動作サンプルです。◆他のスキン:標準スキン, 昔のツイッターっぽいスキン(ピンク版), 付箋型スキン, シンプル日記スキン, ジャーナル(日誌)スキン, ブログタイプスキン, チャットタイプスキン, 黒板スキンてがろぐCGIの配布ページに戻る

or 管理画面へ

No.4545, No.4543, No.4542, No.4541, No.4540, No.4539, No.45387件]

Icon of sakura さくら たびたびすみません、>>4541,4543 です。
教えていただいたjavascriptをもとに
function getLastPart(path) {
   if(path.endsWith('/')) {
      path = path.slice(0, -1);
   }
   const parts = path.split('/');
   return parts[parts.length - 1];
}
let path = "[[PATH:SKINDIR]]";
let skinDirName = getLastPart(path);
var skinDircss = document.createElement('link');
skinDircss.href = skinDirName+'.css';
skinDircss.rel = 'stylesheet';
document.head.appendChild(skinDircss);

として考えていたような出力が出来ましたのでご報告いたします。ありがとうございました!
Icon of sakura さくら お返事ありがとうございます、>>4541 です

言葉足らずですみません、

ログイン状況を示すキーワードについてですが、
現状では [[QUICKPOST]] 記述あり+管理画面で『ログインしている際にのみ表示する』に設定でCSSで表示非表示を切り替えています
が、これだとソースには出力されているのでCSSが何らかの原因で適用されないような場合には表示されてしまうなぁというのが少し気になってしまい…
見えてしまっても非ログイン時には操作できないので気にしすぎかもしれません。
「ログインしています/していません」等のメッセージを表示したい場合はご教示いただいたjavascriptを試してみます。

スキンディレクトリ名だけが欲しいのは、
複数のスキンを共通部分(<head>~</head>間や<footer>~</footer>など)を一つにしていて各スキンで[[INCLUDE:ファイル名]]で合成して使っているのですがその時のcss名を「スキンディレクトリ名.css」としたかったためです。
CSSファイルの名前を同じ(tegalog.css)にすれば
<link type="text/css" rel="stylesheet" href="tegalog.css">
で行けるのはわかっているんですがその場合どのスキンのCSSを編集しているのかわからなくなる時があるので適用するCSSファイル名を「スキンディレクトリ名.css」として
<link type="text/css" rel="stylesheet" href="[[スキンディレクトリ名]].css">←共通ファイルに書いて各スキンでINCLUDE
みたいなことが出来たらちょっと助かるかなぁと思ったのでした。ニッチな要望ですみません。
NO IMAGE にしし ご要望を頂く際には、「それをどんなことに使うのか」も併せてお知らせ頂けると、検討なり方策の提示なりの参考になってありがたいです。

🧇Re:4541◆残念ながら、ログイン状況を示すキーワードはありません。ただ、この2条件が成立している状況なら、JavaScriptを使うことで判別は可能です。要は、CSSの中に .Login-Required という定義が存在するかどうかを調べれば良いので、以下のようなJavaScriptで調べられます。
for(let sheet of document.styleSheets) {
   for(let rule of sheet.cssRules) {
      if(rule.selectorText === '.Login-Required') {
         // 非ログイン状態だと分かる
      }
   }
}

このJavaScriptを、QUICKPOSTの記述位置よりもに書くか、もしくはページ読み込み完了後に実行されるように書けば、ログインされているかどうかを判別できます。

また、[[PATH:SKINDIR]]で得られる文字列から、スキンディレクトリ名だけを抜き出すには、以下のJavaScriptでできます。
function getLastPart(path) {
   if(path.endsWith('/')) {
      path = path.slice(0, -1);
   }
   const parts = path.split('/');
   return parts[parts.length - 1];
}
let path = "[[PATH:SKINDIR]]";
let skinDirName = getLastPart(path));

このJavaScriptを使うと、変数 skinDirName には、スキンディレクトリ名だけが入ります。(もうちょっとスマートな方法があるかもしれませんが。^^;)
例えば、[[PATH:SKINDIR]]/path/to/directory/なら、変数skinDirName にはdirectoryだけが入ります。
Icon of sakura さくら こんにちは、お世話になっております。質問というか要望というか…なのですが

①[[IF(条件): ~中身~ :IF]]に使える条件にログインしていることを示すキーワードはありますか?
②また、これは需要が少ない要望かと思いますが、スキンディレクトリ名を表示させるキーワードが欲しいです。
[[PATH:SKINDIR]]でスキンディレクトリの絶対パスが取得できますが[[NAME:SKINDIR]]のような感じでディレクトリ名だけ出せるものがあるとありがたいです。
Icon of sakura さくら >>4535
さっそく更新して使ったところ、無事に反映されました!
ありがとうございますm(__)m
NO IMAGE にしし 今月の前半には、次の正式版(Ver 4.4.0)をリリースしたいと思っています。思っては。(気力次第)
NO IMAGE にしし おっと、もう7月。

動作サンプルです。 ご自由にお試し下さい。パスワードguest管理画面もお試し頂けます。
■いま見ているスキンは「チャットタイプスキン」です。他に、 標準スキン昔のツイッターっぽいスキン(ブルー)昔のツイッターっぽいスキン(ピンク)付箋型スキンシンプル日記スキンジャーナル(日誌)スキンブログタイプスキン(タイトル付きブログっぽくできるスキン)、 黒板スキンがあります。
てがろぐCGIの配布・解説ページに戻る