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

さんごよみ 使い方・設定方法

スケジュール・カレンダー表示CGI「さんごよみ」の使い方・設定方法です。ブラウザ上で操作する手順を解説しています。
操作は簡単なので特に説明など読むことなく使えるとは思いますが、どんな機能があるのかをざっと知りたい場合などにご参照下さい。

《最終更新: 2025年02月20日 》

閲覧方法

以下は「さんごよみ」の簡単な使用方法です。
シンプルなインターフェイスのCGIなので、説明を読まなくても使えるとは思いますが。

スケジュールカレンダーの表示

適切に設置が完了していれば、 sangoyomi.cgi をブラウザで表示させることで、スケジュールを表示できます。
他のページからリンクする場合には、この sangoyomi.cgi にリンクすると良いでしょう。

なお、さんごよみCGI本体を置いたディレクトリに「.htaccess」ファイルを用意して以下の1行を書いておけば、わざわざ「sangoyomi.cgi」のファイル名を「index.cgi」に修正しなくても、「/」で終わるURLでアクセスできます。

DirectoryIndex sangoyomi.cgi

この場合、実体の位置は https://www.example.com/calendar/sangoyomi.cgi でも、 https://www.example.com/calendar/ という「/」で終わるURLだけで表示できます。

なお、スキンファイルの schedule.html を表示させても意味がありませんのでご注意下さい。
スキンファイルは、CGIから参照されるだけで、書き換えられるわけではありません。(schedule.htmlファイル内にスケジュールそのものが挿入されたりはしません。) スケジュールの表示には、CGIをブラウザで実行(表示)して下さい。

任意の期間のカレンダーを表示する方法

カレンダーの下に表示されるナビゲーションリンクから前後の隣接月に移動することもできますが、URLにパラメータを加えれば任意の年月のカレンダーを表示できます。 指定する場合は、URLの末尾を以下のようにして下さい。

http://~/sangoyomi.cgi?year=2022&month=3

上記の場合は、2022年3月から指定月間のカレンダーを表示します。

http://~/sangoyomi.cgi?year=2023&month=1

上記の場合は、2023年1月から指定月間のカレンダーを表示します。

yearパラメータに西暦4桁を指定し、monthパラメータに月1~2桁を指定するだけです。yearパラメータとmonthパラメータは必ず2つセットで使います。どちらか一方しか指定しなかった場合は、何も指定されなかったものとして、現在月から表示されます。

1ページに何ヶ月分のカレンダーを同時表示するのかは、設定画面から自由に指定できます。12ヶ月(1年分)以上を同時に表示させることもできます。

▼表示年月を相対的に指定ができるoffsetパラメータの使い方:

任意の年月を具体的には指定せずに、「現在月より1ヶ月前」や、「現在月の2ヶ月後」のような、相対的な指定も可能です。(※Ver 1.2.0以降)
事前にリンクなりブックマークなりを1つ作っておくだけで、常に「今より1ヶ月前のカレンダーから見る」というようなこともできます。(※例えば、3ヶ月分のカレンダーを1ページに表示するよう設定しているとき、「今月・来月・再来月」ではなく、「前月・今月・来月」の3つを見たい場合など。)

http://~/sangoyomi.cgi?offset=-1

上記の場合は、現在年月から1ヶ月前のカレンダーを表示します。(過去に戻る場合は、マイナスの値を指定して下さい。)

http://~/sangoyomi.cgi?offset=2

上記の場合は、現在年月から2ヶ月後のカレンダーを表示します。(未来を指定する場合は、正の整数を指定して下さい。「+」記号は不要です。)

管理設定方法

管理画面の表示

スケジュールを登録したり、設定をしたりできる管理画面には、?mode=admin のパラメータを加えるとアクセスできます。

  • CGIの本体が https://www.example.com/calendar/sangoyomi.cgi の位置にある場合は、
  • 管理画面は、https://www.example.com/calendar/sangoyomi.cgi?mode=admin のURLで表示できます。

ログインされていない状況では、管理画面が表示される前にまずログイン画面が表示されます。
一度ログインすれば、自らログアウトしない限り、セッション有効期限(標準では31日)が来るまではログイン状態が維持されます。

標準スキンには、管理画面へのリンクも設けてありますので、そのリンクをクリックすることでもアクセスできます。

初回アクセス時には、パスワードを設定して下さい。
さんごよみCGIには複数のIDを作成可能ですから、必要に応じてIDを新規作成できます。どのIDにもパスワードを設定するのを忘れないようご注意下さい。(ローカルで使用する場合など、絶対に安全だと分かっている場所で使うケースも考慮して、パスワードなしで使い続けることも可能な仕様にはなっています。)

パスワードを忘れてしまった場合

パスワードを忘れてしまった場合は、パスワード・セッションID保存用ファイル「psif.cgi」の中身を空っぽにして再アップロードして下さい。 すると、次に管理画面にアクセスしたときにはパスワードなしでログインできます。(複数のIDを作っていた場合、すべてのIDのパスワードが「なし」状態に初期化されますのでご注意下さい。)

パスワード・セッションID保存用ファイル「psif.cgi」の中には、各IDのパスワードがハッシュ化されて保存されています。ハッシュ化とは、元に戻せない暗号化のような仕組みなので、「psif.cgi」ファイルそのものをテキストエディタ等で読み込んでもパスワードは分かりません。

古いスケジュールデータについて

古いスケジュールデータ(今日よりも前のデータ)は、表示はされなくなりますが、データファイル内には残っています。 そのまま使い続けると、データファイルのサイズが大きくなっていきますので、適宜削除して下さい。 古いデータの削除は、管理画面の「再構築/一括削除」から実行できます。

この画面からは「昨年までのデータ」または「先月までのデータ」を一括削除できます。それ以外の範囲のデータを削除したい場合は、それぞれの編集画面から個別に削除して下さい。

RSSフィードの収録内容の設定方法

月間スケジュールデータ(=箱形カレンダーに表示される内容)は、RSSフィードとしても配信できます。 その際、「概要」と「詳細」のどこまでのRSSフィードに含めるかは設定画面から設定できます。

RSSフィードには、当日以後のすべてのデータが含まれます。昨日までのデータは含まれません。
当日以後のデータが1件も登録されていない場合は、中身(エントリ)のないRSSフィードが出力されますので、RSSリーダーによっては「正しいRSSではない」と解釈される可能性がある点にご注意下さい。

投稿・編集方法(概要)

カレンダーに表示されるスケジュールの編集

スケジュールの編集(カレンダーへの掲載)操作手順には、下記のⒶ・Ⓑ 2通りのアプローチがあります。(どちらでも同じように登録・編集できます。)

どちらのアプローチからでも、最終的に表示されるスケジュール編集画面での登録方法は共通です。

適用しているスキンによってはⒶのアプローチが用意されていない可能性があります。その際は、Ⓑの方法を使って下さい。

▼Ⓐ ページ上に表示されているカレンダーから直接編集する方法:

下図①のように、編集したい日付をクリックします。 すると、下図②のように詳細スケジュールが疑似モーダルウインドウに表示されます。この領域の右下にスケジュール編集(登録)ボタンがありますのでクリックします。

スケジュール詳細表示部分に「編集」ボタンを配置するかどうかは、スキンの作り方次第です。
標準スキンでは、上図のように「編集」ボタンを設けてありますが、スキンをカスタマイズすることで、編集ボタンの位置を変更したり、編集ボタンを削除したりすることもできます。

