にしし ふぁくとりー:西村文宏 個人サイト

てがろぐ リリースノート

お手軽マイクロブログCGI「てがろぐ」のアップデート案内です。新機能や更新した仕様、新しいスキンなどを案内しています。
更新点だけではなく全体の機能説明をお読みになりたい場合や、CGIそのものをダウンロードしたい場合は、てがろぐ配布ページへお越し下さい。
セットアップやバージョンアップの前に最新版の使い心地を試したい場合は、動作テスト用てがろぐをご使用下さい。
次期バージョンの開発進捗状況をチェックしたい場合は、開発進捗報告ページをご覧下さい。

《最終更新: 2023年12月13日 水曜日 21時04分 》 RSSフィード

タグ「Update」を含む投稿31件]

てがろぐ Ver 4.2.0 を公開しました! #Update

てがろぐ Ver 4.2.0 を公開しました。画像一覧モード、スキン内のIF文での出力HTML切替機能複合検索機能での表示モード維持機能、URLを丸括弧で括るリンク記法、相対パスでもリンクできる記法、リンクに任意のclassを付加できる記法、CodePen埋込機能などの追加が主な更新点です。その他、ツイートURLのx.com対応、設置時の$howtogetpathの変更不要化などの仕様改善や、多数の細かな機能追加、不具合修正を含んでいます。
https://www.nishishi.com/cgi/tegalog/

バージョンアップするには、
  • 1クリックでバージョンアップできる専用PHP「TegUp」のご使用がお勧めです。
  • もしくは、最新版のZIPの中から tegalog.cgifumycts.pl の2ファイルだけを抜き出して上書きアップロードして下さい。
データファイルや設定ファイルは、すべてそのまま引き継げます。(Ver.3以下も含む過去のどのバージョンからでも)

🆕 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]] と書けば、「~~~」の部分は投稿単独表示時以外の状況だけで出力されます。

丸括弧の中(=条件)は、 homegrandhomecat-infouser-tomoyo など、状況に応じて装飾を分ける用途に使ってきた「SITUATION:CLASS」として出力される状況キーワードが全部使えます。また、複数の単語を同時に指定もできます。

この機能を使うと、状況別にHTMLを出し分けられるだけではなく、従来なら複数のスキンを併用しないといけなかった構成も、もしかして単一のスキンで済むようにもできたりするのではないでしょうかね……?

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ソースが出力されるのかについては、(カスタマイズ方法ページの)「リンクの装飾方法」区画で解説していますのでご参照下さい。

🌺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リンク」ボタンを押したときに、範囲選択されている範囲内に半角角括弧がある場合は、それぞれ &#91;&#93; に置き換える仕様を追加。
リンクラベルに半角の角括弧が含まれている場合の数値文字参照への変換を自動で行うようにしました。(※ボタンクリックでリンク記法を生成する場合のみ。)
てがろぐ側の記法の都合上、リンクラベルの中に半角の角括弧記号 [] を含めることはできません。ただ、リンクラベルの中に文字実体参照の書き方を使って &#91;&#93; のように書けば、リンクラベルとして半角角括弧を表示することはできます(従来から)。
そこで、「任意URLリンク」ボタンを押したときに範囲選択されている文字列の中に半角角括弧が含まれていた場合は、自動で &#91;&#93; に変換するようにしました。

