2025年6月 この範囲を時系列順で読む この範囲をファイルに出力する
>>5258
ご回答ありがとうございます。
.jpgと.pngでテストしていたのですがそれでも画像一覧のところで確認しても縦横サイズが取得されないことが多々ありました(再度読み込みをしても)。なので何か管理しているところがあるのかしら、と思った次第でして。(もしかしたら複数画像を加工しての投稿であるからかもです…わかんないんですが)
WebPについては特に今のところ考慮しておりません。しかし自動取得される筈の拡張子でも取得されないことは事実であるので、手動で縦横サイズを登録する方法の方がWebPなど
他の拡張子にも対応できそうだなと思いました。
ご回答ありがとうございます。また色々お尋ねするかもしらませんが、よろしくお願いします
🍨Re:5255◆てがろぐ側で縦横サイズを自動取得できる画像形式は、JPEG、GIF、PNG、SVGだけです。WebPやHEICなどの画像の縦横サイズは自動では取得できません。以下、ご質問に回答します。
- てがろぐでは、画像ファイルのバイナリを直接読んで縦横サイズをその都度把握しています(記録はしていません)。その都度調べるのは、画像が(FTP等の外部の手段で)差し替えられた場合に対応するためです。JPEG、GIF、PNGには画像のバイナリに比較的単純な方法で縦横サイズが記録されているのでそこから取得しています。SVGの中身はXMLテキストデータなので属性値から取得しています(省略されていれば取得できませんが)。しかし、WebPやHEICはそこまで単純な方法では分からないので今のところ自動取得の対象外にしています。WebPに関しては画像処理系のライブラリ(Image::Info)を読めば取得できますが、そうすると動作環境を狭めてしまう可能性がありますので避けています。そのうち(OGPリンクと同様に)補助PHP側でなんとかするかもしれません。ただ、PHPでも7.1以降でないとダメっぽいですが。
- 画像管理画面から手動で縦横サイズを登録してみて、その後の画像インデックスファイル(index.xml)を見るとよく分かると思いますが、<fixed>930x620</fixed>のような感じで記録されます。「x」は小文字のエックスです。これも空白等は一切許容されないのでご注意下さい。ここに値を書き込んでおけば、その値が固定的に出力されます。(たとえ自動取得が可能な画像形式であっても、ここに書かれた値の方を採用して出力します。)
🍨Re:5256◆コピー&ペーストとかで余計な空白が入ってしまうケースはわりとよくあると思うんですが、それでも今まで発覚しなかったのがちょっと不思議だな……と思いました。(笑) 自分でもかなりの回数でいろいろテストした気がしていたんですけども。^^;
🍨Re:5257◆ご確認ありがとうございます~。(╹◡╹)ノ やはりそこが原因ですね。
>>5253
ご回答ありがとうございます。おっしゃられる通り、省略形のタグを使わず改行、空欄などをあの形式通りにすれば
フラグやキャプションを付与することができました。勉強になりました(といってもChatGPTが作っているのですが…)
PHPの方はどうにかなり、比較的安定して(といってもサンプル数が少ないのでなんともですが)フラグやキャプションをそれぞれ画像ごとに付与して登録できております。
付け加えて現在画像加工機能(トリミングやフィルター等)を搭載しようと考えております。
そこでもう2つほどお尋ねしたいことがございます。改造の話であるので閉じます。
画像サイズはコンソール側で取得できているのですが、てがろぐに登録すると大抵「縦横サイズ取得できず」と表示されます。
お尋ねしたいこととして以下の2点です。
①投稿時、画像のサイズ(width/height)はどこで取得・認識していますか?
②XML に pixel サイズ情報を入れたい場合、仕様として項目名はありますか?畳む
お手すきの際で大丈夫ですのでお答えいただければと思います。
よろしくお願いいたします。
回答が遅くなってすみません。
🌽Re:5246◆お役に立って良かったです。内部の実装は冗長なんですけども(最初に本来の [[ONEPICT:1]] で出力されるHTMLソースを生成した上で、そこから必要な部分だけを抽出して出力するような実装なので)、しかしスキン側の自由度が上がるのは確かですね。
🌽Re:5247◆解決したとのことですが、参考までに回答しておきます。
- 省略形のタグは一切認識しません。てがろぐのデータは、XMLっぽい形式ですが、完全な仕様のXMLというわけではないので、XMLとして許可されているあらゆる書き方ができるわけではありません。既存のファイルの中身を見て、タグ部分は本当にそのままの状態で使う必要があります。空要素の場合は『 <tag></tag>=空だと認識される』・『<tag />=認識できないので結果的にデータなしと認識される』という点で不都合がないケースもあるかもしれませんが、(中身がカラでも)存在が必須である要素を省略形にしてしまうと、その1件まるごとが認識されなくなると思います。詳しくは、「他サービスから大量の過去データを引き継ぎたい場合は、XMLデータを直接編集すると楽かもしれない」項目の末尾にある補足欄をご覧下さい。(ここは、tegalog.xmlの説明ですが、画像インデックスファイルの場合でも制限仕様は同じです。)
- データファイルの更新は「てがろぐ内部による更新」と「人間が手動で編集する更新」の2通り以外は想定していませんので、外部のツールから新規投稿のタイミングで修正されるケースでは何か問題があるかもしれません。
- 画像インデックスファイルを更新する際は、全体を書き換えます。なぜなら、既存の画像が変化している場合にも対処する必要があるからです。とはいえ、人間がデータファイルを直接編集した場合にも備えて、既存のデータを読んでから更新しますので、正しく書き換えられてさえいれば、その情報は維持されるハズです。なので、もし維持されないなら、書き方が正しくない可能性があります。なお、①の回答にも含めましたが、XMLで許容されているすべての書き方ができるわけではなく、特に「1件1行」で書かなければ認識されない仕様です。1つでも改行があると、そのデータは正しく読めなくなります。
🌽Re:5249◆どへえ……! たしかに文字化けしますね……! 今まで誰からも指摘がなかったのが不思議なくらい、単純な検索で起きる現象ですね……。全文検索でのハイライト表示の処理に問題があるっぽいので、管理画面の[設定]→[ページの表示]→【全文検索/表示】で『検索結果に含まれる検索語を強調表示する』をOFFにすると発生しないと思います。次のバージョンでなんとかします。ご報告をどうもありがとうございます!
🌽Re:5250◆テストありがとうございます。[設定]→[ページの表示]→【全文検索/表示】で『検索結果に含まれる検索語を強調表示する』項目はOFFの状態でお使いでしょうか? もし、ここがONであるにもかかわらず文字化けせずに済んでいるようならぜひ教えて下さい。
🌽Re:5251◆はい。[[ONEPICT:1:オプション~]]の各記法では、当該画像がない場合には何も出力されません。これは、JavaScript等で取得したい場合や、直接何らかの属性値として使いたい場合には、余計なエラーメッセージを出力するよりも空文字を出力する方が扱いやすいだろうからです。何も表示されない場合にCSSで代替画像を表示したい場合は、以下のようにする手があります。
- 例えば <span class="hoge">[[ONEPICT:1:IMG]]</span> のようにスキンを書いた場合、
- 当該画像がなければ、HTMLには <span class="hoge"></span> とだけ出力されますね。要素の内容がカラです。
- この場合、.hoge:empty { ~ } というCSSを用意すれば、「内容がカラの場合にだけ適用される装飾」を作れます。
🌽Re:5252◆テストありがとうございます。ご自身でお使いの方も、おそらく『検索結果に含まれる検索語を強調表示する』項目はONでお使いでしょうかね?
自分のサイトに設置しているてがろぐと、ここの動作サンプル用てがろぐの両方で試すとこんな感じになりました。5250さんと同様、Ver 4.6.3です。もしかしたらサーバーによって違うのかも?

