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

さんごよみ カスタマイズ方法

スケジュール・カレンダー表示CGI「さんごよみ」のカスタマイズ方法です。主にスキンを自分好みに作り替える方法を解説しています。
ページ表示はスキン式なので、スキンHTMLを書き換えれば、多くの箇所を好きなようにカスタマイズできます。

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

さんごよみCGIカスタマイズ方法の概要

「さんごよみ」は、表示用のスキンファイルをカスタマイズすることで、見た目を自由に変更できます。 スキンの実体は単純なHTML+CSSファイルですから、自由に編集したり自作したりしてお使い頂けます。 お望みのカレンダーになるようデザインしてみて下さい。 なお、法人向けのカスタマイズサービスも提供しておりますので、お気軽にお問い合わせ下さい。

さんごよみのスキンHTMLでは、専用のキーワードさえ書ければ他は自由に編集可能ですから、汎用の作成ソフト(ホームページビルダー等)でも編集できます。 もちろん、テキストエディタをお使いになる方が自由度の高い編集が可能ですが。 テキストエディタには(特にCGIソースを編集する場合には)EmEditorをおすすめしていますが、スキンHTMLやCSSを編集するだけなら(UTF-8コードが扱える)テキストエディタなら何を使っても問題ありません。なお、EmEditorは有償ソフトですが無料版として使うこともできます。

スキンの置き方

デフォルトで使うスキン(標準適用スキン)は、CGIと同じディレクトリに置いて下さい。(※下図の緑色部分)
切り替えて使いたいスキンや、一時的に試したいスキンは、適当な名称のサブディレクトリを作成して「1スキン=1ディレクトリ」で置いて下さい。(※下図のピンク色部分)

基本は「1スキンあたり3ファイル」で構成されますが、CSSファイルは存在しなくてもスキンとして認識されます。

スキンHTMLの2ファイル(skin-cover.html と skin-oneday.html)があれば、スキンとして認識されます。 ディレクトリ名は、半角英数字と記号「-」・「_」内で構成されていれば、何でも構いません。 CSSファイルはいくつでも構いません(0個でも2個以上でも)。

CGIのカスタマイズに使えるファイル群

次のファイルを書き換えることで、自由にカスタマイズが可能です。

  • デザインのカスタマイズ
    • sangoyomi.css : ページのデザインを記述しているスタイルシートです。スタイルを変更したい場合に書き換えます。
  • ページそのもののカスタマイズ
    • skin-cover.html : ページ全体を作る「カバースキン」ファイルです。(このファイルを編集することで、ページの構成内容を自由に変更できます。)
    • skin-oneday.html : カレンダーの1日分を作る「1日スキン」ファイルです。(このファイルを編集することで、カレンダー内側の構成を自由に変更できます。)

    これら2ファイルは、標準スキンでは、下図のような役割分担になります。

さんごよみCGIを構成する2つのスキンファイルの役割

ページそのもののカスタマイズに使う「スキンHTML」2種では、既定のキーワードを [[KEYWORD]] のような書き方で記載することで、対応する情報を挿入できます。 それらのカスタマイズ方法を以下にご紹介致します。

スキンのカスタマイズ方法(書き方リファレンス)

ページ全体を作る《カバースキン》ファイル「skin-cover.html」の編集方法(キーワードの一覧と書き方)

カバースキンファイル「skin-cover.html」は、CGIが出力するページ全体を作るスキン(テンプレートHTML)ファイルです。テキストエディタやホームページ作成ソフトなどで編集できます。以下のキーワードを含めておくことで、CGI側が各情報を挿入して表示します。

【基本要素:月間スケジュールカレンダー関連】

  • HTML内に、[[SCHEDULE:CALENDAR]] と記述すると、その位置に月間カレンダーが挿入されます。(1スキン内で1回のみ記述できます。)
  • HTML内に、[[EDIT:CALENDAR:URL]] と記述すると、月間スケジュールの編集画面TOPのURLが挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[NAVI:CALENDAR:PREV:URL]] と記述すると、前の期間のカレンダーを表示するためのURLが挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[NAVI:CALENDAR:NEXT:URL]] と記述すると、次の期間のカレンダーを表示するためのURLが挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[NAVI:CALENDAR:PERIOD]] と記述すると、1ページに表示されるカレンダーの数が挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[RSS:URL]] と記述すると、その位置に月間スケジュールをRSSフィードで出力するためのURL相対パスで挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[RSS:URL:FULL]] と記述すると、その位置に月間スケジュールをRSSフィードで出力するためのURL絶対URLで挿入されます。(1スキン内で何回でも記述できます。)

