にしし らぼらとりー

にしし(西村文宏)製スクリプトの公開開発実験場(ラボラトリー)です。各種スクリプトの最新版やβ版の動作確認ができます。バグ報告や、機能面でのご要望などもお気軽にお知らせ下さい。

※当ウェブサイトは、にしし製フリーCGIなどの動作確認サンプルを公開したり、製作進行に関する呟きを掲載している実験場のようなものです。 各種CGIスクリプトの配布パッケージを入手したい場合や、にしし(西村文宏)の個人サイトをお探しの場合は、 本家サイト「にしし ふぁくとりー」へお越し下さい。(╹◡╹)ノ

RSS Feed

開発放言

新規投稿 / 管理用

絨毯爆撃してくるBotによる負荷を軽減させるには、やはり「同一IPアドレスから30秒間に2回以上の頻度でアクセスがあったら一定時間ほど429を返す」みたいな処理が必要か……?

by nishishi. てがろぐ <87文字> 編集

7時間経っても復旧しないとかある……? うちのサイトが原因ではないよな……? と若干心配になるのだが。

by nishishi. <51文字> 編集

うーむ。5時間経っても復旧しないのか。まさか今日中には復旧できないとかそういうことはないよな……?

by nishishi. <49文字> 編集

しかし、メインのドメインを運用しているサーバが落ちると、メールも使えなくなるので困るな……。今日は日曜日なので元々届くメールが少ないのが幸いだが。仕事の連絡はまず来ないし。

by nishishi. <86文字> 編集

動作試験場(兼サポート場)が別サーバ(ここ)にあって良かった。とりあえず(気付かれるかどうかが分からない問題はあるが)アナウンスはできるので。

by nishishi. <71文字> 編集

メインサイトで使っているサーバの障害回復に結構な時間が掛かっている……。2時間以上落ちている障害は、もしかして、さくらインターネット利用歴24年間の中でも最長なのではないか。てがろぐ新バージョンをリリースした翌日だが、今日TegUp等でバージョンアップしようとしている人々に情報が伝わっているかどうか。せっかくメインの .com とサブの .org で2サイトあるのだし、てがろぐの管理画面には動作試験場へのリンクも設けておく方が良いかもしれない。アナウンスの場として。

by nishishi. てがろぐ <235文字> 編集

TegUpを置いている場合は、てがろぐ管理画面HOMEの「アップデートがあります」ボタンからTegUpに飛べる。現状では単に「TegUpにアクセスできるだけ」なので、TegUp上で1クリックが必要になる。それも省略できるようにして、てがろぐからTegUpへアクセスした場合には、ダイレクトにバージョンアップするようにしても良さそうな気もする。最新版の確認は、てがろぐ管理画面側で既にできているわけだし。

by nishishi. てがろぐ <201文字> 編集

details要素とsummary要素で作る折り畳み機能だと、隠されている範囲を表示させた直後に「あ、やっぱり読まなくていいわ」と思ったときに、スクロールもマウス移動も何もすることなく、同じ場所をもう1回クリック(タップ)するだけで閉じられる、というメリットがあるんだな。

by nishishi. <136文字> 編集

実装を検討している各機能について、どれくらいの需要があるのかの把握が難しい。アンケートを採るくらいしか手段がなさそうなのだが、アンケートを採っても(昨年の夏に採った)、この結果は「その時点での需要」でしかない上に、「それ以降に検討対象に加わった機能」については需要が分からない。もうちょっと何か、リアルタイムに需要を把握できるような仕組みを作れると望ましいのだが。そこでなんとなく思ったのは、(作りかけておきながら放置している)てがろぐユーザリンク集のアカウントに投票権を持たせて、検討中機能リストに投票できるようにする仕組みである。この方法を使って、
  • 検討中機能リストにある各機能に、それぞれ「欲しい」・「とても欲しい」みたいな回答(投票)ができる。
  • 検討中機能リストに項目を追加すると、その時点で投票項目が増える。
  • 投票内容(回答内容)は何度でも変更可能で、「以前は不要だと思っていたが今は欲しいと思うようになった」みたいな場合にはいつでも変更できる。
という感じにすれば、リアルタイムに需要の多寡を把握し続けられそうな気がする。もちろん、ユーザリンク集の利用者がそれなりに多ければの話だが。ユーザリンク集のアカウントを利用すれば、
  • 現役てがろぐ利用者に限定した投票ができる。
  • 1つの検討中機能に対して、同一人物が他票を投じるのをある程度は防げる。
