にしし らぼらとりー

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

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

RSS Feed

開発放言 全年全月25日の投稿(時系列順)[25件]

新規投稿 / 管理用

自分自身がHTTPSで接続できているときに、スキン内にHTTPで同ドメインの参照がある場合には、強制的にHTTPSへ書き換える仕様。
これをするなら、設定でOFFにもできるように。

もしくは、管理画面に移行案内を出すだけ。
または、ユーザアイコンデータだけを強制的に書き換えるか。相対パスに。
ああ、それいいかも。「ユーザアイコンデータが絶対URIで、ドメインが同じ場合には、フルパスだけに修正する機能」。
ただ、それをどのタイミングで実施するかが問題。「アップデートを検出した際に1度だけ実行する」みたいな機能を用意しておくか。データファイルを見れば前のバージョンが分かるから。

HTTP の場合だけ //始まりに書き換えるとか。
ユーザデータの更新時にも実行。アップデート時にも実行。とか?

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

エラー画面が出ると驚くという報告を得たので、もうちょっと画面をおもしろくしたい。(そういう問題かどうかは分からないが。)

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

続きを読むタグを先頭に置いても機能するように。 →需要ある?

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

ハッシュタグは無条件で毎回の投稿時に再カウントする仕様にしても良いかも知れない。充分速いので。もしくは設定で選べるようにするとか。デフォルトは再カウントで。

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

試験ページで、自分の投稿だけはそう見えるようにすべきか? #WEB

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

豆知識をそろそろ配布ページに結合したい。「豆知識」という項目を設けたら良いのではないか。FAQでも良いけども。 #WEB

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

編集画面で「この投稿を先頭に固定」というボタンを用意したい。設定画面から投稿番号を入力するのはさすがに面倒だから。解除も同じ場所でできると良い。作った。#済

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

節分は祝日ではない! ……のだった。orz >>2069
そうだ、そうだ。だから別に計算しなくて良いのだ。祝日以外の記念日も表示するようなプログラムにする場合は話が別だが。

by nishishi. <86文字> 編集

画像管理とカテゴリ管理の間に「ファイル管理」というのを作って、任意のファイルを何でもUPできるようにしておく……?

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

あまり製作を急ぐ予定はなかったが、豆知識とFAQをまとめた解説ページも毎日のToDoに加えて少しずつ作っていった方が良さそうな気もしてきた。やはり、読みやすさや探しやすさもある程度はないと、いくらWeb上に情報があっても見つけられないのだし。見つけられない情報に意味はないからな……。頑張って作った。#済

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

ユーザリンク集(登録システム)も早めに作りたいのだが、今はそこまでの余力がない。その前にまず製作を急ぎたいツールがあるので。

by nishishi. <62文字> 編集

「今月だけで何文字書いたのか」の集計機能。月ごとに(合計・平均)何文字書いたかというような統計機能?

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

RSS Auto-Discoveryの記述そのものを出力するキーワード [[RSS:AUTODISCOVERY]] とか? RSSの出力が無効に設定されている場合には何も出力しないように。

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

ハッシュタグの仕様は、最初に実装するときにもうちょっとじっくり考えれば良かったな……と思ってはいる。ただ、今更仕様を変更すると(既存の投稿への)影響範囲が大きそうな気がするので難しい……。「現行仕様」と「半角空白記号のみを終端と判断する新仕様」とを設定で切り替えられるようにして、新規セットアップの場合にだけ後者をデフォルト設定にしておく(バージョンアップの場合は自ら設定を切り替えない限りは前者)、みたいな方法ならいけるかもしれないが。

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

投稿されたのがどれくらい前なのかを「40秒前」とか「3分前」とか「12時間前」とか「50日前」とか表示できるようにした。投稿日時を表示できる [[DATE:~]] 記法で、
  • 「A」と記述すれば、5秒前、6分前、7時間前、8日前、9年前 のように表示(未来の日付だと、1日後、2時間後、3分後のように表示)
  • 「a」と記述すれば、5秒、6分、7時間、8日、9年 のように表示(未来の日付だと、-1日、-2時間、-3分のように表示)
するようにした。なので、表示するかどうかはスキンの書き方次第だ。(記号にAを採用したのは、Agoの意味で。)

デフォルトのスキンでどうするかは考え中。あまりにも加えすぎると画面が煩すぎる気がするので、サイトマップページ用スキンに加えておくくらいに留めておくので良いかもしれない。全投稿を一覧で見るための(サイトマップページ)スキンなら、何日前に投稿されたのか、という表示もあれば分かりやすくて便利な気もしないでもないので。