標準スキンで使われている「疑似モーダルウインドウ」は、Jack Moore氏が製作した軽量でカスタマイズ可能なLightbox風jQueryプラグインである「Colorbox」をCDN経由で読み込むことで実現しています。 そのため、jQueryがCDNから読み込めなかったり、ColorboxスクリプトがCDNから読み込めなかったりすると、疑似モーダルウインドウは表示されません。
スキンを自作することで、Colorbox以外のスクリプトを使ったり、何のスクリプトも使わずに最初から詳細スケジュールを表示したり、自由に表示形態を指定できます。

▼Ⓑ 管理画面のスケジュール編集画面から編集する方法:

管理画面にアクセスして、下図①のように「スケジュール編集」ボタンをクリックします。 すると、下図②のように日付を選択する画面になりますから、編集したい日付をクリックします。編集したい月が表示されていない場合は、カレンダー下部のボタンを使って望みの月を表示させて下さい。

スケジュールが既に登録されている日には、角丸四角が表示されています。(※上図②では、6月2日や3日など計6個のセルがそうなっています。)
「今日」の日付には、セルに水色の背景色が付いています。(※上図②では、6月14日のセルがそうなっています。)

▼スケジュール編集画面での登録方法:

スケジュールは日付ごとに「概要」と「詳細」の2種類を登録できます。下図の①が概要欄、②が詳細欄です。詳細欄は入力を省略することもできます。

この「概要」と「詳細」がそれぞれどのように表示されるのかはスキン次第ですが、標準スキンでは、以下のように表示されます。

  • 「概要」:箱形カレンダーの内側に直接表示されます。(下図①)
  • 「詳細」:カレンダーで日付がクリックされた後の疑似モーダルウインドウ内に表示されます。(下図②)

「概要」側にたくさん文字を書きすぎると、カレンダーの表示が崩れますのでご注意下さい。
「概要」は10文字程度の短い内容に留めておくと、見やすいカレンダーが維持できるでしょう。