というメリットもありそうなので、より正確なデータが得られそうな気もする。いや、協力者(投票者)がそれなりに居たら、の話だが。┌(:3」└)┐

by nishishi. てがろぐ,開発ネタ <655文字> 編集

鍵付き投稿で、「1行目を常に見せる」に加えて、「2行目も常に見せる」設定ができるようにする、設定機能だけはできた。(その結果を反映する本体機能はまだ。)

by nishishi. てがろぐ <76文字> 編集

JavaScriptで指定範囲を隠すのではなく、<details> <summary>見せる部分</summary> 折りたたむ部分</details> のような、HTMLだけでできる折り畳み機能も設けた方が良いような気もする。

by nishishi. てがろぐ <114文字> 編集

正式版リリース作業が面倒すぎる理由の1つは、たぶん間に挟むβ版が多すぎるんだよな……。追加機能がたくさんあるから、リリースノートを書くのも大変になる。もっと、「正式版→β1→β2→正式版」くらいのペースでリリースする方が楽なのかもしれない。

by nishishi. 開発ネタ <120文字> 編集

ああ、TegUpどうしようかな……。そこも整備してから次の(てがろぐ)正式版を出そうとするとさらに時間が掛かりそうだけど。今回はとりあえずTegUpの同梱はやめて、次に回すか……?

by nishishi. てがろぐ <90文字> 編集

TegUpもそろそろ Ver.1 としてパッケージに同梱したいのだが、そのためには公式ドキュメントを(てがろぐ公式ドキュメント内に)設けた方が良いよな……。

by nishishi. てがろぐ <78文字> 編集

結局、[[PERMAURL:KEEPCOND]][[PERMAURL:KEEPCOND:FULL]] の2つの記法を実装した。CONDはCONDITIONの略。>>2490

by nishishi. てがろぐ <89文字> 編集

[[PERMAURL:KEEPCOND]] みたいな専用記法を追加するよりも、[[KEEPCOND]] みたいな記法を追加して、[[PERMAURL]] と組み合わせて使ってもらう方が便利なのではないか。もしかして。

by nishishi. てがろぐ <108文字> 編集

てがろぐCGIで、パラメータ ?mode=around3&postid=123 で、No.123の前後3件の最大7投稿を閲覧できる機能はできた。パラメータを例えば around4 にすれば前後4件ずつの最大9投稿を閲覧できる。投稿単独表示時のURLの末尾に &mode=aroundを加えれば良い。とはいえ、自力でパラメータを加えるのは面倒なので、ユーティリティリンク枠にリンクを追加しておく方が良いか。(もちろん、設定で表示/非表示を選択できるようにする。)

by nishishi. てがろぐ <230文字> 編集

何か作るときには、「何のツールなのか」という点を決めるのは当たり前だが、「何ではないのか」もしっかり押さえておく必要がある。「これは○○ではない(のでそういう機能は加えない)」というような。そうしないと、同種の既存ツールに寄ってしまいがちなのだが、そうすると存在する意味が薄れてしまう上に、開発の手間も増えてしまって、気力の維持が難しくなるので。そこは避けないといけない。

by nishishi. 開発ネタ <186文字> 編集

パラメータ ?around=123 とかで、No.123 の前後5件ずつくらいの計11投稿を閲覧できるような機能が欲しい。で、そのリンクは投稿単独表示時にユーティリティリンク枠に表示される感じで。

by nishishi. てがろぐ <98文字> 編集

国立国会図書館サーチのAPIを使うと書影データは手に入るのか。これで蔵書管理スクリプトを自作すればいいか……? 何をいつ読んだか、という情報だけでなくて、「その本がどの電子書籍リーダーに入っているのか」の情報を記録しておきたい。そうしないと読み返そうとしたときに探すのが大変なので。

by nishishi. 開発ネタ <141文字> 編集

てがろぐ側の画像表示機能がかなり「行き当たりばったり」的な開発だったので、内側スキンで画像の表示をどうにかしたい場合のカスタマイズ自由度に制限があった反省から、いろいろ細かく情報を得られる記法を用意してみた。需要があるかどうかはともかく。

