2024年7月 この範囲を時系列順で読む この範囲をファイルに出力する
🍑Re:4566◆おっと。ご指摘をどうもありがとうございます。確かに、内側スキン(skin-onelog.html)の中でINCLUDE記法を使って挿入するファイルの中にIF文を書いてもIF文だとは認識されないですね。これは不具合でした。内側スキンでは、INCLUDE文を処理するよりも前の段階でIF文の解釈を済ませてしまっていたので、INCLUDEで合成されるファイルの中に書いたIF文が処理されないまま(文字としてそのまま)出力されてしまっていたのでした。
こちらのローカルにあるソースでは修正しましたので、次のバージョンでは解決しています。公開までしばらくお待ち下さい。
🍑Re:4567◆なるほど! 事情の解説をどうもありがとうございます。とても参考になりました。なんとなく「CGIを自力で設置しようと考える人なら、HTML+CSSくらいは読めるし書ける」というような前提で居た感じがあったんですけども(笑)、たしかに最近は(ありがたいことに)HTML+CSSがそんなに分からない状態でも、てがろぐを使おう、と考えて下さる方々も多々いらっしゃるようですね。もし、そういう方々の個人サイト開設の入口になれているならとても嬉しいです。(╹◡╹) (いや、入口になっているかどうかは分かりませんけども。WordPress等のCMSで既にサイト自体はあった可能性もありますしね。^^;)
さて、カテゴリ別の先頭固定機能は、あれば使い処はありそうですから、将来的には実装したいと思います。ただ、実装に掛かる分量が結構多そうなので、直近での実装ができるとは限りませんので、気長にお待ち頂ければ幸いです。
返信ありがとうございます。
配布スキンを使用しており、教えていただいた方法だと私のような初心者にはプロが作ったものに手を加えるのはかなり難易度が高く、実際やってみるとデザインが崩れたりするので投稿ひとつで完結できる方が便利だなと思ったので要望させていただきました。
また、小説用に設置しているものには注意書きだけではなく目次としても先頭固定を使用したりしているので、カテゴリごとにできたらなーと思いました。
とはいえ現状でもやり方があるようなので、使用者の我儘な要望だと思って心の片隅に留め置きくだされば幸いです!:(ヽ´-`):
>>4565 カテゴリ管理の概要文の入力欄がtextareaになったら
HTMLを入力する際に改行が維持される(=<br>に変換されて保存されるということですよね?)と困るほうが多い気がするので「B」希望です。
フリースペースのようにどちらか選べるともっといいのでしょうか…?(個人的にはそこまでは不要ですが)
もう一つ質問ですがサイトマップモード用のskin-onelog.htmlではインクルードするファイルに[[IF():~:IF]]って使えないのでしょうか?
バージョン4.4.0で試してみましたがそのまま文字列として出力されてしまいました。
🍕Re:4561◆ご要望をどうもありがとうございます。ちなみにですが、カテゴリ向けの注意書き用途なら、フリースペースを複数個用意しておいて、状況に応じて表示/非表示を切り替える方法を使って、『特定のカテゴリ(またはハッシュタグ)限定で表示される場合にだけ、n番のフリースペースを表示する』みたいな方法でも実現できると思いますが(しかもその方がHTMLを自由に書けるメリットもありますが)、それでもなお「カテゴリ別の先頭固定機能」の方が望ましいですか? もしそうなら、参考までに理由も教えて頂けると、今後の開発の参考になって助かりますのでよろしければ教えて下さい。
🍕Re:4562◆カテゴリ管理の概要文の入力欄がtextareaになったら……という点ですが、お望みの仕様は以下Ⓐ・Ⓑのどちらでしょうか?
- Ⓐ 入力欄が左右だけでなく上下にも広げられれば充分。
- Ⓑ 入力した改行も維持した状態で保存して欲しい。
No.4554
あああああああああああああああああああ
[[INFO:NOWCAT:DESCRIPTION]]
で代用出来そうなきもしますがどうですか?html使える設定にも出来るそうですし。
ついでの要望ですが、上記の設定時だけでも概要文入力欄がtextareaになったらいいなと思います🙏
以前チラっと仰っていた、先頭固定記事をカテゴリやタグごとにも反映させる機能、個人的に心待ちにしております。
成人向けカテゴリがあるので、注意書きを先頭固定できるととても助かります。
復旧しました。TegUpも今はちゃんと使えます。(╹◡╹)

今日の14時01分頃から、サーバに接続できなくなる障害が発生しているようで、障害の解消を待っているところです。(できることがないので、待つしかありません。)
しばらくの間、TegUpのご使用はお控え下さい。同様に、てがろぐ公式ページにもアクセスできませんので、要するに今の時点では、てがろぐを新規にダウンロードする方法もバージョンアップさせる方法もありません。^^;
なお、ここ( www.nishishi.org )は別サーバなので問題ありません。
鍵機能で2行目も表示できる機能ありがとうございました。とても嬉しいです。
🍧Re:4551◆基本は、「最新の1件を任意のページに埋め込む」方法と同じやりかたで、埋め込み用スキンの「内側スキン」には [[PERMAURL:PURE:FULL]] を使ったリンクだけを書いたら良いのではないかと思います。そうすると、お望みのように『最新ポスト一件の単独表示に飛ぶリンク』ができると思います。
ある条件を満たすと『簡易適用スキンの設定が勝手に切り替わってしまう』バグ(表示上の問題)を修正しました。また、文字装飾で実際に出力されるHTML要素の変更機能、検索語のハイライトに使われるHTML要素を strong 以外に変更できる機能などの追加が主な更新点です。その他、細々した仕様改善や機能追加を含んでいます。今回のリリースはバグの修正が主で、追加機能は少なめです。やや大きめのバグを解消していますので、早めのバージョンアップをお願い致します。
➡ https://www.nishishi.com/cgi/tegalog/
バージョンアップするには、
- 1クリックでバージョンアップできる専用PHP「TegUp」のご使用をお勧め致します。
- もしくは、最新版のZIPの中から tegalog.cgi と fumycts.pl の2ファイルだけを抜き出して上書きアップロードして下さい。
🆕 Ver 4.4.0の更新点(概要):
《▼大きな不具合の修正》
●ある条件を満たすと『簡易適用スキンの設定が勝手に切り替わってしまう』バグ(表示上の問題)を修正。
《▼大きな機能追加》
●文字装飾で実際に出力されるHTML要素の変更機能。
●検索語のハイライトに使われるHTML要素を strong 以外に変更できる機能。
《▼細かな機能追加》
●鍵付き投稿で、本文の1行目だけでなくさらに2行目も常時見せるようにできる設定機能。
●ログイン者限定動作時にTOPに表示されるメッセージを自由に書き換える機能。
●ハッシュタグ未集計時の文言の変更機能。
《▼仕様改善》
●任意のディレクトリにあるスキンを手動指定できる設定項目を、条件によっては非表示にするよう改善。
●文字装飾記法の「隠す」を使って隠される範囲全体を指定要素で囲むよう改善。
●高負荷Botへの軽い対策を追加。
●別タブで開くリンクにrel属性も出力する仕様改善。
《▼スキン更新》
(なし)
《▼不具合修正》
●IF文の条件にパーセントエンコーディングされた文字列を含めると、IF文として解釈されなくなる不具合を修正。
●カテゴリ概要文にHTMLを使用可能にしているとき、カテゴリツリーではソースがそのまま見えてしまっていた不具合を修正。
更新点について詳しい解説は、リリースノート(No.43)をご参照下さい。
アナウンス:
✔Twitter:
(ツイート埋め込み処理中...)Twitterで見る
✔Bluesky
✔Pawoo(Mastodon)
🍨Re:4548◆はい。可能ですよ。画像の掲載記法を単に横に続けて書けば良いだけです。


ただ、キャプション付きで表示する場合は figure要素を使って出力されますので、何のCSSも適用されていない状態だと横には並びません。標準添付の各スキンなら横並びになるよう .embeddedpictbox に装飾を適用してありますが、1から自作するスキンの場合には自力で対処して頂く必要があります。(figure要素をinlineにするよう装飾すれば良いです。)


ありがとうございます。javascriptはあまりよくわかっていないので詳しく教えていただけて良かったです🙇
解決したなら良かったです。(╹◡╹)ノ >>4545
🥟Re:4543◆今のところ、実装上の都合で「SITUATION:CLASS」にログイン有無のキーワードを加えられないのですが、何か良さげな実装方法を思いついた場合には考えます。ただ、おっしゃる通り、ログインしていなければ特に何も操作はできませんので、CSSが適用されなかった場合まで考慮する必要はないのではないかとは思います。
さて、スキンディレクトリ名の話ですが。なるほど、その場合は、
[[INCLUDE:head1.html]]
<link type="text/css" rel="stylesheet" href="スキン固有ファイル名.css">
[[INCLUDE:head2.html]]
……のように、ヘッダ用の共通ファイルを2つに分けて頂いて、CSSを読み込む行だけは各スキンに直接書いて頂くのが最も簡単な気がします。
なお、共通ファイルを2つに分けるのが嫌な場合は、先のJavaScriptでスキンディレクトリ名を変数 skinDirName に得ておいて、
document.write('<link type="text/css" rel="stylesheet" href="[[PATH:SKINDIR]]' + skinDirName + '.css">');
……のようなJavaScriptを使ってCSSファイルを読み込むという方法もあります。
もし、「今時 document.write はないのでは……」と思われる場合には、以下のようなモダンな書き方もできます。
let skincss = document.createElement('link');
skincss.rel = 'stylesheet';
skincss.type = 'text/css';
skincss.href = '[[PATH:SKINDIR]]' + skinDirName + '.css';
document.head.appendChild(skincss);
これで、スキンディレクトリ名のCSSファイルを読み込めます。
※JavaScriptでCSSを動的に読み込む場合は、てがろぐ側でのリンク自動調整機能が働きませんので、読み込むCSSファイルパスにはスキンディレクトリ([[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);
var skinDircss = document.createElement('link');
skinDircss.href = skinDirName+'.css';
skinDircss.rel = 'stylesheet';
document.head.appendChild(skinDircss);
として考えていたような出力が出来ましたのでご報告いたします。ありがとうございました!
言葉足らずですみません、
ログイン状況を示すキーワードについてですが、
現状では [[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
みたいなことが出来たらちょっと助かるかなぁと思ったのでした。ニッチな要望ですみません。
🧇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だけが入ります。
①[[IF(条件): ~中身~ :IF]]に使える条件にログインしていることを示すキーワードはありますか?
②また、これは需要が少ない要望かと思いますが、スキンディレクトリ名を表示させるキーワードが欲しいです。
[[PATH:SKINDIR]]でスキンディレクトリの絶対パスが取得できますが[[NAME:SKINDIR]]のような感じでディレクトリ名だけ出せるものがあるとありがたいです。
さっそく更新して使ったところ、無事に反映されました!
ありがとうございますm(__)m
🆕 Ver 4.3.3βの更新点(概要):
《▼新機能》
🌺ハッシュタグ未集計時の文言の変更機能。
《▼仕様改善》
🌸別タブで開くリンクにrel属性も出力する仕様改善。
《▼不具合修正》
❎カテゴリ概要文にHTMLを使用可能にしているとき、カテゴリツリーではソースがそのまま見えてしまっていた不具合を修正。
詳しい使い方などは、上記の開発進捗状況報告ページの記事をご覧下さい。
🍘SNSでのアナウンス:
Mastodon(Pawoo)
Bluesky
Twitter:
(ツイート埋め込み処理中...)Twitterで見る
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168