HTMLの直接入力も可能です。HTMLタグを書けば、そのままHTMLとして解釈されて表示されます。
※HTMLの直接入力は、設定でOFFにすることもできます。複数人で共有する場合など、安全面を考慮するならOFFにして運営すると良いでしょう。(動作サンプルではOFFにしてあります。

スケジュールの実データは、 data-schedule.xml ファイルに記録されています。このファイルの中身はXMLベースのテキスト形式ですから、テキストエディタでも編集できます。ファイルの中を覗いて、記録方式が想像できるなら直接編集する方が楽かもしれません。 なお、XMLの文法チェック機能のあるテキストエディタで編集するとエラーが報告される場合がありますが、そのエラーに沿って修正しないで下さい。XMLっぽいデータ形式ですが、XMLの正確な文法には従っていませんので、文法チェック機能の報告通りに修正してしまうと、表示がおかしくなる可能性があります。

一週間の汎用予定表の編集

一週間の汎用予定表は、管理画面の専用編集画面から編集できます。縦横のセル数(マス目の数)は設定画面から自由に変更できますので、縦方向ではなく横方向に曜日を配置するなどのカスタマイズも可能です。 「一週間の汎用予定表」という名称ですが、それ以外の掲示用途にも使用可能です。項目名も含めてすべてを編集可能ですから、好きなように書き換えてお使い頂けます。

一週間の汎用予定表を編集するには、管理画面のHOMEから「汎用1週間予定表編集」ボタンをクリックします(下図①)。 すると、下図②のような画面になりますので、自由に編集して下さい。標準では、縦方向に曜日が取られており、横方向に自由入力欄が3列用意されています。

縦横の行列数を変更したい場合は、管理画面の「設定」→「システム設定」→【1週間汎用予定表の設定】で下図のように設定できます。

「一週間の汎用予定表」の実データは、 data-weekly.dat ファイルに記録されています。このファイルの中身はテキスト形式ですから、テキストエディタでも編集できます。ファイルの中を覗いて、記録方式が想像できるなら直接編集する方が楽かもしれません。

長期予定表(掲示板)の編集

長期予定表(掲示板)は、管理画面の専用編集画面から編集できます。直近のカレンダーでは表示しきれないような遠い先の予定を掲載しておく掲示板のような感じを想定していますが、何を掲載する用途にも活用可能です。 投稿時に設定しておいた掲載期限日を過ぎると、自動的に非表示になる仕様があります。

長期予定表を編集するには、下図①のように管理画面の「長期予定表編集」ボタンを押します。下図②のような長期予定の一覧画面が出ます。

長期予定表では、掲載終了日付を超えた投稿は自動で非表示になりますが、データとして自動削除されるわけではありません。下図②のように、灰色背景になっている項目が「掲載期限切れ」で非表示になっている投稿です。 個別に削除するなり、編集して再利用するなりできます。 新規に項目を追加する場合は、この画面の左上にある「長期予定表に新規項目を追加」ボタンを押します。既存の項目を編集する場合は、「投稿番号」列にある「編集」ボタンを押します。

すると、下図③のような長期予定の登録画面になりますので、自由に入力して下さい。

長期予定では、入力欄3つに対して下記のように入力して投稿できます。

  • 掲載期限:その投稿を表示する期限日を YYYY/MM/DD 形式で指定します。右側のボタンを押すと簡単に入力できますが、手動で任意の日付を入力しても構いません。数字と「/」記号はすべて半角で入力して下さい。
  • 表示日付:実際に掲載する日付です。投稿日を書いても良いですし、掲載期限を書いても良いですし、日付以外の任意の文字列を書いても構いません。何でも書けます。何も書かずに空欄にすると、掲載期限と同じ日付が表示されます。
  • 本文:本文を何でも入力できます。

「長期予定表」の実データは、 data-longterm.xml ファイルに記録されています。このファイルの中身はXMLベースのテキスト形式ですから、テキストエディタでも編集できます。ファイルの中を覗いて、記録方式が想像できるなら直接編集する方が楽かもしれません。

ページタイトルやフッタリンク、凡例の編集

ページの表示はスキンHTMLを編集することで好きなように書き換えることができます。 しかし、スキンをいちいち編集するのは手間が掛かりますから、要所はCGI上で書き換えられるようになっています。

管理画面のHOMEから「設定」→「フリースペース」をクリックすると、下図のように『ヘッダ用フリースペース』・『フッタ用フリースペース』・『多目的フリースペース』の3項目を編集できるようになります。 標準スキンでは『多目的フリースペース』は、カレンダー直下に記載されている「凡例」の掲載用に使用しています。フリースペースの掲載位置は自由ですから、それ以外の場所の更新目的に使うこともできます。

もしスケジュールにHTMLタグを使用できないよう設定していたとしても、『多目的フリースペース』欄では常にHTMLタグを使用可能です。

画像の掲載方法

画像を掲載するには、以下の2通りの操作方法があります。

▼Ⓐ さんごよみCGI上で画像を投稿する場合

さんごよみCGI上で画像ファイルを投稿する場合は、下図①のように管理画面の「画像の管理」をクリックして表示される画像の管理画面で、下図②の水色矢印部分でアップロードしたい画像ファイルを選択して「アップロード」ボタンを押して下さい。

アップロードされた画像には、1つ1つ個別の「埋め込みコード」が発行されています(上図②の紫色矢印部分)。 このコードをコピーして、スケジュール本文や長期予定本文にペーストすれば、その位置にその画像が表示されます。

画像を掲載できるのは、「月間スケジュールカレンダー」(概要・詳細どちらでも)と「長期予定表」の本文の2カ所のみです。「1週間の汎用予定表」には画像は掲載できません。

▼Ⓑ 他サイトに存在する画像のURLを指定して埋め込む場合

他サイトに存在する画像のURLを指定して埋め込みたい場合は、[PICT:画像URL] の記法を本文に記述することで埋め込めます。
例えば、https://www.example.com/images/sakura.jpg にある画像を埋め込みたい場合は、[PICT:https://www.example.com/images/sakura.jpg] のように記述します。

すべて半角文字で記述して下さい。URLの前後に余計な空白があると正しく認識されません。空白なく詰めて記述して下さい。
てがろぐと同じ記法です。

画像を埋め込めるのは、「月間スケジュールカレンダー」(概要・詳細どちらでも)と「長期予定表」の本文の2カ所のみです。「1週間の汎用予定表」には画像は埋め込めません。

テキスト投稿方法の詳細

本文を投稿する上での様々な方法をご紹介致します。

文字装飾記法・色指定記法の書き方

設定で無効にしない限り、 文字に色を付けたり文字サイズを変えたり、引用枠を加えたり、指定範囲の文字を隠したり、ルビを振ったりする各種文字装飾機能が使えます。 専用の文字装飾記法を使って記述しますが、編集領域の下に表示されるボタンを使って簡単に入力することもできます。 (※文字装飾機能は、管理画面の[設定]→[ページの表示]で無効に設定することもできます。ボタンを表示するかどうかは管理画面の[設定]→[投稿欄の表示]で設定できます。)

▼文字装飾の書き方(基本)

設定で無効にしない限り、本文中には以下のような文字装飾用の特殊な記法が使えます。

  • [B:●●●]<b class="decorationB">~</b>でマークアップされ、●●●の文字が太字になります。(Bold)
  • [D:●●●]<del class="decorationD">~</del>でマークアップされ、●●●の文字に取消線が引かれます。(Delete)
  • [E:●●●]<em class="decorationE">~</em>でマークアップされ、●●●の文字が強調されます。(Emphasis)
  • [I:●●●]<i class="decorationI">~</i>でマークアップされ、●●●の文字が斜体になります。(Italic)
  • [Q:●●●]<q class="decorationQ" style="display:block;">~</q>でマークアップされ、●●●の内容が「引用」として表示されます。(Quote)
  • [S:●●●]<small class="decorationS">~</small>でマークアップされ、●●●の文字サイズが小さめになります。(Small)
  • [T:●●●]<small class="decorationT">~</small>でマークアップされ、●●●の文字サイズが極小になります。(Tiny)
  • [U:●●●]<u class="decorationU">~</u>でマークアップされ、●●●の文字に下線が引かれます。(Underline)

括弧に続く装飾記号は、半角大文字のみで指定できます。小文字では認識されませんのでご注意下さい。

そのほか、さらに特別な記法を追加することで使える文字装飾等の書き方として、 文字色・背景色の指定ルビ振りの指定class名の指定指定の範囲を隠す指定 があります。それぞれ後述します。

取消線・強調・下線・引用などの見栄えは、スキンによって異なります。スキンのCSSに専用の装飾が書かれていない場合、[S:小さめ][T:極小]は同じサイズになります。 実際にページ上でどのように装飾されて表示されるかは、各スキンのCSS次第です。

▼文字色・背景色の指定方法

文字色や背景色を指定する特殊な記法も使えます。 ボタンクリックで入力する方が楽でしょうが、自力で記述する場合は以下の記法で配色を指定できます。

  • [C:色名:●●●]<span class="decorationC" style="color:色名;">~</span>でマークアップされ、●●●の文字色が「色名」として指定した色で表示されます。(Color)
  • [M:色名:●●●]<span class="decorationM" style="background-color:色名;">~</span>でマークアップされ、●●●の文字の背景色が「色名」として指定した色で表示されます。(Marker)

色名は、以下の記述方法で指定できます。RGBAカラーモデルを使うことで、半透明の色を指定することもできます。

  1. 英小文字で色名を指定。
    例えば redblue など、HTML・CSSで認識できる色名が使用可能です。色名は「原色大辞典」などが参考になります。 mediumvioletreddarkolivegreenなど、多数の色が英語名で指定できます。
  2. 16進数のRGB値6桁で色を指定。
    例えば c7158555b62f など、6桁の16進数を使って色を指定可能です。 c7158555b62fなど、自由な色を指定できます。「#」記号は不要です。
  3. 16進数のRGB値3桁で色を指定。 (※Ver 2.0.0以降)
    例えば cfc8cf など、3桁の16進数を使って色を指定可能です。 ea88cfなど、自由な色を指定できます。「#」記号は不要です。
  4. rgb(赤,緑,青)の書式で指定。 (※Ver 2.0.0以降)
    例えば rgb(199,21,133)rgb(85,191,38) など、RGB値を数値で指定して色を指定可能です。 rgb(199,21,133)rgb(85,191,38)など、自由な色を指定できます。
  5. rgba(赤,緑,青,透過)の書式で指定。 (※Ver 2.0.0以降)
    例えば rgba(199,21,133,0.75)rgba(85,191,38,0.5) など、RGB値とアルファチャンネル値を数値で指定して、半透明な色を指定可能です。 rgba(199,21,133,0.75)rgba(85,191,38,0.5)など、自由な色を指定できます。半透明な色にすれば、背後が透けて見えます。

存在しない色名や、各書式の仕様を逸脱した値を指定した場合でも、上記の書式に沿っている限りはそのまま出力されます。(その場合は、たいていのブラウザではおそらく黒色で表示されるでしょう。)

これらの記法で色が指定された場合は、style属性を用いて直接CSSをマークアップに加えますので、スキン側の装飾指定を無視した色指定ができる(できてしまう)点に注意して下さい。

16進数で色を指定する際に、先頭の「#」記号を不要にしてあるのは、ハッシュタグの指定と誤解してしまうのを防ぐための仕様です。内部の処理を簡単にするために、色指定で「#」記号は使わない仕様にしてあります。

▼ルビ振りの指定

ルビを振る機能もあります。(Ver 2.0.0以降)
創作系サイト等でご活用頂けるかもしれません。

本文中に [R:漢字:かんじ] のように書くと「漢字」の上にルビで「かんじ」が載ります。
出力されるマークアップは、<ruby class="decorationR">漢字<rp>(</rp><rt>ルビ</rt><rp>)</rp></ruby>のようになります。

ルビに対する文字装飾も有効なので、文字色を変化させたり色を付けたりもできます。ルビだけに色を付けることも、本体だけに色を付けることもできます。 ボタンクリックでルビを入力する場合は、「漢字」の方を範囲選択した上でボタンを押して下さい。すると、ルビの入力欄が現れます。

▼文字装飾は、複合(入れ子)指定も可能

装飾指定は入れ子にできる(ネストできる)ため、太字にした上で下線を引く、というような装飾も可能です。

  • [B:太字にさらに[U:下線を引く]こともできます。] のように記述すれば、「下線を引く」の部分は太字&下線の二重装飾で表示されます。

※ネスト階層の数に制限はありません。
※ネストする際のマークアップの正しさは考慮しませんので、組み合わせによってはHTMLの文法上では正しくない形で出力されてしまう可能性がある点にご注意下さい。

装飾対象の文字として、角括弧 [] を直接含めることはできません。装飾対象の範囲内に角括弧を表示させたい場合は、数値文字参照の書き方を使うと表示できます。 詳しくは、装飾範囲内に角括弧 [ や ] を書きたい場合をご参照下さい。

▼装飾範囲内に角括弧 [ や ] を書きたい場合

文字装飾の範囲内に、装飾目的以外の角括弧 [] や、コロン記号 : を書く際にはやや注意が必要です。 場合によっては、装飾範囲の認識がおかしくなったり、装飾指定の全体が無効になったりします。 特に、閉じ角括弧「 ] 」だけを単独で含めると、そこが「装飾の終了位置」を示していると解釈されてしまいます。

