BCalendar (営業日カレンダー)

はじめに

みなさん、こんにちは、こんばんは!

今回は、Rubyで作ったBCalendarの紹介です。

BCalendarは、自分のホームページの片隅に設置するカレンダーアプリです。

設置はHTMLのIFRAMEを用いて行いますので、WordPressなどのCMSのカスタムHTMLウィジェットにも対応できるかと思います。
(ページ右上のカレンダーは、JS Calendar(スケジュールカレンダー)ですが、イメージはほぼ同じです)

概要

≪著作権および免責事項≫
本ソフトはフリーソフトです。自由にご使用ください。
尚,著作権は作者である “XERO System” が保有しています。
このソフトウェアを使用したことによって生じたすべての障害・損害・不具合等に関しては、私と私の関係者および私の所属するいかなる団体・組織とも、一切の責任を負いません。
各自の責任においてご使用ください。
  • BCalendar は、Ruby1.8 + HTML5 + CSS3 + JavaScript で作成しています。
  • Ruby が稼働するサーバーなら、基本的にどこでも動くと思います。
  • BCalendar は、iframe で設置できるカレンダーアプリです。
  • 営業日を登録できます。(営業日でなくても可)
  • カレンダー計算クラスを自作。
    ※ このクラスで使用している祝日テーブルをこちらで説明しています。
  • 西暦1年(グレゴリオ暦としては存在しない)から表示可能。
  • 実年代の祝日(日本の)を表示可能。
  • 登録モード、色の設定モード搭載。

設置してみよう!

まずはダウンロードしましょう!こちらから ⇒ download

その前に動作を確認したい方は、こちらから ⇒ サンプル

ダウンロードしたファイルを解凍して、FTPでサーバーにアップロードしましょう。
FTPクライアントは、いくつかありますが、定番のFFFTPの利用をおススメします。

解凍すると、calendar フォルダが出来ます。

calendar フォルダを開いて、訂正の必要なファイルがありますので、それをテキストエディタで開いてください。

このテキストエディタは、utf-8 エンコードの出来るものを使ってください。
(プログラムソースが utf-8 で書いている為)
windows10の方はメモ帳でもいいですが、他のOSの方はメモ帳以外のテキストエディタをご用意ください。
おススメは、Notepad++、サクラエディタですが、他にも色々なエディタがありますので、お好みのものを見つけるのも良いかもしれません^^ (utf-8 が扱えるもの)


・BCalendar.cgi を開いて、1行目をプロバイダで定められた Ruby へのパスを指定します。
このままで良ければ訂正は必要ありません。

#!/usr/local/bin/ruby

・BCalendar.cnf を開いて、$homepage の URL を、ご自身の URL にしてください。

#ホームページURL
$homepage = "https://example.com/";

フォルダの中のファイル構成は下のツリーの通り。括弧内はパーミッション値です。
図の通りにパーミッション設定をしてください。
とは言っても、BCalendar.cgi を [755] にするくらいだと思いますw

(dir)root 
    |
    +- (dir)calendar [755]
           |
           +- (dir)data [755] ... 営業日データ
           |
           +- (dir)htmlparts [755] ... 各種HTMLパーツ
           |      +- HTMLColor.rb [644] ... カラー設定ヘッダ
           |      +- HTMLCSS.rb [644] ... CSS
           |      +- HTMLError.rb [644] ... エラーページヘッダ
           |      +- HTMLFooter.rb [644] ... 共通フッタ
           |      +- HTMLCert.rb [644] ... ユーザー認証ページヘッダ
           |      +- HTMLComp.rb [644] ... 認証成功ページヘッダ
           |      +- HTMLSign.rb [644] ... ログインページヘッダ
           |      +- HTMLHeader.rb [644] ... 共通ヘッダ
           |
           +- (dir)js [755] ... カラーピッカー用スクリプト
           |      +- jquery.minicolors.css [644]
           |      +- jquery.minicolors.js [644]
           |      +- jquery.minicolors.png [644]
           |
           +- BCalendar.cgi [755] ... 本体
           +- BCalendar.cnf [644] ... 本体設定
           +- BCalendar.def [644] ... メソッド
           +- Calendar.rb [644] ... カレンダークラス
           +- holiday.rb [644] ... 祝日テーブル