とはいえ、簡単に書ける記法もある方が望ましいので、単に [[ONEFILE]] みたいに書けば、そこに当該ファイル(画像なら画像、動画なら動画、サムネイルがあるならサムネイル)の表示用HTMLが出てくる。しかし、細かく表示用HTMLを自力で(スキン側で)組み立てたい場合とか、CSSでの装飾のためにclass名を用意しておきたい場合とかには、以下のような記法が使える。

※例えば、300×200pxでNSFWフラグ付きの画像 ./images/sample.png の場合、
  • [[FILE:TYPE]] で種類の大分類: IMG
  • [[FILE:NAME]] でファイル名: sample.png
  • [[FILE:PATH]] でパス全体: ./images/sample.png
  • [[FILE:EXT]] で拡張子だけ: png
  • [[FILE:BASE]] でベース名だけ: sample
  • [[CAPTION]] でキャプション: サンプル画像
  • [[FLAGS]] でフラグ: nsfw
  • [[IMAGE:WIDTH]] で横幅: 300
  • [[IMAGE:HEIGHT]] で高さ: 200
  • [[IMAGE:SIZEATT]] でHTML用属性: width="300" height="200"
今の時点でそう実装してみた、というだけなので、変更する可能性はあるが。
種類の大分類とか、拡張子だけとか、ベース名だけとかを得る記法は、それをclass名に使えば「その条件に該当する画像(とか)」をCSSで一括して装飾する際に活用できる。

by nishishi. 製作中ツール <792文字> 編集

サブフォルダも一覧に表示する場合、(共通のフォルダアイコン画像ではなく)それぞれのフォルダごとに画像を用意しようと思えばできる仕様に実装できた。めでたい。

例えば、
  • 画像の場合、オリジナルファイルが sample.jpg なら、サムネイル画像は ./mini/sample.jpg が(あれば)使われる。
  • 動画の場合、オリジナルファイルが yomple.mp4 なら、サムネイル画像は ./mini/yomple.*** が(あれば)使われる。
  • サブフォルダの場合、そのPATHが ./gopple なら、それ用のサムネイル画像は ./mini/gopple.*** が(あれば)使われる。
……という仕様にできた。なので、「そのフォルダ用のアイコン」的に使いたい画像は、サムネイル画像として用意すれば表示に使われる。

※「***」の部分は、png、jpg、gif、webp のどれか。(この順で走査して最初に見つかったものを採用する。)

by nishishi. 製作中ツール <425文字> 編集

てがろぐのメリットの1つがたぶんスキンの自由度だと思うので、スキンの自由度は同じレベルになるようにする。

by nishishi. 製作中ツール <52文字> 編集

今のところ、ソースコードは1,052行ほど書いているのだが、まだ先は長い。>>2480,2477/R

by nishishi. 製作中ツール <50文字> 編集

絵に描いた餅に終わらないように。

by nishishi. 製作中ツール <16文字> 編集

今、開発中の画像等ファイル展示PHP >>2477 だが、掲載順序をパラメータで指定できるようにした。デフォルトではタイムスタンプの新しい順に並ぶが、パラメータに
  • ?sort=time&order=reverse が指定されたら、タイムスタンプ古い順でソートして並べる。
  • ?sort=cap が指定されたら、キャプション文字昇順(ABC…)でソートして並べる。
  • ?sort=cap&order=reverse が指定されたら、キャプション文字降順(ZYX…)でソートして並べる。
  • ?sort=size が指定されたら、ファイルサイズ大きい順にソートして並べる。
  • ?sort=size&order=reverse が指定されたら、ファイルサイズ小さい順にソートして並べる。
  • ?sort=name が指定されたら、ファイル名昇順(ABC…)でソートして並べる。
  • ?sort=name&order=reverse が指定されたら、ファイル名降順(ZYX…)でソートして並べる。
……というような感じの指定ができる。

ファイル名やキャプション文字を使ってソートすることもできるので、事実上、自分の好きな順序で画像を並べて掲載することもできるだろう。ファイル名やキャプション文字を工夫すれば。(登録できる情報なら何でもソートキーに使えるようにするつもりなので、キャプション以外にコメント等も登録可能になれば、そのコメントの文字を使ってソートすることもできる。ただ、最初のリリース時点でそこまで作るかどうかは今の時点ではまだ分からない。)