RSSフィードに含まれるのは、月間スケジュールカレンダーに表示される予定だけです。1週間の汎用予定表や、長期予定表の内容は含まれません(それらをRSSで配信する方法は、今のところありません)。

【基本要素:1週間の汎用予定表関連】

  • HTML内に、[[SCHEDULE:WEEKLY]] と記述すると、その位置に1週間の汎用予定表が挿入されます。(1スキン内で1回のみ記述できます。)
  • HTML内に、[[EDIT:WEEKLY:URL]] と記述すると、1週間の汎用予定の編集画面のURLが挿入されます。(1スキン内で何回でも記述できます。)

【基本要素:長期予定表(掲示板)関連】

  • HTML内に、[[SCHEDULE:LONGRANGE]] と記述すると、その位置に長期予定表(掲示板)が挿入されます。(1スキン内で1回のみ記述できます。)
  • HTML内に、[[EDIT:LONGRANGE:URL]] と記述すると、長期予定表の編集画面TOPのURLが挿入されます。(1スキン内で何回でも記述できます。)

【基本要素:その他】

  • HTML内に、[[SITUATION]] と記述すると、表示する投稿が限定されている場合(年月日別表示や検索結果など)に、限定内容を案内する文言がプレーンテキストで挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[SITUATION:HTML]] と記述すると、表示する投稿が限定されている場合(年月日別表示や検索結果など)に、限定内容を案内する文言がHTMLで挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[SITUATION:TITLE]] と記述すると、表示する投稿が限定されている場合(年月日別表示や検索結果など)に、限定内容を案内する文言がプレーンテキストで挿入され、(何かが挿入される場合に限っては)末尾に「-」記号が付きます。主にtitle要素内で使うことを想定していますが、他の場所でも使えます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[SITUATION:CLASS]] と記述すると、そのとき表示されている状況を示すキーワードが半角空白区切りで挿入されます。主にbody要素のclass属性値で使うことを想定しています。詳しくは「そのときの表示状況に応じてページデザインを切り替える方法」をご参照下さい。(1スキン内で何回でも記述できます。)
  • HTML内に、[[LOGINCHECKER]] と記述すると、ログイン状態に応じて表示を切り替えるのに必要なコードが挿入されます。(1スキン内で何回でも記述できます。)

[[LOGINCHECKER]]で挿入される『ログイン状態に応じて表示を切り替えるのに必要なコード』は、ログインされていない状態で何かを非表示にするような必要がなければ、書かなくても問題ありません。

【細かな情報要素】

  • HTML内に、[[INFO:LASTUPDATE]] と記述すると、最終更新日時が「YYYY/MM/DD hh:mm:ss」形式で挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[INFO:LASTUPDATE:表記方法]] と記述すると、最終更新日時が任意の表記形式で挿入されます。書き方は内側スキンの[[DATE]]と同じです。(1スキン内で何回でも記述できます。)

【システムナビゲーション要素】

  • HTML内に、[[ADMIN:URL]] と記述すると、その位置に管理画面(コントロールパネル)のURL相対パスで挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[ADMIN:URL:FULL]] と記述すると、その位置に管理画面(コントロールパネル)のURL絶対URLで挿入されます。(1スキン内で何回でも記述できます。)

【多目的フリースペース要素】

  • HTML内に、[[FREESPACE]] と記述すると、その位置に多目的フリースペースとして登録された文章が挿入されます。標準スキンでは、月間スケジュールカレンダー用の凡例表示枠として使っていますが、そのほか何の表示目的にも活用可能です。(1スキン内で何回でも記述できます。)
  • HTML内に、[[FREESPACEEDIT:URL]] と記述すると、その位置に多目的フリースペースを編集できる管理画面へのURLが挿入されます。編集用リンクを作りたい場合に使えます。(1スキン内で何回でも記述できます。)

【ヘッダ・フッタ向けフリースペース要素】

  • HTML内に、[[FREE:TITLE:MAIN]] と記述すると、その位置に主タイトルとして設定された文字列(設定画面のフリースペース内で設定できます)が挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[FREE:TITLE:SUB]] と記述すると、その位置に副タイトルとして設定された文字列(設定画面のフリースペース内で設定できます)が挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[FREE:DESCRIPTION]] と記述すると、その位置に一行概要文として設定された文字列(設定画面のフリースペース内で設定できます)が挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[FREE:HOMELINK]] と記述すると、その位置にウェブサイトHOMEへ戻るリンクが挿入されます。てがろぐHOMEへ戻るリンクではないので注意して下さい。リンク先は、設定画面のフリースペース内で設定できます。(1スキン内で何回でも記述できます。)