▼安全な書き方

装飾範囲内に角括弧を文字として表示したい場合は、記号の直前に半角「\」記号を使ってエスケープする以下の書き方をご使用下さい。

  • 開き角括弧 [ を表示するには、本文中に \[ と書きます。
  • 閉じ角括弧 ] を表示するには、本文中に \] と書きます。
  • コロン記号 : を表示するには、本文中に \: と書きます。(※)

これらの記法を使う限りは、は、いくらでも装飾範囲内に含めて問題ありません。

※コロン記号「:」は、そのまま「:」だけを書いて問題ないケースも多々あります。文法的に、色指定やオプション指定記法だと解釈されてしまう場合にだけ、「\:」のように書く必要があります。

角括弧は数値文字参照で &#91;&#93; のようにも表記可能ですから、この方法で記述することもできます。

▼そのまま書いても問題ないケース

角括弧の「開き」と「閉じ」の個数が1対1で正しく対応している場合は、上記のようなエスケープ記法を使わずに、そのまま問題なく記述できます。

例えば、 [B:この範囲が[太字]になります。] のような記述なら問題なく装飾されます。 もちろん入れ子にしても大丈夫なので [B:この[U:範囲が[太字[]下線]になり]ます。] のような記述でも大丈夫です。これらの場合は、装飾範囲に含まれる角括弧の開き「 [ 」と閉じ「 ] 」の個数が一致しているからです。

▼class名を自由に指定できる装飾記法

やや上級者向け機能として、本文中に直接class名を指定できる装飾記法も用意してあります。

記述方法と出力例:

例えば、以下のⒶように記述すると、Ⓑのように出力されます。

  • Ⓐ自由装飾記法: [F:sakura:あいうえお]
  • Ⓑ出力されるHTML: <span class="deco-sakura">あいうえお</span>

「あいうえお」という文字列が、「deco-sakura」というclass名でマークアップされます。(使われるclass名は「sakura」ではなく「deco-sakura」になる点にご注意下さい。)

投稿時に自由なclass名を指定できるので、望みの装飾をCSS側に用意しておけば、装飾の数に制限なくいくらでも装飾可能です。事前に自力でCSSを書いておく必要がありますが、デフォルトの装飾種類を超えていくらでも装飾パターンを用意しておけます。

この自由装飾機能もボタンクリックで挿入可能ですが、そのボタンはデフォルト設定では非表示になっています(CSSを自力で事前に書いておかない限り意味のない機能だからです)。使う場合には、管理画面の「設定」→「投稿欄の表示」→【装飾ボタンの表示設定】で、表示する設定に変えて下さい。なお、ボタンを表示しない場合でも、自力で記述すれば使えます。

※装飾種類の識別記号が「F」なのは、「Free」の意味です。

制約:

投稿者が完全に自由なclass名を書けてしまうと、ページの表示が崩れるようなclass名が使われてしまったときに困りますので、それを避けるために実際に出力されるclass名には、必ず「deco-」という接頭辞が付く仕様になっています。

つまり、投稿時に「tomoyo」というclass名を指定したら、実際には「deco-tomoyo」というclass名としてspan要素に出力されるということです。この方法なら、既存のページ構造に使われているようなclass名を誤って(もしくは悪戯で)指定してしまうことを防げます。(※偶然、deco-XXXというclass名を使ってページを作っていた場合だけは例外ですが。^^;)

class名には、英数字(英大文字・英小文字・数字)と、ハイフン「-」記号と、アンダーバー「_」記号が使えます。

文字装飾記法をボタンクリックで挿入する方法

文字装飾関連の各種記法は、ボタンクリックで簡単に入力する機能があります。 標準では投稿欄下部に見える「装飾」ボタンを押すと下図のように展開されます。 設定(下図紫色矢印/詳しくは後述)を変更すれば、常時展開しておくことも、非表示にすることもできます。 また、どの装飾ボタンを表示してどの装飾ボタンを表示しないかも個別に設定できます(後述)。

▼使い方:

装飾したい範囲を選択してからボタンを押して下さい。

  • 「文字色」(色)・「背景色」(背)ボタンは、押すと色名を入力するダイアログが表示されます。
  • 「ルビ」(ル)は、押すとルビを入力するダイアログが表示されます。
  • 自由装飾」(○)は、押すとclass名を入力するダイアログが表示されます。(※デフォルトではこのボタンは非表示に設定されています。)
  • それ以外のボタンは、押すと選択範囲を装飾する記法が直接挿入されます。

色名の入力では、入力内容が本当に正しい色名(=HTML・CSSで有効な色として認識される文字列)かどうかはチェックしていません。

▼設定箇所:

管理画面の[設定]→[投稿欄の表示]→【装飾ボタンの表示設定】で表示形態を選択できます。

ここで表示されるボタンは13種類(※)ありますが、利用形態によってはすべてが必要というわけではないでしょう。不要なボタンは非表示にもできます。 また、一般編集欄(=スケジュール詳細に書くための欄)か簡易編集欄(=スケジュール概要に書くための欄)かで表示ボタンの種類を分けることもできます。

なお、ボタンのラベルもここから変更できます。

自由装飾ボタン(デフォルトのラベルは「○」)はデフォルトでは非表示に設定されています。この機能は、あらかじめ自力でclass名をCSS側に記述しておかないと役に立たない機能だからです。

文字装飾機能が不要な場合

本文中の文字装飾記法を有効にするかどうかは、設定から選択できます。(標準では有効にする設定になっています。)
文字装飾機能が不要であれば、無効に設定しておけば、一切装飾されません。

文字装飾記法を無効に設定すると、「続きを読む」ボタン挿入機能も無効になります。

続きを読む(一部を隠す)機能の仕様

本文内に「続きを読む」というボタンを表示させ、そのボタンが押されない限り続きが表示されないようにする機能があります。

※JavaScriptが動作しない環境では「続きを読む」ボタンは表示されず、最初から全文が見えます。
※RSSフィードには、隠された範囲は出力されません。

標準スキンでは「ボタン」に見えますが、それはCSSで装飾されているからボタンに見えるだけです。そのため、(自作スキンなどで)「続きを読む」用の装飾を用意していなければ、ボタンではなくテキストリンクの形状で表示されます。

▼有効/無効の設定

この機能は、管理画面の[設定]→[ページの表示]→【投稿本文の表示/テキスト】→[文章の表示]区画の『指定範囲だけを隠す装飾機能の使用を許可』項目から有効/無効を設定可能です。 標準では ON なので、不要な場合にはOFFにして下さい。

▼指定の範囲だけを隠す「続きを読む」ボタンの書き方

指定範囲だけを隠した上で「続きを読む」ボタンを表示させる記法があります。
本文中に [H:あいうえお] のように書くと、(その範囲が動的に隠すHTML+JavaScriptでマークアップされて)「あいうえお」の文字が隠されます。

  • 最初の [H: と最後の ] は、すべて半角で記述する必要があります。「H」は大文字のみ認識します。(H=Hideの意味です。)
  • 1つの投稿文中で何度でも使えます。

この記法は、手動で入力するほか、投稿欄下部に表示される「装飾」→「隠す」ボタンでも挿入できます。(ボタンが表示される設定にしている場合のみ)