※ボタンを使わずに自力でリンク記法を記述した場合には変換されません(その際は、自力で &#91;&#93; とお書き頂く必要があります)。

🌷サムネイル画像が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.1.0 を公開しました! #Update

てがろぐ Ver 4.1.0 を公開しました。個別鍵での鍵付き投稿機能、カスタム絵文字機能投稿日時順に並べ直す機能、投稿No.を1から連番で振り直す機能、日付境界バーの出力設定オプション、透明度を含む色指定、AppleMusicの埋込機能などの追加が主な更新点です。その他、多数の細かな機能追加や不具合修正を含んでいます。
https://www.nishishi.com/cgi/tegalog/

バージョンアップするには、tegalog.cgifumycts.pl の2ファイルだけを上書きアップロードして下さい。
データファイルや設定ファイルは、すべてそのまま引き継げます。(Ver.3以下も含む過去のどのバージョンからでも)

🆕 Ver 4.1.0の更新点(概要):
《▼大きな機能追加》
鍵付き投稿機能で個別鍵(個別のパスワード)も使えるようにする機能。
カスタム絵文字機能。
手動入力された投稿日時も含めて、全投稿を投稿日時の新しい順に再ソートする機能。
全投稿の投稿番号をNo.1から昇順に連番で振り直す機能。
全投稿を一括調整する機能を使用禁止に設定できる機能。

《▼その他の機能追加》
日付境界バーの出力状況を選択できる設定オプション。
Apple Musicの配信音楽の埋め込み機能。

《▼細かな機能追加》
●YouTubeショート動画の埋め込みに対応。
●Instagramのリール動画の埋め込みに対応。
●Spotifyアプリの新バージョンが出力するURLでの埋め込みに対応。
●色指定時の記法を拡張(透明度の指定など)
●画像ファイル名にハイフン記号が含まれていてもそのままアップロード可能に。
●「続きを読む」機能で隠されている文字数を表示できる専用記法の追加。

《▼仕様改善》
制限サイズを超えている画像のファイルサイズを赤色で表示
カテゴリツリーを構成するli要素にも、カテゴリIDをベースにしたclass名を付加。
既存画像の挿入記法で、多バイト文字が使われたファイル名も許容する設定を追加。
本文中に含まれるコロン記号が数値文字参照「&#58;」として出力される問題(仕様)を修正。
ボタンを出力するinput要素を、CSSで装飾しやすいように別のspan要素で囲むよう改善。
Spotifyの埋め込み領域を囲むspan要素のclass名を拡張。(Apple Musicと区別するため)

《▼不具合修正》
❎適用スキンを維持するためのリンク自動調整機能で、link要素に対して不要な調整を加えてしまう不具合を修正。


▼今回の大きな機能追加:
🌸鍵付き投稿機能で個別鍵(個別のパスワード)も使えるようにする機能
鍵付き投稿に、従来の「共通鍵」だけでなく「個別鍵」(=投稿1つ1つに個別指定できる閲覧パスワード)も使えるように機能を拡張しました。
▼解説:
下図のように、設定画面の[ページの表示]→【鍵付き(パスワード保護)投稿の表示】→「▼鍵の使用」区画で、『個別鍵があれば個別鍵で、なければ共通鍵で保護できるようにする』項目にチェックを入れていると、共通鍵に加えて個別鍵も使えるようになります。(※デフォルトでその設定になっています。)
鍵機能を有効にする設定箇所

その設定になっている場合は、従来から投稿欄の下部に見えていた「鍵付き」チェックボックス(下図の水色矢印の先)の隣に、個別鍵を入力するための「個別鍵」ボタンが表示されます(黄色矢印の先)。
鍵付き(パスワード保護)投稿の操作方法

このとき......
  • 「鍵付き」にチェックを入れただけだと、共通鍵で保護されます。
  • 「鍵付き」にチェックを入れた上で個別鍵も指定すると、個別鍵だけで保護されます。(その投稿は、共通鍵では閲覧できません。)
個別鍵にも(共通鍵と同様に)日本語文字や絵文字など、たいていの文字が使用可能です。ただし、文法上の制約などから、若干の制限があります。詳しくは後述のヘルプドキュメントをご覧下さい。

▼注意:
共通鍵は管理画面で設定しますが、個別鍵は「投稿本文内に指定の書式で記述する方法」で設定します。そのため、記法に誤りがあれば鍵だとは認識されません(その場合は共通鍵で保護されます)。
個別鍵の入力ダイアログ 個別鍵は本文中に記述される

➡ 詳しくは、ヘルプドキュメントの「鍵付き投稿(パスワード保護)機能の使い方」をご覧下さい。共通鍵だけを前提にしていた従来の解説を拡充して、共通鍵と個別鍵の両方を使う方法に書き換えています。
特に、個別鍵の指定方法に関しては、「使い方:鍵付きで投稿する方法」内の個別鍵を指定する操作方法項目で解説していますので、そちらをご覧下さい。

※また、鍵付き投稿をお使いになる際には、事前に「鍵付き(パスワード保護)投稿機能の仕様」もご一読下さい。この鍵付き投稿は、個人情報などの「絶対に漏れては困る情報」を保存する目的には向いていません。そのような用途には使わないようご注意下さい。

🌸カスタム絵文字機能。
カスタム絵文字(画像)専用ディレクトリに、例えば takoyaki.svg という画像ファイルがあれば、それを [:takoyaki:] という記述だけで表示できる「カスタム絵文字機能」を搭載しました。これによって、Unicodeにはない絵文字を何でも(画像さえ用意すれば)簡単に表示できます。
▼解説:
絵文字用画像は必ずしも正方形で用意する必要はありませんから、横長の絵文字を表示することもできます。カスタム絵文字が出力されるHTMLには、絵文字ごとに個別のclass名も出力されますので、絵文字別に独自に装飾するCSSを用意しておくこともできます。

SVG形式以外にも、GIF、PNG、JPEG、WebP等の画像形式が使えます。アニメーションGIFも使えます。ただ、SVGで作成されている方が綺麗に縮小して表示できるでしょう。
カスタム絵文字の表示例1 カスタム絵文字の表示例2
※GitHubからSlackやDiscord、Misskey等で使われる絵文字ショートコードに似せた機能ですが、てがろぐ既存記法との兼ね合いで、:takoyaki::maruyaki: のような書き方は許容できないため、[:takoyaki:][:maruyaki:] のように角括弧が必要な記法になっています。

アップロードされているカスタム絵文字の一覧を表示する画面が管理画面内に用意されていますので、そこから表示用のコードをコピーできます。また、本文中に表示されているカスタム絵文字をダブルクリックするだけで、その絵文字を表示させるためのコードをクリップボードにコピーする機能もあります。
カスタム絵文字一覧画面 カスタム絵文字をダブルクリック

➡ 詳しくは、(使い方・設定方法ページの)「カスタム絵文字」 区画や、(カスタマイズ方法ページの)「カスタム絵文字の装飾方法」 区画をご覧下さい。

🌸手動入力された投稿日時も含めて、全投稿を投稿日時の新しい順に再ソートする機能。
ご要望を頂いていながら長らく実装できていませんでしたが、全投稿を投稿日時順に並び替える機能を加えました。
▼解説:
投稿日時が手動で指定されている場合は、その手動指定された日時を使って日付順に並び替わります。別ツール等で書いた過去ログを、てがろぐに手動で追加したい際に便利かもしれません。

管理画面の[投稿の一括調整]→[投稿日時順に並び替える]ボタン(下図黄色矢印の先)を押すと実行できます。
投稿日時順に並び替える機能
てがろぐでは、投稿日時を手動入力することは従来からできましたが、掲載順序はあくまでも投稿順のままであって、日付順には並ばない仕様でした。その問題を解消すべく、(手動入力された投稿日時も含めて)すべての投稿を投稿日時の新しい順序でソートする専用機能がこれです。その時点で投稿されている全投稿を対象にして、日付順に並び替えます。

なお、この機能を使っても投稿番号は変化しませんので、各投稿の「投稿単独ページのURL」は変わりません。

➡ 詳しくは、使い方・設定方法ページにある「全投稿の一括調整」区画内の「全投稿を投稿日時順に並び替える機能の使い方」項目をご覧下さい。

🌸全投稿の投稿番号をNo.1から昇順に連番で振り直す機能。
これもご要望を頂いていながら長らく実装できていなかった機能ですが、全投稿の投稿番号をNo.1から連番になるよう再採番する機能を加えました。
▼解説:
管理画面の[投稿の一括調整]→[投稿番号を採番し直す]ボタン(下図黄色矢印の先)を押すと実行できます。
投稿番号を再採番する機能
てがろぐ上の投稿には、No.1から順番に連番で投稿番号(投稿ID)が割り振られます。この投稿番号は「投稿単独ページのURL」としても使われるため、一度採番されると変化はしません。そのため、ある投稿を削除すると、その番号は欠番になります。また、先の「全投稿を投稿日時順に並び替える機能」を使って投稿日時順にソートした場合でも、投稿番号は変化しないため、投稿番号は連続では並ばずに前後することになります。

投稿番号は、欠番があったり順序が前後したりしたところで動作上の問題は何もありません。 しかし、どうしても「連番に並んでいない」ことが気になる場合のためにこの機能を用意しました。この機能を使うと、その時点で投稿されている全投稿を対象にして、最も古い投稿をNo.1として欠番なく連続する番号を割り振り直します

▼重要な注意点!:
この機能によって投稿番号が変わった投稿は、その「投稿単独ページのURL」も変わりますので、くれぐれもご注意下さい。 投稿単独ページへリンクしている場合には、リンクが切れてしまう要因になります。
投稿単独ページのURLが変わっては困る場合には、この機能は絶対に実行しないで下さい。

➡ 詳しくは、使い方・設定方法ページにある「全投稿の一括調整」区画内の「全投稿の投稿番号をNo.1から連番になるよう再採番する機能の使い方」項目をご覧下さい。

🌸全投稿を一括調整する機能を使用禁止に設定できる機能。
全投稿に対して一括して何か調整する機能用の新メニュー項目として、管理画面のTOPに「投稿の一括調整」という項目を加えました(下図)。管理者権限のあるユーザでログインしている場合に限って使えます。ここに追加した新機能は影響範囲が広いので、誤って実行してしまわないように無効化する設定もできるようになっています。
▼解説:
(キャプション自動取得対象外) Ⓑ「投稿の一括調整」機能が使えない表示
この「投稿の一括調整」画面に含まれる機能(=手動入力された投稿日時も含めて投稿日時順に再ソートする機能や、全投稿の番号をNo.1から連番で振り直す機能)は、広範囲の表示や動作に影響するため、うかつに実行すると意図しない表示になってしまう可能性があります。
そこで、これらの機能を誤って実行してしまわないように、上図2枚目のように、実行を禁止する設定もできるようになっています。

➡ 詳しくは、使い方・設定方法ページにある「全投稿の一括調整」区画内の「投稿の一括調整を禁止する設定方法」項目をご覧下さい。


▼今回のその他の機能追加:
🌺日付境界バーの出力状況を選択できる設定オプション。
日付境界バーを、各種限定表示時(カテゴリ限定表示時、ハッシュタグ限定表示時、全文検索時など)にも出力できる設定を加えました。
▼解説:
日付境界バーは、従来は以下の3つの状況でだけ出力されていました。日付境界バーの出力はON/OFFができましたが、3つすべてで「全部表示する」か「全部消す」かのどちらかにしか設定できませんでした。
  • 通常表示時 :何も表示条件が限定されていない状況
  • 日付限定表示時 :「2023年8月だけ」のように日付が限定されている状況
  • ユーザ指定表示時 :ユーザID「admin」の投稿だけに限定されている状況
それを、下図の赤丸部分で示した設定項目を使うことで、
  • ハッシュタグ限定表示時
  • カテゴリ限定表示時
  • 全文検索時
……も含めて、それぞれの状況で日付境界バーを出力するかどうかを個別に選択できるようにしました。
日付境界バーの出力設定箇所
➡ 詳しくは、カスタマイズ方法ページの「日付境界バーの装飾方法」区画をご覧下さい。

🌺Apple Musicの配信音楽の埋め込み機能。
Spotifyだけでなく、Apple Music配信の音楽も埋め込めるようになりました。
▼解説:
Apple Musicで提供されている単曲・アルバム・プレイリストの3種を埋め込められます。
Apple Musicの音楽枠を埋め込んだ表示例

➡ 詳しくは、使い方・設定方法ページの「Apple Musicの音楽を埋め込む書き方」をご覧下さい。


▼その他の細かな機能追加:
🌷YouTubeショート動画の埋め込みに対応。
従来から [YouTube]URL という記法でYouTube動画の埋め込みが可能でしたが、ショート動画のURLには対応していませんでした。今バージョンからは、「 https://youtube.com/shorts/~ 」のような『ショート動画のURL』を書いても埋め込めるようになりました。
なお、www.youtube.com ではなく(サブドメインのない) youtube.com ドメインでも動画を埋め込めるように仕様を改善しています。
➡ YouTube動画の埋め込み方法については、「YouTube動画を埋め込む書き方」項目をご覧下さい。

🌷Instagramのリール動画の埋め込みに対応。
インスタグラムの投稿を埋め込む機能は従来からありましたが、リール動画の埋め込みができなかったので、リール動画も埋め込めるようにしました。
埋め込みURLが
  • www.instagram.com/p/~ の場合は画像投稿として埋め込まれ、
  • www.instagram.com/reel/~ の場合はリール動画として埋め込まれます。

➡ 詳しくは、使い方・設定方法ページの「Instagram(インスタグラム)の投稿を埋め込む書き方」項目をご覧下さい。

🌷Spotifyアプリの新バージョンが出力するURLでの埋め込みに対応。
Spotifyアプリ側の仕様変更によって、比較的新しいバージョンのSpotifyアプリを使って得られる楽曲のURLだと、てがろぐ上で埋め込めない問題が発生していましたが、この新しいURLでも埋め込めるよう対応しました。
新しいバージョンのSpotifyアプリで曲のURLを得ると、URLの中に /intl-ja/ などの文字列が含まれる場合があるようです。この構成のURLだと、従来のバージョンでは埋め込みに使えませんでしたが、そのURLでも埋め込めるように対応させました。
➡ Spotify音楽の埋め込み方法については、「Spotify音楽を埋め込む書き方」項目をご覧下さい。

🌷色指定時の記法を拡張(透明度の指定など)
文字装飾機能の1つである色指定(文字色指定と背景色指定)で、RGBAカラーモデルを使った「透明度も含んだ色」も指定可能になりました。そのほか、RGB値を10進数でも指定可能になり、16進数のRGB値を3桁でも指定可能にもなりました。
文字色や背景色を指定する際、従来は「英語の色名を書く」か「16進数のRGB値を6桁で書く」か、どちらかの記法しか使えませんでした。その仕様を拡張して、下記の5通りの書き方を使えるようにしました。(3~5が新設仕様)
  • 1. 英小文字で色名を指定。( red や blue など)
  • 2. 16進数のRGB値6桁で色を指定。( c71585 や 55b62f など)
  • 3. 16進数のRGB値3桁で色を指定。( cfc や 8cf や 555 など)
  • 4. 10進数のRGB値を使った rgb(赤,緑,青)書式で指定。→ 例えば rgb(199,21,133)rgb(85,191,38) など、RGB値を10進数の数値で指定して色を指定可能です。
  • 5. 10進数のRGB値にアルファチャンネルを加えた rgba(赤,緑,青,透過)の書式で指定。→ 例えば rgba(199,21,133,0.75)rgba(85,191,38,0.5) など、RGB値とアルファチャンネル値を数値で指定して、半透明な色を指定できます。
(キャプション自動取得対象外)
➡ 詳しくは、使い方・設定方法ページの「文字色・背景色の指定方法」をご覧下さい。

🌷画像ファイル名にハイフン記号が含まれていてもそのままアップロード可能に。
画像ファイル名を維持してアップロードする設定になっているなら、元の画像ファイル名に半角ハイフン記号が含まれていてもそのままアップロードできるようになりました。
標準設定では、てがろぐ上で画像ファイルをアップロードした場合には「投稿日付-投稿ID」の形式のファイル名でアップロードされます。しかし、元のファイル名を(できるだけ)維持する設定も可能です。

その設定をONにしている場合、従来は、元のファイル名が「英数字・ドット・アンダーバー」だけで構成されている場合に限ってファイル名が変わらずにアップロードできていました。(ハイフンが含まれている場合には、強制的にデフォルト規則での名称に変更されていました。)

この仕様を緩和して、「英数字・ドット・アンダーバー・ハイフン」で構成されている場合に、ファイル名そのままでアップロードできるようになりました。

➡ 詳しくは、使い方・設定方法ページの「元のファイル名をできるだけ維持してアップロードする機能」をご覧下さい。

🌷「続きを読む」機能で隠されている文字数を表示できる専用記法の追加。
「続きを読む」機能で隠されている範囲内に含まれている文字数を、「続きを読む」ラベルの中に表示できる専用記法を追加しました。
投稿本文中の指定範囲を隠せる「続きを読む」機能のボタンラベルは、あらかじめ設定しておいたラベル以外にも、その都度(1つ1つ別個に)指定できる記法があります。その記法の中に、「隠されている文字数」を表示できる専用記法も追加しました。
(キャプション自動取得対象外)
上図のように、隠されている文字数をラベルに好きな形式で表示させられます。

記述方法は簡単で、半角丸括弧を () のように書くだけです。カッコの中身はナシで、ただ丸括弧の「開き括弧」と「閉じ括弧」を連続で書くだけです。
例えば、[H:隠された()文字を読む:プリンプリンプリン] のように書けば、実際のボタンラベルは「隠された9文字を読む」のように表示されます。

➡ 詳しくは、使い方・設定方法ページの『「続きを読む」ボタンのラベルに隠された文字数を表示する書き方』項目をご覧下さい。


▼仕様改善:
🍏制限サイズを超えている画像のファイルサイズを赤色で表示
あらかじめ設定しておいた「制限サイズ」を超える画像がアップロードされた際には、その画像のファイルサイズを赤色で強調表示する機能を加えました。(※上限を無制限に設定されている場合でも、設定値を超えていれば参考までに赤色で表示します。)
巨大画像のファイルサイズが赤色で強調表示される例
自分1人だけでお使いの場合、画像の投稿容量に上限は設定しない状態でお使いの場合が多いだろうと思います。しかし、だからといって巨大な画像をうっかり掲載してしまうのは避けたい場合もあるでしょう。なので、あらかじめ設定しておいたファイルサイズを超える画像ファイルがUPされた場合には、上図のようにサイズ表記部分を赤色で強調して注意喚起する機能を加えました。

この注意喚起サイズには、下図のように、管理画面の[システム設定]→【画像投稿機能】→「画像保存容量の設定」区画にある『画像1枚あたりの最大サイズ』項目に設定したサイズが使われます。
(キャプション自動取得対象外)
※上限を設けない場合は、入力項目が上図のように薄く灰色で表示されていますが、その状態でも設定値は編集可能であり、その値が注意喚起サイズの閾値として使われます。(そのサイズを超えた場合にだけ、赤色で表示されます。)

➡ 詳しくは、使い方・設定方法ページの「画像の保存先・容量制限」区画にある「大容量画像の注意喚起機能」項目をご覧下さい。

🍏カテゴリツリーを構成するli要素にも、カテゴリIDをベースにしたclass名を付加。
カテゴリツリーを出力するHTMLでは、カテゴリごとに1つのli要素が出力されます。従来はli要素として <li> しか出力されていなかったところに、例えば <li class="catbranch cat-info"> のような感じで装飾用のclass名を出力する機能を加えました。
※カテゴリツリーの中で、li要素を対象にして装飾するCSSを書きたい場合にご活用頂けます。catbranchは共通のclass名で、それにcat-カテゴリIDが加わります。例えばカテゴリIDが「info」なら、cat-infoのように出力されます。

➡ 詳しくは、カスタマイズ方法ページの「カテゴリツリーの各部分をCSSで装飾する方法」 区画や、「カテゴリアイコン、カテゴリ名、該当数、カテゴリ概要文など全部盛りカテゴリツリーのHTMLソース出力例」区画をご覧下さい。

🍏既存画像の挿入記法で、多バイト文字が使われたファイル名も許容する設定を追加。
てがろぐ上でアップロードされたかどうかにかかわらず、任意の画像を表示する際に使う [PICT:ファイル名] 記法では、従来はファイル名として英数字や一部の記号など「URLとして使える文字」しか使えない仕様でした。この仕様を拡張して、ファイル名に日本語文字等が使われていても指定できるよう設定するオプションを追加しました。
画像ファイル名に指定できる文字の制限
上図のように、『制限しない(多バイト文字でも使用可能にする)』項目のチェックボックスをONにすることで、PICT記法に日本語等のマルチバイト文字を記述できるようになります。(※デフォルトではOFFです。)
その結果、例えば [PICT:画像.jpg] のような記述で、日本語文字が使われたファイル名を直接指定できるようになります。

また、URLを指定して任意の画像を表示する場合でも、
  • わざわざ [PICT:https://example.com/img/%E7%94%BB%E5%83%8F.jpg] のようにエンコードしたURLを用意しなくても、
  • 直接 [PICT:https://example.com/img/画像.jpg] のような記述でも表示できるようになります。

➡ 詳しくは、使い方・設定方法ページの「日本語でファイル名が付けられた画像ファイルを表示できるようにしたい場合」区画をご覧下さい。

🍏本文中に含まれるコロン記号が数値文字参照「&#58;」として出力される問題(仕様)を修正。
本文中に半角コロン記号「:」を書いたとき、従来は数値文字参照「&#58;」に変換した状態で出力されていました(画面上にはコロン記号「:」が見えますが、HTMLソースを表示すると数値文字参照になっていることが見えていました)。従来のままでも動作に問題はありませんが、今バージョンからは、半角コロン記号は半角コロン記号「:」のままで出力されるよう改善しました。

🍏ボタンを出力するinput要素を、CSSで装飾しやすいように別のspan要素で囲むよう改善。
各種ボタンを出力するinput要素を、CSSで装飾しやすいように <span class="submitcover"><input type="submit" ...></span> のように、別のspan要素で囲む仕様を追加しました。
(キャプション自動取得対象外)
上図のソースでは、水色で表示したspan要素が、新たに追加された要素です。

CSSでは、input要素に対しては ::before疑似要素や ::after疑似要素が使えない仕様なので、input要素で出力されているボタンの前後に何かを表示させたいと思ってもできないというカスタマイズ上の問題がありました。その対策として、次の8つのボタン(input要素)に対して、<span class="submitcover"> ~ </span> で囲むように改善しました。
  1. 検索窓 の「検索」ボタン
  2. 複合検索窓 の「検索」ボタン
  3. 鍵入力フォーム の「投稿を見る」ボタン
  4. QUICKPOST の「投稿する」ボタン
  5. QUICKPOST の「ログインして投稿」ボタン
  6. カテゴリ一覧をプルダウンメニュー形状で出力した際 の「表示」ボタン
  7. 日付検索(日付一覧のプルダウンメニュー) の「表示」ボタン
  8. ハッシュタグ一覧をプルダウンメニュー形状で出力した際 の「表示」ボタン
※上記のNo.6~8に関しては、出力HTMLソースがキャッシュされている(可能性がある)ので、バージョンアップした後、新たに投稿するか、または管理画面から「投稿の再カウント」を実行して頂く必要があります。(それまでは、従来のままのHTMLが出力されます。)

※おそらく既存のCSSに悪影響はないと思います。従来、<input type="submit" ...> だけだったHTMLソースを、<span class="submitcover"><input type="submit" ...></span> のように変更しただけですから。しかし、例えば「××の隣にあるinput要素」のような感じのCSSを書いている場合には、もしかしたら影響するかもしれません。

🍏Spotifyの埋め込み領域を囲むspan要素のclass名を拡張。(Apple Musicと区別するため)
Spotify音楽はiframeを使って埋め込まれますが、CSSで装飾する際のために「埋込領域の外側」をspan要素で囲んでいます。そのspan要素は、従来は <span class="embeddedmusic">~</span> のように、class名を「embeddedmusic」として出力していました。しかし、今回のバージョンからは音楽の埋め込みに(Spotify以外に)Apple Musicもサポートしたため、それらを区別できるようこのclass名を拡張して「<span class="embeddedmusic embeddedspotify">~</span>」のようにしました。

※Apple Musicの音楽も同様にiframeで埋め込まれますが、その外側は <span class="embeddedmusic embeddedapplemusic">~</span> で囲んでいます。

したがって、以下のようにCSSを書き分けられます。
  • 埋め込み音楽両方を装飾したい場合: .embeddedmusic
  • Spotifyの枠だけを装飾したい場合: .embeddedspotify
  • Apple Musicの埋め込みだけを装飾したい場合: .embeddedapplemusic

➡ Spotify音楽の埋め込み方法については、「Spotify音楽を埋め込む書き方」項目をご覧下さい。


#不具合修正
❎適用スキンを維持するためのリンク自動調整機能で、link要素に対して不要な調整を加えてしまう不具合を修正。
デフォルトスキン以外のスキンが適用されている際に働く自動調整処理には、link要素(主にCSSを読み込むために使われます)のhref属性値に「スキンが格納されているディレクトリ名」を自動付加する機能があります。本来は、相対パスで指定されている場合にのみ自動調整すべきところを、絶対パスで指定されていても自動調整の対象にしてしまっている不具合がありました。その問題を解消し、「/」で始まる絶対パスでCSSが読み込まれている場合には自動調整しないよう動作を改善しました。
➡ 詳しくは、カスタマイズ方法ページの「適用スキンを維持するためのリンク自動調整仕様」区画をご覧下さい。


以上、ご活用頂ければ幸いです。

※バージョンアップしても、ログインし直す必要はありません。ログイン状態は維持されます。データや設定はそのまま引き継げますし、もし必要になれば後からバージョンダウンすることも可能です。バージョンアップ方法について詳しくは、「CGIの更新方法」をご覧下さい。

なお、開発進捗状況報告サイトでフォロー頂くと、てがろぐCGIの最新β版や正式版の公開時にメールで連絡を受け取ることもできますので、ぜひご活用下さい。(╹◡╹)ノ
フォロー数が増えると、私の開発モチベーションが向上するメリットもあります!!!🤩

:11828文字 修正

てがろぐ Ver 4.0.0 を公開しました! #Update

てがろぐ Ver 4.0.0 を公開しました。ログインセキュリティ機能、予約投稿機能、上書きスタイルシート登録機能、NSFWフラグ付き画像に対する代替画像の指定機能などの追加が主な更新点です。その他、多数の細かな機能追加や不具合修正を含んでいます。
https://www.nishishi.com/cgi/tegalog/

バージョンアップするには、tegalog.cgifumycts.pl の2ファイルだけ(※)を上書きアップロードして下さい。
データファイルや設定ファイルは、すべてそのまま引き継げます。(Ver.3以下も含む過去のどのバージョンからでも)
過去のスキンもすべてそのままお使い頂けます。(互換性100%)

※今回も標準添付スキンのソースを全体的に更新しています。標準添付スキンをそのままお使いの場合は、それらも上書きアップロードすると新仕様で表示できます。

🆕 Ver 4.0.0の更新点(概要):
《▼新機能:安全関連》
ログインセキュリティ機能:ログインに1回失敗したら直後に約2秒間だけロックする機能
ログインセキュリティ機能:ログインに連続で指定回数失敗したら、ログイン処理を指定分間ほどロック(拒否)する機能
●許可したIPアドレス以外からのログインを拒否できる設定を追加。

《▼新機能:その他の大きな機能》
予約投稿機能を追加。
設定に『上書きスタイルシート』項目を新設し、そこに書いたCSSソースを「スキンのhead要素末」または「スキン内の指定箇所」に挿入できる機能を追加。

《▼新機能:サイドコンテンツ関連》
新着投稿リストをカテゴリ別に出力できるオプションを追加。
OGP(og:image)に出力される画像がNSFWフラグ付きだった場合は、その画像ではなく代替画像を出力させる設定項目を追加。
RSSフィード内に出力される画像がNSFWフラグ付きだった場合は、og:imageと同じ代替画像にすべて差し替える設定項目を追加。
ハッシュタグの集計を停止する機能(ハッシュタグを集計しないようにする機能)。
ハッシュタグ一覧の表示順設定を、投稿数に関係なく文字コード順(昇順/降順)に固定する機能。

《▼新機能:状況・抽出関連》
[[SITUATION:CLASS]] に、表示モード名を示すclass名を追加。
[[SITUATION:CLASS]] で、スキン指定がない場合のHOMEページを表す専用のclass名 grandhome を追加。
文字数を指定して本文の一部分を抽出する記法で、三点リーダではない任意の記号を指定できる新記法 [[COMMENT:TITLE:文字数:省略記号]] 等を追加。

《▼新機能:バックアップ関連》
●設定ファイル tegalog.ini のバックアップ機能を追加。
●画像インデックスファイルのバックアップ機能を追加。

《▼新機能:細々》
●YouTubeの動画埋め込み時に、再生開始位置(秒数)を指定可能に。
●YouTubeの動画埋め込みサイズを任意に指定可能に。
●Spotifyの音楽埋め込みサイズを4種類から選択可能に(自由サイズの指定も可能に)。
●新着投稿リスト(LATESTLIST)に、所属カテゴリ名を表示できる記法を追加。
●スキンのプレビュー適用時に、絶対パスや上位ディレクトリを参照する相対パスの記述での指定を許可するか禁止するかを設定可能に。
●Powered-by表記のリンクを別タブでのリンクにできる新記法 [[VERSION:NEWTAB]] を追加。

《▼仕様改善》
●Spotifyの音楽埋め込みにも loading="lazy" を付加。
●自由装飾記法のclass名として、(英数字以外に)ハイフン記号とアンダーバー記号も使用可能に。
●新着画像リストを装飾するCSSを書きやすいように、リスト内の1項目ずつを囲むマークアップを追加。
●日付一覧にリストアップされる年月リンクの「年」や「月」という漢字だけをCSSで装飾できるよう、出力マークアップを追加。
●日付一覧・日付検索のリストで、2000年より古い日付もリストアップできるように改善。(ただし1970年以降のみ)
●日付境界バー内部の日付表記やリンクをCSSで装飾しやすいように、マークアップとclass名を追加。
●ギャラリーモードやサイトマップページモードでの表示時に「状況に応じた見出し行」に表示される名称を装飾しやすいようマークアップを追加。
●「補助出力」設定で、ギャラリーモード等のためのスキンディレクトリの指定でも相対パスを使用可能に。(従来は / や . 等の記号が強制削除されていました。)
●下げた投稿を新着投稿リストには掲載しないよう仕様改善。

《▼スキン更新》
NSFWフラグ付きの画像が新着画像リストに表示されるとき、ぼかしが枠からはみ出ないようCSSを修正。
Chromium系ブラウザで(キャプションありの)NSFWフラグ付き画像を表示したときに、画像の下側のぼかしが枠からはみ出てしまうCSSを修正。
埋め込んだツイート内の文字が大きくなりすぎる問題に対処するため、ツイート枠の横幅を最大350pxに制限するCSSを追加。

《▼不具合修正》
❎新着画像リストを構成するHTMLソースに、img要素のalt属性値が重複して出力されていた不具合を解消。
❎『画像リンクに独自のclass属性値を追加』にチェックが入っている状態で、その直下のテキスト入力欄が空っぽのとき、『空白の連続を再現 (半角空白文字の連続をそのまま見せる)』項目がONの状態だと、フラグ付き画像のclassが正しく適用されなくなる問題を解消。
❎投稿日時として50年以上前の日付を指定すると、相対時間表記(=投稿時点からの経過時間の表記)が正しくなくなる問題を修正。
❎[[CATEGORYLINKS:SITEMAP]] 等の記法を使っても「カテゴリなし(cat=-)」の場合はデフォルトスキンでの表示になってしまう不具合を修正。
❎簡易本番適用中のスキンを削除した後でログアウトしてしまうと、「スキンが見つからない旨のエラー画面」と「ログイン画面」との間を無限に行き来するだけになってしまう不具合を解消。
❎設定『本文中のテキストリンクを絶対URL(フルパス)で出力する』項目がONだと、 [[HASHTAG:PULL:GALLERY]] 等の記法を用いてもモード指定リンクにならない不具合を解消。
❎共通鍵が設定されていない状態で設定画面にアクセスした際に、サーバのエラーログに Use of uninitialized value ... のようなアラートが記録される問題を解消。


▼新機能:安全関連
🌸ログインセキュリティ機能:
ログインしようとするタイミングだけで働くセキュリティ機能を3種類加えました。(①だけはデフォルトでONです。)
▼解説:
ログインセキュリティ機能3点
てがろぐにはこれまで「IDをロックする機能」がありませんでした。なので、ログイン画面からはパスワードの入力を無限に試行できました。(とはいえ、ローカルで動作するソフトウェアとは異なり、Webサーバの反応速度はそこまで高速ではありませんから、1秒間に何百回ものログインを試行することはできないと思いますが。)
さすがにその仕様はセキュリティ面でよろしくありませんので、
  • ① ログイン試行頻度を制限したり、
  • ② ログイン失敗回数に上限を設けたり、
  • ③ ログインフォームを利用可能なIPアドレスを指定したり
できる機能を用意しました。
※あくまでも新規ログインを制限するだけであり、既にログインしている端末では(IDのロック状態に関係なく)そのあまま使用可能です。

➡ 詳しくは、使い方・設定方法ページのログインセキュリティ関連機能区画をご覧下さい。

🌸ログインセキュリティ機能:①ログインに1回失敗したら直後に約2秒間だけロックする機能
パスワードを間違えてログインに失敗したら、直後にほんの短時間(1~2秒間)だけロックすることで、機械的なログイン試行を制限するセキュリティ機能を追加しました。この機能はデフォルトでONです。
▼解説:
パスワードを間違えると、その後に最大2秒間ほどロックしますから、ログインを1分間に最大30回しか試せなくなります。その結果、パスワード総当たり攻撃(ブルートフォースアタック)が難しくなります。
ログインセキュリティ機能① 2秒間だけロックされている場合の表示
➡ 詳しくは、ログインセキュリティ関連機能区画の「ログインに1回失敗したら直後に約2秒間だけロックする機能」項目をご覧下さい。

🌸ログインセキュリティ機能:②ログインに連続で指定回数失敗したら、ログイン処理を指定分間ほどロック(拒否)する機能
パスワードを指定回数ほど連続で間違えると、指定時間ほどIDをロックするセキュリティ機能を追加しました。
▼解説:
これは多くのWebサービスに存在する、例えば「5回連続で間違ったらアカウントをロックする」という系統のセキュリティ機能です。ただ、永久にロックされるわけではなく、あらかじめ指定した時間が経てば自動で解除されます。
ログインセキュリティ機能② IDがロックされている場合の表示
➡ 詳しくは、ログインセキュリティ関連機能区画の「ログインに連続で指定回数失敗したら、ログイン処理を指定分間ほどロック(拒否)する機能」項目をご覧下さい。

🌸③許可したIPアドレス以外からのログインを拒否できる設定を追加。
許可されていないIPアドレスからアクセスされた場合には、ログインフォームを表示しないようにする機能を追加しました。
▼解説:
自身の利用するIPアドレスがある程度判明している場合にこの機能を使えば、無用なログイン試行を防げます。この機能は、
❌:てがろぐを使えるIPアドレスを限定する機能ではありません。
⭕:ログインフォーム経由で新規ログインができるIPアドレスを限定する機能です。
したがって、一旦ログインした後なら、IPアドレスが変化してもそのまま使い続けられます。
ログインセキュリティ機能③ ログインが拒否されるIPアドレスの場合
➡ 詳しくは、ログインセキュリティ関連機能区画の「ログインできるIPアドレスを制限する機能」項目をご覧下さい。


新機能:その他の大きな機能
🌸予約投稿機能を追加。
投稿日時として未来の日時が指定された場合に、そのまま表示するのか、予約投稿扱いにするのかを選べる設定機能を追加しました。そこで「予約投稿扱い」に設定すれば、予約投稿機能が使えます。
▼解説:
予約投稿のために必要な設定
上図の赤丸部分2カ所を設定すると、予約投稿機能が使えるようになります。予約しておける投稿数に上限はありません。デフォルト設定のままだと予約扱いになりませんのでご注意下さい。予約投稿機能を使いたい場合には、事前設定が必要です。

➡ 詳しくは、使い方・設定方法ページの予約投稿の方法区画をご覧下さい。

🌸設定に『上書きスタイルシート』項目を新設し、そこに書いたCSSソースを「スキンのhead要素末」または「スキン内の指定箇所」に挿入できる機能を追加。
スキンのCSSを直接編集しなくても、てがろぐ管理画面上からCSSソース(※スキンのCSSを上書きするようなスタイル)を登録しておけば、装飾をカスタマイズできる機能を加えました。
▼解説:
上書き用スタイルシートの登録画面
この機能を使うと、配布スキンをバージョンアップさせた場合にも、自分でカスタマイズした部分だけはそのまま維持し続けられる(可能性がある)メリットがあります。なお、スキン側には特別な工夫は要りませんので、いつ作られたスキンでも、この機能でCSSを追加できます。

➡ 詳しくは、フリースペースの使い方区画の「設定画面からCSSを追記できる、上書き用スタイルシートの登録方法」項目をご覧下さい。


新機能:サイドコンテンツ関連
🌸新着投稿リストをカテゴリ別に出力できるオプションを追加。
カテゴリ別の新着投稿リストを出力できる記法を追加しました。カテゴリ別といっても全カテゴリが自動で列挙されるわけではなく、スキン側に望みのカテゴリIDを直接書いて使います。『スキン側で指定したカテゴリIDに該当する投稿に限定して新着順に表示される』という機能です。
▼解説:
下図は、様々なカテゴリでの新着投稿リストを表示してみた例です。対象のカテゴリIDは同時に複数指定できますから、「カテゴリⒶとⒷのどちらかに属する投稿をまとめて新着順に表示する」というようなことも可能です。
カテゴリを限定した新着投稿リストの表示バリエーション例
➡ 詳しい書き方と使い方は、カスタマイズ方法ページの「新着投稿リストの装飾方法」内のサブ項目「新着投稿リストの掲載対象をスキン側で限定する方法(掲載する対象を選択)」をご覧下さい。

🌸OGP(og:image)に出力される画像がNSFWフラグ付きだった場合は、その画像ではなく代替画像を出力させる設定項目を追加。
投稿に画像が含まれる場合は、OGP用の画像(og:image)として1枚目の画像URLが指定される仕様ですが、NSFWフラグ付きの画像でもOGPに出てしまう問題がありました。その問題を解消するために、画像がNSFWフラグ付きだった場合には、あらかじめ設定しておいた代替画像のURLを出力できる機能を加えました。
▼解説:
OGP画像によるネタバレを防ぐ用途等にもご活用頂けます。
NSFWフラグ付き画像なら代替画像を使う指定も可能
➡ 詳しい書き方と使い方は、使い方・設定方法ページの「OGP+Twitter Card用meta要素の出力仕様」区画内にある「og:image 項目」の水色の囲み内をご覧下さい。

🌸RSSフィード内に出力される画像がNSFWフラグ付きだった場合は、og:imageと同じ代替画像にすべて差し替える設定項目を追加。
画像を含むRSSフィードを出力している場合は、RSSフィード内に『画像を表示するimg要素』がそのまま出力されますので、NSFWフラグ付き画像でも何の加工もなく見えてしまう問題がありました。その問題を解消するために、NSFWフラグ付きの画像はすべて「OGP側で設定した代替画像」に差し替えられる設定機能を加えました。
▼解説:
RSSによるネタバレを防ぐ用途等にもご活用頂けます。
RSSフィードに含まれる画像の調整指定
➡ 詳しい書き方と使い方は、FAQ・豆知識ページの「検索結果へのRSSフィードでネタバレしてしまうのを防ぐ設定方法」区画内にある「RSSフィードに含まれる画像でネタバレしてしまうのを防ぐ設定方法」項目をご覧下さい。

🌸ハッシュタグの集計を停止する機能(ハッシュタグを集計しないようにする機能)。
ハッシュタグの出現数を集計しない設定もできるようにしました。
▼解説:
ハッシュタグを使わない場合や、ハッシュタグの種類数があまりも多すぎて集計処理が重たい場合には、集計を停止すると良いでしょう。集計を停止するとハッシュタグ一覧は表示できなくなりますが、本文中に存在するハッシュタグはハッシュタグとして機能し続けます
ハッシュタグを無効にする設定2種
➡ 詳しくは、使い方・設定方法ページの「ハッシュタグ機能が不要な場合」項目をご覧下さい。

🌸ハッシュタグ一覧の表示順設定を、投稿数に関係なく文字コード順(昇順/降順)に固定する機能。
ハッシュタグ一覧の表示順序の選択肢に、下図のように「文字コード順」という項目を2つ追加しました。昇順と降順から選べます。
▼解説:
ハッシュタグの実際の使用数に関係なく、一覧での並び順が変化しないように固定したい場合には良いかもしれません。昇順の場合は、概ね、英字(アルファベット順)→ひらがな(50音順)→カタカナ(50音順)→漢字 の順で並びます。
ハッシュタグ一覧の表示順を文字コード順に固定


新機能:状況・抽出関連
🌸[[SITUATION:CLASS]] に、表示モード名を示すclass名を追加。
状況に応じた装飾用class名として、ギャラリーモード、サイトマップページモード、通常表示モードを表す専用class名を追加しました。
▼解説:
具体的には以下の3つが状況に応じて加わります。
  • mode-gallery :ギャラリーモードのとき
  • mode-sitemap :サイトマップページモードのとき
  • mode-view   :通常表示モードのとき

※てがろぐでは、モード指定がない場合、内部では「view」というモードになっています(実は ?mode=view というパラメータでもアクセスできます)。なので、通常表示時には「mode-view」というclass名が常に加わります。したがって、「ギャラリーでもサイトマップでもない場合」という条件判定をしたい場合には「class名に mode-view が付加されているかどうか」で判断できます。

➡ 詳しくは、カスタマイズ方法ページの「そのときの表示状況に応じてページデザインを切り替える方法」区画をご覧下さい。

🌸[[SITUATION:CLASS]] で、スキン指定がない場合のHOMEページを表す専用のclass名 grandhome を追加。
表示条件が限定されておらず、プレビュースキンも指定されておらず、モードも指定されていない状態で、1ページ目が表示されている場合に限って grandhome というclass名も付加されるようにしました。
▼解説:
従来、表示条件が限定されていない状態の1ページ目が表示されている際には「HOMEに居る」という解釈で「 home 」というclass名が付加されていました。しかし、
  • ギャラリーモードの1ページ目にも home は付加されますし、
  • サイトマップページモードの1ページ目にも home は付加されますし、
  • 何らかの別スキンがパラメータで指定されている場合でも1ページ目なら home が付加されます。
……というように、「home」が付加される状況はたくさんあります。
そこで、『表示条件だけでなく、モードもスキンも一切指定されていない状態』のことをグランドホームとして「 grandhome 」というclass名を付加する仕様を加えました。複数のスキンを併用することが前提のデザインを作る際には、もしかしたら役に立つかもしれません。

※この grandhome は、必ずしも「パラメータが一切ない状態」だとは限りません。例えば、表示順を逆順(時系列順)にしている場合でも、grandhome になります。逆順になっていないgrandhomeを判別したい場合は「reversedが付加されていない」点を確認すると良いでしょう。

➡ 詳しくは、カスタマイズ方法ページの「そのときの表示状況に応じてページデザインを切り替える方法」区画をご覧下さい。

🌸文字数を指定して本文の一部分を抽出する記法で、三点リーダではない任意の記号を指定できる新記法 [[COMMENT:TITLE:文字数:省略記号]] 等を追加。
本文1行目をタイトルとして扱っている場合に、文字数の上限を超えると(従来は)問答無用で「…」で省略されていましたが、任意の記号を指定できるようにしました。
▼解説:
投稿本文を挿入する [[COMMENT]] という記法には、本文を分割して一部分だけを挿入するバリエーションがいくつかあります。その中には [[COMMENT:TITLE:30]] のように「1行目の先頭から30文字だけを抜き出す」などの記法もあります。
その際、「それ以後が省略されている」ということを示す省略記号として、従来は三点リーダ「…」が強制的に使われていました。この省略記号を、別の好きな文字に置き換えられるようにしました。
例えば、
  • [[COMMENT:TITLE:30:(省略)]]
  • [[COMMENT:BODY:100:<以下略>]]
  • [[COMMENT:TEXT:120:‥‥‥...]]
……などのように書けます。
省略記号自体を省略したい場合は、[[COMMENT:TITLE:30:]] のように書くこともできます(=最後のコロン記号の後に直接閉じカッコを記述します)。この記述の場合は、先頭から30文字で切られるだけで、それ以後には何も出力されません。

➡ 詳しい書き方や仕様については、リファレンスの【投稿本文関連要素(オプション)】をご覧下さい。


新機能:バックアップ関連
🌸設定ファイル tegalog.ini のバックアップ機能を追加。
🌸画像インデックスファイルのバックアップ機能を追加。
管理画面の「バックアップ」では以前から全投稿データのバックアップファイルをダウンロード可能でしたが、それ以外に、設定ファイル(.ini)と画像インデックスファイルもダウンロードできるようにしました。
▼解説:
てがろぐ管理画面のバックアップ画面
上図の黄色矢印の先は以前から存在する「最新データXML」のバックアップボタンです。また、水色矢印の先は、過去の時点の投稿データXMLのバックアップ群です。今回追加したのは下記の2点です。
  • 設定ファイル(上記の橙色矢印の先)をバックアップしておけば、うっかり設定をおかしく変更してしまったときとか、うっかりバージョンアップ時に設定ファイルを上書きしてしまったときなどでも、バックアップから復元できます。
  • 画像インデックスファイル(上記の白色矢印の先)をバックアップしておけば、画像のキャプションやフラグ等の設定を誤って消してしまっても復元できます。

➡ 詳しい使い方は、使い方・設定方法ページの「自動バックアップ機能の使い方」区画をご覧下さい。


▼今回のその他の機能追加:
🌺YouTubeの動画埋め込み時に、再生開始位置(秒数)を指定可能に。
再生開始位置を指定した状態でYouTube動画を埋め込めるようになりました。
YouTubeの公式UIから「再生開始時刻を指定したURL」を取得して使っても構いませんし、YouTubeの動画URLの末尾に「&t=68」のように秒数パラメータを加えて記述しても構いません。
➡ 詳しくは、使い方・設定方法ページの「YouTube動画を埋め込む書き方」区画にある「再生開始時刻を指定したい場合」項目をご覧下さい。

🌺YouTubeの動画埋め込みサイズを任意に指定可能に。
YouTube動画の埋め込み縦横サイズを、管理画面の[設定]からピクセル数で手動指定できるようにしました。(デフォルトは 560×315 )
指定できる最小サイズは横240×縦135(px)です。ただ、実際にどんなサイズで描画されるかは、CSSでの装飾次第ですから、この設定画面で指定したサイズで常に表示されるとは限りませんのでご注意下さい。
YouTubeラベルで動画を埋め込む設定
➡ 詳しい使い方は、使い方・設定方法ページの「YouTube動画を埋め込む書き方」項目をご覧下さい。

🌺Spotifyの音楽埋め込みサイズを4種類から選択可能に(自由サイズの指定も可能に)。
Spotify公式の埋め込みサイズ「標準」と「コンパクト」と同じサイズでの埋め込み手段も加えました。また、縦横サイズを任意に指定することもできます。
ここでは、埋め込みサイズを下記の4種類から設定できます。
  • A:横300px×縦380px =昔のSpotify標準サイズ(デフォルト)
  • B:横100%×縦352px =標準サイズ
  • C:横100%×縦152px =コンパクトサイズ
  • D:任意のサイズ(横210×縦80px以上)
上記の4種類それぞれで表示してみた例は下図の通りです。(左上はデフォルトの表示Aで、右下はDで最小サイズを指定した場合の例)
Spotifyの埋め込みサイズ4例 Spotifyの埋め込みサイズを変更する設定
指定できる最小サイズは横210×縦80(px)です。
ただ、実際にどんなサイズで描画されるかは、CSSでの装飾次第ですから、この設定画面で指定したサイズで常に表示されるとは限りませんのでご注意下さい。

➡ 詳しい使い方は、使い方・設定方法ページの「Spotifyの埋め込みサイズを変更する方法」項目をご覧下さい。

🌺新着投稿リスト(LATESTLIST)に、所属カテゴリ名を表示できる記法を追加。
新着投稿リストに表示できる構成要素に「カテゴリ名」を増やしました。(デフォルトでは表示されませんので、表示したい場合には設定を変更して頂く必要があります。)
具体的には、「内容と順序」欄に記述できる英字の選択肢に「C」を加えました。これを加えると、その位置に「カテゴリ名」が出力されます。
➡ 詳しくは、カスタマイズ方法ページの「新着投稿リストの装飾方法」をご覧下さい。

🌺スキンのプレビュー適用時に、絶対パスや上位ディレクトリを参照する相対パスの記述での指定を許可するか禁止するかを設定可能に。
てがろぐ3.9.0以降では、てがろぐCGI本体の所在ディレクトリよりも浅い階層のディレクトリに存在するスキンでも適用可能になりました。その「浅い階層にあるスキン」の適用を許可するかどうかを設定で選択できるようにしました。
ただし、デフォルトではOFF(=禁止)に設定されていますので、既にその機能を使用中の場合には設定を変更して頂く必要がありますのでご注意下さい。
スキンの適用制限
上記の黄色矢印の先のチェックボックスをONにすると、「 ../ 」で浅いディレクトリを参照する相対パスや、「 / 」で始まる絶対パスでの指定が許可されます。

※なお、「 / 」で始まる絶対パスは(サーバのファイルシステムのルートディレクトリではなく)WebサイトのDocument Rootを基準にした絶対パスだと解釈されます。URLは指定できません。
※実際の位置が(CGI本体よりも浅い階層ではなく)深い階層になる場合でも、「/」記号で始まる絶対パスで指定する場合や、パスの内部に「../」の記述が含まれている場合には、この制限に該当します。


➡ 詳しくは、カスタマイズ方法ページの「スキンは、直下のサブディレクトリ以外の別階層にあっても使える」項目の下部「※ただし、事前設定が必要」をご覧下さい。

🌺Powered-by表記のリンクを別タブでのリンクにできる新記法 [[VERSION:NEWTAB]] を追加。
てがろぐスキンには、Powered-by表記を出力する [[VERSION]] の記載が必須ですが、このバリエーションとして [[VERSION:NEWTAB]] を新設しました。
この記法を使っても、出力される文字列自体は「Powered by てがろぐ Ver 4.0.0」のような感じで同じですが、リンク先が別タブで開くようになります。
具体的には、出力されるa要素に target="_blank" rel="noreferrer noopener" の属性が付加されます。
[[VERSION]] でも [[VERSION:NEWTAB]] でも、どちらでもお好きな方をご使用下さい。(※どちらか一方は必須です。)


▼その他の細かな機能改善:
自由装飾記法のclass名として、(英数字以外に)ハイフン記号とアンダーバー記号も使用可能に。
自由装飾記法で指定できるclass名には、従来は英数字しか使えませんでしたが、ハイフン「-」記号と、アンダーバー「_」記号も使えるようにしました。
➡ 詳しくは、使い方・設定方法ページの「class名を自由に指定できる装飾記法」項目をご覧下さい。

「補助出力」設定で、ギャラリーモード等のためのスキンディレクトリの指定でも相対パスを使用可能に。(従来は / や . 等の記号が強制削除されていました。)
てがろぐ3.9.0では、任意のパス(PATH)でスキンを適用可能になりましたが、設定画面の「補助出力」で登録できる(=ギャラリーやRSSやサイトマップページ用の)スキンの位置指定にはパス(PATH)を指定できないままでした( / や . 等の記号が強制削除されていました。)。
その仕様を修正し、この設定欄(下図)でも「パス(PATH)を含むスキン位置」の記述ができるようにしました。
補助出力設定画面

Spotifyの音楽埋め込みにも loading="lazy" を付加。
Spotifyを埋め込むiframeにも loading="lazy" の属性を付加しました。
これによって、Spotifyの埋め込み位置にスクロールしない限りSpotifyのデータが読み込まれなくなるので、無駄な通信量を削減できます。(YouTubeの埋め込みには以前から loading="lazy" が付加されていたのですが、Spotifyには付いていなかったので付けました。)

新着画像リストを装飾するCSSを書きやすいように、リスト内の1項目ずつを囲むマークアップを追加。
新着画像リスト内に表示される画像は1つずつ、それぞれの外側を <span class="imagelistitem"> ~ </span> で囲むようにしました。これには、主に下記の2つの目的があります。
  • ➊標準添付の各スキンでは、NSFWフラグ付き画像を blur(9px) のフィルタでぼかすようにCSSを書いています。このとき、新着画像リストに表示される「ぼかされた画像」が、枠からはみ出て表示されてしまう問題がありました。それを解消しやすくするために、外側に枠を用意しました。そうすると、「その枠からはみ出さないようにする」装飾を作りやすいですから。
  • ➋新着画像リストには、投稿画像総数が少ない場合には「NO IMAGE」ダミー画像が表示されます。このダミー画像はリンクにならないので、外側に共通の枠がないと、配置を調整するCSSを書くのが難しい問題がありました。その解消も目的の1つです。

その結果、標準スキンでは下図のように表示されるようになりました。NSFW用のスタイルによって画像がぼかされていますが、ぼかされた端が画像枠からはみ出ずに表示されています。
新着画像リストの表示例

➡ 詳しくは、カスタマイズ方法ページの「新着画像リストの装飾方法」区画にある「新着画像リストとして実際に出力されるHTMLソースの例3通り」項目をご覧下さい。出力例のHTMLソースを掲載しています。水色で表示されている部分が、今回に追加されたマークアップです。

日付一覧にリストアップされる年月リンクの「年」や「月」という漢字だけをCSSで装飾できるよう、出力マークアップを追加。
日付一覧に表示される「2023年02月」という表記に含まれる「年」や「月」という漢字だけを装飾できるようにするため、
  • <span class="unit nen">年</span>
  • <span class="unit gatsu">月</span>
として漢字だけを単独でマークアップするようにしました。
「年」や「月」という漢字だけを非表示にしたり小さく表示したり色を変えたりする用途にご活用頂けるでしょう。

➡ 詳しくは、カスタマイズ方法ページの「日付一覧リストの装飾方法」区画にある「日付一覧リストの各部分をCSSで装飾する方法」項目をご覧下さい。出力例のHTMLソースを掲載しています。

日付一覧・日付検索のリストで、2000年より古い日付もリストアップできるように改善。(ただし1970年以降のみ)
てがろぐで投稿日時を手動指定する場合、年は4桁なら何でも良いので西暦1000年などの日付でも投稿は可能ですが、「日付一覧」として出力されるリンクリストや、「日付検索」として出力されるプルダウンメニュー部分には、2000年以降の日付分しかカウントされない仕様でした。しかし、もっと昔のデータをサルベージして掲載する用途にも需要があるようですので、2000年以前の日付でもリストアップするように改善しました。
1970~1999年もリストアップ対象に
※ただし、リストアップされるのは1970年以降のみです。(今のところ)

日付境界バー内部の日付表記やリンクをCSSで装飾しやすいように、マークアップとclass名を追加。
日付境界バー(投稿年月が変化する際に挿入されるバー)の内部をパーツ別に装飾しやすいように、span要素を加えたりclass名を増やしたりしました。
日付境界バーのマークアップ
出力される具体的なHTMLソースは、カスタマイズ方法ページの「日付境界バーをCSSで装飾する方法」に掲載しておりますので、そちらをご参照下さい。

※HTML的には、この用途ではp要素を使わない方が良いとも思うのですけども、いまさらdiv要素に変えてしまうと、既存のスキン(p要素のデフォルトスタイルを前提に装飾を作っているスキン)に影響してしまうので、p要素のままにしました。

ギャラリーモードやサイトマップページモードでの表示時に「状況に応じた見出し行」に表示される名称を装飾しやすいようマークアップを追加。
ギャラリーモードやサイトマップページモードでの表示時には、「状況に応じた見出し」に設定した名称(デフォルトでは「ギャラリー」と「サイトマップ」)が表示されます。その際、従来はそのままテキストだけが挿入されていましたが、この仕様を改善し、次のようにマークアップを加えて出力するようにしました。
  • <span class="situation-mode">ギャラリー</span>
  • <span class="situation-mode">サイトマップ</span>
これによって、これらのモード名をCSSで装飾しやすくなりました。

※「ギャラリー」や「サイトマップ」という文字列は、管理画面の「設定」→「補助出力」で変更できます。
ギャラリーモードでの状況に応じた見出しの表示例
➡ 詳しくは、カスタマイズ方法ページの「状況に応じた見出し行の装飾方法」をご覧下さい。

下げた投稿を新着投稿リストには掲載しないよう仕様改善。
投稿時に「下げる」チェックをONにして投稿された場合には、新着投稿リストにリストアップされないよう仕様を改善しました。
※注:新着投稿リストの内容はキャッシュしているので、てがろぐCGIをバージョンアップしただけでは表示は変わりません。管理画面から「投稿を再カウント」を実行するか、もしくは何か新規投稿するか既存投稿を再編集するかすると、(新着投稿リストも再生成されるので)表示も変わります。


▼スキン更新:
🌻NSFWフラグ付きの画像が新着画像リストに表示されるとき、ぼかしが枠からはみ出ないようCSSを修正。
🌻Chromium系ブラウザで(キャプションありの)NSFWフラグ付き画像を表示したときに、画像の下側のぼかしが枠からはみ出てしまうCSSを修正。

#不具合修正
❎新着画像リストを構成するHTMLソースに、img要素のalt属性値が重複して出力されていた不具合を解消。
動作に不都合はなさそうですが、無駄なalt属性が存在していて良いことはないので、修正しました。
❎『画像リンクに独自のclass属性値を追加』にチェックが入っている状態で、その直下のテキスト入力欄が空っぽのとき、『空白の連続を再現 (半角空白文字の連続をそのまま見せる)』項目がONの状態だと、フラグ付き画像のclassが正しく適用されなくなる問題を解消。
下図の緑色矢印の先のように設定されていると、フラグ付きの画像に対して出力されるclass名に余計な文字列が付加されてしまって、正しくCSSが適用されなくなる問題を解消しました。
不具合修正
(※上図の緑色矢印の箇所で、『チェックを入れているのに、対応するテキスト入力欄が空欄の場合』にだけ問題が発生していました。)

❎投稿日時として50年以上前の日付を指定すると、相対時間表記(=投稿時点からの経過時間の表記)が正しくなくなる問題を修正。
投稿日時に「1973年1月1日」のような50年以上前の日付を指定すると、相対時間表記(=投稿時点からの経過時間の表記)で「49年以上後」のように未来の日付であるかのように表示されてしまう不具合を修正しました。
❎[[CATEGORYLINKS:SITEMAP]] 等の記法を使っても「カテゴリなし(cat=-)」の場合はデフォルトスキンでの表示になってしまう不具合を修正。
その投稿が属しているカテゴリへのリンクを挿入できる記法 [[CATEGORYLINKS]] で、オプションに SITEMAP や GALLERY を加えたとき、「カテゴリなし」へのリンクにだけはオプションが効いていなかった不具合を修正しました。
❎簡易本番適用中のスキンを削除した後でログアウトしてしまうと、「スキンが見つからない旨のエラー画面」と「ログイン画面」との間を無限に行き来するだけになってしまう不具合を解消。
あるスキンを簡易本番適用している状態で、そのスキンを削除すると、ページを表示しようとしてもエラー画面が表示されます。このとき、ログイン済みの状態なら管理画面に再度アクセスしてスキンの適用を解除すれば済みます。しかし、非ログイン状態の場合は、ログイン処理が完了できず、「エラー画面」と「ログイン画面」との間で永遠に行き来してしまう不具合がありました。それを解消しました。
❎設定『本文中のテキストリンクを絶対URL(フルパス)で出力する』項目がONだと、 [[HASHTAG:PULL:GALLERY]] 等の記法を用いてもモード指定リンクにならない不具合を解消。
管理画面の[設定]→[ページの表示]→【投稿本文の表示/テキスト】→[▼テキストリンクの出力調整]にある『本文中のテキストリンクを絶対URL(フルパス)で出力する』項目がONの状態だと、 [[HASHTAG:PULL:GALLERY]] や [[HASHTAG:PULL:SITEMAP]] を書いても、ハッシュタグリスト内のリンクが、ギャラリーモードやサイトマップページモード用のリンクにならない不具合がありましたが、これを解消しました。
❎共通鍵が設定されていない状態で設定画面にアクセスした際に、サーバのエラーログに Use of uninitialized value ... のようなアラートが記録される問題を解消。
管理画面の[設定]→[ページの表示]→【鍵付き(パスワード保護)投稿の表示】→「▼共通鍵の設定」で共通鍵が設定されていない状態のとき、設定画面にアクセスする度に「 Use of uninitialized value $setdat{"skcomh"} in string ne at tegalog.cgi line 9966 」のようなアラートがサーバのエラーログに記録される問題を解消しました。(※動作そのものには不都合ありません。)


以上、ご活用頂ければ幸いです。

※今回はメジャーバージョンアップで、セキュリティ強化関連の新機能や不具合の修正も含んでおりますので、バージョンアップ頂くことを強く推奨致します。(バージョンアップしても、ログインし直す必要はありません。ログイン状態は維持されます。データや設定はそのまま引き継げますし、もし必要になれば後からバージョンダウンすることも可能です。)

なお、開発進捗状況報告サイトでフォロー頂くと、てがろぐCGIの最新β版や正式版の公開時にメールで連絡を受け取ることもできますので、ぜひご活用下さい。(╹◡╹)ノ
フォロー数が増えると、私の開発モチベーションが向上するメリットもあります!!!🤩

:16280文字 修正

DASHBOARD

■リリースノート内を検索:

■最近の投稿:

■その他のご案内:

▼現在の公開バージョン:

正式版:Ver 4.2.0
β版は適宜。)

▼ご質問やご要望がある場合:

ご質問やご要望がある場合は、動作テスト用てがろぐもご利用下さい。事実上のサポート掲示板にもなっておりますので。(^_^;)

編集

■日付検索:

▼現在の表示条件での投稿総数:

31件

このリリースノートも、てがろぐCGIを使って生成しています。
てがろぐCGIでページの生成に使用しているスキンファイルの実体は普通のHTMLファイルですから、一般のウェブページと同様の手順で自由に書き換えられます。

Powered by てがろぐ Ver 4.2.1.

--- 当サイト内を検索 ---