ソートに使うキーをパラメータで指定できるので、複数の並べ方を共存させられる点が、何かちょっとメリットになりそうな気がする。「標準では新着画像の順に並ぶ」が、別途「ファイル名順に並べるリンクも設けておいて、望みの順序で表示するモードとして使う」とか。

主に画像を並べる用途を想定しているが、画像・動画・その他のファイルを並べることもできる。サブディレクトリの存在も認識するので、ファイラーっぽい感じの表示もできるハズ。(サブディレクトリへのリンクは、画像等と並べて同時に表示することもできるし、表示しないでおくこともできる。設定次第で。)

キャプション等を保持するデータファイルは、てがろぐCGIの画像インデックスファイル(index.xml)と互換性を持たせたので、てがろぐCGIの画像保存用ディレクトリを表示対象に設定して、てがろぐと組み合わせて使うこともできるような気がする。たぶん。

このツール上でファイルをアップロードすることもできるが(※まだそこまでは作れていないのだが)、FTP等の別手段でUPされたファイルもすべて認識する。キャプション等の情報はWeb上で1つ1つ登録することもできるが、データファイルはXMLなので、(FTPで一気に大量UPしたファイル群に対するキャプションは)XMLファイルを直接編集すると一気に登録できて楽かもしれない。

by nishishi. 製作中ツール <1257文字> 編集

WAFによる警告を回避して投稿できるように、フレーズの置き換え機能を用意したら良いのかもしれない。例えば「 @UPUP@ 」と打ったら内部では「 ../../ 」に変換されて解釈されるとか。「 @ETC@ 」と打ったら内部では「 /etc/ 」に変換されて解釈されるとか。「@」記号で挟まれる文字列は、利用者が自由に登録できるようにしたら、好きなように作れて良いのではないか。ショートコードみたいに使う方法もあるかもしれない。

by nishishi. てがろぐ <213文字> 編集

次のてがろぐ正式版からは、TegUp も同梱するようにしたい。

by nishishi. てがろぐ <31文字> 編集

不特定多数の人間で共用する、画像中心のファイル共有Webを用意する必要が出てきたので、何かそれっぽいツールを開発したい。2月中に。てがろぐのギャラリーモードでは機能的に適当ではないので。
必須の機能はだいたい以下のような感じ。
  • スキン式(てがろぐのようにスキンファイルでデザインを自由にできる)
  • 🔵指定ディレクトリ内に存在する画像ファイル等をすべて認識して表示できる(=このツールを経由せずにFTP等で別途UPしたファイルもすべて認識する)。
  • 🔵サブディレクトリも認識する。
  • 画像を投稿するのが基本だが、PDFとかZIPとか(あらかじめ許可しておいた)任意の形式のファイルも投稿できる。
  • 画像サムネイル(またはファイルアイコン)を並べて表示したり、リストで表示したり、複数の表示形態を併用できる(=複数のスキンを併用できる)。
  • キャプション(タイトル)を付けられる。
  • ハッシュタグで分類できる。
  • サムネイルを自動生成する(投稿時に)。 ※GDライブラリで扱える形式だけ。
  • サムネイル用画像を別途指定もできる。
  • PDFとかZIPとかの画像以外のファイルでは、サムネイルを指定しなければ、デフォルトの分類画像(アイコン)で表示する。
  • 画像(or任意ファイル)1つだけを単独で表示する個別ページも生成できる。
  • ログインしていなくても誰でも投稿できる。(この機能をOFFにすれば、自分専用の画展ツールになる)
  • 非ログイン者が自分の投稿ファイルを削除できるように、投稿時に「削除用パスワード」を設定しておける。
  • 投稿者名も併せて投稿できる。(非ログイン者用)
  • 投稿可能なファイルサイズの上限を指定できる。キャプション等の文字数上限も。
  • 投稿年月日で区切って表示できる。(てがろぐの「日付境界バー」みたいな区切りを自動挿入できる)
  • ページ内に投稿欄を表示できる。(てがろぐのQUICKPOSTみたいな。)

そのほか、あると望ましいが必須ではなさそうな機能は、以下のような感じ。
  • キャプションとは別に、短いコメントも付けられる。(プレーンテキスト)
  • ログインしていれば投稿者を認識して投稿・編集・削除できる。
  • 既にUPされている画像(or任意ファイル)の差し替えができる。
  • ハッシュタグの一覧を表示できる。
  • NSFW等のフラグを付けられる。
  • 検索できる(ファイル名、キャプション、コメント、ディレクトリ名、ファイル種類、投稿者、日付で)。
  • 新着順以外に並べ替えができる。(ファイル名のアルファベット順とか)
  • OGP(+Twitter Card)を出力できる。
  • RSSフィードを出力できる。
  • ファイルのタイムスタンプとは別に「投稿日時」を保持しておける。(手動で投稿日時を編集できるように。)