スケジュール概要でも使用可能ですが、スケジュール概要で使うとカレンダー上の表示が崩れる可能性がある点にご注意下さい。スケジュール概要では使わずに、スケジュール詳細だけで使うことをお勧め致します。

▼「続きを読む」や「畳む」ボタンラベルの設定

「続きを読む」ボタンや「畳む」ボタンのラベルや動作に関しては、管理画面の[設定]→[ページの表示]→【投稿本文の表示/テキスト】区画内の下図の欄から設定できます。

「続きを読む」機能の設定項目

「続きを読む」や「畳む」ボタンのラベルは、上図のテキスト入力欄に入力することで自由に変更できます。

読後に畳むボタンを表示しない設定にした場合は、「畳む」ボタンはどこにも表示されなくなります。その場合、一度展開した空間は(ページを再読込しない限り)閉じられなくなります。

さんごよみでは、本文中にURLを書けばそのURLがそのままリンクになりますが、それ以外にも任意のテキストリンクや画像リンクを書くことができます。また、リンク先をどのように表示するのか等の設定もできます。 カレンダーの内側に記載する場合、URLをそのまま書くと長くなりすぎるでしょうから、何らかのラベルを指定したテキストリンクの形で掲載する方が望ましいでしょう。

リンクの出力に関する各種設定は、管理画面の[設定]→[ページの表示]→【投稿本文の表示/URL処理】区画にあります。

図の黄色矢印の先に見える「URLを自動でリンクにする」という項目がONの場合にだけ、さんごよみ上でリンクが作れます。 この項目をOFFにすると、URLが自動でリンクにならないだけでなく、すべてのテキストリンクや各種外部サービスの埋め込み機能(例えばツイートの埋め込み等)も無効になりますのでご注意下さい。

標準状態では、図の水色矢印の先に見える「リンク先は同一ウインドウ(タブ)で開く」項目が選択されています。ここを、他の項目に切り替えると、リンク先を新規ウインドウ(別タブ)にしたり、フレームを解除したりできます。

※ここで「リンク先は新規ウインドウ(タブ)で開く」項目を選択すると、投稿本文中に含まれるすべてのリンクがその動作に変わります。 しかし、後述のオプション記法を使えば、設定は「リンク先は同一ウインドウ(タブ)で開く」項目のままでも、リンク1つ1つに対して(その都度個別に)新規ウインドウで開くよう指示を加えることもできます。

この設定画面には、長すぎるURLの表示を指定文字数で切り、それ以降を「...」で省略する設定項目があります(標準設定では40文字より後が省略されます)。この設定をOFFにすることはできませんが、自動省略させたくない場合は「1000」などの充分大きな数を指定すれば良いでしょう。 なお、この指定はあくまでも「URLがそのままリンクになる場合」だけに適用される設定であり、リンクラベルが指定されたテキストリンク等には適用されません。(リンクラベルが指定された場合のテキストリンクには、文字数の上限設定はありません。)

URLをそのまま書く以外に、下記に示すバリエーションがあります。(※の書式は、Ver2.0.0以降のみで使用可能)

  • 任意のURLへリンクする記法1: [ラベル]URL
  • 任意のURLへリンクする記法2: [ラベル](URL) ※URLを半角丸括弧で囲んでいます。
  • 相対パスでリンクする例 [ラベル](../page.html) ※リンク先は「../」か「./」のどちらかで始まる必要があります。
  • 絶対パスでリンクする例 [ラベル](/sample/yomple.html) ※リンク先は必ず「/」記号で始まる必要があります。
  • メールにリンクする例  [ラベル](mailto:メールアドレス)
  • 電話番号にリンクする例 [ラベル](tel:電話番号)
  • 上図の緑色矢印の先に見える設定項目『URLの直前に[ラベル]があればその文字列でリンクにする』にチェックが入っていれば、の書式でテキストリンクを作れます。
  • 上図の紫色矢印の先に見える設定項目『URLを丸括弧で囲む [ラベル](URL) 記法も使用可能にする』にチェックが入っていれば、の書式でテキストリンクを作れます。

リンク先URLのURLそのものの中に丸括弧記号が含まれる場合は、の記法を使う必要があります。 の記法では、URLの中に丸括弧を含めることはできません。

相対パスの記法を使って、さんごよみ設置ディレクトリに含まれるサブディレクトリ以下のファイルへリンクしたい場合は、./subdir/file.png などのように、リンク先の先頭に ./ の2文字を含めて下さい。 相対パス記法として認識されるには、リンク先が .././ のどちらかで始まっている必要があります。

出力されるリンクには、装飾を適用しやすいようにclass名が付加されています。
※実際にどのようなHTMLソースとして出力されるのかは、てがろぐ側のヘルプドキュメントのカスタマイズ方法ページにある「リンクの装飾方法」項目もご参照下さい。

リンクラベルには、[リンクラベル:オプション]https://~/ のように半角コロン記号で区切ることで下記のような3種類のオプションを加えられます。(※Ver 2.0.0以降)

  • 新しいウインドウ(別タブ)で開くリンクを作る「 :NEW

    ➡ リンクラベルに :NEW を加えて、[リンクラベル:NEW]https://任意のURL のように記述すると、 リンクに target="_blank" が付加されて、リンク先を新しいウインドウ(別タブ)で開くリンクになります。

    あらゆるリンクすべてを新規ウインドウ(別タブ)で開くようにしたい場合は、この記法を使うよりも、設定画面にある項目「リンク先は新規ウインドウ(タブ)で開く」を選択しておく方が楽です。 詳しい位置は、先の図に見える水色矢印の先をご覧下さい。
    なお、ここで「リンク先はフレームを解除して開く」項目が選択されている場合でも、:NEW オプションを加えたリンクは、新規ウインドウで開きます。

  • リンクに rel="nofollow" 属性を加える「 :NF

    ➡ リンクラベルに :NF を加えて、[リンクラベル:NF]https://任意のURL のように記述すると、 リンクに rel="nofollow" が付加されます。

    あらゆるリンクすべてに rel="nofollow" を付加したい場合は、この記法を使うよりも、設定画面にある項目「自動リンクには rel="nofollow" 属性を付加する」をONにしておく方が楽です。

  • リンクに任意のclass属性値を加える「 :CL(英数字)

    ➡ リンクラベルに例えば :CL(sakura) を加えて、[リンクラベル:CL(sakura)]https://任意のURL のように記述すると、 リンクに class="uc-sakura" のように「uc-指定英数字」のclass属性値が追加出力されます。

    ※指定されたclass名には、必ず先頭に「uc-」の3文字が付加されて出力されます。ucは「User Class」の略です。
    ※リンクを作るa要素には、デフォルトで固定的に出力されるclass属性値があります。上記の記法で指定されたclass名は、それらに追加される形で出力されます。

これらのオプションは複数の同時指定が可能です。
例えば、[リンクラベル:NEW:NF:CL(tomoyo)]https://任意のURL などのように続けて記述できます。

リンクラベルにはテキストだけでなく画像やカスタム絵文字を含めることもできます。
それぞれ特別な書き方があるわけではなく、単にリンクラベルの中に「画像を挿入する記述」を含めたり「カスタム絵文字を挿入する記述」を含めたりすれば良いだけです。

  • 画像を使って任意のURLにリンクする書き方
    ➡ 記述例:[[PICT:sakura.png]]https://www.nishishi.com/
  • リンクテキストの中にカスタム絵文字を含ませる書き方例
    ➡ 記述例:[たこ焼き[:takoyaki:]食べたい]https://www.nishishi.com/

