No.5205, No.5204, No.5203, No.5202, No.5201, No.5200, No.5199[7件]
>>5199
>>5200
お返事ありがとうございます(まとめてで申し訳ございません)。
5197の説明があまりうまくなくて申し訳ございません。
親カテゴリpictの子カテゴリとして、A,B,Cがあるとします。
このときスキンで[INCLUDE:pict] と記載したら
◎A
カテゴリAのサイトマップやスキンで設定しているサムネ等
◎B
カテゴリAのサイトマップやスキンで設定しているサムネ等
◎C
カテゴリAのサイトマップやスキンで設定しているサムネ等
…という風に『pictカテゴリに属するものがごちゃまぜで表示されるのではなく』、『親カテゴリ(pict)の下にある子カテゴリごとに表示する』ようなイメージです。
確かににししさんが疑問に抱かれているとおり、スキンに[INCLUDE:pict] を記載する必要はあります。
しかし今後カテゴリが増えたとしても子カテゴリごとに分けて表示をするイメージですので新たにカテゴリを増やしたとしてもその分追加して表示されるイメージです(伝わりにくかったら申し訳ございません)。
随時埋め込み用のURLを記載する必要はありません。
新着投稿リストについてなのですが、通常の更新履歴の部分で現在使用しております(日付・タイトル・カテゴリ)。それとは別で特定のカテゴリの日付のみを表示したいのです。
その日付を表示する箇所がメニューのところでして( info pict 落書き(MM/DD)のように)。
[[LATESTLIST:CAT(カテゴリID)]]では通常の更新履歴で使っているタイトル・カテゴリの部分が余分だと感じます。
[[INFO:LATESTPOSTDATE]]はカテゴリ表示が出来ず、またYYYY/MM/DDあるいはMM/DDだけで良いので時間の部分が余分だと感じております。
[[LATESTLIST:CAT(カテゴリID)]]の所に掲載される項目について『今のところ、スキン側では指定できません(将来対応予定)。』とあるので将来を待つしかと思いました。
また『カテゴリ限定のパラメータを付けたURLにJavaScriptでアクセスして合成する』ですが、新たにスキンを作れば確かに可能だとはおもいます。
ただこれは個人の感じ方なのですが、新たにスキンを作成することも、それの管理をするのも少し手間だなと感じてとっかかりにくいところがあります(勿論個人の意見なので、苦に感じない人もおりますし、なるべく簡単にしたいなと強く思っておりますので…)。
なるほど、標準で搭載してしまうと機能拡張をしたい人へのハードルがあがることやカスタマイズが却って難しくなるデメリットがあったのですね。その部分については確かにそうだと思いました。
それなら確かにこのままの方が長い目で見たときに良いのだろうなと思います。
ご質問とご提案と考えを教えていただきありがとうございました。
もしも他に「こういうアプローチの仕方があるよ」等ありましたら教えていただければとても嬉しいです。
by admin. ⌚2025年5月30日(金) 23:55:03〔2日前〕 <1276文字> 編集
カテゴリB+下げる投稿はカテゴリ限定、日時指定、検索結果に表示したい
この場合ってなにかいじれば可能でしょうか……?
by admin. ⌚2025年5月30日(金) 19:26:42〔2日前〕 <86文字> 編集
私は折り畳み記法にjavascriptとcssで開閉状況に応じてラベルが変わるカスタマイズをしてます。
折り畳まれているボタンをクリックして展開するとボタンのラベルが「閉じる」に変化し、展開された領域を折り畳むとラベルが「続きを読む」などの展開前のものに戻ります。同じことをしたい人がいましたら参考までに。
外側スキンの遅延読み込みスクリプト群に追加
document.addEventListener("DOMContentLoaded", function() {
// decorationO クラスを持つ details 要素を取得
document.querySelectorAll("details.decorationO > summary").forEach(summary => {
// 既に foldlabelClose がない場合のみ追加
if (!summary.querySelector(".foldlabelClose")) {
let closeSpan = document.createElement("span");
closeSpan.className = "foldlabelClose";
closeSpan.textContent = "閉じる";
summary.appendChild(closeSpan);
}
});
});
スキン用cssに追加
details[open] .foldlabel {
display: none;
}
/* 閉じている状態の時に「閉じる」を消す */
details:not([open]) .foldlabelClose {
display: none;
}
by tomoyo. ⌚2025年5月30日(金) 18:18:26〔2日前〕 <1042文字> 編集
No.5189に書いた通り、お使いのサーバにインストールされているPerlのバージョンが古い場合(Perl 5.10未満の場合)に限って、てがろぐCGIを Ver 4.6.0 にバージョンアップすると「500 Internal Server Error」になってしまう問題がありました。(※正確には Ver 4.5.3β~4.6.1βのバージョンで発生していました。)
Perlのバージョンを 5.10.x 以上にすることで正常稼働するようになりますが、他に稼働させているCGIの都合等でPerlのバージョンを上げられない場合のために、Perl 5.10未満でも正常稼働するよう修正しましたので、先程 Ver 4.6.0 のZIPも差し替えました。
先月から本日までの間に、TegUp等を使ってバージョンアップした結果「500 Internal Server Error」が出たのでバージョンダウンした、という方は、再度TegUp等でバージョンアップしてみて下さい。今は問題なくバージョンアップできるハズです。
※注意:既に Ver 4.6.x がエラーなく動作している方々は、何もする必要はありません。(差し替えたZIPに収録しているファイルは、問題箇所を書き換えただけで、機能面ではまったく同じですので。)
具体的な原因と対処の余談
by nishishi. ⌚2025年5月30日(金) 18:16:30〔2日前〕 <835文字> 編集
🌽Re:5197◆例えば、pictカテゴリを埋め込むために [INCLUDE:pict] と書かなければならないのであれば、現状の埋め込み用URLを1つ1つ書くのと手間が変わらない(=カテゴリが増減すればそれに合わせて書き換えなければならないという点で同じ)と思うのですが、そういうわけではないんですかね?
なお、特定のカテゴリの最新投稿日付を得るには、No.5199さんもお書き下さっていますが、新着投稿リストに表示する項目を日付だけにすればいける気がします。
- 「新着投稿リストの掲載内容を設定画面で設定する方法(掲載する項目を選択)」で、出力件数を 1 件にした上で、出力内容を D(=投稿日付)だけに設定にしておいて、
- 「新着投稿リストの掲載対象をスキン側で限定する方法(掲載する対象を選択)」で、望みのカテゴリIDを指定するような感じです。(書き方の一覧はこちら)
あと、ドラッグ&ドロップのようなリッチな機能を標準で搭載してしまうと、自作のスクリプトで機能拡張しようとなさる方々のハードルが上がってしまいそうな気がしますので(※標準で出力されるソース(特にJavaScript)が複雑になればなるほど、それに干渉しないように作るのに手間が増えそうですし)、今のところは避ける方針で居ます。(配布するにせよ自分だけで使うにせよ)好きなようにカスタマイズしやすいのは、標準で出力されるソースがシンプルだから、という点もあると思いますので。バージョンアップを経る度にいろいろ機能を増やしてはいますが、それは基本的には「選択肢を増やす」方向に留めて、標準の出力ソース自体が複雑化してしまうのはできるだけ避けたいと思っています(複雑になるとカスタマイズが難しくなってしまうため)。
🌽Re:5198◆たまたまその周辺機能の見直しをしつつあったところでしたので、即改善できました。^^;
🌽Re:5199◆サポートありがとうございます~。(╹◡╹)ノ
by nishishi. ⌚2025年5月30日(金) 18:11:00〔2日前〕 回答/返信 <1016文字> 編集
新着投稿リストの掲載対象をスキン側で限定する方法(掲載する対象を選択)
https://www.nishishi.com/cgi/tegalog/custom/#customize...
この方法ではいけませんか…?
by admin. ⌚2025年5月30日(金) 17:06:17〔3日前〕 <131文字> 編集
🧀Re:5202◆お役に立ったようで良かったです。閉じる用のspan要素を動的に生成して表示を切り替えるのは良い方法ですね。実装時に「閉じる用のラベルに切り替える仕様の方が良いかな?」とちょいと思いはしたんですが、ラベル文字列を直接書き換える方法だと元に戻す処理が面倒だな、と思ったのでやめました。(笑)
🧀Re:5203◆その場合は、てがろぐを2つ設置して、設定を分けるしかなさそうに思います。
🧀Re:5204◆ご要望をありがとうございます。「すべてのカテゴリ」に対して「カテゴリ単位で指定の情報を表示する」ような一覧ページの需要がそこそこあるっぽいので、たぶん、そういう用途専用のモードを用意するのが一番良いのだろうな、という気が朧気にしています。『カテゴリ目次モード』みたいな。気長にお待ち頂ければ幸いです。
◆新着投稿リストで出力される各要素には「新着投稿リストの各部分をCSSで装飾する方法」で説明している通り、class名が割り振ってあります。
日付部分は <span class="postdate">年/月/日</span> のように .postdate が割り振られています。
なので、(他の場所で利用しているために)日付だけを出力するように設定できない場合でも、「CSSでこれ以外を非表示にする」または「これだけをJavaScriptで抜き出す」かすれば、日付だけを表示できます。お試し下さい。(※2件以上を表示するよう設定して使っている場合は、『「最初のli要素」以外の要素は消すようCSSを書く』か、または『「最初のli要素」に含まれている情報だけから抜き出すようにJavaScriptを書く』かすれば、「最新の1件」の情報だけを表示できるでしょう。)