図は標準スキンの投稿日時区画で、[[DATE:Y年G月N日(b) h:m:s (A)]] と書いてみたところ。
20221025140239-nishishi.png

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

Markdown記法ってクライアントでパースできるのか。全然知らなかった。
ググったところ、markdown-itだとスクリプト本体は100KBしかなくて、CDNで配信されているようなので、ユーザ側には何の追加設置も求めることなく、単に読み込むだけでMarkdown記法が使えるようになるのだろうか……。
そんな簡単だったの……?
スクリプトを読み込んだ後、
var md = window.markdownit();
var result = md.render( マークダウンで書かれた文字列 );

とかやれば良いっぽい。
Markdownって100KB程度のJavaScriptでどうにかなるものだったのか……。

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

画像保存用ディレクトリに自動生成する index.xml(画像インデックス)は、とりあえず初回実装時の仕様としてはだいたいこんな感じでどうか。
<tegalogimages>
   <image><date>2022/10/15 17:35:30</date><file>20221015173530-admin.png</file><user>admin</user><bytes>1286</bytes><size>800x600</size><flag>lock</flag><alt>代替文字</alt><cap>キャプション</cap></image>
   <image>~</image>
   <image>~</image>
   : : :
</tegalogimages>

  • 代替文字(alt)とキャプション用文字列(cap)を別々に登録できる需要があるかどうかはよく分からないが、代替文字に指定したい文字列とキャプションとして見せたい文字列が同じとは限らないので、別にできる方が望ましそうな気はする。もっとも、今はそのキャプションを表示する機能がないので、キャプションの登録機能を用意するなら表示機能も同時に用意しないといけないが。登録機能の実装だけはしておいて、最初の公開時にはそこだけ無効(非表示)にしておいても良いかもしれない。
  • 画像を一覧に表示して良いかどうかを知るため(とか、そのほか将来的に何らかの属性を保存するため)にフラグ(flag)も記録できるようにする。
  • その画像自体の仕様として、縦横サイズ(size)とファイルサイズ(bytes)もここに記録しておけば、何度も再取得する必要がなくなる。ただ、ユーザがFTP等で画像を差し替えた場合に備えて、実際の表示に使う際の縦横サイズは、毎回取得する方が良い気はする。そう考えると、別にデータファイルに縦横サイズを記録する必要はないかもしれない(原寸サイズではなく手動指定したサイズで表示したい場合に、それを記録しておく仕様にしても良いかもしれないが)。ファイルサイズの方は、まあ記録しておけば合計サイズを計算するのが早くなるだろうから記録しておく意味はある気はする。
  • 誰がUPしたのかのユーザID(user)を記録しておけば、ファイル名からユーザIDを抜き出さなくても良くなる(というか、ファイル名を自由にしてUPしている場合でもユーザを記録できる)。
  • ファイル名(file)には、とりあえずファイル名だけを記録することを考えてはいるが、パスを加えることで他のディレクトリに存在する画像も扱えるようにしても良さそうな気がする。将来的に、画像保存用ディレクトリを複数用意できるようにすることを考えるなら特に。
そのほか、サムネイル画像の存在有無も記録できるようにしても良いかな……という気もするが、「./mini/サブディレクトリに同名のファイルがあればそれをサムネイルと見なす」みたいな仕様にするなら、別にそれは記録する必要はない気もする。あまり最初から盛ってしまうと企画倒れになる可能性が高いので、最初の段階ではシンプルにしておきたい。

デフォルトの画像ファイル名が「YYYYMMDDhhmmss-USERID」の形式なのは、このようなindexを一切設けず、ファイルのタイムスタンプすらも調べずに、ただファイル名を得るだけで「UP日時」と「UPユーザ」が分かるようにするお手軽仕様だったからだ。……が、もはやファイルの整列にはタイムスタンプを参照しているし、UPユーザもindexから分かるようになるなら、ファイル名をこの形式にする必要性が全くない。もっとTwitterとかでやっているような、短いランダムな文字列を生成して gPfKn4tsWI.png みたいな感じの意味のないファイル名にする方が良いだろうか?

たぶん、画像をカテゴリ分けする需要はあるのだろうな……。ただ、そこまで一気に実装するのは無理なので(※カテゴリを表す文字列を記録すること自体は簡単だが)、そこは先送りだ。データファイルにカテゴリを記録できなくても、UP先のサブディレクトリを選択できるようになればそれでカテゴリ分けの役割になるだろうけども。ただ、UP先のディレクトリを選択できるようにするのもそこそこ手間はかかりそうだが。