さらに、あったら便利だろうと思う(最初には作らないが、将来的に作ることを想定しておく)機能は、以下のような感じ。
  • カテゴリで分類できる。+カテゴリの一覧を表示できる。
  • サブディレクトリがある場合は、投稿時にアップロード先ディレクトリを選択できる。
  • 離れた位置にあるディレクトリも対象にできる。
  • 一覧から、複数ファイルの一括削除ができる。
  • サムネイルが生成されていない画像(FTP等でUPされたとか)のサムネイルを一括生成できる。
  • コメントの文字を装飾可能にする。
  • 複数画像の連結表示ができる。(並び順も指定できると良い)
  • NGワードを登録しておける。
  • ダウンロード数(閲覧数)を記録できる。
  • 鍵付きにできる。(アクセス制限された専用ディレクトリにUPしておいて、プログラム側が毎回バイナリを読み込んでダウンロードさせることで、直アクセスを不可にする。)
  • ユーザIDに、名前だけでなくアイコンや紹介文等の付加情報を登録できる。

キャプション等を記録するデータファイルは、てがろぐ画像保存用ディレクトリで使っている index.xml と互換性があると便利かもしれない。

問題は、企画倒れにならないようにモチベーションを維持して開発できるかどうかだ。(何らかのツールが必要なのは間違いないのだが。現状では、2000年代に開発されたファイル共有CGIが稼働しているので最低限の中の最低限くらいのことは実現できているので。絶対的に何が何でも開発が必要というわけではないので、モチベーションの維持材料が何かもうちょっと要るかもしれない。)

by nishishi. 製作中ツール <1829文字> 編集

ログインしていない限り全部見えなくする「完全プライベートモード」的な動作も、そんなに手間を掛けずに実装できそうな気がしてきたので、実装しようかな……。
主に「自分(または仲間内)専用の空間にする」という用途だけども、同時に「ゲスト権限(Lv.1)での投稿を禁止する」という設定も可能にすると、「読めるだけのユーザID」を用意することもできそうな気もする。その場合、事実上「すべての投稿を(共通)鍵付きにする」のと同じ効果にできそうな。(そういう要望もあった気がする。)

by nishishi. てがろぐ <234文字> 編集

自前の静的サイトジェネレータを作るとしても、時間(と気力)が確保できそうなのは早くても3月か4月頃になりそうな気がする。気温が春になってからだな……。_(:3」z)_ ざっくり、1月は寒くて気力が減退気味だし他の用事もあるし、2月は税金で忙しいし、3月は別件でちょっと忙しい可能性があるので。ただ、3月の別件は、3月に始めたのではやや遅いので2月中には始めないといけないのだが。なので早ければ3月には予定が空く可能性はあるのだけども。もちろん、仕事の入り具合にも依って異なるけども。

by nishishi. <241文字> 編集

てがろぐで、最新の1投稿だけを別ページに埋め込みたい場合、今は「埋め込み用のスキンを作ってSSIやPHPで合成する」とか「RSSを読んで整形して合成する」とか何かそういう感じの方法しかないので、何にしても「最新の1件を出力するために、てがろぐCGIが動作する」という背景は避けられない。なので、『最新の1件だけを指定のスキンを適用して出力した結果を、静的なHTMLとして出力しておく』という動作をする「埋め込みモード」みたいなのを用意できれば、埋め込むためだけにCGIを稼働させずに済むので、埋め込み先ページの速度向上(というか速度低下の防止)に役立つ気がする。もちろん、サーバの負荷軽減にもなる。埋め込み先ページはたいていHOMEみたいな「アクセス頻度の高いページ」だろうから。

by nishishi. てがろぐ <340文字> 編集

ようやく申請が通った。20分弱くらいだ。予想よりは早かった。数時間は待たねばならないのかと思っていた。

by nishishi. <51文字> 編集

私のネット環境では、既にこのドメインは新サーバに繋がっているのだが、まだSSLの申請ができない……。(ので、HTTPSでアクセスするとセキュリティ警告が出る。)