ご自身のページの設置したいところ(WordPress であれば、カスタムHTMLウィジェット)に、下のHTMLタグを入力してください。

<iframe src="http://example.com/calendar/BCalendar.cgi" style="width: 260px; height: 430px" scrolling="no"></iframe>

動かしてみよう!

動かしてみよう!と言いましても、ページを開くだけなんですが…w

初めて起動すると、こんな画面が出てきます。

画面に従い、管理者IDを作成してください。
IDは、営業日やカレンダー背景色などを変更、登録するときに必要となります。
ID、パスワード作成ルールは下記の通り。
・先頭の文字は「半角アルファベット(大小文字)」である事!
・IDには「半角アルファベット、半角数値」以外の文字は使用不可!
・長さは4文字以上

ID、パスワードは、大文字、小文字を区別しますので、忘れないようにしてください。


ID、パスワードを登録したら、いよいよカレンダーが動き始めます。

この画像では、営業日の登録をしていますので、緑の背景になっていますが、初めて動かす時には、背景色は白のままです。

各ボタンの説明ですが…
あまり必要ないですねw
まあ、一応簡単に説明しておきます。

カレンダーの最上段にある、年、月、のボックスは、西暦と月を自由に入力できます。
アップダウンボタンでも操作できます。
それぞれを入力し終えたら、Set ボタンを押すと、入力された年月のカレンダーが表示されます。

では、2段目ですが、まず真ん中の「今日」ボタンですが、「今日」の年月のカレンダーが表示されます。
その左右のボタンは、左側 ”<” で前月、右側 ”>” で次月が表示されます。

つづいて、カレンダーの文字色や背景色の解説です。

左端1列は、日曜日です。文字色は赤
右端1列は、土曜日です。文字色は青
左右端を除いた他は、平日です。文字色は黒。
下線の赤い文字は、祝日です。マウスカーソルを合わせると、祝日名が出るようになっています。
背景色は、基本的には白です。営業日が登録してあれば、緑になります。
「本日」の周りには、赤いボーダーラインが付きます。

編集してみよう!

カレンダー右下の「登録」ボタンを押すと、この画面になりますので、最初に登録したIDとパスワードで認証されます。


ぽつんと存在していたカレンダーが、このようにチェックボックス搭載ででっかくなりました!

営業日として登録したい日に、チェックを付けていってください。
登録したい年月が違う場合は、前述で説明したボタンを駆使して、望みの年月を表示してください。
※ 1900年より前の年には登録が出来ない仕様です。チェックボックスやボタンが非表示になります。
望みのチェックが出来たら、「チェック日を登録」ボタンを押して、登録完了です。
新たにチェックした日付の背景が変わります。

ですが…

画面を見てわかるように、「月を移動するボタン」がありますね。
さて、営業日の入力を済ませ、登録ボタンを「押さず」に月を移動させると、どうなると思いますか?
はい、その通り!
その月の営業日は登録されずに、月が移動されてしまいます!
ですので、他の月の営業日も登録したい場合は、登録ボタンを押して登録した後に、移動してください。


「カレンダー色設定」ボタンを押すと、このような画面になります。

変更したい色のボックスでクリックすると、カラーピッカーが出てきますので、好みの色を作ってください。
HTMLカラーコードが得意な方は、#f6f5f4 など、直接入力してもOK!
色がついていない部分は、設定不可です。

「表示イメージ」ボタンを押すと、どんな感じになるのかを確認できます。

設定し終えたら「設定を登録する」ボタンを押して登録してください。

おわりに

以上で BCalendar の解説を終えたいと思います。

まだまだ説明しきれていない部分もあるかと思いますが、もし気づいた点などございましたら、コメント欄にご記入ください。

もちろん自分で気づいたら、訂正します。

最後まで読んでいただき、ありがとうございます。

今後とも当サイト、及び当アプリをよろしくお願いします。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

前の記事

Hello world!

次の記事

祝日テーブル仕様