上記のキーワードは主に、ページのヘッダ部分やフッタ部分で使われることを想定したフリースペースです。しかし、スキンの書き方次第では、ヘッダやフッタ以外でも自由に使えます。

【汎用要素・その他】

  • HTML内に、[[RANDOM:10]] と記述すると、その位置に1~10の間のランダムな整数(1と10を含む)が半角テキストで挿入されます。値は10以外でも、1桁~10桁の範囲で任意の数値を指定できます。(1スキン内で何回でも記述できます。外側スキン・内側スキン両方で使えます。)
  • HTML内に、[[CHARCODE]] と記述すると、CGIの文字コード名が挿入されます。(1スキン内で何回でも記述できます。) ※標準では「UTF-8」です。
  • HTML内に、[[VERSION]] と記述すると、CGIの名称とバージョン番号が挿入されます。(1スキン内で何回でも記述できます。) ※この記述が1度もない場合は、CGI側が強制的にHTML末尾に同文を挿入します。スキン内にこの表記を使っておく方が、望み通りにデザインを作れるでしょう。この表示を見えなくしたり、極端に見えにくくしたりしないで下さい。

【ファイル合成・ライブラリ読み込み】

  • HTML内に、[[INCLUDE:ファイル名]] と記述すると、その位置に指定ファイルの中身がそのままが挿入されます。SSI(Server Side Include)やPHPのincludeのように動作します。例えば [[INCLUDE:apple/pen.html]] と記述すると、その位置にappleフォルダのpen.htmlの中身がそのまま挿入されます。ファイルは相対パスで記述して下さい(※注)。(1スキン内で何回でも記述できます。)

※注:相対パスでの記述は、スキンファイルの位置に関係なく、『CGI本体の存在する位置からの相対パス』で指定する必要がある点にご注意下さい。
※CGI本体よりも上位のディレクトリを参照したい場合は「../」の記述が使えます。この上位ディレクトリの参照を禁止する設定も可能です。その設定は、CGIソースの冒頭付近で変更できます。

  • HTML内に、[[JS:LIGHTBOX]] と記述すると、その位置にLightboxが必要な場合(※)に限って、Lightboxを読み込むために必要なJavaScriptが挿入されます。具体的には、CDN経由でLightbox用CSSとJavaScriptが読み込まれます。(1スキン内で1回のみ記述できます。)
  • HTML内に、[[JS:LIGHTBOX:JQ]] と記述すると、その位置にLightboxが必要な場合(※)に限って、jQueryとLightboxを読み込むために必要なJavaScriptが挿入されます。具体的には、CDN経由でjQuery本体と、Lightbox用CSSとJavaScriptが読み込まれます。(1スキン内で1回のみ記述できます。)

※「Lightboxが必要な場合」とは、投稿内に画像が1枚でも掲載されている状況で、その画像にLightbox用の属性「data-lightbox」が記述されている場合です。(外側スキンファイルに直接何かを記述している場合など、投稿以外の部分にLightboxを必要とする記述があっても反応しませんのでご注意下さい。その場合は、[[JS:LIGHTBOX]] を使うのではなく、常時Lightboxを読み込むようなHTMLをスキンに直接記述して下さい。)

カレンダーの1日分を作る《1日スキン》ファイル「skin-oneday.html」の編集方法(キーワードの一覧と書き方)

《1日スキン》ファイル「skin-oneday.html」は、カレンダー内側の1日分を表示する部分を作るためのスキン(テンプレートHTML)ファイルです。下記のキーワードはどれも、1スキン内に何度でも挿入できます。(1度も使わない項目があっても構いません。)