by nishishi. <80文字> 編集

《ここは移転先の新サーバ》

by nishishi. <13文字> 編集

今は、ChatGPTとかのAIによる補助が得られるから、もっと速度UPできそうな気はする。

by nishishi. 開発ネタ <45文字> 編集

自分が最低限欲しいと思える機能を実装した静的サイトジェネレータを作るのに、もし(ほぼ)その開発だけに集中できるとしたら、どれくらいの期間で出来上がるだろうかな……? てがろぐを最初に開発しようと思ってからVer.1をリリースできるまでに4~5ヶ月くらい掛かっていたような気がする。夏から作り始めて12月リリースだったような。(その期間は、開発だけに専従していたわけではなく、日常業務の合間に進んでいたわけだが。)

by nishishi. 開発ネタ <206文字> 編集

1月を丸々開発月間に充てて、自前の静的サイトジェネレータを作ろうかな……。

by nishishi. 開発ネタ <37文字> 編集

スキンを格納しているディレクトリの中に edit.css や edit.js がある場合、そのスキンで表示されている状態から編集画面にアクセスした場合には、スキンディレクトリにある方の edit.css や edit.js を読むようにしようか……?

by nishishi. てがろぐ <125文字> 編集

この実装方法を考えていたときに気付いたのだが、てがろぐの全文検索では AND、OR、NOT検索が可能ではあるものの、ORの構成要素にNOTを使う検索はできない仕様だった。
例えば -りんご -みかん のようにAND検索の構成要素にNOTを使うことはできるが、 -りんご|-みかん のようにOR検索の構成要素にNOTを使うことはできないと気付いた。そんな需要があるかどうか分からないが(なさそうな気もする)。どちらにしても、激しく面倒なので対応する気はない。┌(:3」└)┐ ChatGPTに頼めば良さげなアルゴリズムを教えてくれそうな気はするけども。

by nishishi. てがろぐ <278文字> 編集

