タグ「不具合修正」を含む投稿[27件](2ページ目)
➡ 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文字 修正
てがろぐ 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.1.0 を公開しました! #Update
➡ https://www.nishishi.com/cgi/tegalog/
バージョンアップするには、tegalog.cgi と fumycts.pl の2ファイルだけを上書きアップロードして下さい。
データファイルや設定ファイルは、すべてそのまま引き継げます。(Ver.3以下も含む過去のどのバージョンからでも)
🆕 Ver 4.1.0の更新点(概要):
《▼大きな機能追加》
●鍵付き投稿機能で個別鍵(個別のパスワード)も使えるようにする機能。
●カスタム絵文字機能。
●手動入力された投稿日時も含めて、全投稿を投稿日時の新しい順に再ソートする機能。
●全投稿の投稿番号をNo.1から昇順に連番で振り直す機能。
●全投稿を一括調整する機能を使用禁止に設定できる機能。
《▼その他の機能追加》
●日付境界バーの出力状況を選択できる設定オプション。
●Apple Musicの配信音楽の埋め込み機能。
《▼細かな機能追加》
●YouTubeショート動画の埋め込みに対応。
●Instagramのリール動画の埋め込みに対応。
●Spotifyアプリの新バージョンが出力するURLでの埋め込みに対応。
●色指定時の記法を拡張(透明度の指定など)
●画像ファイル名にハイフン記号が含まれていてもそのままアップロード可能に。
●「続きを読む」機能で隠されている文字数を表示できる専用記法の追加。
《▼仕様改善》
●制限サイズを超えている画像のファイルサイズを赤色で表示
●カテゴリツリーを構成するli要素にも、カテゴリIDをベースにしたclass名を付加。
●既存画像の挿入記法で、多バイト文字が使われたファイル名も許容する設定を追加。
●本文中に含まれるコロン記号が数値文字参照「:」として出力される問題(仕様)を修正。
●ボタンを出力する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で作成されている方が綺麗に縮小して表示できるでしょう。


※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の音楽を埋め込む書き方」をご覧下さい。
▼その他の細かな機能追加:
🌷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] のような記述でも表示できるようになります。
➡ 詳しくは、使い方・設定方法ページの「日本語でファイル名が付けられた画像ファイルを表示できるようにしたい場合」区画をご覧下さい。
🍏本文中に含まれるコロン記号が数値文字参照「:」として出力される問題(仕様)を修正。
本文中に半角コロン記号「:」を書いたとき、従来は数値文字参照「:」に変換した状態で出力されていました(画面上にはコロン記号「:」が見えますが、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> で囲むように改善しました。
- 検索窓 の「検索」ボタン
- 複合検索窓 の「検索」ボタン
- 鍵入力フォーム の「投稿を見る」ボタン
- QUICKPOST の「投稿する」ボタン
- QUICKPOST の「ログインして投稿」ボタン
- カテゴリ一覧をプルダウンメニュー形状で出力した際 の「表示」ボタン
- 日付検索(日付一覧のプルダウンメニュー) の「表示」ボタン
- ハッシュタグ一覧をプルダウンメニュー形状で出力した際 の「表示」ボタン
※おそらく既存の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.3.0 を公開しました! #Update
⌚ 2024年05月13日(月) 17:40:24