ユーザがFTP等の手段で手動UPした画像も漏れなく記録するために、画像管理画面にアクセスされた際には毎回ディレクトリを走査して、index.xmlに含まれていない画像を発見したらその都度追記する仕様にする必要がある。

少なくとも、altとcapは自動復元ができないのだから、このindex.xmlもバックアップディレクトリに自動バックアップするようにしておいた方が良いだろう。

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

今月中に、今の時点でできている細々したものを Ver 3.8.4βとして配布してしまってから、11月で画像管理機能を作り上げる感じにしたい。で、12月に Ver 3.9.0 正式版をリリースできるようにする。次の正式版までに予約投稿機能くらいは追加したかったが、そこは余力次第な気がする。先送りの可能性が(今のところは)濃厚な感じだ。

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

Ver 3.8.0(正式版)以降に追加した機能(つまり、Ver 3.9.0正式版として提供する機能)が以下の通りあるのだが、これ、どれだけドキュメントを追記すれば良いのか……?┌(:3」└)┐
もうちょっと刻んで、この半分くらいで3.9.0にした方が良かったのではないか。いまさらだが。_(┐「ε:)_

《▼新機能・仕様改善》
インスタグラムの埋め込み機能。
新着画像リスト(最近に投稿された画像だけの一覧)の出力機能。(一覧外フラグが付いた画像は表示しない)
アップロードされた画像1つ1つにキャプションやフラグを登録しておける画像インデックス機能。(index.xml生成機能)
画像ごとにキャプションやフラグを設定操作できる画像編集画面。
画像に付与できるフラグ(新着画像リストに表示しない「一覧外」、閲覧注意classを付加できる「NSFW」)機能。
画像をキャプション付きで表示できる新記法 [PICT:FIG:ファイルパス] を追加。
画像のキャプションをその都度指定できる新記法 [PICT:FIG(キャプション):ファイルパス] を追加。
サムネイル画像が存在する場合には『ページ上の表示にはサムネイル画像を使い、Lightboxでのリンク先にはオリジナル画像を使う』ように表示できる機能を追加。
「続きを読む」ボタンのラベルをその都度指定できる新記法 [H:ボタンラベル:~中身~] を追加。
リストを表示するための専用記法。(箇条書きリストや番号付きリストが表示可能に)
経過時間(相対時間)表示(n分前、n時間前、n日前……のような表示)ができる日付表記オプションを追加。使用単位を「時間→日」に切り替えるタイミングは自由に設定可能。
ページ番号の省略を始める総ページ数を自由に設定できる機能。
ページ番号リンクの両端(先頭と末尾)に何ページずつ固定表示するかを変更できる機能。
サイドコンテンツ各種(例えばハッシュタグ一覧やカレンダー等)でも、ギャラリーモードやサイトマップページを維持したリンクを出力できる新記法を追加。
上位ディレクトリや別階層に存在するスキンも指定可能に。「?skin=../upperdir/some/skin-dir」のような感じで。
スキン切り替え画面で、任意のディレクトリ名を指定してスキンをプレビューしたり簡易適用したりできる機能を追加。
画像の新規アップロードと同時に、フラグやキャプションを設定できる画像管理画面でのアップロード機能。(画像が複数ある場合は、全部に同じ値が加わる仕様。)
鍵付き投稿・下書き投稿と同時にアップロードされた画像には、最初から「一覧外」フラグを立てる仕様。
投稿本文内に含まれる画像をすべて抽出して表示できる記法 [[COMMENT:PICTS]] の追加。
各種ディレクトリのパス(PATH)を得られる新記法 [[PATH:CGIDIR]][[PATH:SKINDIR]] 等を追加。
拡大画像をLightboxで表示できるテキストリンクを作る記法 [リンクラベル:LB] に、「画像リンクに独自のclass属性値を追加する」と同じclass属性値も追加されるよう仕様改善。
記法 [!-- 中身 --] で、任意の範囲をコメントアウトできる仕様。
RSS Auto-Discoveryを挿入する記法 [[RSS:AUTODISCOVERY]] を追加。(外側スキンのみ)
投稿本文の行数が得られる記法 [[TOTALLINES]] を追加。(内側スキンのみ)
スキン内に記述されている link要素やform要素に対して、「現在のスキンでの表示を維持する」目的で自動挿入される各種記述をスキップできる記法 [[NO-LINKADJUSTMENT]] を追加。※スキンの先頭に記述した場合のみ有効。先頭記述が要求されている他のタグ [[NO-LINKADJUSTMENT]][[NO-COMPLEMENT]] は同時に書ける。(外側スキンと内側スキンのそれぞれに記述可能。外側スキンだけに書いた場合、内側スキンには影響しません。)
[[INCLUDE:~]] 記法と [[PATH:~]] 記法を、内側スキンでも使用可能に。(従来は外側スキン専用でした)
任意のファイルを挿入できる INCLUDE 記法の仕様拡充。
  •    今読んでいるスキンディレクトリに存在する特定のファイルを読み込む [[INCLUDE:FROM-THIS-SKIN-DIR:ファイル名]] 記法を追加。
  •    [[INCLUDE:~]] 記法の中で [[PATH:~]] 記法によるパス指定が可能に。
  •    [[INCLUDE:~]] 記法で合成されたファイルの中に書かれている [[INCLUDE:~]] 記法も解釈するよう仕様改善。(ただし3階層まで)
  •    [[INCLUDE:~]] 記法で合成されたファイルの中に [[CALENDAR]][[DATEBOX]][[LATESTLIST]] 等、一部の記述があるとき、それが正しく解釈されない可能性があった点を修正。
  •    [[INCLUDE:~]] 記法で埋め込むファイル名として「/」で始まる絶対パスが指定された場合は、DOCUMENT ROOTからのパスとして解釈するよう仕様改善。(従来は相対パスでの記述を求めていました)