IF文の実装には、ソースを10行くらいしか追加していない。一番面倒だと思われた条件指定部分 [[IF(この部分):~~~ は、元々てがろぐに実装していた全文検索関数にそのまま丸投げすることで済んだので、ほとんどコードを書く必要がなかった。なので、中身は全文検索機能そのままなので、SITUATION:CLASSとして出力される各キーワードと完全一致ではなく部分一致でも使える。例えば、投稿単独表示時には onelog で、複数投稿の連結時には somelogs というキーワードになる仕様なので、[[IF(log):~~~ とだけ書くと、その両方にマッチできる。この仕様があるので home を条件に指定すると問答無用で grandhome にもマッチしてしまうのだが、元々 grandhome は home を内包しているので問題なかった(たぶん)。

by nishishi. てがろぐ <376文字> 編集

てがろぐ本文に書ける装飾記法等は入れ子にできるのだが(できないと不便だから頑張ったのだが)、この判定が凄まじく面倒くさいことに(入れ子を可能にするための)実装段階で気がついた。始まりは [B: のように英字が付いているので探すのは簡単なのだが、終わりは単に閉じカッコ ]があるだけなので、それだけでは「どの装飾の終わりなのか?」が分からない。なので、カッコの対応を外側から順に判別しながらでないと終わりを特定できない。たぶん本職のプログラマが見たら噴飯物の力業で解決してある。世の中にはもっとスマートな解決策があるような気がするが。で、今回実装したIF文にもその問題があるのだが、さすがに面倒くさすぎるので、[[IF(…): で始まるだけでなく ~:IF]] で終わる仕様にした。書くのが少々面倒だが、IF文はそんなに頻繁に書くわけではないだろうから容認してもらいたい。┌(:3」└)┐ なお、IF文自体は入れ子にできない。ELSEとかもない。条件指定部分でAND・OR・NOTを併用できるので、IF文を入れ子にする必要性はないのではないかと思っている。ELSEがあれば便利なのはよく分かるのだが、実装方法を考えるだけで気が遠くなるので考えていない。

by nishishi. てがろぐ <525文字> 編集

このIF文は、外側スキンでも内側スキンでも両方で使える。 >>2462

by nishishi. てがろぐ <35文字> 編集

IF文を使って、特定の状況だけでHTMLの出力を切り替えられる機能も実装できた。めでたい。
全文検索と同じように、AND OR NOT検索で状況を指定できるようにした。
  • [[IF(onelog):~~~:IF]] と書けば「~~~」の部分が投稿単独表示時にだけ出力される。
  • マイナス記号を付けて [[IF(-onelog):~~~:IF]] と書けば「~~~」の部分は投稿単独表示時以外の状況で出力される。
丸括弧の中は home とか grandhome とか cat-info とか user-tomoyo とか、SITUATION:CLASS に出力される状況キーワードを全部使える。AND OR NOT検索と同じ要領で、複数の単語を同時に指定もできる。
なので、
  • 例えば、[[IF(selected-cat -cat-info):~~~:IF]] と書けば、カテゴリ限定表示時(ただしカテゴリinfoの表示時は除く)だけの状況で出力できる。
これは、便利なのでは……。(自画自賛!)

この機能を使うと、状況別にHTMLを出し分けられるだけではなくて、今までなら複数のスキンを併用しないといけなかったことも、もしかして単一のスキンで済むようにもできたりするのではないか……。(いや、深くは考えていないけども。)

by nishishi. てがろぐ <567文字> 編集

ユーザ設定の「紹介文」欄に入力した内容を出力する記法 [[USERINTRO]] を追加した。
USERで始まる記法が複数あるので、どうせなら USER:INTRO とか USER:ID とかにする方が読みやすいかな……と思ったものの、これ以上は増えなさそうだし、そこまで気にするほどでもないかと思い直して、やめた。

by nishishi. てがろぐ <158文字> 編集

どうせなら、[[SITUATION:CLASS]]書いたときに出力されるキーワードをそのまま全部使える仕様だと活用の幅が広がって便利かもしれない。 >>2458
例えば [[[IF(onelog): ~ ]]] と書けば、[[SITUATION:CLASS]]に「onelog」と出力される状況(=投稿単独表示時)だけで出力される、とか。その場合は、否定の記法も用意して [[[IFNOT(onelog): ~ ]]] みたいなのもあると使いやすそうな気がする。

by nishishi. てがろぐ <232文字> 編集

状況別に出力を切り替えられる記法を用意したい。例えば [[[IF:ONELOG: ~ ]]] と書いたら、その範囲は投稿単独表示時にしか出力されない、とか。今でもCSSで非表示にすることで切り替えられるが、それだと(スキンの内容とか1ページあたりの表示件数によっては)無駄なHTMLが大量に出力されることになるので、もうちょっとスリムにできるようにしたい。

by nishishi. てがろぐ <178文字> 編集

たぶん、もうCGIソース冒頭(77行目)の $howtogetpath = の値は修正しなくても良くなった気がする。どこのサーバでも。一応、ダメだった場合に備えて、変更後の動作は従来と同じにしてあるけども。(まだ配布していない Ver 4.1.4βの話)配布した

by nishishi. てがろぐ <132文字> 編集

てがろぐ生成ページのうち、トップページだけは index.html ファイルとして静的ファイルに出力する仕様にすると負荷軽減の役に立って良いかもしれないな……。 #済 とりあえず試験的に実装してみた。うまく役に立つかどうかはしばらく使ってみないと分からない。

by nishishi. てがろぐ <129文字> 編集

カレンダー表示ツールとしては「さんごよみ」を用意しているが、スケジュール表示が基本のツールなので、もっとシンプルに「指定した日付に丸を付けられれば良い」というだけの場合には多機能すぎる面があると分かった。もっともっとシンプルなUIで、カレンダーの日付をクリックしたらその場でそこに指定色の丸印が付く、というだけしか機能がないくらいの、ミニマムなCGI(PHP)を作りたい。

by nishishi. さんごよみ,開発ネタ <186文字> 編集

Powered by てがろぐ Ver 4.6.2.

DASHBOARD

■開発放言について

にしし製CGIの開発進行に関する放言です。思いついたことを適当に放り込む空間なので、どんな呟きも確定的な開発予定というわけでは全くありません。しかしながら、機能面でのご要望や開発予定機能への支持表明はお気軽にどうぞ。ただし、ここには直接は投稿頂けませんので、公式動作テスト用てがろぐ等をご利用下さい。

編集

■全文検索:

■日付検索:

■カレンダー:

2024年7月
123456
78910111213
14151617181920
21222324252627
28293031

■ハッシュタグ:

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

605件

▼最後に投稿または編集した日時:

2025年05月29日(木) 15:14:34