【カレンダー日時表示関連要素】

  • HTML内に、[[DAY:NUMBER]] と記述すると、その位置に日付(日の数値)が挿入されます。年月は含まず「日」の数字だけです。主に、カレンダー内で日付数字を表示する目的で使います。
  • HTML内に、[[DAY:NAME]] と記述すると、その位置に祝日名・記念日名が挿入されます。祝日でも記念日でもなく、振替休日でもない場合は、何も挿入されません。
  • HTML内に、[[DATE:日付書式]] と記述すると、その位置に日付が指定の形式で挿入されます。
    • 「日付書式」の部分には任意の文字列を指定でき、下表のように解釈されます。取捨選択も掲載順序も自由です。同じ文字を何度も使えます。大文字・小文字は区別するので注意して下さい。下記以外の文字はそのまま出力されます。
      記号挿入内容挿入例または範囲備考
      Y年 (西暦)2022
      y年 (西暦下2桁)22
      R年 (和暦:元号+年)令和4数字の桁数は不定
      r年 (和暦:年のみ)4
      M月 (2桁固定)01 ~ 121桁なら先頭に0を付加
      G月 (1~2桁)1 ~ 121桁は1桁のまま
      J月名(和暦)睦月 ~ 師走
      E月名(英語)January ~ December
      e月名(英略)Jan ~ Dec英字3文字
      D日 (2桁固定)01 ~ 311桁なら先頭に0を付加
      N日 (1~2桁)1 ~ 311桁は1桁のまま
      W曜日(英語)Monday ~ Sunday
      w曜日(英略)Mon ~ Sun英字3文字
      B曜日(和名)月曜日 ~ 日曜日漢字3文字
      b曜日(和略)月 ~ 日漢字1文字
      A相対時間(前後付)3秒前、5分前、12日前投稿後の経過時間(※)
      a相対時間(前後無)3秒、5分、12日
      h00 ~ 232桁固定
      m00 ~ 59
      s00 ~ 59

      ※時(h)・分(m)・秒(s)の指定に意味はありません。
      このCGIは、お手軽マイクロブログCGI「てがろぐ」と一部の仕様を共有しているため、上記には「時/分/秒」を挿入する書式も含まれています。 しかし、カレンダーを表示する上で「時/分/秒」に意味はないため、「時/分/秒」を挿入するような記述を加えても「00」が固定的に出力されるだけで、意味はありません。

    • 例えば、[[DATE:Y年M月D日(w)]] と記述すると、「2024年11月20日(Wed)」の形式で挿入されます。
    • 例えば、[[DATE:R年(Y年)G月N日B]] と記述すると、「令和4年(2022年)5月16日月曜日」の形式で挿入されます。
    • 例えば、[[DATE:Y-M-D]] と記述すると、「2024-11-20」の形式で挿入されます。
    • 例えば、[[DATE:M月(J)のN日]] と記述すると、「6月(水無月)の8日」の形式で挿入されます。

    上表以外の文字はそのまま出力される仕様ですが、半角英字に関しては今後の機能追加によって新たな挿入記号として使われる可能性がありますので、半角英字は「そのまま表示される」という前提では使わない方が無難です。

【スケジュール表示要素】

  • HTML内に、[[SCHEDULE:SUMMARY]] と記述すると、その位置に概要として登録されたスケジュール本文が挿入されます。
  • HTML内に、[[SCHEDULE:DETAIL]] と記述すると、その位置に詳細として登録されたスケジュール本文が挿入されます。
  • HTML内に、[[EDITURL]] と記述すると、その位置にその日付のスケジュールを編集するための編集ページの固有URLが挿入されます。(ログインしていない状態でこのURLにアクセスした場合は、ログイン画面が先に表示されます。)

【投稿ユーザ関連要素】

  • HTML内に、[[USERID]] と記述すると、その位置に投稿者のID名が挿入されます。
  • HTML内に、[[USERNAME]] と記述すると、その位置に投稿者の表示名が挿入されます。表示名が設定されていないユーザや、既に削除されたユーザの場合はデフォルト設定の名称(標準では「?」)が代わりに挿入されます。
  • HTML内に、[[USERICON]] と記述すると、その位置に投稿者のアイコン画像がimg要素を使って挿入されます。アイコン画像が設定されていないユーザや、既に削除されたユーザの場合は、デフォルト設定のアイコンが表示されます。

ユーザ別にスケジュールを閲覧するような機能はありません。あくまでも、「そのスケジュールを最後に編集したのは誰か」が分かるだけです。

【その他】

  • HTML内に、[[RANDOM:10]] と記述すると、その位置に1~10の間のランダムな整数(1と10を含む)が半角テキストで挿入されます。値は10以外でも、1桁~10桁の範囲で任意の数値を指定できます。(この記述は、外側スキン・内側スキン両方で使えます。)