文字色として自動入力するサンプルと、背景色として自動入力するサンプルを設定できる機能を追加。
ログインフォームの下部に表示できるメッセージを設定画面で設定できる機能。
●画像管理画面から画像を選んで新規投稿する際のプルダウンメニュー項目を「新規投稿に使う(キャプション付き)」と「新規投稿に使う(画像のみ)」の2種類に拡張。
●画像の縦横サイズ(HTMLで出力されるwidth・height要素)の値を手動でも設定できる機能。
●ハッシュタグだとは認識されない「 # 」記号を簡単に表示させる方法として、「&#35;」を入力できる項目をハッシュタグ簡単入力プルダウンメニューに追加できる機能を追加。
●ファイル読み書き時の安全処理を追加。
●記述サンプルを自動入力するかどうかの設定項目を追加(リスト、文字色、背景色のサンプル自動入力のON/OFFをまとめて設定)
●投稿本文中にAmazonのURLが書かれたとき、自動で極力短く加工する機能を追加(標準ではOFF)。
●全文検索の強調表示では、半角英字の大文字小文字が一致しなくても強調対象になるよう仕様改善。
●[PICT:/hogehoge/hoge.png] のように、スラッシュで始まる絶対パスで画像が指定されたときに、ファイルが見つからなければその旨をエラー表示するよう仕様改善。(従来は、何も表示されないimg要素が出力されていました。)
●[PICT:../../hogehoge/hoge.png] のように、上位ディレクトリを参照するパスで画像が指定されたときに、ファイルが見つからなければ注釈を含むエラーを表示するよう仕様改善。
●『画像パスに絶対URL(フルパス)を使う』がONで、「スラッシュで始まる絶対パス」で画像が指定されたとき、画像のURLがおかしくなって正しく画像が表示されない不具合を解消。
●読み込むjQueryをVer.3系(jquery-3.6.1.min.js)にアップグレード。
●デフォルトで読み込むLightboxを Ver 2.11.3 にバージョンアップ。(※従来はIE対策として、あえて 2.11.0 を読み込んでいました。)
●将来的に設定画面をカスタマイズできるようにするための布石として画面出力方法をちょっとだけ変更しました(見た目にはほとんど変わりありません)。
●サーバのエラーログに「CGI::param called in list context」のようなアラートが出力されるのを防ぐよう改善。(※引き続き出る場合は教えて下さい。)

《▼スキン更新》
標準添付の各スキンを更新
  •    head要素にあるRSS Auto-Descovery部分を [[RSS:AUTODISCOVERY]] に更新。
  •    内側スキンの [[PARMAURL]][[PERMAURL]] に修正。
  •    投稿日時の相対時間表示も各スキンに追加。
  •    「最終更新日時」にも経過時間(相対時間)表記を追加。
  •    キャプション付きの画像表示に対応。