[[ONEPICT:n]]記法の拡充で使い方の幅が広がりそうで楽しいです。いつもありがとうございます!
ところで[[ONEPICT:1:IMG]]では記事に画像が含まれない場合、NoimageErrorは出力されない仕様でしょうか?
自作の画像付き記事一覧スキンでNoimageの場合CSSで代替画像を表示するという使い方ができなくなってしまったので確認でした。
うちのてがろぐでやってみました📝
特に文字化けはしていないですね。
verは最新β版の 4.6.3. です。
一点確認させていただきたいのですが、たとえば「 2025/06」「 2025/06」など、冒頭にスペースを含めたキーワードで全文検索すると、結果として出力される記事本文が文字化けしているように見えるのですが、皆さんそのようになりますか?所謂「おま環」でしょうか。。(こんなキーワードでの検索は実際にはしないかとは思いますが、コピペをミスってスペースが混じってしまったときにこうなりました
解決しました!お騒がせいたしました。
画像アップロード時にフラグやキャプション付与したいという改造関係の話でございます。
以前お話ししていた画像アップロード時にフラグやキャプションを付与しようとChatGPTに尋ねつつ作成しているのですがうまくいきません。
複数画像投稿することや、<image>~</image>の部分をPHPで記載しxmlを更新することはできたのですが、フラグ及びキャプションについては最新の物しか付与されませんでした。
投稿直後のindex.xmlを確認するとフラグもキャプションもどちらもについて記載されていますが、実際の記事や画像管理画面では最新のものにしか付与されていませんでした。
お尋ねしたいことは以下の2点です。
①省略形のタグ(例:<user/>)ではなく、開閉タグ(<user></user>)で統一すべきでしょうか?(開閉タグでしたときはフラグもキャプションもつきませんでしたが…)
②外部からindex.xmlを正しく更新し、情報が保持される方法があればお教えいただけますでしょうか?
③こちらのふわっとした認識でございますが、整形後(正式な方法でアップロードor画像管理画面を開いた後)のxmlと同じ記載方法(順序)であれば整形されても上書きされないと思っているのですが、あっておりますでしょうか?また、記載方法については改行や空白も含むのでしょうか?
お忙しいところ大変恐縮です。
お手すきの際にお教えいただければ幸いでございます。
よろしくお願いいたします。
畳む
まさかこんなにお早く[[ONEPICT:1]]周りの機能を追加していただけるとは思っておりませんでした![[ONEPICT:1:IMG]]だけで諸々の情報を含んだimgを出力できるのもシンプルで助かります。
Ver 4.6.3βをさっそく試しております。おかげさまでやりたかったスキンの形が実現できました。お忙しい中本当にありがとうございます。配布を始めたらこちらで紹介させていただくかもしれません。
🆕 Ver 4.6.3βの更新点(概要):
《▼新機能》
●投稿内のn番目の画像を出力する [[ONEPICT:n]] 記法に、細かなオプション記法を追加。
《▼仕様改善》
●.htaccessの影響で管理画面上からは過去バックアップのダウンロードが阻まれる問題を解消。
詳しい使い方などは、上記の開発進捗状況報告ページの記事をご覧下さい。
🍘SNSでのアナウンス:
Mastodon(Pawoo)
Bluesky
Twitter:
(ツイート埋め込み処理中...)Twitterで見る
🥪Re:5242◆リンクを画像に変えたいだけなら、CSSで実現できます。
例えば、外側スキンに <div class="backlink">[[FREE:HOMELINK]]</div> のように書いているとします。
すると、実際には <div class="backlink"><a href="設定されたリンク先">設定されたラベル</a></div> というHTMLが出力されますね。
このリンクテキストを例えば back.png という画像に置き換えるには、以下のようなCSSを使えば可能です。
.backlink a {
display: inline-block;
width: 100px; /* 画像の幅に合わせて調整 */
height: 30px; /* 画像の高さに合わせて調整 */
background-image: url('back.png');/* 見せたい画像 */
background-size: contain;
background-repeat: no-repeat;
text-indent: -9999px;
overflow: hidden;
}
この方法なら、HTMLは何も変えずに、CSSだけでテキストリンクを画像リンクに変更できます。
(他には、JavaScriptで innerText をimg要素に置き換える手もありますけども。)
要望になりますが、[[FREE:HOMELINK]]内のURLだけを抽出する抽出する要素はありませんか?ヘルプを見ても該当する要素がないようであるため、なければ要望としてHOMELINKのURLだけを指定できる要素を追加していただけると助かります。
(よくホームページへのリンクに画像を利用するためです。ALT要素のために「リンクラベル」も単独で指定できると助かります)
ご紹介頂いたページでは対処法に「投稿時だけWAFをoffにして投稿後に戻す」などがありましたが、最終的にcssのdecoで数ピクセルの空白を作ったものをorの左右に配置し、「a or b」ではなく「aorb」として認識されるようにして(?)回避することにしました。
サーバーの仕様になってしまうと素人には全くわからないので、とても助かりました。いつも丁寧なご対応ありがとうございます。
🥪Re:5237◆なるほど、画像の縦横サイズ情報が必要なギャラリー系ライブラリもあるんですねえ。次のβ版は、準備がとてもうまくいけば、今日の夜に公開できるかもしれません。うまくいけば、の話ですけども。^^;
なお、てがろぐで画像の縦横サイズが自動取得できるのは、JPEG、GIF、PNGと一部のSVGだけなので、WebP等をご使用の場合は、画像情報の編集画面で手動登録しておかない限り縦横サイズは出てきませんのでご注意下さい。
🥪Re:5238◆特に予定はありません。文章を複数のページに分割したい場合は、単純に複数の投稿に分割すれば良いのではないかと思います。複数投稿を1つにまとめる機能としては、カテゴリ機能やハッシュタグ機能がありますし、 >>5170,5123,5097 などのように任意の投稿No.を連結表示する機能もありますし。もしお一人でお使いの場合は「特定の投稿者だけの投稿を閲覧する機能」も「第2のカテゴリ」的に使えます。「他の投稿に絶対に登場しない単語」を含ませることで、全文検索結果へのリンクを使って任意の投稿をまとめることもできるでしょう。
🥪Re:5239◆お使いのサーバのWAF(Wab Application Firewall)が原因です。「or」という単語はSQLで論理演算子として頻繁に登場するので『SQLインジェクション攻撃パターン』と誤解されてブロックされるケースがあります。「or」という単語自体は英文には極めて頻繁に出てくると思いますから、いくらなんでもWAFの条件判定が厳しすぎると(個人的には)思うのですが、サーバ側(WAF側)がそういう判断をしている以上、(そのサーバ上で稼働しているに過ぎないCGI側では)どうしようもないのです。WAF機能をOFFにすれば解決しますが、WAFを有効にしたままどうにかなさりたい場合は、レンタルサーバへ苦情を入れて頂くほかなさそうに思います。
※ここまで厳しい条件で判定させると、ユーザ側がWAFをOFFにしようと思う動機になりやすいので、レンタルサーバ側はもうちょっとWAFの条件を緩める方が総合的には安全を維持できると思うのですけどもね……。
なお、「or」と書くだけで『SQLインジェクション攻撃パターン』だと誤解されてしまう詳細については、Perplexityによる説明 をご覧下さい。回答文章の上部に見える「ソース」リンクを押すと、情報元のWebページも閲覧できます。(※Perplexityのアカウントをお持ちではない場合、初回アクセス時にサインインを求められるかも知れませんが、何もせずに「閉じる」を押せば閲覧できます。)
要望というほどではないのですが、ひとつの投稿内において、長文を複数のページに分割できる機能(小説投稿サイトのページ分割機能のような)の実装予定はございますでしょうか?
特に画像のwidthとheightを出してくれるのが嬉しいです。
この本体画像サイズが取得できると事前に画像サイズの定義が必要になるギャラリー系のライブラリ(具体的にはPhotoswipe)を導入することができるようになります。
https://photoswipe.com/
フラグ自体も取得できるとのことでギャラリースキンの実装が色々簡単になると予想できるので、本当にこのアップデートが使えるようになるのが楽しみです。
🥐Re:5230◆投稿1枚目の画像が「原寸画像へのリンクにならず、キャプションも付かず、ただimg要素だけで出力される記法」を新たに用意しました。また、「指定画像のフラグだけを得る記法」も用意しました。次のβ版からお使い頂けますので、もうしばらくお待ち下さい。
(ツイート埋め込み処理中...)Twitterで見るBluesky Pawoo
例えば、[[ONEPICT:1:VALUE:CLASS]] と書くと、1枚目の画像のフラグだけが出力されますので、<span class="[[ONEPICT:1:VALUE:CLASS]]">~</span> のような感じで書くと、画像のフラグだけを使って何か装飾したりできそうな気がします。
🥐Re:5233◆そうですね。そのスクリプトは、てがろぐ側の画像UP機能を経由せずに(新規投稿前に)画像をUPする仕様ですから、そこから画像インデックスも書き換えられれば、新規投稿前にNSFWフラグを付けることもできます。
🥐Re:5234◆サポートありがとうございます!(╹◡╹)ノ
🥐Re:5235◆WAFをOFFにすると解決はしますが、WAFをOFFにするのはあまり望ましくないのですよね。てがろぐにはCodePenを埋め込む機能がありますので、JavaScriptソースを掲載する用途なら、CodePenに書いて埋め込む方が(特にソースが長い場合には)便利かもしれません。文法に従って色分け表示もされますし。
CodePenを埋め込んだ例
>>5234さんのおっしゃる通りでした!!
WAFの設定でした。
ありがとうございます。お騒がせいたしました。
サーバの設定をみてみると良いかもです〜見当違いだったらごめんなさい!
お返事ありがとうございます。
>>5232のような流れで処理されているのですね。
全然システム的なことが詳しくなくて見当違いなことをお話していたら恐縮なのですが
『「てがろぐ側の画像UP機能を使わずに、独自に画像をUPして画像インデックスを更新する」と言う処理が必要そう』、とのことでしたが
てきとーのーと様の『てがろぐでD&Dまたはコピペで画像投稿するやつV2 』を使用したらいけるといいなとおもいました。
実際にChatGPTに聞いてみると可能とのことでしたのでチャレンジしてみようと思います(ChatGPTは割と頻繁にいい加減なことを言いますが。。)
以下別件です。
セキュリティレベルをJavascriptでも可能なものにしたのですが、てがろぐで備忘録としてエスケープ文字を用いてコード(VueやJavascript)を記載し投稿しようとしたら404がでてしまいます(ロリポップのサーバーです)。
CSSはエスケープ文字で記載できたのですが、Javascriptについてはどうしようもないことなのでしょうか?
🥐Re:5228◆投稿と同時に画像もUPする場合、内部では以下のような動作をしています。
- 画像をアップロードする。
- フラグを立てる必要がある場合はフラグを立てる。→この時点で画像インデックスファイル(index.xml)が更新される。
- 実際にアップロードされたファイル名から、画像挿入用記法([PICT:~])を作って本文の指定位置(※設定で選択できます)に追記する。
- 投稿本文をデータファイル(tegalog.xml)に追加する。
- 本文を表示する。
新規投稿時に画像のメタデータをどうにかしたい場合は、「新規投稿されるよりも前の段階でindex.xmlを書き換えておく」みたいな手順でないと無理だと思います。(つまり、「てがろぐ側の画像UP機能を使わずに、独自に画像をUPして画像インデックスを更新する」のような処理が必要そうに思います。)
🥐Re:5230◆スキン配布ありがとうございます。てがろぐがお役に立っているようで嬉しいです。(╹◡╹)ノ 残念ながら、指定画像のフラグだけを得る記法はありません。……が、自力で画像表示用のimg要素を組み立てられるように、フラグとかサイズとかも取得できる記法も用意する方が良いかもしれませんね。ちょっと何か考えてみます。気長にお待ち頂ければ幸いです。
🥐Re:5231◆独自で検索窓を作った場合でも、てがろぐ側の検索機能を使って検索するなら(=URLに ?q=検索語 を付ける形のURLにアクセスさせるよう検索フォームを作るなら)検索結果にも「下げる」投稿は表示されます。(※『設定方法:下げた投稿が表示される状況を選択する方法』の説明にある「全文検索時」項目がONに設定されているなら、ですが。)
てがろぐ側の検索機能を使わずに、何らかの方法で投稿を絞り込んで表示しようとなさっている場合は、その方法を具体的に説明して頂かないと何とも答えようがありません。いろんな方法がありそうに思いますので。
(ついでに、なぜ標準の [[SEARCHBOX]]等ではダメなのかも教えて頂けると、今後の参考になってありがたいです。)
下げた投稿はHTMLには出力されないため一致しても表示することができず、方法が分からないのですが…
質問です。
[[GETURL:PICT:1]]で画像を配置したい場所があり、その画像にNSFWフラグがついていれば、imgのclass名に「nsfw」が出力されるようにしたいです。そういった書き方はありますでしょうか?
そういった書き方が無いようでしたら、ギャラリーモードと同じようにサイトマップモードでも、[[ONEPICT:1]]で画像を配置するときに「原寸画像へのリンク無し」設定が可能になると嬉しいです。こちらはもし可能であれば…という要望になってしまい申し訳ありません。
配置したい場所というのはサイトマップモード用のskin-onelog.htmlで、各投稿の画像を一つだけ表示したいと思っています。ギャラリーモードではなくサイトマップモードを使う理由は、投稿内の画像の有無にかかわらず一覧にしたいからです。どうぞよろしくお願いいたします。