スキン編集の補足

  • HTML内のその他の部分は、何でも自由に書き換えることができます。
  • 付属のスキンファイルを参考にして編集すれば、楽にカスタマイズできるでしょう。
  • スキン内に記述したキーワードが認識されない場合は、以下の点を確認してみて下さい。
    • 括弧が二重になっているか?
      [DATE][[DATE] では認識されません。[[DATE]] のように開始括弧も終了括弧も二重になっているかどうか確認して下さい。
    • 余計な空白文字が入っていないか?
      →括弧とキーワードの間は詰めて記述する必要があります。空白があると認識されません。
    • 半角の大文字で記述しているか?
      →括弧とキーワードは半角文字でしか認識されません。また、英字は大文字でしか認識されません(※日付の指定文字列や識別子は除く)。

その他

さんごよみCGIをご使用頂く上では、「著作権表示」と「Powered-by表記」の掲載が必要です。それぞれ下図の部分を指します。

  • 「著作権表示」はCGIの管理画面などの下部に表示されています。この表示はどのような場合でも必須であり、削除したり改変したりしてお使い頂くことはできません。
  • 「Powerd-by表記」は、CGIが生成するWebページ内に表示される「Powerd by さんごよみ」等の表記のことです。条件によっては削除可能で、掲載が必要な条件や装飾については下記の通りです。

Powerd-by表記は、CGIを無償でお使い頂く限り、表示・掲載が必須です。 削除したり改変したり見えなくしたり、極端に見えにくくしたりしてお使い頂くことはできません。 しかし、平均的な人類が問題なく読める範囲内でなら配色やサイズ等の装飾を加えて頂いても構いませんし、スクロールするだけで見える位置であれば掲載場所を変更して頂いても問題ありません。外側スキン内に [[VERSION]] と記述しておけば、そこに必要なPowerd-by表記が出力されます。 外側スキンから [[VERSION]] の記述を削除すると、CGI側が強制的にHTMLソースの末尾に追加します。この場合、文法的に正しくないHTMLになってしまいますから、スキンを自作する場合でも [[VERSION]] の記述を自ら含めておく方が、より望みのデザインを作りやすいでしょう。

▼Powered-by表記を非表示にして使うには

さんごよみCGIを企業サイトでお使いになる場合など、生成ページ中にPowerd-by表記を含めたくない場合は、有償ライセンスをご取得頂くことで、Powerd-by表記を非表示にできます。

ライセンスについて詳しくは、お気軽にお問い合わせ下さい。

企業サイト等の商用目的でお使いになる場合でも、Powerd-by表記を表示して運営なさる場合は、無償でお使い頂けます。
さんごよみCGIの使用条件については、CGI使用条件(ライセンス)項目もご参照下さい。

「このCGIについて」枠の表示制限

ライセンスを取得している場合に、管理画面HOME右上に見える「このCGIについて」枠の一部または全部を非表示にできる機能もあります(Ver 2.0.0以降)

さんごよみCGIにおける「ライセンス」とは、先の項目「著作権表示とPowered-by表記について」で示したように「Powered-by表記」を非表示にして使用できる権利のことです。 そういう場合、たいていはビジネス用途で活用していたり、客先サーバにセットアップして納品している場合がよくあります。 その場合、管理画面のTOPに「作者にコーヒーをおごる」等のリンクはあまり表示したくないでしょう。(^_^;) なので、ライセンスが取得されているなら、下図のようにこの「このCGIについて」枠の一部または全部の表示を削減できる機能を用意しています。

左端(黄色矢印部分)がデフォルトの状態(ライセンスをご取得頂いていないフリー版でご使用なら、常にこの表示)です。中央(水色矢印)、右端(緑色矢印)の表示のほか、完全に非表示に設定することもできます。

設定項目は、ライセンスをご取得頂いた際にご案内した「Powered-by表記の非表示化方法」と同じ場所にあります。(ご不明な場合はお問い合わせ下さい。)

法人向けのカスタマイズサービス

「さんごよみ」を御社サイトの営業カレンダー枠などに使ってみませんか?
「さんごよみ」は単独のカレンダーページを生成するだけでなく、既存ページの内部に埋め込むこともできます

ご依頼頂ければ、Powered-by表記を非表示にして使える永久ライセンスとセットにして、セットアップや設定を致します。
そのほか、御社サイトデザインに合わせたスキンの製作や、CGIソースそのもののカスタマイズも承ります。
詳しくは、お気軽にお問い合わせ下さい。

Last modified: 2025/02/21 19:33:00

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