《▼不具合修正》
「続きを読む」機能を本文中に使っていながら、設定画面で「続きを読む」機能をOFFにすると、Internal Server Errorになる不具合を修正。
「skin=」パラメータでスキンが指定されているとき、投稿本文内のハッシュタグをすべて抜き出す記法 [[COMMENT:TAGS]] が動作しない不具合を解消。
ハッシュタグに半角アンダーバー「_」を使うと、投稿欄下部の既存ハッシュタグ簡単入力用プルダウンメニューでは角括弧付きでリストアップされる不具合を修正。
内側スキンで [[CATEGORYLINKS:FULL]] と書いても、カテゴリページへのURLがフルパスでは出力されない不具合を解消。
鍵付き投稿に含まれる画像が、記法 [[COMMENT:PICTS]] で抽出されるかどうかを、設定項目『n枚目の画像を [[ONEPICT:n]] 記法等で表示する』の設定値に従うよう修正。
内側スキンに記述できる [[PARMAURL]] キーワードのスペルを [[PERMAURL]] でも認識するよう改善。┌(:3」└)┐ (※両方使用可能)
スキンを簡易適用中のとき、[[PATH:SKINDIR]] でそのスキンのディレクトリが得られなかった不具合を修正。
[[PATH:~]] 記法を複数書いたとき、出力HTMLが崩れてしまう可能性がある不具合を修正。
比較的古いバージョンのPerlで実行すると、「Unrecognized escape \\v passed through at tegalog.cgi」というアラートがサーバのエラーログに記録される問題を解消。
投稿単独ページのURLを挿入する [[PARMAURL]] のスペル修正版 [[PERMAURL]] を追加。(従来のスペルのままでも使用可能)
設定画面のHTMLにいくつか存在していた文法ミスを修正。
リンクラベルの中に &#35; での # 記号が入っていても正しくラベルとして使えるよう仕様を修正。( &#35; ではない # そのものが入っているとハッシュタグとして認識されてしまうので注意)
「続きを読む」機能を入れ子にして使うと、ボタンラベルが正しく出力されないケースがある不具合を修正。(何階層にも入れ子にしても大丈夫なように改善)
畳む

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

ドキュメントの追記だけで1ヶ月くらいかかりそうやな……。_(┐「ε:)_

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

画像インデックスXMLファイルを直接編集する方法については、どこに書こうか迷ったのだが、投稿データファイルであるtegalog.xmlの直接編集方法を「FAQ・豆知識」ページに書いていたので、それと同じにしておいた。
大量の画像キャプションを一括設定(編集)したい場合は、XMLデータを直接編集すると楽かもしれない
全画像データの先頭には、全画像データをまとめた <total>~</total> という情報行があるのだが、ここは実データから常に自動更新されるので、手動でXMLファイル内を編集するときにここを自力で計算して書き換える必要はない。てがろぐ側で再生成されるまで、画像総数とかトータルサイズとかの表示が正しくなくなるが、表示上の問題なので特に不都合はないだろう。すぐにてがろぐ側で画像インデックスを更新させれば問題は何もない。そもそもこの <total>~</total> 行は削除しても(すぐにてがろぐ側で再生成させるのなら)何も問題はない。

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

「カテゴリ」機能とは別に、「属性」機能を設けて、「ネタバレ」属性とか「年齢制限」属性とかを投稿ごとに付与できるようにすると良いのかもしれない。その属性は class名のように出力できるようにすれば、属性に応じた装飾分けができる。ただ、視覚的にワンクッション置きたい場合には、現状の「鍵付き」機能を使えば良いだろうから、そこまで需要はないかもしれないが。

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

動画ファイルのサポートは、画像管理画面で画像と一緒に管理する方式で良いかな……と思っていたのだけど、そうすると [PICT:~]記法で動画を埋め込むことになってしまう気がして、少々処理が複雑になりそうな気がしてきた。画像と一緒に動画を管理するよりも、新たに「任意のファイルを添付できる機能」(=ZIPとかPDFとか何でもファイルをUPして投稿に添付できる機能)を作った上で、そこに動画形式のファイルがある場合に動画専用の記法で埋め込める方式にする方が良いのかもしれない。

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

バックアップZIPを生成しない設定のとき、結果表示画面でZIPのリンク表示をスキップするような処理ってしていたかな……?(あとで調べる) TegUp

by nishishi. <74文字> 編集

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

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

Powered by てがろぐ Ver 4.2.3.

DASHBOARD

■開発放言について

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

編集

■全文検索:

■日付検索:

■カレンダー:

2019年5月
1234
567891011
12131415161718
19202122232425
262728293031

■ハッシュタグ:

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

25件

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

2024年03月20日(水) 14:34:18