画像表示時に原寸画像へのリンクにする設定にしている場合でも、リンクラベルの中に画像挿入記法を書いた場合は、(原寸画像へのリンクにはならず)リンク記法で指定したURLへのリンクになります。

カスタム絵文字

専用のディレクトリに「絵文字用に作成された画像」を置いておくことで、Unicodeには存在しない任意の絵文字画像を簡単に表示できる「カスタム絵文字」機能があります。(※Ver 2.0.0以降)

例えばそのディレクトリ内に絵文字用画像として takoyaki.svg ファイルがあれば、それを [:takoyaki:] の記述で表示できるような感じです。Misskey等で使えるカスタム絵文字に似たような記法で使えます。

さんごよみの既存の記法には、「カンマ記号に挟まれた英字」が登場するケースが多々ありますから、Misskey等と完全に同じ :takoyaki: のような書き方は許容できないため、 [:takoyaki:] のように角括弧で囲む必要があります。

カスタム絵文字の表示例

カスタム絵文字を使えるようにするための準備

カスタム絵文字として利用する画像ファイルを格納しておく専用のディレクトリを1つ用意して、それを管理画面で指定しておくする必要があります。 デフォルトでは「emoji」というディレクトリ名が設定されていますが(下図の黄色矢印の先)、自由に変更できます。

カスタム絵文字用の専用ディレクトリは、管理画面の[設定]→[システム設定]→【カスタム絵文字機能の設定】で指定できます。

カスタム絵文字機能は有効/無効を設定できます。デフォルトでは有効に設定されています。設定箇所は、管理画面の[設定]→[ページの表示]→【投稿本文の表示/カスタム絵文字】です。ここで、上図の水色矢印の先に示した『カスタム絵文字の表示を許可』項目がONなら、カスタム絵文字機能が使えます。

なお、カスタム絵文字の表示を調整(装飾)するCSSを自力で用意しない場合は、緑色矢印の先に示した『絵文字画像の高さをCSSで2文字分に制限する』項目をONにしておくことをお勧め致します(※デフォルトでONです)。ここがONだと、カスタム絵文字の高さが2em(2文字分)に制限されますので、無駄に大きくなりすぎることが防げます。

カスタム絵文字の専用ディレクトリに、さんごよみの管理画面上から画像をアップロードする機能はありません。 FTP等の別手段を使ってアップロードして頂く必要があります。

  • カスタム絵文字の専用ディレクトリとして、さんごよみの画像保存用ディレクトリと同じディレクトリを指定した場合には、さんごよみの画像管理画面等からアップロードができます。ただし、その場合は、絵文字として使うつもりのない画像でもカスタム絵文字記法で表示できてしまいます。
  • てがろぐには、Ver 4.5.1以降でカスタム絵文字を管理画面からアップロードする機能があります。カスタム絵文字の専用ディレクトリとして、併設しているてがろぐと同じディレクトリを共用する場合は、てがろぐ側で管理画面上からアップロードすることはできます。
▼複数のさんごよみCGI(またはてがろぐCGIと)でカスタム絵文字を共用したい場合の設定

同一サーバ内に設置された複数のさんごよみCGI(またはてがろぐCGIと)で同じカスタム絵文字を共有したい場合は、カスタム絵文字用ディレクトリの位置を「/」記号で始まる絶対パスで指定すると良いです。

例えば、以下の3カ所にそれぞれさんごよみCGIがセットアップされている場合を考えます。

  • https://example.com/calendar/s1/
  • https://example.com/calendar/s2/
  • https://example.com/calendar/s3/

ここで、s1 配下の下記のディレクトリにカスタム絵文字をアップロードすることとし、s2 と s3 からはこのディレクトリを参照したい場合は、

  • https://example.com/blog/s1/emoji/

3つのさんごよみ全てで、カスタム絵文字用ディレクトリの位置に、「/」記号で始まる絶対パスを使って /blog/s1/emoji/ のように指定すれば良いでしょう。 こうすると、3つのさんごよみ全てで、s1 に存在する emoji ディレクトリを共通して参照できます。

  • 「/」記号で始まる絶対パスは、ドキュメントルートを基準にした絶対パスだと解釈されます。サーバのファイルシステムの「ルートディレクトリから見た絶対パス」ではありませんのでご注意下さい。
  • 「https://」等で始まるURLを使ってディレクトリを指定することはできません。

カスタム絵文字の使い方

カスタム絵文字用ディレクトリに存在する画像ファイルを絵文字として利用できます。絵文字として使いたい画像は、FTP等の手段でカスタム絵文字用ディレクトリにアップロードして下さい。 使える画像個数に制限はありませんが、ファイル名には制約があります。詳しくは下記をご覧下さい。

▼カスタム絵文字を表示させる記述方法

カスタム絵文字は、角括弧とコロン記号を使って [:絵文字名称:] という書式で記述します。

例えば、カスタム絵文字用ディレクトリに「takoyaki.svg」という画像ファイルがあるとき、 [:takoyaki:] という記述でその画像をカスタム絵文字として表示できます。 対応している画像形式(後述)ならファイル拡張子は省略できますが、[:takoyaki.svg:] のように拡張子を含めて記述しても構いません。 ただし、拡張子を省略した場合と含めた場合とでは動作に若干の違いがあります。詳しくは後述の「拡張子を省略した場合と書いた場合の動作の違い」項目をご覧下さい。

SVG形式以外にも、GIF、PNG、JPEG、WebP等の画像形式が使えます。アニメーションGIFも使えます。ただ、SVGで作成されている方が綺麗に縮小して表示できるでしょう。

カスタム絵文字は、リンクテキストに含めることもできます。
ただし、「絵文字」とはいいつつもその実体は画像なので、ユーザ名やハッシュタグ等に含めることはできません。

▼カスタム絵文字の一覧を表示する方法

アップロードされているカスタム絵文字の一覧を表示する画面があり、そこで表示用のコードをコピーできます。

管理画面のTOPで、下図の黄色矢印の先に見える「カスタム絵文字」ボタンを押すと表示されます。
ここで、各カスタム絵文字の下側に見える「COPY」ボタンを押すと、そのカスタム絵文字を表示させるための [:takoyaki:] のようなコードをクリップボードにコピーできます。

今のところ、「既にアップロードされているカスタム絵文字」を一覧表示できるだけで、ここからアップロードすることはできません。アップロードしたり削除したりするには、別途FTP等の手段を使って下さい。
※てがろぐCGI側には、Ver 4.5.1以降では管理画面上でカスタム絵文字をアップロードしたり削除したりできます。(併用しているてがろぐCGIがある場合は、それとカスタム絵文字ディレクトリを共用することで、てがろぐ側からカスタム絵文字を追加/削除できます。)

サンプル画像で使用している、たこ焼きのカスタム絵文字等は、メモモモモさん配布の素材です。
果物アイコンは、てがろぐCGIのFAQページで配布している、てがろぐ上で自由にご活用頂けるアイコン画像などです。

▼本文中に見えているカスタム絵文字から表示用コードをコピーする操作方法

本文中に表示されているカスタム絵文字をダブルクリックするだけで、その絵文字を表示させるためのコードをクリップボードにコピーする機能があります。

この機能がONだと、投稿本文中に表示されているカスタム絵文字をダブルクリックすると、[:takoyaki:] のような「そのカスタム絵文字を表示させるためのコード」がクリップボードに入ります。 頻繁に使っているカスタム絵文字なら、いちいちカスタム絵文字の一覧画面からコードをコピーしなくても、直近の投稿に表示されている絵文字をダブルクリックすることでコードをコピーできる方が楽かもしれません。

