2024年
➡ 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を使用可能にしているとき、カテゴリツリーではソースがそのまま見えてしまっていた不具合を修正。
▼大きな不具合の修正 :
❎ある条件を満たすと『簡易適用スキンの設定が勝手に切り替わってしまう』バグ(表示上の問題)を修正。
下記の3条件をすべて同時に満たす場合にだけ、スキンの簡易適用設定が勝手に変わる(可能性がある)バグを修正しました。
--- --- --- --- --- --- --- --- ---
🟢【前提条件①】予約投稿機能がONになっている。
🟢【前提条件②】メインで使うスキン以外のスキンに「新着投稿リスト」が掲載されている。
🟢【前提条件③】過去に1度でも予約投稿をしたことがあり、その投稿を(掲載日以降に)再編集したり削除したりしないまま掲載し続けている。
🔴【トリガー】 アクセス者(誰でも)が②のスキンを使ってページを見る。(=②のスキンを使ってプレビュー表示する)
--- --- --- --- --- --- --- --- ---
上記の【前提条件①~③】の3つ全部を同時に満たす場合に限って、上記の【トリガー】の操作をすると、そのスキンが(プレビューではなく)簡易本番適用されてしまう(=てがろぐのスキン設定が書き換わってしまう)というバグがありました。
このバグは、予約投稿機能を実装した最初から潜んでいたバグなので、1年以上前にリリースした Ver 4.0.0(β版も含めると Ver 3.9.3β以降)から存在していたことになります。
この問題をご報告下さった方に、感謝致します!
※詳しい背景は、ブログ記事『てがろぐに「簡易適用スキン」の設定が勝手に切り替わるバグがあった話』に書きました。
▼今回の大きな機能追加:
🌸文字装飾で実際に出力されるHTML要素の変更機能。
文字装飾記法を使ったときに実際に出力されるHTML要素を変更できるようにしました。
▼解説:
例えば「強調装飾にはemではなくstrongを使いたい」とか、「取消装飾にはdelではなくsを使いたい」など、望みのHTML要素が別にある場合にご活用頂けます。
元の役割に関係なく変更できますから、例えば「斜体は使わないから『I』はボタンラベルを『コード』に変えて、出力要素もcodeにする」といったカスタマイズも可能です。
設定箇所は、下図で示すように [設定]→[投稿欄の表示]→【装飾ボタンの表示設定】です。従来から存在する設定表に「出力要素」の列が追加されています。なお、どの要素に変更しても class="decorationX" 等のclass名は常に出力されますから、スキン側がこのclass名(だけ)を使って装飾を指定しているなら、変更後も同じ装飾が適用されます。
なお、要素の指定に関しては重要な注意点もありますので、詳しくは、ヘルプドキュメント「使い方・設定方法」ページ内にある『文字装飾記法・色指定記法の書き方』項目内の、「文字装飾で実際に出力されるHTMLタグの変更方法」をご覧下さい。
🌸検索語のハイライトに使われるHTML要素を strong 以外に変更できる機能。
全文検索結果に含まれる検索語をハイライト表示する際のHTML要素を変更できるようにしました。
▼解説:
全文検索した際、従来は検索語をstrong要素固定でマークアップしていました。この要素を、strong、span、mark、em の4通りから選択できるようにしました。
管理画面の[設定]→[ページの表示]→【全文検索/表示】→[検索結果の表示]→『検索語の強調に使う要素』項目で下図(水色矢印の先)のように選択できます。
HTMLの仕様に存在する「mark要素」が、まさしくこの種の機能(=検索結果のハイライト表示)で使うために用意されているような感じの要素ですので、mark要素も選べるようにしました。
とはいえ、デフォルト設定は、(何の装飾も指定されていないスキンを使っていても太字で表示されるように)strong要素のままです。お望みの要素があれば設定で変更して下さい。
詳しくは、ヘルプドキュメント「カスタマイズ方法」ページ内にある『検索結果の表示時に検索語に対して適用されるハイライト(強調)の装飾方法』項目をご覧下さい。
▼その他の細かな機能追加:
🌷鍵付き投稿で、本文の1行目だけでなくさらに2行目も常時見せるようにできる設定機能。
『本文の1行目をタイトルとして扱うスキンを使っていて、なおかつ、「どんな内容を鍵付きにしているのか?」の情報も示したいので、本文の1行目だけでなく2行目も含めた計2行を常に見せたい』 ……という状況に対応するため、「本文の2行目も常時表示する」よう設定できる機能を加えました。
[設定]→[ページの表示]→【鍵付き(パスワード保護)投稿の表示】区画で、下図の緑色矢印の先に見える『本文の1行目だけは常に見せる(全1行の場合は除く)』項目にチェックが入っているとき、さらに水色矢印部分の『本文の2行目も常に見せる』項目にもチェックが入っているなら、1行目だけでなく2行目も常に見えるようになります。
➡ 詳しくは、ヘルプドキュメント「使い方・設定方法」ページ内にある『鍵が掛かっていても一部を見えるようにする設定方法』項目内の、「1. 本文の1行目だけは常時表示させる設定にもできる(必要なら2行目も常時表示させられる)」をご覧下さい。
🌷ログイン者限定動作時にTOPに表示されるメッセージを自由に書き換える機能。
「ログイン者限定動作」に設定されているときは、非ログイン者がてがろぐにアクセスしても、『ログインしている状態でしか表示されません云々』というメッセージが表示されるだけになります(下図の黄色矢印参照)。このメッセージを、自由文と差し替えられる機能を加えました。
この機能を使うと、下図の紫色矢印のように好きな文言を表示できます。
設定箇所は、[設定]→[システム設定]→【高度な設定】→「▼動作形態」の『初期画面に表示するメッセージ』欄です(下図黄色矢印の先)。ここに1文字以上を入力すると、(標準のメッセージは表示されなくなり)ここに入力したメッセージだけが掲載されるようになります。
➡ 詳しくは、ヘルプドキュメント「使い方・設定方法」ページ内にある『ログイン済みでないとどのページも閲覧できなくする「ログイン者限定表示」機能』項目内の、「ログインを促すメッセージを自由に書き換える方法」をご覧下さい。
🌷ハッシュタグ未集計時の文言の変更機能を追加。
ハッシュタグリストに表示する内容が何もない状況で強制的に出力されていた『ハッシュタグは見つかりませんでした。(または、まだ集計されていません。)』の文言を、管理画面の設定から自由に変更できるようにしました。
設定箇所は、[設定]→[ページの表示]→【システムメッセージ・表示用語】→「ハッシュタグリストが空の場合のシステムメッセージ」欄です。
✅ハッシュタグリストを非表示にしているか、
✅ハッシュタグリストを表示している場合でも、ハッシュタグが1つ以上ある状況
……では表示されないシステムメッセージですから、あまり需要はないかもしれませんけども。
ここは空欄にした状態で保存することもできますので、何も表示したくない場合には、入力欄の中身を消して保存して下さい。
▼仕様改善:
🌳任意のディレクトリにあるスキンを手動指定できる設定項目を、条件によっては非表示にするよう改善。
管理画面の「スキンの切替」画面には、スキンリストの最下部に「任意のディレクトリにあるスキンを手動指定」という自由入力枠が表示されていました。ここに、スキンとしては使えないディレクトリ名を入れてしまうなどしてトラブルになるケースが散見されましたので、「CGI本体の存在するディレクトリよりも浅い階層を参照する指定」の使用が許可されていない状況(※デフォルトでは許可されていません)では、この枠自体を非表示にするように仕様改善しました。
この枠は、[設定]→[システム設定]→【スキンの適用制限】→[適用可能なスキン]項目で、『CGI本体の位置より浅いディレクトリを参照する相対パスや、絶対パスで指定されたスキン』項目(下図の黄色矢印の先)にチェックが入っている場合に限って表示されるようになります。
※単に、不要な状況で不要な設定項目を表示しないようにしただけの話なので、機能としては何も変わっていません。この設定枠を普段からお使いだった場合は、これまで通り表示されるハズです。(もし表示されない場合は、上図の黄色矢印の先に見える項目をONにして下さい。)
➡ 詳しくは、ヘルプドキュメント「カスタマイズ方法」ページ内の『複数のスキンを同時に使用する方法』項目内の、「スキンは、直下のサブディレクトリ以外の別階層にあっても使える」等をご覧下さい。
🌳文字装飾記法の「隠す」を使って隠される範囲全体を指定要素で囲むよう改善。
隠される本文だけではなく、「続きを読む」ボタンも含めた『隠すためのすべてを含む大外枠』を、<指定要素 class="decorationH"> ~ </指定要素> のタグで囲むように改善しました。隠す関連部分全体を装飾したい場合等にご活用頂けます。
具体的には、下図の赤色枠(青色矢印の先部分)のように、大外枠を作る要素を加えました。
また、今回のバージョンで追加した新機能である「文字装飾で実際に出力されるHTML要素の変更機能」も使うことで、隠す空間に使われる要素をspan要素から他の要素に変更することもできます。(例えば、div要素で囲まれるようにすることもできます。)
➡ 詳しくは、ヘルプドキュメント「カスタマイズ方法」ページ内の『「続きを読む」ボタンによって隠された範囲の装飾方法』項目内の、「「続きを読む」機能によって隠される範囲に使われるマークアップ(HTMLタグ)をカスタマイズする方法」をご覧下さい。
🌳高負荷Botへの軽い対策を追加。
➡ 「不正アクセスではないのだけど、様々なパラメータで絨毯爆撃してきてサーバの負荷を高めてしまう」……という系統のBotへ向けた、軽い対策を追加しました。(試験的な実装です。)
単なる重複コンテンツになりそうなパラメータが指定された場合(で、ユーザエージェント名の中に「 bot 」が含まれる場合)には、403 Forbidden の短いエラー文だけを返すことで、無駄に負荷が高まらないようにします。
(今のところ、この対策仕様をOFFにする設定はありません。)
🌳別タブで開くリンクにrel属性も出力する仕様改善。
リンクテキストに :NEW を付けた場合や、設定で「リンク先を別タブで開く」ように設定されている場合には、リンクを作るa要素に target="_blank" と一緒に rel="noopener noreferrer" も出力するよう仕様改善しました。
※同時に rel="nofollow" も出力する設定になっている場合(または、リンクテキストの末尾に :NEW だけでなく :NF も加えた場合)は、すべてを一緒にまとめて rel="follow noopener noreferrer" という属性を出力します。
最近のブラウザでは、 target="_blank" とさえ指定されていれば、HTML側には何もrel属性が書かれていなくても rel="noopener noreferrer" が指定されたものとして動作します。なので、てがろぐ側がrel属性を出力する必要性はそこまでないとも言えますが。ただ、あらゆる閲覧者が最近のブラウザを使っているとは限りませんので、念のために出力するようにしました。
(何も設定しなくても出力されます。この機能をOFFにする設定はありません。)
➡ なお、 :NEW や :NF など、リンクラベルに加えられるオプション記法については、使い方・設定方法ページ内の『リンクラベルに加えられるオプション』項目をご覧下さい。
➡ リンクに関する設定項目の詳細については、『リンクの書き方』項目をご覧下さい。
▼#不具合修正 :
❎IF文の条件にパーセントエンコーディングされた文字列を含めると、IF文として解釈されなくなる不具合を修正。
IF文の条件の中に「%」記号を含めると、IF文として解釈されなくなる不具合がありましたので解消しました。(ハッシュタグ限定表示時を条件にしてIF文を書きたい場合に問題になっていました。)
❎カテゴリ概要文にHTMLを使用可能にしているとき、カテゴリツリーではソースがそのまま見えてしまっていた不具合を修正。
管理画面の[設定]→[システム設定]→【高度な設定】で、「カテゴリ概要文の入力欄にHTMLの記述を許可する」項目にチェックを入れていても、カテゴリツリー内に概要文を表示する際(=[[CATEGORY:TREE:識別子]] の記法で識別子に「D」を加えた際)には、HTMLソースがそのまま見えてしまっていた不具合を解消しました。
以上、ご活用頂ければ幸いです。
今回は大きめのバグ修正も含んでいますので、使いたい追加機能がない場合でもバージョンアップして頂くことをお勧め致します。
※バージョンアップしても、ログインし直す必要はありません。ログイン状態は維持されます。データや設定はそのまま引き継げますし、もし必要になれば後からバージョンダウンすることも可能です。バージョンアップ方法について詳しくは、「CGIの更新方法」をご覧下さい。
なお、開発進捗状況報告サイトでフォロー頂くと、てがろぐCGIの最新β版や正式版の公開時にメールで連絡を受け取ることもできますので、ぜひご活用下さい。(╹◡╹)ノ
フォロー数が増えると、私の開発モチベーションが向上するメリットもあります!!!🤩
:6833文字 修正
てがろぐ Ver 4.3.0 を公開しました! #Update
➡ https://www.nishishi.com/cgi/tegalog/
バージョンアップするには、
- 1クリックでバージョンアップできる専用PHP「TegUp」のご使用がお勧めです。
- もしくは、最新版のZIPの中から tegalog.cgi と fumycts.pl の2ファイルだけを抜き出して上書きアップロードして下さい。
🆕 Ver 4.3.0の更新点(概要):
《▼大きな機能追加》
●隣接・近傍投稿の一括閲覧機能(隣り合う数投稿をまとめて表示する機能)の追加。
●「その状況で表示対象になっている投稿」だけに限定した隣接投稿に移動できる機能(※同カテゴリに限定した隣接投稿への移動機能)の追加。
●条件指定パラメータを引き継いだ単独投稿にリンクできる記法(=「その状況で表示対象になっている投稿」だけに限定した隣接投稿に移動できる機能が使える状態の単独投稿へリンクできる記法)の追加。
●ログイン済みでないとどのページも閲覧できなくする「ログイン者限定表示」機能の追加。
●新規投稿/編集画面に自由なHTML(edit.htm)をスキン別に加える機能の追加。
《▼その他の機能追加》
●そのとき限定されているカテゴリの各種情報を挿入できる専用記法の追加。
●ゲストIDで投稿を禁止する設定(=ログイン者限定表示と併用することで「読者用ID」になる機能)の追加。
●リスト記法で、リストの種類や記号を指定するオプションを使っている場合でも、さらに任意のclass名を指定できる機能を追加。
●SITEMAP XMLを静的ファイルに出力する機能を追加。
●カテゴリの概要文でHTMLを使えるようにできる設定の追加。
《▼細かな機能追加》
●カスタム絵文字のファイル名にハイフン・ドット・アンダーバーが含まれているとき、それらで分割した文字列を使ったclass名をさらに加える機能を追加。
●アタック目的のアクセスを簡易的に検出して拒否する(400 Bad Requestを返す)機能を追加。
《▼仕様改善》
●既存ハッシュタグ簡単挿入機能で、ハッシュタグの後ではなく前に半角スペースを挿入できる(または一切挿入しない)設定機能を追加。
●「任意URLリンク」ボタンで、リンク先が丸括弧で囲まれる場合には、直後に半角スペースを自動挿入しない仕様に改善。
●データファイルを読むよりも前にパラメータの不正をチェックすることで、無駄なデータ読み込みを発生させないよう改善。
●QUICKPOSTで投稿欄が空っぽの状態で投稿したときの動作を改善。
●投稿単独表示時の隣接投稿への移動先解釈の改善。
●管理画面のボタンの行高を固定することで、一部のモバイル端末でボタンの高さがガタガタになる現象を解消。
●YouTubeの埋め込みに「ライブ動画の共有用URL」も使用可能に。
《▼不具合修正》
●URLを丸括弧で囲む [ラベル](URL) 記法の直後に半角丸括弧を書いたとき、記法末尾の「)」記号がURLの一部だと誤解されてしまう不具合を修正。
▼今回の大きな機能追加:
🌸隣接・近傍投稿の一括閲覧機能(隣り合う数投稿をまとめて表示する機能)の追加。
ある特定の投稿の前後に、どんな投稿があるのかを一括して閲覧できる方法を追加しました。
▼解説:
例えば、パラメータ ?postid=123&mode=around3 で、No.123 の前後3件ずつの最大計7投稿を一括閲覧できます。
前後の何件ずつを一括表示するのかは数値(1~9)で指定できるため、
✅「 ?postid=123&mode=around1 」なら前後1件ずつの計3投稿
✅「 ?postid=123&mode=around2 」なら前後2件ずつの計5投稿
: : :
✅「 ?postid=123&mode=around9 」なら前後9件ずつの計19投稿
……が閲覧できます。
※数字を省略した場合は、後述する設定値の数(=標準では 3 )が指定されたとみなされます。
過去の投稿に言及したいとき、>>123 みたいな感じでその投稿番号へリンクしておくことがよくあります。このリンクをたどれば No.123 の投稿を単独で閲覧できるわけですが、「その投稿の前後にはどんな投稿をしていたんだっけ?」という疑問を持つことがあります。
その場合、従来は『前後に1件ずつ移動するリンク』を使って1件ずつ見ていくしかありませんでした。本当に隣接する1件を見れば済むだけならそれで良いのですが、もうちょっと幅広く参照したいと思うこともよくあります。
そんなときに今回実装したこの機能を使えば、「いま単独表示しているこの投稿の前後にどんな投稿があるのか?」を、前後の数件まとめて一括閲覧できます。
▼使用方法:
投稿単独表示時に本文の後に出力されるユーティリティリンク枠に、下図のように『この投稿に隣接する前後3件をまとめて見る』というリンクが追加されていますので、ここからでもアクセスできます。(非表示に設定することもできます。)
▼設定箇所:
標準では前後3件ずつを見るリンクが出力されますが、何件ずつにするのかは設定(下図水色矢印部分)で変更できます。また、このリンクの表示をOFFにするには、下図の緑色矢印部分の項目をOFFにすれば良いです。
➡ 詳しくは、ヘルプドキュメント「使い方・設定方法」ページ内の『隣接投稿の一括閲覧機能(隣り合う投稿をまとめて表示する方法)』項目をご覧下さい。
🌸「その状況で表示対象になっている投稿」だけに限定した隣接投稿に移動できる機能(※同カテゴリに限定した隣接投稿への移動機能)の追加。
以前から『同じカテゴリに限定して隣接投稿へ移動できるようにして欲しい』というご要望を頂いていました。その機能を実装しました。カテゴリに限らず、ハッシュタグ限定表示でも、全文検索の指定でも何でも、表示条件を絞るあらゆる条件で「その条件を満たす投稿に限った隣の投稿」へ移動できるようになりました。
▼解説:
下表のような属性・カテゴリ・内容の No.96~103 の投稿があり、「現在は No.100 が単独で表示されている」という場合を例にして説明します。
表示条件が限定されていない ?postid=100 のパラメータでアクセスされている場合は、表示対象外である下書きだけを飛ばして「« No.99」と「No.102 »」がリンク先になります。(※従来のバージョンでは、下書きを飛ばすこともせず、単純に隣接する「« No.99」と「No.101 »」がリンク先になっていました。)
ここで、表示条件を加えると、下記のように前後のリンク先が変化します。
✅カテゴリinfo限定表示 ?postid=100&cat=info なら、
➡「« No.97」と「No.103 »」がリンク先になります。
✅カテゴリdiary限定表示 ?postid=100&cat=diary なら、
➡「« No.96」と「No.102 »」がリンク先になります。(下書きは飛ばすため。)
✅ハッシュタグ#Test限定表示 ?postid=100&tag=Test なら、
➡「« No.97」と「No.102 »」がリンク先になります。
そのほか、全文検索(qパラメータ)、ユーザ限定(useridパラメータ)、日付限定(dateパラメータ)を使って表示対象を限定することもできます。
どの場合でも、「条件を満たす投稿に限定した隣」が前後の移動リンクとして出力されます。
➡ 詳しくは、ヘルプドキュメント「使い方・設定方法」ページ内の『「その状況で表示対象になっている投稿」だけに限定した隣接投稿に移動できる機能』項目をご覧下さい。
また、このような「条件指定パラメータを維持した状態で投稿単独ページへ移動するためのURL」を出力する専用の記法も用意しています。その点は、次の項目で解説します。
🌸条件指定パラメータを引き継いだ単独投稿にリンクできる記法(=「その状況で表示対象になっている投稿」だけに限定した隣接投稿に移動できる機能が使える状態の単独投稿へリンクできる記法)の追加。
投稿単独ページへ移動できるURLを出力するための記法 [[PERMAURL]] のオプションを追加しました。これによって、投稿単独表示時に「同一カテゴリだけに限定した隣接投稿」などへ前後移動できるようになります。
▼解説:
「条件指定パラメータを引き継いだ単独投稿」に移動できるURLを出力する専用記法を追加しましたので、
- 投稿単独表示時に「本当に隣接している投稿」に移動するスキン
- 投稿単独表示時に「その状況で表示対象になっている投稿に限定した隣接投稿」に移動するスキン
追加した記法の意味は以下の通りです。
- [[PERMAURL:KEEPCOND]] と記述すると、その位置に『そのとき表示対象になっている条件』を引き継いだ状態で、投稿単体を表示するための固有URLが相対パスで挿入されます。
- [[PERMAURL:KEEPCOND:FULL]] と記述すると、それが絶対URLで挿入されます。
また、「どの条件を維持するのか?」を識別子で選択的に指定できる拡張記法 [[PERMAURL:KEEPCOND(識別子)]] もあります。
識別子には、下記の7種類が使えます。
① M :モード を維持する
② U :ユーザ限定 を維持する
③ C :カテゴリ限定 を維持する
④ H :ハッシュタグ限定 を維持する
⑤ S :検索語 を維持する
⑥ D :日付指定 を維持する
⑦ O :表示順序 を維持する
これによって、例えば、
➊『カテゴリ限定表示時から投稿単独ページに移動した場合には、同カテゴリに属する投稿に限定した隣接投稿に前後移動できるようにしたい。しかし、カテゴリ以外の条件でさらに絞り込まれていたとしてもそれらの条件は無視して、カテゴリだけに限定した隣接投稿に移動させたい』
➋『ギャラリーモードで、ハッシュタグやカテゴリや検索語で絞り込まれている場合には、その条件に該当する投稿だけに限定した隣接投稿に前後移動できるようにしたい。しかし、モードは解除して、投稿者IDや日付で絞り込まれている場合は無視したい』
……といったスキンが作れます。
具体的には、
➊は、 [[PERMAURL:KEEPCOND(C)]] と書けば良く、
➋は、 [[PERMAURL:KEEPCOND(CHS)]] と書けば良い
です。
なお、識別子を指定せずに [[PERMAURL:KEEPCOND]] と書いた場合は、[[PERMAURL:KEEPCOND(MUCHSD)]] と書いた場合と同じになります。(つまり、「O=表示順序」以外のすべての条件が維持されます。)
➡ 記法について詳しくは、リファレンス内の【投稿単独URL出力要素】区画をご覧下さい。[[PERMAURL]]系統のすべての記法を一覧できます。
➡ また、『「その状況で表示対象になっている投稿」だけに限定した隣接投稿に移動できる機能』について詳しくは、ヘルプドキュメント「使い方・設定方法」ページ内にある 『1投稿の単独閲覧時(投稿単独ページ表示時)での前後移動』項目をご覧下さい。
(※そこに含まれる『Ⓑ 表示条件が限定されている場合に採用される移動先』項目もご参照頂くと、より分かりやすいかもしれません。)
🌸ログイン済みでないとどのページも閲覧できなくする「ログイン者限定表示」機能の追加。
自分専用または内輪専用として使いたい場合等のために、てがろぐにログイン済みの状態でなければどのページも閲覧できない動作モードを追加しました。
▼解説:
非ログイン状態でアクセスすると、ログインを促すメッセージ(下図)が表示されるだけになります。管理画面では、常に右上に橙色で「ログイン者限定表示中」のサインが見えます。
▼設定:
設定は、管理画面の[設定]→[システム設定]→【高度な設定】→[動作形態]項目(下図の黄色矢印の先)からできます。ただし、後述の事前準備が必須です。
ここで、「ゲストIDによる投稿を禁止する」にチェックを入れておくと、「ゲスト権限のID(=Lv.1のID)」を読者専用IDとして機能させることもできます。(※その機能については後述の『🌺ゲストIDで投稿を禁止する設定』項目で改めて解説します。)
▼事前準備(必須):
ブラウザのアドレス欄にデータファイル(tegalog.xml)のURLを打ってみたときに、そのままファイルが閲覧・ダウンロード可能になっている状態では、この機能の意味がありません。したがって、この機能はデータファイルへの直接アクセスをブロックする .htaccess ファイルによるアクセス制限を併用する必要があります。
そのため、.htaccessファイルが存在しない状態で設定しようとしても、下図のように設定が拒否される仕様になっています。
したがって、この機能を有効にする前に、まずは .htaccess ファイルを設置してからご使用下さい。
なお、この機能を使っても画像は保護されません(=何らかの方法で画像のURLが分かれば、誰でもその画像を閲覧できます)。何もかもを保護するには、サーバ側の認証機能(Basic認証等)をお使い頂く必要があります。この機能は、あくまでも「簡易版の非公開モード」のような位置づけである点にご注意下さい。
➡ 詳しくは、ヘルプドキュメントの「ログイン済みでないとどのページも閲覧できなくする「ログイン者限定表示」機能」項目をご覧下さい。
特に、……の両項目もご参照下さい。
🌸新規投稿/編集画面に自由なHTML(edit.htm)をスキン別に加える機能の追加。
編集画面に自前の edit.css と edit.js を読み込む機能は従来からありましたが、スキン別に異なるファイルを読み込みたい場合のために、「そのとき適用されているスキンのディレクトリ」の中にある edit.htm を挿入する機能も用意しました。
▼解説:
この機能を使うと、
- 適用中のスキンに応じたカスタマイズを新規投稿/編集画面にも施せる。
- (CSSやJavaScriptだけでなく)任意のHTMLを挿入してカスタマイズできる。
- 新規投稿/編集画面内に、任意のメッセージや画像等を挿入できる。
※edit.css と edit.js の挿入仕様は従来のまま(=適用スキンに関係なく、CGI本体のあるディレクトリに存在するファイルを読み込み)です。
※ファイル名がバッティングすると紛らわしいので、edit.htm というHTMLを挿入する形にしました。(CSSやJavaScriptをスキン別に読ませたい場合は、edit.htmの中に直接記述すれば良いでしょう。)
機能の違いをまとめると、下記のようになります。
- edit.css , edit.js は、スキンに関係なく読み込まれる(※tegalog.cgiファイルと同じディレクトリに格納する)。
- edit.htm は、スキン別に読み込まれる(※スキンディレクトリの中に格納する)。
▼事前設定:
デフォルトでは無効なので、使いたい場合には下記の場所で有効に設定して頂く必要があります。
▼出力位置:
挿入される位置は、下図の赤色帯の部分です。投稿フォームよりも後に出力されますから、JavaScriptで投稿フォームそのものをカスタマイズする際にも制御がしやすいでしょう。
そのほか、単純に文章を掲載する用途にも使えますから、投稿本文を行ごとに分割して活用するスキンの場合には、「何行目が何の役割なのか」をここに書いておくことで、編集を分かりやすくできるかもしれません。
➡ 詳しくは、ヘルプドキュメントの「新規投稿/編集画面に自由なHTMLをスキン別に加える方法」項目をご覧下さい。
▼今回のその他の機能追加:
🌺そのとき限定されているカテゴリの各種情報を挿入できる専用記法の追加。
カテゴリ限定表示時(=特定のカテゴリに属する投稿に限定して表示されている状況)で、そのカテゴリに関する各種情報(カテゴリ名や、カテゴリ概要文など)を挿入できる専用記法4つを用意しました。
カテゴリの名称だけは、従来から『 カテゴリ××に属する投稿 [xx件] 』のような形で、SITUATION部分に表示されましたが、この記法を使えば、概要文やアイコンも自由に配置して掲載できます。また、カテゴリIDは、HTMLソース内でclass名等に活用できるでしょう。
具体的には、下記の記法を追加しました。
✅[[INFO:NOWCAT:NAME]]
➡そのとき限定されているカテゴリの名称が挿入されます。
✅[[INFO:NOWCAT:DESCRIPTION]]
➡そのとき限定されているカテゴリの概要文が挿入されます。
✅[[INFO:NOWCAT:ICON]]
➡そのとき限定されているカテゴリのアイコンが挿入されます。
✅[[INFO:NOWCAT:ID]]
➡そのとき限定されているカテゴリのIDが挿入されます。
※カテゴリ限定表示時ではない状況では、何も出力されません。
※事前に許可設定をしていれば、カテゴリ概要文の中に任意のHTMLソースを含めることもできます。
➡ 詳しくは、ヘルプドキュメントのリファレンスの【現在カテゴリ情報要素】項目をご覧下さい。
🌺ゲストIDで投稿を禁止する設定(=ログイン者限定表示と併用することで「読者用ID」になる機能)の追加。
ゲスト権限(Lv.1)のIDでの投稿を禁止することで、ゲストIDを「読み専」にできる設定を追加しました。ログイン者限定表示機能を使っている場合でも、ログインパスワードを知っている人々からの閲覧は許容したい場合等にご活用頂けます。
この設定をすると、すべてのゲストIDの動作が変わります(※既にあるIDも、これから作るIDも)。
この機能を有効にしている状態だと、ゲストIDでログインした場合には、通常の管理画面ではなく、下図のような「読み専ID専用の管理画面」だけが見えます。(てがろぐHOMEへの移動か、ログアウトのどちらかしかできない画面です。)
なお、この機能が有効な場合は、(ゲスト権限のIDでは)ログイン中でも QUICKPOST(=ページ上に埋め込んで表示される投稿欄)は表示されません。その際は、非ログイン時と同じ出力になります。
詳しくは、『読み専ID(読むだけのユーザID)を作成する方法』項目や、『ログイン者限定表示の仕様』項目をご覧下さい。
🌺リスト記法で、リストの種類や記号を指定するオプションを使っている場合でも、さらに任意のclass名を指定できる機能を追加。
文字装飾記法には以前からリストを作る記法を用意していました。この記法にはオプションで、先頭記号や開始番号などを指定できました(➊)。また、任意のclass名を指定することもできました(➋)。しかし、その両者(➊と➋)を併用することはできませんでした。今回のバージョンでは、その併用を可能にしました。
例えば:
✅ [L:🌰:hogehoge: ~ ] と書くと、class名として listdeco-hogehoge が指定された、先頭記号が「🌰」の箇条書きリストになります。
✅ [L:5:hogehoge: ~ ] と書くと、class名として listdeco-hogehoge が指定された、5から始まる番号付きリストになります。
✅ [L:DL:hogehoge: ~ ] と書くと、class名として listdeco-hogehoge が指定された説明リスト(=dl+dt+dd要素から構成されるリスト)になります。
あらかじめ用意してあるスタイルを適用させつつ、先頭記号や番号等を指定したい場合にご活用頂けます。
詳しくは、ヘルプドキュメント「使い方・設定方法」ページ内にある『リストのオプション記述方法』項目内の、「任意のclassを指定」の後半をご覧下さい。
🌺SITEMAP XMLを静的ファイルに出力する機能を追加。
新規投稿や既存投稿の再編集タイミングで、SITEMAP XMLを sitemap.txt というファイルに出力する機能を加えました。(試験実装)
SITEMAP XMLを毎回動的生成するのはサーバ資源の無駄な気もしますので。投稿データの編集時に sitemap.txt として静的ファイルに出力しておけば、サイトマップXMLの参照時にはCGIを稼働させずに済むため、サーバの負荷軽減に役立つ気がします。
➡ 詳しくは、ヘルプドキュメントの「SITEMAP XML(静的出力)」項目をご覧下さい。
※この機能は試験実装です。仕様は将来のバージョンで変更される可能性があります。現在のところ、出力されるファイル名は sitemap.txt ですが、ファイルの中身はXMLです。(ファイル拡張子 .xml のファイルを一括アクセス制限している場合のために、そのような仕様にしています。それでSITEMAP XMLとしてどこでも認識されるのかどうかはハッキリしないので、ダメそうなら将来的にはファイルの中身もプレーンテキストに変更する可能性があります。)
🌺カテゴリの概要文でHTMLを使えるようにできる設定の追加。
カテゴリの概要文中に書いたHTMLソースを、HTMLとして出力もできるようにしました。
これによって、 [[INFO:NOWCAT:DESCRIPTION]] 等の記法を使ってカテゴリ概要文を表示する際に、任意のHTMLを出力することもできるようになります。
ただし、この機能はデフォルトではOFFなので、HTMLを書きたい場合は事前に下記の設定をする必要があります。
詳しくは、ヘルプドキュメント「使い方・設定方法」ページ内の『カテゴリ設定』区画にある『カテゴリ概要文にHTMLを書きたい場合の設定』項目をご覧下さい。
なお、カテゴリの概要文を掲載するスキンの書き方については、
🟣リファレンスの【現在カテゴリ情報要素】項目や、
🟠カスタマイズ方法ページの『カテゴリツリー内の掲載内容を指定できる CATEGORY:TREE:識別子 の書き方』項目をご覧下さい。
▼その他の細かな機能追加:
🌷カスタム絵文字のファイル名にハイフン・ドット・アンダーバーが含まれているとき、それらで分割した文字列を使ったclass名をさらに加える機能を追加。
カスタム絵文字を出力する際には、絵文字ごとに特別な装飾をCSSで施しやすいように、絵文字名(ファイル名)をベースにしたclass名が出力される仕様です。この仕様をさらに拡張して、「複数のカスタム絵文字に共通する装飾」を簡単に用意できるようにしました。
具体的には、下図の①②③のclass名が新たに追加出力されるようになります。
――― ▼従来からある仕様:―――
例えば、カスタム絵文字を挿入する [:takoyaki-large:] と [:takoyaki_ikayaki-set:] という記法を書いたとき、従来は次のような2つのclass名を含むHTMLソースが出力されていました。
<span class="cemoji ce-takoyaki-large"><img 絵文字画像></span>
<span class="cemoji ce-takoyaki_ikayaki-set"><img 絵文字画像></span>
この場合は
✅「cemoji」が、どんなカスタム絵文字にも共通する装飾に使えるclass名で、
✅「ce-takoyaki-large」や「ce-takoyaki_ikayaki-set」のように「ce-絵文字名」が、その絵文字専用の装飾に使えるclass名です。
――― ▼今バージョンでの追加仕様: ―――
今バージョンでは、カスタム絵文字の名称(ファイル名)にハイフン・ドット・アンダーバーが含まれているときには、それらで分割した文字列もさらにclass名として加わる仕様を追加しました。
例えば、カスタム絵文字を挿入する [:takoyaki-large:] と [:takoyaki_ikayaki-set:] という記法を書いたとき、次のようなclass名が出力されます。
✅cemoji、ce-takoyaki-large、ce-takoyaki、ce-large
✅cemoji、ce-takoyaki_ikayaki-set、ce-takoyaki、ce-ikayaki、ce-set
つまり、class名「ce-takoyaki」を使うと、これら2つのカスタム絵文字を一括して装飾できます。絵文字名に記号を使って分類名等を含めておけば、それらに共通して適用される装飾(CSS)を簡単に用意できるでしょう。
- 独立したclass名に分割されるのは、半角ハイフン記号「-」、半角アンダーバー記号「_」、半角ドット記号「.」の3つだけです。それ以外の文字では分割されません。
- どのclass名にも「ce-」の接頭辞が付きます。これは Custom Emoji の略です。
- カスタム絵文字を指定する際に、[:umai-takoyaki.png:] のようにファイル拡張子も含めて記述した場合は、拡張子も独立したclass名になります。この場合は、cemoji、ce-umai-takoyakipng、ce-umai、ce-takoyaki、ce-png が出力されます。
なお、カスタム絵文字の装飾方法について詳しくは、カスタマイズ方法ページ内の「カスタム絵文字の装飾方法」区画や、その中の「複数の絵文字に共通する装飾を指定したい場合の装飾方法」項目をご覧下さい。
🌷アタック目的のアクセスを簡易的に検出して拒否する(400 Bad Requestを返す)機能を追加。
不正アクセスの試みによって負荷が高まってしまうのをできるだけ防ぐ仕様を追加しました。
Web上に設置した何らかのシステム(※てがろぐCGIに限らずWordPressなど何でも)は、不正なパラメータを付加して不正侵入等を試そうとするSQLインジェクションのような攻撃を受けることがあります(※てがろぐはデータベースを使っていないので、そもそもそんな攻撃に意味はありませんが)。高頻度でそのような不正アクセスが集中するとサーバ負荷が高まる原因になるかもしれません。その悪影響を軽減させるため、SQLインジェクション攻撃っぽいパラメータが指定された場合には、内部でデータファイルの読み込み等の処理をするよりも前に、下図のようにほんの短い(140Bytes程度の)エラーメッセージと「400 Bad Request」のコードを返すようにしてみました。
※サーバ側の機能としてWAF(Web Application Firewall)が提供されているなら、WAFを使うことを推奨致します。(サーバのログに 400 Bad Request が多数記録されるようなら特に。)
▼仕様改善:
●既存ハッシュタグ簡単挿入機能で、ハッシュタグの後ではなく前に半角スペースを挿入できる(または一切挿入しない)設定機能を追加。
投稿欄下部の「既存のハッシュタグを簡単に挿入できるセレクトボックス」からハッシュタグを追加する際、(従来は)ハッシュタグの直後に強制的に半角スペースが1つ追加されていました。この仕様を、
Ⓐ ハッシュタグの後に半角スペースを挿入
Ⓑ ハッシュタグの前に半角スペースを挿入
Ⓒ 半角スペースは一切挿入しない
……の中から選べるようにしました。
強制挿入される半角スペースをいちいち消していた場合には、この設定を変更することで、面倒な手間を減らせるでしょう。
設定箇所は、管理画面の[設定]→[投稿欄の表示]→【既存ハッシュタグ簡単入力機能】→「既存ハッシュタグ入力ボタンの動作」項目です。(上図:水色矢印の先)
●「任意URLリンク」ボタンで、リンク先が丸括弧で囲まれる場合には、直後に半角スペースを自動挿入しない仕様に改善。
投稿欄下部の「任意URLリンク」ボタンを使ってリンク先を入力したとき、そのリンク先が、
✅相対パス
✅(スラッシュ記号で始まる)絶対パス
✅メールアドレス・電話番号
……だった場合には、丸括弧で囲む記法が出力されます。そのように「リンク先を丸括弧で囲む」場合は、記法の直後に半角スペースは要りませんから、自動挿入しないように仕様を改善しました。
※リンク先が丸括弧で囲まれない記法が出力される場合には、従来通り、半角スペースが出力されます。丸括弧のありナシについては、使い方・設定方法ページの「リンクの書き方」区画にある「リンクになる書き方のバリエーション」項目で解説しています。
※URLの直後に続く文字が全角文字や絵文字等のように半角英数字ではないなら、半角スペースは消しても正しく動作します。ここで半角スペースを強制挿入しているのは、(直後に半角文字を続けてしまった場合などに対処するための)ほぼ「念のため」というくらいの意味であって、必須というわけではありません。
※リンク先を丸括弧で囲まなくても良い場合は、丸括弧で囲んでも問題なく動作します。(逆に、丸括弧で囲まなければならない場合は、丸括弧を省略すると正しく動作しません。)
●データファイルを読むよりも前にパラメータの不正をチェックすることで、無駄なデータ読み込みを発生させないよう改善。
てがろぐ本体(tegalog.cgi)に与えるパラメータがおかしい場合には、従来から下図のようなエラー画面が表示されます。しかし従来は、この類いの画面を表示する場合でも、内部では全データファイルを(無駄に)読み込んでいました。
今バージョンから、この類いの画面はデータファイルを読み込む処理よりも前に表示するよう改善したため、無駄なディスクアクセスを削減できるようになりました。
※人間のユーザがこの画面を見る機会はあまりないと思うのですけども、何やらよく分からないBotがテキトーなパラメータで大量アクセスしてくるケースに遭遇しましたので、そういう場合に余計な負荷が高まらないようにするための対策です。
●QUICKPOSTで投稿欄が空っぽの状態で投稿したときの動作を改善。
従来はQUICKPOSTから投稿欄が空っぽの状態で投稿した際には「処理内容がありません。データファイルをリフレッシュしました。」と表示されていましたが、そうではなく新規投稿画面に移動するよう動作を改善しました。(※ただ、内部ではデータファイルを再生成・再出力している動作は同じです。)
なお、新規投稿画面で投稿欄が空っぽの状態で投稿ボタンを押した際には、どこにも移動せずに「投稿本文を何か入力して下さい。」とAlertを表示するだけにしました。
●投稿単独表示時の隣接投稿への移動先解釈の改善。
従来は、隣接する投稿が下書きだろうと何だろうと、とにかく「直接隣接する投稿」へのリンクが出ていましたので、リンクをクリックした結果「指定された番号の投稿は存在しない」と表示されてしまうケースがありました。その種の問題を、下記のような動作にすることで解消しました。
例えば、下表のような属性・カテゴリ・内容の No.96~103 の投稿があり、「現在は No.100 が単独で表示されている」という場合を例にして説明します。
✅上記のような場合、No.100 の前後は No.99 と No.101 ですから、従来は下図左側のように「« No.99」と「No.101 »」のリンクが出力されていました。しかし、ここでは No.101 は下書き状態ですから(投稿者本人以外が)アクセスすると「指定された番号の投稿は存在しません」というメッセージだけが見えてしまいます。
その仕様を改善して、(表示対象外である下書き投稿は飛ばして)No.102 を「次の投稿」だと認識する仕様にしました。
✅また、ギャラリーモードでの投稿単独表示時でも、従来は単純に両隣にある投稿として「« No.99」と「No.101 »」のリンクが出力されていました。この場合、下書き状態の No.101 に先と同様の問題があるだけでなく、No.99 も(画像が含まれていないので)ギャラリーモードの表示対象にならないため、「表示対象外なために表示できません」というメッセージが表示されるだけになっていました。(下図左側)
その仕様を改善して、(ギャラリーモードでは)画像が含まれる投稿に限った場合の最も直近にある投稿を「隣の投稿」だと認識する仕様にしました。その結果、ここでは下図右側のように「« No.96」と「No.103 »」のリンクが出力されます。
このように、「隣だと認識する投稿」を、その投稿の中身や属性を勘案して選ぶように改善しました。
●管理画面のボタンの行高を固定することで、一部のモバイル端末でボタンの高さがガタガタになる現象を解消。
一部のモバイル環境では、管理画面HOMEに並んでいる各ボタンの高さが揃っていないようでしたので、CSSに調整を加えました。
●YouTubeの埋め込みに「ライブ動画の共有用URL」も使用可能に。
YouTubeのライブ動画の共有用URL(=URL内に/live/が含まれるもの)を使った埋め込みにも対応しました。
※従来でも、watch?v=XXXXXX のようなURLを使えば、ライブ動画でも埋め込むことはできました。ただ、YouTube側のUIを使って共有用URLを得ると、ライブ動画では異なる形態のURLが出力されていましたので、それに対応させました。
詳しくは、『YouTube動画を埋め込む書き方』をご覧下さい。
▼#不具合修正 :
❎URLを丸括弧で囲む [ラベル](URL) 記法の直後に半角丸括弧を書いたとき、記法末尾の「)」記号がURLの一部だと誤解されてしまう不具合を修正。
※URLにリンクラベルを付けるだけの場合は、URLを丸括弧で囲まない書き方もできます。「リンクになる書き方のバリエーション」で解説しています。
以上、ご活用頂ければ幸いです。
※不具合の修正と動作仕様の改善も含んでおりますので、使いたい追加機能がない場合でもアップグレード頂くことをお勧め致します。
※バージョンアップしても、ログインし直す必要はありません。ログイン状態は維持されます。データや設定はそのまま引き継げますし、もし必要になれば後からバージョンダウンすることも可能です。バージョンアップ方法について詳しくは、「CGIの更新方法」をご覧下さい。
なお、開発進捗状況報告サイトでフォロー頂くと、てがろぐCGIの最新β版や正式版の公開時にメールで連絡を受け取ることもできますので、ぜひご活用下さい。(╹◡╹)ノ
フォロー数が増えると、私の開発モチベーションが向上するメリットもあります!!!🤩
:15047文字 修正
2023年
てがろぐ Ver 4.2.0 を公開しました! #Update
➡ https://www.nishishi.com/cgi/tegalog/
バージョンアップするには、
- 1クリックでバージョンアップできる専用PHP「TegUp」のご使用がお勧めです。
- もしくは、最新版のZIPの中から tegalog.cgi と fumycts.pl の2ファイルだけを抜き出して上書きアップロードして下さい。
🆕 Ver 4.2.0の更新点(概要):
《▼大きな機能追加》
●画像一覧モードの追加(投稿本文で使われているかどうかに関係なく、画像保存用ディレクトリに存在する画像すべてを一覧表示するモード)
●スキン内に IF文を使って、状況に応じてHTML自体の出力を切り替えられる機能(専用記法 [[IF(条件): ~ :IF]] )を追加
●複合検索機能で、検索結果を表示するモードを維持または強制指定できるオプションを追加。
《▼その他の機能追加》
●ランダム表示モードでも、表示対象を絞り込める機能を追加
●前のページに移動するリンク《だけ》を出力できる記法 [[NAVI:PREV]] を追加。
●次のページに移動するリンク《だけ》を出力できる記法 [[NAVI:NEXT]] を追加。
●リンクを作る際に、従来の [ラベル]URL 記法に加えて、URLを丸括弧で括る [ラベル](URL) 記法も使用可能にしました。
●リンク先URLを、相対パス(../page.html)や、絶対パス(/path/to/file.html)でも指定できるようにしました。
●HOMEページの静的HTML出力機能(HOMEページだけを index.html ファイルにも出力できる機能)を追加。
《▼細かな機能追加》
●ユーザ紹介文を出力する記法 [[USERINTRO]] を追加
●リンク先として mailto: や tel: のURIスキームを使って、メールアドレスや電話番号へもリンク可能にしました。
●リンク個別に、任意のclass名を付加できるオプション記法を追加しました。
●リンクラベルにオプション :NEW を加えると、そのリンクだけに target="_blank" を出力する機能を追加しました。
●リンクラベルにオプション :NF を加えると、そのリンクだけに rel="nofollow" を出力する機能を追加しました。
●CodePenを埋め込む機能(記法のみ)を追加。
●「任意URLリンク」ボタンを押してリンク先URLを入力した際に、URLに縦棒記号「|」が含まれていれば自動的に %7C に置き換える仕様を追加。
●「任意URLリンク」ボタンを押したときに、範囲選択されている範囲内に半角角括弧がある場合は、それぞれ [ と ] に置き換える仕様を追加。
●サムネイル画像がUPされている画像には、画像情報編集画面でもサムネイル画像へのリンクが表示されるように。
●投稿一覧画面で表示対象を絞り込んでいる際には、「絞り込みを解除する」リンクも表示。
●管理画面のTOPに、稼働しているPerlのバージョンを表示。
《▼仕様改善》
●ツイートのURLが x.com ドメインになっていても埋め込めるようにしました。
●リンクを新規タブに表示するよう設定している場合は、「Twitterで見る」のリンクも同様に新規タブに表示するよう改善。
●検索窓に加わるチェックボックスで、ラベルとして表示される文字列だけを、さらにspan要素で囲むよう改善。(ラベルだけを装飾したい場合や、JavaScriptで書き換えたい場合などに処理しやすいように。)
●ナビゲーション系の記法で、リンク先URLの末尾に余分な & 記号が付いた状態で出力されてしまうケースがあったが、付かないように改善。
●内側スキンで [[COMMENT:LINE:3]] のように、特定の1行だけを抽出する記法では、最後に必ず <br /> タグが付加されていたが、付加されない仕様に改善。
●ユーザアイコンの指定が http:// や https:// で始まるURLで指定されている場合で、設置ドメインと同じURLなら、ドメイン名までを自動で省略するように改善。
●これまで $howtogetpath の値を変更しないと正常動作しなかったサーバでも、(おそらく)書き換えなくても動作するように改善。
《▼スキン更新》
●画像一覧モードで使うための新スキン「skin-picts」を追加。(※完全版ZIPに同梱)
●標準添付の各スキンに、画像一覧モードへのリンクも追加。(チャットスキンと特殊スキンを除くすべて)
《▼不具合修正》
❎ラベル付きリンクを書いた際に、リンク先URLの途中にさらに「 http:// 」の文字列が出てくるとリンク表示が崩れてしまうバグを修正。
❎ギャラリーモードやサイトマップページモードで複合検索窓を使うと、表示中のモードが解除されてしまう問題を解決。(※スキンの書き方によってはスキン側に識別子を追記する必要あり)
❎新着画像リストの表示設定で、『サムネイル画像があればサムネイルの方を表示』を設定していても効いていなかった不具合を修正。
❎GALLERY、SITEMAPの各モードで日付境界バーを表示したときに、「この範囲を時系列順で読む」のリンクを使うと表示モードが解除されてしまう(=表示モードを維持できない)不具合を解消。
❎新着画像リストの出力で [[IMAGELIST:GALLERY]] 等のように表示モードを指定しても効いていなかった不具合を修正。
▼今回の大きな機能追加:
🌸画像一覧モードの追加
投稿本文で使われているかどうかに関係なく、画像保存用ディレクトリに存在する画像すべてを一覧表示する「画像一覧モード」を追加しました。
▼解説:
標準添付の画像一覧モード用スキン(skin-picts)で表示すると、下図のように見えます。アップロードされている画像がただひたすら列挙されます。
なお、標準ではOFFですが、日付境界バーを表示する設定に変えると、「いつ頃にアップロードした画像なのか?」が一覧時点で分かりやすくなるメリットもありそうです。下図は、日付境界バーを日ごと(=年月日すべての境界)に表示する設定にした例です。
画像一覧モードの表示に関する設定は、管理画面の[設定]→[補助出力]→【画像一覧モードの出力】でできます。ここで、使うスキンも変更できます。
▼仕様:
✅てがろぐの画像保存用ディレクトリにアップロードされている画像のうち、画像管理画面で『一覧外』フラグを立てていない画像すべてが表示対象です。『一覧外』フラグが立っている画像をどうするかは、設定で選択できます。(どちらにせよ、一覧には表示されません。)
✅ギャラリーモードとは違って、投稿単位ではなく画像単位で表示します。なので、投稿本文に使われていない画像でもすべて表示されます。
✅スキンの作り方は他と同じなので自由に表示をカスタマイズできます。NSFWフラグは(他のモードと同様に)class名の形で出力されますから、ぼかすなり何なり好きなようにスキンを作って表示を調整できます。
✅画像ファイル名やキャプション、フラグ名での検索(絞り込み表示)もできます。AND、OR、NOT検索も可能ですから、例えば「-nsfw」で検索すればNSFWフラグのない画像だけを表示できます。もちろん、逆に「nsfw」で検索すればNSFWフラグが付いた画像だけを表示できます。
✅てがろぐでは、画像そのものにはカテゴリは(今のところ)設定できませんが、キャプションと検索機能を併用すれば、自由な分類表示もできそうな気がします。
✅一覧表示時には、サムネイル画像がUPされている画像はサムネイルの方が表示されます。画像の単独表示時には、サムネイルがあってもオリジナルの方が表示されます。下図は、画像一覧モードで1つの画像を単独表示するページを見たところです。
上図は、あくまでも標準添付されている skin-picts で表示した場合の例ですから、もちろんお好きなようにスキンを作ることで、自由な表示にできます。
※画像が拡大画像へのリンクになるかどうかとか、サムネイルがある場合にサムネイルの方が表示されるかどうか等は、すべて管理画面の設定次第です。(画像一覧モードは、「投稿単位ではなく画像単位で表示される」という動作が異なるだけで、それ以外の仕様はすべて同じですから。スキンを作る記法も他と違いはありません。)
詳しくは、
- 使い方・設定方法ページの「特殊な閲覧モード」区画の『画像一覧モード』項目
- カスタマイズ方法ページの「画像一覧モード用スキンの作り方・使い方」区画
※特に、後者のページで仕様や動作を詳しく解説しています。
★FTPで画像をUPする際の注意:
てがろぐ上を経由せずに、FTP等の別手段で画像をアップロードした場合、そのままでは画像一覧モードには出てきません。てがろぐ側が新画像の存在を認識していない状態だからです。てがろぐ側に新画像の存在を認識させるには、ただ「画像の管理」画面を1回表示させるだけでOKですので、FTP等でアップロードした場合は、ブラウザから「画像の管理」画面を1度表示させて下さい。
そうすると、てがろぐ内部で画像インデックスファイル(index.xml)が更新されますので、画像保存用ディレクトリ内にある新しい画像もすべて画像一覧モードに表示されるようになります。
🌸スキン内に IF文を使って、状況に応じてHTML自体の出力を切り替えられる機能を追加
指定条件を満たす状況だけで、スキンHTML内の指定範囲の出力/非出力を切り替えられる「IF文」機能を実装しました。外側スキンでも内側スキンでも、専用記法 [[IF(条件): ~ :IF]] を使って記述できます。
▼解説:
状況に応じて表示/非表示を切り替える機能は「CSSを使って切り替える方法」が従来からありましたが、あくまでも表示/非表示のスタイルを切り替えるだけに過ぎないので、HTMLとしては全部出力されていました。
その場合、HTMLには(表示に使われない)無駄なソースが出力されてしまいますし、JavaScriptから制御したい場合に少々面倒な場合があるなどの問題がありました。
今回実装した「IF文」は、指定範囲のHTMLソース自体の出力を抑制できるため、上記の問題がありません。
IF文で指定する条件は(全文検索と同じように)AND・OR・NOT検索の形で指定できますから、例えば以下のように書けます。
- 上図2~4行目のように、[[IF(onelog):~~~:IF]] と書けば、「~~~」の部分が投稿単独表示時にだけ出力されます。
- 上図7~9行目のように、マイナス記号を付けて [[IF(-onelog):~~~:IF]] と書けば、「~~~」の部分は投稿単独表示時以外の状況だけで出力されます。
丸括弧の中(=条件)は、 home や grandhome や cat-info や user-tomoyo など、状況に応じて装飾を分ける用途に使ってきた「SITUATION:CLASS」として出力される状況キーワードが全部使えます。また、複数の単語を同時に指定もできます。
この機能を使うと、状況別にHTMLを出し分けられるだけではなく、従来なら複数のスキンを併用しないといけなかった構成も、もしかして単一のスキンで済むようにもできたりするのではないでしょうかね……?
IF文の書き方や使い方について詳しくは、下記のヘルプドキュメントをご覧下さい。
- リファレンス:【IF文での出力条件分け】
- カスタマイズ方法ページ内の「そのときの表示状況に応じてページデザインを切り替える方法」区画は、(従来のCSSに加えて)今回実装したIF文の話も追記して、全体的に再編しました。IF文に関しては、「そのときの表示状況に応じてページ出力を、IF文で切り替える方法」項目で解説しています。
- また、「一覧表示時と単独表示時とで表示/非表示を切り替える方法」で具体的な活用方法も紹介しています。
後述しますが、今回から新たに(完全版ZIPに)添付される「画像一覧モード用スキン」では、skin-onelog.html 内で、この「一覧表示時と単独表示時とで表示/非表示を切り替えるIF文」を使っています。そちらのソースも参考にして下さい。
🌸複合検索機能で、検索結果を表示するモードを維持または強制指定できるオプションを追加。
複合検索窓では従来は表示モードを維持して検索結果を表示する方法がありませんでしたが、その機能を加えました。
▼解説:
下図は、デフォルト構成での表示です。矢印部分に、表示モードを維持して検索結果を表示するチェックボックスが見えます。
また、複合検索窓に表示する項目として指定できる識別子を、下記のとおり5つほど増やして、強制的に表示モードを選べるようにもしました。
※上図でチェック✅が付いている項目は、[[SEARCHBOX:COMPLEX]] とだけ書いて識別子を省略した場合にデフォルトで表示される項目です。
チェックボックスは閲覧者が自らの操作で切り替えられますが、CSSで非表示にしてしまえば強制的に固定できます。ギャラリーモードで検索するオプション「G」や、サイトマップページモードで検索するオプション「S」は、識別子を大文字で書けば最初からONの状態で出力されます(識別子を小文字で書くと「最初はOFFの状態」で出力されます)。なので、その状態で非表示にしてしまえば(現在の表示モードに関係なく)検索結果を表示するモードを強制できます。
なお、複合検索窓ではない普通の検索窓と同じように、「ギャラリーモードで表示されているときにだけ検索結果もギャラリーモードで表示するチェックボックスを出す」動作をさせるには、識別子の「 M 」を使って下さい。この場合、ギャラリーモードでもサイトマップページモードでもない状況では何も出力されません。
詳しくは、カスタマイズ方法ページ内の『検索条件プルダウンメニューの取捨選択や掲載順序の指定』をご覧下さい。
▼今回のその他の機能追加:
🌺ランダム表示モードでも、表示対象を絞り込める機能を追加
従来のランダム表示モードは、問答無用で全投稿番号を対象にしてランダムに選ばれる仕様でしたが、選ばれる対象をパラメータで限定できるように改良しました。
例えば、
- mode=random のパラメータだけを使うと、「下書き状態」と「下げる状態」を除く全投稿の中からランダムに1件が選ばれて表示されます。
- mode=random&cat=test のように、「カテゴリtestを示すパラメータ」を加えると、カテゴリtestに属する投稿の中からランダムに1件が表示されます。
詳しくは、使い方・設定方法ページの「ランダムに1件を表示」区画 と「表示対象を絞り込んで、ランダムに1件を表示」区画をご覧下さい。
🌺前のページに移動するリンク《だけ》を出力できる記法 [[NAVI:PREV]] を追加。
🌺次のページに移動するリンク《だけ》を出力できる記法 [[NAVI:NEXT]] を追加。
従来は前後のページに移動するリンクをまとめて出力する [[NAVI:PREVNEXT]] だけを用意していましたが、前と後とを別々に出力できる記法も追加しました。
前後のページに移動するリンクをそれぞれ離れた位置に掲載したい場合にご活用頂けます。
※前のページがない状況では、 [[NAVI:PREV]] は何も出力しません。
※次のページがない状況では、 [[NAVI:NEXT]] は何も出力しません。
詳しくは、リファレンスの【ページ移動ナビゲーション要素】項目をご覧下さい。
※もし、PREV と NEXT の左右を逆に配置したい場合は、てがろぐの設定画面で矢印記号の表示設定を消す必要があるかもしれません。
🌺リンクを作る際に、従来の [ラベル]URL 記法に加えて、URLを丸括弧で括る [ラベル](URL) 記法も使用可能にしました。
Misskeyで使われているような、リンクラベルの後に丸括弧で括ったURLを書いてもリンクとして認識する機能を追加しました。
従来は [ラベル]URL の記法だけがリンクになり、 [ラベル](URL) のようにURLを丸括弧で括ってしまうと下図の上側のようにおかしなリンクになってしまっていました。
今バージョン以後は、下図の下側のように、どちらの書き方でもリンクになります。(※従来の書き方が廃止されるわけではありません。どちらでも使えるようになります。)
✅新記法 [ラベル](URL) のメリット:
➡ リンクの直後に半角英数字等が続く場合でも、半角スペースを使って間を開けることなく、続けて記述できます。
✅従来の記法 [ラベル]URL のメリット:
➡ リンクURLの中に半角丸括弧が含まれる場合でも正しくリンクできます。
なお、これらの仕様は下図のように、個別に有効/無効を選択できます。(デフォルトでは両方有効になっています。)
もし何らかの不都合がある場合にはOFFにできます。
➡ 詳しくは、(使い方・設定方法ページの)「リンクの書き方」区画内にある「リンク出力に関する詳細設定」項目をご覧下さい。
🌺リンク先URLを、相対パス(../page.html)や、絶対パス(/path/to/file.html)でも指定できるようにしました。
URLを丸括弧で括った場合に限っては、相対パスや絶対パスでサイト内リンクを設けることもできるようになりました。
URLを丸括弧で括る記法をサポートしたことで、書ける内容の自由度が増しましたので、相対パスや絶対パスでもリンク先を指定できるようにできました。
それらのリンク先は、丸括弧で囲まないと使えないのでご注意下さい。
➡ 詳しくは、(使い方・設定方法ページの)「リンクの書き方」区画内にある「リンクになる書き方のバリエーション」項目をご覧下さい。
また、各リンク記法を使った際に、実際にどのようなHTMLソースが出力されるのかについては、(カスタマイズ方法ページの)「リンクの装飾方法」区画で解説していますのでご参照下さい。
- URLだけを書いた場合に出力されるHTML
- URLにリンクラベルを指定した場合に出力されるHTML
- 任意のclass名を指定できるオプションをラベルに加えた場合に出力されるHTML
- URLをLightboxで開くオプションをラベルに加えた場合に出力されるHTML
- リンクラベルの中に画像を含めた場合に出力されるHTML
🌺HOMEページの静的HTML出力機能(HOMEページだけを index.html ファイルにも出力できる機能)を追加。
てがろぐCGIが生成するHOMEページだけを、別途 index.html ファイルにも出力できるオプションを試しに加えてみました。(試験的な実装)
この機能を使うと、トップページ(=何の表示条件も指定されておらず、モードも指定されていない状態の1ページ目)へのアクセスだけは、静的なHTMLを読むだけになるので、負荷軽減と速度向上になるかな、と思います。たいてい、最も多く閲覧されるのはHOMEページでしょうから。
とはいえ、Webでサーバ負荷を増大させる要因は、主に「いろんなURLに次々アクセスしてくるBot」の可能性も高いですから、そのような場合(=Botからのアクセスが多くて負荷が高まっている状況)では、あまり負荷軽減の役割にはならないかもしれませんが。ただ、人間の閲覧者向けに(少なくともHOMEページでだけは)素早いレスポンスを提供できるメリットはあるかもしれません。
なお、現状でも特に動作速度に不満がない場合は、特にお使い頂かなくて良いと思います。この機能を使うには、単にチェックボックスをONにすれば良いとは限らず、事前準備が必要な場合があります。
詳しくは、使い方・設定方法ページ内の「HOMEページだけは静的HTMLファイル(index.html)として出力する機能」区画をご覧下さい。
※現時点では「試験的な実装」という位置づけです。役に立つかどうかは、しばらく使ってみないと分からないかな……という気もしていますので、よろしければお試し頂ければ幸いです。^^;
▼その他の細かな機能追加:
🌷ユーザ紹介文を出力する記法 [[USERINTRO]] を追加
管理画面のユーザ登録情報には従来から「紹介文」という欄がありましたが、ここに入力した内容をどこかに表示する方法は用意していませんでした。ここに入力した内容を出力できる記法 [[USERINTRO]] を追加しました。
※詳しくは、リファレンスの【投稿ユーザ関連要素】項目をご覧下さい。
🌷リンク先として mailto: や tel: のURIスキームを使って、メールアドレスや電話番号へもリンク可能にしました。
URLを丸括弧で括る記法をサポートしたことで、書ける内容の自由度が増しましたので、メールアドレスや電話番号へもリンクできるようになりました。
※詳しくは、(使い方・設定方法ページの)「リンクの書き方」区画内にある「リンクになる書き方のバリエーション」項目をご覧下さい。
🌷リンク個別に、任意のclass名を付加できるオプション記法を追加しました。
リンクラベルに :CL(英数字) というオプションを加えることで、個別のリンクに任意のclass名を付けられる仕様を追加しました。
※リンクラベルに加えられる各オプション記法について詳しくは、(使い方・設定方法ページの)「リンクの書き方」区画内にある「リンクラベルに加えられるオプション」項目をご覧下さい。
🌷リンクラベルにオプション :NEW を加えると、そのリンクだけに target="_blank" を出力する機能を追加しました。
従来から、管理画面で「すべてのリンクを別タブで表示させる」ようには設定可能でしたが、個別に指定することはできませんでした。今バージョンでは、リンクラベルに :NEW というオプションを加えると、そのリンクにだけ target="_blank" が出力され、新規ウインドウ(別タブ)で開くリンクになります。
※リンクラベルに加えられる各オプション記法について詳しくは、(使い方・設定方法ページの)「リンクの書き方」区画内にある「リンクラベルに加えられるオプション」項目をご覧下さい。
🌷リンクラベルにオプション :NF を加えると、そのリンクだけに rel="nofollow" を出力する機能を追加しました。
従来から、管理画面で「すべてのリンクに rel="nofollow" を加える」ことはできましたが、個別に指定することはできませんでした。今バージョンでは、リンクラベルに :NF というオプションを加えると、そのリンクにだけ rel="nofollow" が出力されます。
※リンクラベルに加えられる各オプション記法について詳しくは、(使い方・設定方法ページの)「リンクの書き方」区画内にある「リンクラベルに加えられるオプション」項目をご覧下さい。
🌷CodePenを埋め込む機能(記法のみ)を追加。
CodePenを埋め込める記法を追加しました。
どれくらい需要があるのかはよく分かりませんが(^_^;)、個人的にちょっとあると便利だな、と思いましたのでCodePenを埋め込める記法を追加しました。今のところボタンクリックで記法を挿入する機能はありませんので、[CodePen]のラベルを自力でお書き頂く必要があります。(大文字・小文字は区別しません。)
この機能は、デフォルトではOFFに設定されていますので、使いたい場合は、まずは設定項目をONにして下さい。
➡ 詳しくは、(使い方・設定方法ページの)「CodePenを埋め込む書き方」項目をご覧下さい。
🌷「任意URLリンク」ボタンを押してリンク先URLを入力した際に、URLに縦棒記号「|」が含まれていれば自動的に %7C に置き換える仕様を追加。
リンクラベルの半角の縦棒記号が含まれる場合には、自動でURLエンコードするようにしました。(※ボタンクリックでリンク記法を生成する場合のみ。)
リンク先URLの中に半角縦棒記号 | がそのまま含まれていると、その直前でリンクが切れてしまいます。そうならないように、入力されたURLの中に含まれる | 記号を、URLエンコードした %7C に自動で置き換える機能を加えました。
※この機能は「任意URLリンク」ボタンを押してリンク先URLを入力した際にJavaScriptで実行しますので、自力でリンク記法を直接書いた場合には実行されません(その際は手動で %7C と書いて頂く必要があります)。
🌷「任意URLリンク」ボタンを押したときに、範囲選択されている範囲内に半角角括弧がある場合は、それぞれ [ と ] に置き換える仕様を追加。
リンクラベルに半角の角括弧が含まれている場合の数値文字参照への変換を自動で行うようにしました。(※ボタンクリックでリンク記法を生成する場合のみ。)
てがろぐ側の記法の都合上、リンクラベルの中に半角の角括弧記号 [ や ] を含めることはできません。ただ、リンクラベルの中に文字実体参照の書き方を使って [ や ] のように書けば、リンクラベルとして半角角括弧を表示することはできます(従来から)。
そこで、「任意URLリンク」ボタンを押したときに範囲選択されている文字列の中に半角角括弧が含まれていた場合は、自動で [ や ] に変換するようにしました。
※ボタンを使わずに自力でリンク記法を記述した場合には変換されません(その際は、自力で [ や ] とお書き頂く必要があります)。
🌷サムネイル画像がUPされている画像には、画像情報編集画面でもサムネイル画像へのリンクが表示されるように。
画像管理画面からアクセスできる各画像の画像情報編集画面で、サムネイル画像の存在も確認できるようにしました。
従来から画像格納用ディレクトリの中に mini というサブディレクトリを作って同名の画像ファイルをUPしておけば、それがサムネイルとして扱われる機能があります。この方法を使ってサムネイル画像をUPしている場合は、下図のように、画像管理画面からアクセスできる各画像の画像情報編集画面で、サムネイル画像の存在も確認できるようにしました。
上図の水色矢印の先のように、サムネイル画像の存在が表示されます。クリックするとLightboxで表示されます。サムネイル画像の存在が認識されていない場合は、この「サムネイル」項目自体が表示されません。詳しくは、使い方・設定方法ページの「サムネイル用画像の確認画面」項目もご覧下さい。
※この画面からサムネイル画像をUPしたり消したりすることはできません。単に「あれば表示する」というだけの機能です。
本当はここから新規にサムネイル画像をUPしたり消したりできるようにしようと思っていたのですが、思ったよりも面倒だったので先送りしました。_(┐「ε:)_
それを実装するには、もうちょっと多めの気力が必要そうです……。🍮🍩🍫🍰🍨
🌷投稿一覧画面で表示対象を絞り込んでいる際には、「絞り込みを解除する」リンクも表示。
検索語を手動で削除しなくても、リンクを押すだけで絞り込み状態を解除できるようにしました。
管理画面の投稿一覧画面では、一覧対象の投稿を任意の検索語で絞り込むことができます。その際、元の「何も絞り込んでいない状態」に戻すには、従来は検索語を削除してから「検索」ボタンを押す必要がありました。その操作が少々面倒でしたので、下図のように「絞込解除」というリンクを表示するようにしました。これを押すと、絞り込んでいない状態に戻れます。
🌷管理画面のTOPに、稼働しているPerlのバージョンを表示。
参考までに、お使いのサーバで稼働しているPerlのバージョン(と、てがろぐを稼働させるために必須のPerlモジュールである「CGI.pm」のバージョン)を、管理画面のTOPに表示するようにしました。
下図の矢印の先に薄く表示されています。
何か不思議なトラブルに遭遇した場合には、この辺のバージョン番号も併せてお知らせ頂けると何かの参考になるかもしれません。
※Time::Localモジュールも必須なんですが、そちらは(Perlの標準モジュールに含まれているためなのか)単独でバージョン情報を得る方法がなさそうでしたので、表示していません。
たぶんないとは思うのですが、『てがろぐのページ自体は正しく表示されるのに、管理画面のTOPだけが 500 Internal Server Errorになる』という場合は、お手数ですがお知らせ下さい。Perlのバージョンがすごく古い場合には、バージョンの表示方法に問題があって管理画面のTOPが表示できなくなってしまっている可能性があります。一応、その可能性は潰したと思ってはいるのですけども。少なくとも Perl 5.8.6 では大丈夫だったのですが。それよりも古いバージョンでは確認できていませんので。(※てがろぐの動作には Perl 5.6 以上が必要ですから、5.6未満の環境では元々動きません。)
▼仕様改善:
🍏ツイートのURLが x.com ドメインになっていても埋め込めるようにしました。
モバイルアプリからツイートを共有しようとすると、ドメインが twitter.com ではなく x.com になるようですので、その x.com ドメインでもツイートを埋め込めるようにしました。(従来の twitter.com ドメインでも引き続き埋め込み可能です。)
🍏リンクを新規タブに表示するよう設定している場合は、「Twitterで見る」のリンクも同様に新規タブに表示するよう改善。
ツイートが埋め込まれるまでの間に表示される「Twitterで見る」のリンクは従来、(てがろぐ側の設定値にかかわらず)常に同一ウインドウ内で表示されるリンクになっていました。この仕様を改善して、てがろぐ側の設定で「新規タブで開く」または「フレームを解除して開く」に設定されている場合には、この「Twitterで見る」のリンクも同様のリンク方法になるようにしました。
🍏検索窓に加わるチェックボックスで、ラベルとして表示される文字列だけを、さらにspan要素で囲むよう改善。(ラベルだけを装飾したい場合や、JavaScriptで書き換えたい場合などに処理しやすいように。)
カテゴリ限定表示時やハッシュタグ限定表示時のように表示対象が限定されている場合や、ギャラリーモード・サイトマップページモードのように特別な表示時には、その状態を維持したままで検索結果を表示できるようにするチェックボックスが検索窓に追加されます。このとき、限定対象を示す文字列だけを下記のようにspan要素で囲むようにしました。(ラベルだけを装飾したい場合や、ラベルの文字をJavaScriptで書き換えたい場合などに処理しやすいように。)
※class名は付加していませんので、親要素のclass名を使って特定して頂く必要があります。
詳しくは、カスタマイズ方法ページ内の『検索対象が限定されている場合に追加表示されるチェックボックスを含んだ出力HTML』や『複合検索窓の各部分をCSSで装飾する方法』に掲載している解説をご覧下さい。
🍏ナビゲーション系の記法で、リンク先URLの末尾に余分な & 記号が付いた状態で出力されてしまうケースがあったが、付かないように改善。
何らかのリンクを出力する記法を使った際に、リンク先として出力されるURLの末尾に、余分な(=あってもなくても動作は変わらない)「&」記号が1つ付加されてしまうケースが時々ありました。
あっても特に動作上の問題はないのですが、見た目にちょっとどうかと思いましたので、付かないようにしました。(まだ付いている箇所があったら教えて下さい。)
🍏内側スキンで [[COMMENT:LINE:3]] のように、特定の1行だけを抽出する記法では、最後に必ず <br /> タグが付加されていたが、付加されない仕様に改善。
内側スキンでは、リファレンスの【投稿本文関連要素(オプション)】区画で解説しているように、『投稿本文を行単位で分割して挿入する記法』が使えます。
このとき、指定の1行だけを抜き出す [[COMMENT:LINE:3]] のような記法を使った場合でも、最後に必ず改行タグ <br /> が付加される仕様でした。
ブラウザ上での表示上(見た目)にはあまり問題ないでしょうけども、<br /> が付いていることで、スクリプト等から文字列を活用したい場合には、少々加工する手間が必要になってしまう問題がありました。ので、1行だけを抽出する場合には <br /> が付かない状態で出力されるよう改善しました。
※あまりないとは思いますが、もし末尾に <br /> が付くことを前提にして何かを作っている場合には、手動で <br /> を加えて頂く必要が出てきますのでご留意下さい。
🍏ユーザアイコンの指定が http:// や https:// で始まるURLで指定されている場合で、設置ドメインと同じURLなら、ドメイン名までを自動で省略するように改善。
てがろぐCGI自体が HTTPS で稼働しているのに、ユーザアイコンを http:// のようにHTTPで表示させてしまっている場合に、HTTPS・HTTP混在で画像が非表示になってしまうのを防ぐため、ユーザアイコンの存在するドメインが、てがろぐ設置ドメインと同じ場合に限って、以下のように自動修正されて出力されるようにしました。
- 設定された値: http://www.example.com/image/usericon.png
- 実際の出力値: /image/usericon.png
※「画像URLのドメイン」と「てがろぐ設置ドメイン」とが異なる場合には自動調整はされません。
🍏これまで $howtogetpath の値を変更しないと正常動作しなかったサーバでも、(おそらく)書き換えなくても動作するように改善。
従来、mixhostやカラフルボックスなど一部のサーバに設置する場合には、tegalog.cgiソース77行目にある $howtogetpath の値を 0 に書き換えて頂く必要がありました。この処理を見直したため、書き換えずに 2 のままで動作できるようになりました。
今まで、この $howtogetpath の値を 0 に書き換えて設置なさっていた方々は、試しに、書き換えずに 2 のままで上書き設置してみて下さい。おそらく問題なく動作すると思います。
▼今回のスキン更新:
🌻画像一覧モードで使うための新スキン「skin-picts」を追加。(※完全版ZIPに同梱)
画像一覧モードについては、使い方・設定方法ページの「画像一覧モード」項目や、カスタマイズ方法ページの「画像一覧モード用スキンの作り方・使い方」項目をご参照下さい。
🌻標準添付の各スキンに、画像一覧モードへのリンクも追加。(チャットスキンと特殊スキンを除くすべて)
チャットスキンと特殊スキンを除くすべての標準添付スキンに、画像一覧モードへのリンクも掲載するように追記しました。
▼#不具合修正 :
❎ラベル付きリンクを書いた際に、リンク先URLの途中にさらに「http://」の文字列が出てくるとリンク表示が崩れてしまうバグを修正。
URLは「https://」などで始まりますが、そのURLの途中にさらに「http://」や「https://」という文字列が含まれる可能性もあります。そのようなURLをラベル付きリンクとして書くと、表示が崩れてしまう不具合がありましたので修正しました。
※URLの途中にそのような文字列が登場するURLとしては、例えば、下記のようなInternet Archive(Wayback Machine)のURLなどが該当します。
例: https://web.archive.org/web/20230414030755/https://www6.nhk.or.jp/anime/...
❎ギャラリーモードやサイトマップページモードで複合検索窓を使うと、表示中のモードが解除されてしまう問題を解決。(※スキンの書き方によってはスキン側に識別子を追記する必要あり)
複合検索窓をギャラリーモードやサイトマップページモード用のスキンに加えると、検索結果が必ず「そのモードを解除した状態」で表示されてしまう問題がありました。その点を解決しました。
複合検索窓を [[SEARCHBOX:COMPLEX]] という記法で出力している場合には、何もしなくても解決します。
しかし、 [[SEARCHBOX:COMPLEX:識別子]] のように、表示項目を選択して使っている場合には、識別子の中に「 M 」を書き加えて頂く必要がありますのでご注意下さい。詳しくは、カスタマイズ方法ページ内の『検索条件プルダウンメニューの取捨選択や掲載順序の指定』をご覧下さい。
❎新着画像リストの表示設定で、『サムネイル画像があればサムネイルの方を表示』を設定していても効いていなかった不具合を修正。
サムネイル画像をUPしていても、新着画像リストではサムネイル画像ではなくオリジナル画像の方を問答無用で表示してしまっていた不具合を修正しました。
管理画面の[設定]→[ページの表示]→【新着画像リストの表示】→「新着画像リストに表示する対象」区画の『サムネイル画像があればサムネイルの方を表示』項目をONにしていれば、サムネイル画像の方を新着画像リストに表示するようになります。(※別の設定【投稿本文の表示/画像】内にも『サムネイル画像があればサムネイルの方を表示』という項目がありますが、こちらの設定は新着画像リストとは無関係ですのでご注意下さい。)
❎GALLERY、SITEMAPの各モードで日付境界バーを表示したときに、「この範囲を時系列順で読む」のリンクを使うと表示モードが解除されてしまう(=表示モードを維持できない)不具合を解消。
ギャラリーモードやサイトマップページモードでも、設定すれば日付境界バーを表示できます。このとき、日付境界バーに掲載されている「この範囲を逆順/時系列順で読む」等のリンクを使うと、標準モードに戻ってしまう不具合を修正しました。現在のモードを維持した状態で時系列順等の表示ができるように修正しました。
❎新着画像リストの出力で [[IMAGELIST:GALLERY]] 等のように表示モードを指定しても効いていなかった不具合を修正。
新着画像リストを挿入する記法 [[IMAGELIST]] には、モードを追加できるオプション記法があり、例えば [[IMAGELIST:GALLERY]] と書くと、ギャラリーモードで画像を検索するリンクになるはずでした。……が、そのモード指定が一切効いておらず、常に標準モードでの検索になってしまっていた不具合を修正しました。
以上、ご活用頂ければ幸いです。
※不具合の修正も含んでおりますので、使いたい追加機能がない場合でもアップグレード頂くことをお勧め致します。
※バージョンアップしても、ログインし直す必要はありません。ログイン状態は維持されます。データや設定はそのまま引き継げますし、もし必要になれば後からバージョンダウンすることも可能です。バージョンアップ方法について詳しくは、「CGIの更新方法」をご覧下さい。
なお、開発進捗状況報告サイトでフォロー頂くと、てがろぐCGIの最新β版や正式版の公開時にメールで連絡を受け取ることもできますので、ぜひご活用下さい。(╹◡╹)ノ
フォロー数が増えると、私の開発モチベーションが向上するメリットもあります!!!🤩
:17189文字 修正
てがろぐ Ver 4.4.0 を公開しました! #Update
⌚ 2024年07月06日(土) 15:35:44