※上図の黄色矢印の先にある『シングルクリックでコピーする』を選択すると、ダブルクリックではなくシングルクリックでコピーされるようになります。 モバイル端末で画面が狭い場合などで、ダブルタップだとズームしてしまう場合にはこの設定を切り替えると便利かもしれません。

この機能は設定でOFFにもできますが、デフォルトではONです。
この機能をOFFにする場合は上図の緑色矢印部分に見える『絵文字ダブルクリックでそのコードをコピーする』項目のチェックを外して下さい。

この機能がONだと、カスタム絵文字が表示される場合に限って、「ダブルクリックでコードをクリップボードに格納する」処理をするJavaScriptが出力されます。
※たとえこの機能がONでも、そのページ内にカスタム絵文字が1つも存在しなければスクリプトは出力されません。

モバイル端末で、「ダブルタップ時の動作を抑制する」ようなCSSが加えられている場合には、iOSやiPadOS上のブラウザでは、ダブルタップによる表示用コードのコピー機能も働かなくなりますのでご注意下さい。

※シングルクリックでコピーされる設定の場合は、ダブルクリックしてもコピーされます。^^; もしかしたら環境によって異なるかもしれませんが。
※シングルクリックでコピーされる設定にしている場合で、カスタム絵文字をリンクラベルの中に使った場合、ピンポイントにリンクテキストの中の絵文字部分をクリックすると、コードがクリップボードにコピーされた上でさらにリンク先に移動します。

▼カスタム絵文字として使える画像ファイルの制約

カスタム絵文字用ディレクトリに存在するファイルのうち、HTMLのimg要素で表示可能なすべての画像ファイルを絵文字として利用できますが、ファイル名には下記の制約があります。

対象画像形式(ファイル拡張子)
カスタム絵文字を記述する際、[:takoyaki:] のようにファイル拡張子を省略できるのは、(今のところ)拡張子が .svg、.gif、.png、.jpg、.webp の場合だけです。 それ以外の画像形式でも、HTMLのimg要素で表示が可能なら使えますが、[:takoyaki.heif:] のようにファイル拡張子も省略せずに記述する必要があります。
ファイル名の構成文字
カスタム絵文字として使える画像ファイルのファイル名は、➊半角の英数字・➋半角ハイフン「-」・➌半角アンダーバー「_」・➍半角ドット「.」の4種類の文字だけで構成されている必要があります。 これは、ファイル名がそのままclass名としても使われる仕様のためです。(※ただし、class名にドットは使えないので、ドットは除外した名称がclass名になります。)

ファイル名の大文字と小文字は区別するので注意して下さい。[:TAKOYAKI:] と記述した場合は、ファイル名も大文字の TAKOYAKI.svg のような画像ファイルがないと表示されません。 (ただし、Windows環境のように大文字・小文字を区別せずにファイルにアクセスできるOSで動作している場合は、大文字・小文字関係なく表示されます。Windows環境のローカルで動作を試した後で、UNIX環境のサーバへUPする際などにはご注意下さい。)

▼カスタム絵文字の装飾方法

図の緑色矢印の先のように、管理画面の[設定]→[ページの表示]→【投稿本文の表示/カスタム絵文字】で、『絵文字画像の高さをCSSで2文字分に制限する』項目がONの場合は(※デフォルトでONです)、カスタム絵文字の高さは 2em(=テキスト2文字分)で表示されます。 これは、装飾用のCSSを用意しなくてもそれなりに表示されるようにするための機能です。

装飾するCSSを自力で書けば、自由なサイズで表示できます。
また、カスタム絵文字の名称(takoyaki等)はそのままclass名にもなっていますので、絵文字によって表示サイズや装飾を変化させるようCSSを事前に書いておくこともできます。

設定項目の「可能ならimg要素にwidth属性とheight属性を付加」がONのときに画像の縦横サイズが自動取得されるのは、GIF, PNG, JPEG, SVG 形式のみです。SVGの場合は、画像データ内に縦横サイズの指定がない場合には取得できません。

カスタム絵文字の装飾方法や実際に出力されるHTMLソースの詳細については、てがろぐ側のヘルプドキュメントのカスタマイズ方法ページにある『カスタム絵文字の装飾方法』項目をご参照下さい。

▼拡張子を省略した場合と書いた場合の動作の違い

カスタム絵文字では、記述を短く済ませるためにファイル拡張子は省略して記述できる仕様になっています。
例えば、takoyaki.svg ファイルを絵文字として表示するには [:takoyaki:] と書くだけで済みます。[:takoyaki.svg:] と書いても構いませんが、そうする必要はありません。

ただし、同じファイル名で異なる拡張子のファイルが存在する場合は、次のような動作になります。

  • もし takoyaki.svg と takoyaki.gif があるとき、[:takoyaki:] だとSVGの方が表示されます。GIFの方を表示したい場合は [:takoyaki.gif:] のように拡張子も含めるしかありません。
  • もし takoyaki.gif と takoyaki.png があるとき、[:takoyaki:] だとGIFの方が表示されます。PNGの方を表示したい場合は [:takoyaki.png:] のように拡張子も含めるしかありません。

これは、拡張子が省略された場合には、➊.svg → ➋.gif → ➌.png → ➍.jpg → ➎.webp(→ ➏.SVG→ ➐.GIF→ ➑.PNG→ ➒.JPG→ ➓.WEBP)の優先順でファイルを探し、見つかった時点でそれを採用する仕様だからです。 (この10通り以外の拡張子が付けられているファイルでは、拡張子は省略できません。)

ファイル拡張子を省略すると、さんごよみ内部ではファイル拡張子を次々に試してファイルの存在を確認する処理が走ります。その処理は一瞬で終わりますが、一瞬たりとも無駄な処理をさせたくない場合には、最初から拡張子を含めて記述しておくと良いでしょう。(^_^;) その場合は、ファイルの実在確認処理は1回だけで済みます。

なお、takoyaki.svg があるとき [:takoyaki:] でも [:takoyaki.svg:] でも表示はできますが、付与されるclass名には以下の違いがあります

  • [:takoyaki:] の場合に出力されるclass名は ce-takoyaki になります。
  • [:takoyaki.svg:] の場合に出力されるclass名は ce-takoyakisvg になります。(※ceは Custom Emoji の略)

同じファイルでも書き方によってclass名が2通りありますのでご注意下さい。この仕様を使って装飾を2通りで使い分けることもできるでしょう。なお、ファイル名にドットがある場合でも(class名にドットは使えないので)ドットを削除した結果がclass名になります。

class名には、どんなカスタム絵文字にも共通で出力される cemoji もあります。 また、ファイル名にハイフン記号が含まれている場合は、それらで区切ったclass名も出力されます。 詳しくは、実際に出力されるHTMLソースを見てみて下さい。

また、てがろぐ側のヘルプドキュメントのカスタマイズ方法ページの『カスタム絵文字の装飾方法』項目でも仕様を詳しく解説していますので併せてご参照頂くと分かりやすいでしょう。

その他

ログインセキュリティ関連機能

ログインセキュリティ関連機能として、パスワードを間違えた際にIDをロックする機能と、ログインできるIPアドレスを制限する機能があります。 (※Ver 2.0.0以降)

①は下図の緑色矢印の先、②は下図の黄色矢印の先、③は下図の水色矢印の先です。設定箇所は、管理画面の[設定]→[システム設定]→【新規ログイン制限】です。

※ロックされていても、既にログインしている端末では引き続き使用可能です。あくまでも新規ログインを制限するだけです。

①だけはデフォルトでONですが、②と③はデフォルトではOFFなので、使いたい場合には設定でONに変更して下さい。

▼①ログインに1回失敗したら直後に約2秒間だけロックする機能

パスワードを間違えてログインに1回失敗したら、直後にほんの短時間(最大2秒間)だけロックすることによって、機械的なログイン試行を制限するセキュリティ機能です。この機能はデフォルトでONです。

この機能がONなら、ログインを2秒に1回(1分間に最大でも30回)しか試せなくなりますから、パスワード総当たり攻撃(ブルートフォースアタック)が難しくなります。

※パスワードを間違ってもログインフォームはすぐに再表示されますが、ロック中の2秒間に再度ログインを試そうとすると、下図のような画面になります。

パスワードを人力でキー入力する場合、よほど短くない限りは1秒くらいはかかるでしょうから、最大2秒間のロックが掛かっても人間が入力する限りは不便にはならないでしょう。 (パスワードが間違っていることが判別できてから、ログインフォームが再表示されるまでの間にも0.5秒くらいはかかるでしょうから。)
ローカルで動作させている場合にはもっと反応速度は速いでしょうけども、ローカルで動作させている場合にはそもそもこのようなセキュリティ機能は不要でしょうから、OFFにしてお使いになると良いでしょう。^^;

厳密に2秒間ロックされるわけではなく、概ね1~2秒間のロックになります。 なぜなら、ミリ秒単位ではカウントしておらず、秒単位でしかカウントしないからです。

  • 12時00分05秒にパスワードを間違った場合、そのロックが解除されるのは2秒後の12時00分07秒です。

しかし、

  • 例えば、12時00分05秒500ミリ秒 にパスワードを間違った場合、解除されるのは 12時00分07秒000ミリ秒 なので、ロック時間の合計は1.5秒になります。
  • 例えば、12時00分05秒200ミリ秒 にパスワードを間違った場合、解除されるのは 12時00分07秒000ミリ秒 なので、ロック時間の合計は1.8秒になります。

このように、1秒未満の時間は考慮しないので、実際のロック時間は(パスワードを間違ったタイミングによって)1.001~2.000秒の間で変化します。

▼②ログインに連続で指定回数失敗したら、ログイン処理を指定分間ほどロック(拒否)する機能

パスワードを指定回数ほど連続で間違えると、指定時間ほどIDをロックするセキュリティ機能です。この機能はデフォルトではOFFですので、使いたい場合には設定画面でONに変更して下さい。

これは多くのWebサービスに存在する「5回連続で間違ったらロック」というようなセキュリティ機能です。ただ、永久にロックされるわけではなく、あらかじめ指定した時間が経てば自動で解除されます。例えば、

  • パスワードを連続で 20回 間違えたら、そのIDをロックする。
  • ロックは、30分後 に自動解除する。

……のような設定ができます。
回数と時間(分)は自由に設定できます。時間の単位は「分」に固定されていますが、「360分」(=6時間)や「1440分」(=24時間)など、60分を超える指定も可能です。

ロック中にログインを試そうとすると、下図のような画面になります。

※IDがロックされても、既にログイン済みの端末には影響ありません(そのまま使い続けられます)。

正規のアクセス権を持っているのにロックで締め出されてしまった場合は、一時的にログイン制限を無効にする救済機能を使って下さい。
また、「ロックされているID」と同じIDで既にログインしている端末があるとき、そこでログアウトすれば、そのIDのロックは(残り時間にかかわらずログアウトした時点で)自動解除される仕様になっています。 これは、「再ログインしようと思ったら既にロックされていてログインできなかった」という状況になるのを防ぐための仕様です。

「連続」の解釈範囲は、「最後のログイン試行時刻から、ロック時間が経過した時点」で切れます。
例えば、「連続 15回のログイン失敗で、20分間ロック」という設定にしている場合、最後にログインに失敗した時点から20分が過ぎると、そこで「連続」は途切れたと解釈して、失敗カウントは0にリセットされます。 「40分間ロック」という設定にしているなら、40分が過ぎた時点でリセットされます。アクセス者のIPアドレスやユーザエージェント等は一切無関係で、アクセス時間だけを元にカウントされます。

ロック時間の設定値に上限はありませんから、ものすごく長い時間を指定すれば事実上の「永久ロック」にもできます。 パスワードをブラウザに記憶させているなど、絶対に間違う可能性がないと言い切れるなら、「2回間違ったら10000分ロック」のように極端な設定にしておけば、(1週間あたり2回しか試行できなくなるので)より安全性は高まるでしょう。

▼③ログインできるIPアドレスを制限する機能

あらかじめ指定しておいたIPアドレスからしかログインフォームを使わせない設定ができます。
この機能を有効にすると、あらかじめ登録していた「許可されたIPアドレス」以外からのアクセスでは、

  • ログインフォームは表示されず、
  • (たとえログインフォームの画面をキャッシュするなどしていても)新規のログイン処理は通過しません。

ただし、既にログインしているユーザには影響しないので、ログインした後にIPアドレスが変わっても使い続けられます

極端な対策例ですが、必要なすべての端末からログインした状態で、許可IPアドレスに 999.999.999.999 のようなあり得ないIPアドレスだけを登録しておけば、「今ログインしている自分以外は、誰もログインできない」状態にできます。 このようにしておくと、不正ログインを拒否できて(※不正ではないログインすらも拒否してしまいますが)安全性を高められるでしょう。

▼一時的にログイン制限を無効にする救済機能

もし、自分ロックやIPアドレス制限などのログイン制限に引っかかってシステムから締め出されてしまった場合には、以下の対処方法があります。

➊ 他に管理者権限でログインしている端末がある場合:
他にログインしている端末があるなら、そこから管理画面にアクセスして一時的にログインセキュリティ機能をOFFにする方法があります。 ロック設定をOFFにすると、その時点でロックは解除されます。IPアドレス制限をOFFにすれば、あらゆるIPアドレスでログイン可能になります。

➋ 他に管理者権限でログインしている端末がない場合か、あっても何らかの事情で使えない場合:
CGI本体のあるディレクトリに nolim.dat というファイル名で任意のファイルをアップロードして下さい(中身は空で構いません)。 そのファイルが存在する間は、すべてのログイン制限が無効になります。ログインした後、再度制限を有効にするためには nolim.dat ファイルを削除して下さい。

nolim.dat は「ファイル名5文字+拡張子3文字」のファイル名です。すべて英小文字です。ファイル名の nolim は、No Limit の略です。
ファイルの中身は空で構いませんが、ファイルサイズ0のファイルをアップロードできない場合は、中に適当なダミー文字列を入れて下さい。(ファイルの中身は読みませんので、何が書いてあっても効果に影響はありません。)
この nolim.dat をずっと置きっぱなしにすると、ログイン制限はずっと無効化されたままになりますのでご注意下さい。

※非推奨な対処方法:
どうしてもうまくいかない場合は、下記の対処方法もあります。

  • (sangoyomi.cgiと同じディレクトリにある)psif.cgiファイルをテキストエディタで開き、FAILURE=で始まる行をすべて削除してから上書きアップロードすると、すべてのロックを解除できます。
  • sangoyomi.iniファイルをテキストエディタで開き、loginipwhites=で始まる行(あるとしたら1行だけです)を削除してから上書きアップロードすると、IPアドレス制限を削除できます。

これらは最後の手段(最悪の場合に採れる対処方法)と考えて、まずは先の方法を使って下さい。

Last modified: 2025/02/20 15:31:00

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