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

「てがろぐ」 : Update Log

  • 2017年12月10日 Ver 1.1.0 公開: ハッシュタグの制約仕様を緩和。多バイト文字でも角括弧不要、リンク化を選択可能に、指定文字数で切り詰め可能に。
  • 2017年12月07日 Ver 1.0.0 公開: 初公開。
  • 2017年12月01日 Ver 1.0.0 試験: 一般テスト用ページを公開。
  • 2017年08月19日 開発開始。

CGIの紹介

「てがろぐ」のサンプル動作画面(ページ表示)

「てがろぐ」のサンプル動作画面(管理画面)

つぶやきやメモの蓄積、複数人での会話に便利なマイクロブログ掲示板

  • 「てがろぐ」は、手軽にメモやつぶやきを投稿しておく用途をベースにした個人または少人数向けマイクロブログツール(日記型掲示板CGI)です。 「ブログ記事にするほどではないけど、短いメモを自サイト上に残してしておきたい」という場合にも便利です。 『自分専用(仲間内専用)のTwitter』のような用途にも使えるかもしれません。
  • スキン式なので、スキンHTMLを編集すれば表示形態は自由に作れます。ユーザ認証機能付きで複数ユーザに対応していますから、少人数で共有する掲示板やマイクロブログとしても使えます。 簡易全文検索機能や年月日別閲覧機能に加えてハッシュタグ機能があるため、あとから過去の投稿を振り返ることも容易です。 自動バックアップ機能もあるため、突然のトラブルや悪戯でデータが消えてしまう可能性を減らせます。
  • 簡易的なマイクロブログツールとしての機能を備えていますから、 備忘録CGI、メモ帳CGI、日記CGI、チャットツール、連絡・告知掲示板CGI、更新履歴CGI、ToDo Listなどとしてのほか、自分専用Twitterなどとしても活用できます。 シンプルでデザイン自由度が高いCGIなので、広範囲に活用できるでしょう。
  • ハッシュタグごとに閲覧したり、投稿ユーザ別に閲覧したりもできます。もし1人で使用する場合は、ユーザ名を「カテゴリ名」として扱うことで、カテゴリ別に情報を管理することもできるでしょう。
  • 直近の投稿(標準設定では72時間)には「New!」などの表記を加えることもできます(加えないようにもできますし、表示内容は自由に変えられます)。 更新履歴案内などとしても使いやすいでしょう。

スタイルシートベース

  • 装飾はすべてスタイルシートに書かれているため、スタイルシートを書き換えるだけでデザインを変更できます。
  • スタイルシートは、外部に独立したファイル(デフォルトでは tegalog.css )として存在していますから、書き換えも楽々です。

スキン式(テンプレートHTML式)でカスタマイズ自由自在

  • HTML部分は、外部のスキンファイル(テンプレートHTMLファイル)を読み込んで生成しているため、スキンさえ書き換えれば、デザインは自由自在に変更できます。 配色どころではなく、投稿者名の掲載位置、日付の掲載位置、本文の表示形態など、自由自在にカスタマイズできます。
  • 下図は、付属の「標準スキン」を適用して表示した場合と、オプションの「Twitterっぽいスキン」・「付箋型スキン」・「チャットタイプスキン」・「シンプルスキン」を適用して表示した場合の表示例です。掲載内容や掲載位置などを、このように何でも自由にデザインできます。
  • CGIに関する知識がなくても、スキン(HTML)ファイルさえ書き換えれば、自由自在に表示形態やデザインをカスタマイズできます。スキンファイルは、投稿挿入用の特別なキーワードが含まれている点を除けば普通のHTMLですから、テキストエディタで編集できるほか一般のホームページ作成ソフトを使って編集することもできます。
  • 標準スキンを含めて5種類のスキンがあるため、最も近い物をベースに改造すれば、より望み通りの表示が作りやすいでしょう。
  • スキンファイルは一時的に仮適用して表示を試すこともできるため、運営を開始した後の改造も簡単です。

どこに配置するか、各種機能を使うか使わないかも、自由自在

  • スキンHTMLファイル内は制限なく自由に編集可能なため、あらゆる表示項目の配置が自由です。さらに、「表示する」か「表示しない」かすらも自由にできますから、「投稿者名は表示しない、極シンプルなメモリンク集」などのようにも活用できます。
  • 検索ボックス、日付別投稿数、クイック投稿欄などの各種オプション機能は、使いたければ表示すれば良いですし、不要であれば(スキンHTMLから当該記述を削除すれば)消し去ることもできます。何を掲載して何を掲載しないかは、完全に自由自在です。(※CGIの著作権表記だけは消せません。)

複数ユーザ対応

「てがろぐ」の複数ユーザ管理画面

  • ユーザIDを複数作成できるため、複数人で共有する掲示板・マイクロブログ・チャットツールなどとしても活用できます。
  • セットアップ直後には、管理者権限を持つユーザ「admin」が最初から1つ作成されていますから、自分1人でしか使わない場合は、特にユーザ作成などの手間をかける必要はありません。
  • ユーザIDには、「表示ユーザ名」や「識別アイコン」を設定することもでき、スキンによってはそれらを表示して投稿者を区別できます。

モバイル対応

  • ページの表示も、管理画面の表示も、モバイル端末に対応しています。スマートフォンやタブレットなどから閲覧したり投稿したりすることも可能です。(※ページの表示をカスタマイズする場合、モバイル対応を維持できるかどうかは用意するスタイルシート次第です。)

「てがろぐ」をiOS上のSafariで閲覧した例

  • 上図は、iOS版Safariで閲覧した例です。左端と右端は「標準スキン」での表示ページを閲覧したところで、中央は管理画面のメニューを閲覧したところです。このように、スマートフォンやタブレットなど画面の狭いモバイル端末からも使えます。
  • 標準スキンはもちろん、オプションの4つのスキンも含めて、このページで配布しているスキンはすべてレスポンシブ・ウェブデザインで作成してあります。そのため、PCなどの広い画面で閲覧すれば段組構造(マルチカラムレイアウト)に見えても、スマートフォンやタブレットなど狭い画面環境では自動的に段組が解除されてシングルカラムレイアウトで表示されます。

データ記録形式はXML

  • データ形式は、XMLをベースにしたテキストファイルです。たとえこのCGIを使わなくなったとしても、大した手間をかけずに書き込み内容を他のツールに流用することもできるでしょう。書いた内容を無駄にしません。
  • XSLを指定すれば、データファイルを直接ブラウザで(デザインされた状態で)閲覧することも可能です。

自動バックアップ機能を搭載

「てがろぐ」の自動バックアップ機能

  • CGIを使ってデータを蓄積する際に不安になるのは、データファイルが壊れた場合にすべてが失われてしまうことです。「てがろぐ」には自動バックアップ機能があり、投稿があるたびに自動でバックアップデータも作成されます。自動バックアップファイルは指定のフォルダに指定日数分(標準では30日)だけ保存され、万が一のトラブル時にはそのデータを使って復元できます。
  • 投稿があるたびに自動バックアップされるものの、自動バックアップファイルは日単位で切り替わるため、たとえ悪戯で1万件の投稿があったとしても、前日以前のバックアップは常に残っており安心です。

エクスポート機能で指定範囲を出力可能

「てがろぐ」のエクスポート機能

  • エクスポート機能を使うことで、「すべての投稿」または「指定条件に合致する投稿」をファイルに出力することもできます。CGIはデータ(メモやつぶやき)の蓄積に使い、その後は自分で改めて整理したいという場合には、エクスポート機能を使うと便利です。
  • エクスポート機能では、出力に使うスキンを選択することもできます。表示用スキンのほかに、出力用のスキンを作っておけば、自分で整理しやすい形態で出力させることもできるでしょう。
  • 他のブログツールや掲示板などのデータ形式に変換するようなスキンを用意すれば、他のツールへの移行も容易かもしれません。(※今の時点では標準でそのようなスキンは用意していませんから、自力での作成が必要ですが。)

軽いSEO対策も

  • 各ページはCGIによって毎回動的に生成されますが、検索エンジンに取得されやすいよう、パラメータ1つで各エントリを参照できます。例: tegalog.cgi?postid=12
  • Permalinkをスキンに用意しておけば(標準スキン内には用意しています)、個別の投稿を1つ1つ検索エンジンに拾わせることが可能です。(※拾うかどうかは検索エンジン次第です。)
  • ページ毎に、表示内容に合わせてtitle要素の中身を変化させるようスキンを作ることもできます。(標準スキンではそうなっています。)

多目的に活用可能

  • 自分用のメモを蓄積する「備忘録CGI」・「ToDoリストCGI」などのほか、ウェブサイトの「更新情報表示CGI」としてや、メンバー間で共有する「連絡掲示板CGI」・「会議チャットCGI」などとしても活用できるでしょう。
  • マイクロブログ型で投稿する入力欄は1つだけですが、「タイトルのない日記」など、簡易的な日記ツールとしても活用可能です。
  • 基本は降順(日付の新しい順)で表示しますが、ユーザ側の操作などによって逆順(時系列順)で表示することもできます。ログを昇順(日付の古い順)で読ませたい場合でもご活用頂けます。

ユーザ認証でのセキュリティ機能

「てがろぐ」のユーザID別の詳細設定画面

  • 投稿したり管理画面へアクセスしたりするには、ログインが必要です。ログインに必要なパスワードは暗号化して保存される上、セッション有効期限が設定されるため、不正使用の可能性を減らします。
  • 複数のユーザIDを作成でき、ユーザID単位で権限を5段階に設定できるため、複数人で共有する場合でも安心です。(管理者権限を持つのは自分だけにしておけば良いでしょう。)
  • パスワードなしで誰でも投稿可能にしたい場合は、ゲスト権限を持つIDを作成しておけば、新規投稿以外の操作は一切できないので安全に運営できます。
  • 投稿・編集は、ログインしている状態でしかできません。一度ログインすれば、セッション有効期限が来るまではパスワードの再入力は不要なので、手間を省けます。セッション有効期限は1時間~1年の範囲で設定可能なため、使用環境の安全度に応じて柔軟に設定できます。
  • ログインしていない状態では、投稿画面を見せない設定もできます(標準設定では見えます)。訪問者には余計なものは見せずに、シンプルな画面構成にできます。

簡単設置

  • データベース不要! (ウェブサーバ側に特殊な機能は必要ありません。)
  • わずか8個のファイルを同一ディレクトリにアップロードすれば使えます。
  • このCGIは、Perlで記述されています。Perl 5が実行できさえすれば、他に必要なものは(ほとんど)ありません。多くのスペースで設置・使用が可能でしょう。(※CGIモジュールが必須ですが、たいていのウェブサーバでは使用可能です。たとえCGIモジュールがサーバ側に用意されていなくても、自身で入手してCGIと同じディレクトリに置けば使えます。また、一部の機能を使う場合は、Time::Localモジュールも必要です。)

超軽量CGI

  • 本体CGIは、わずか187KB程度しかありません。スキンファイルなどの必要なファイルをすべて合わせても、わずか270KB程度で収まります。とても軽いCGIです。
  • 投稿日付別一覧やハッシュタグ一覧など、投稿・編集時にしか変化しない情報はキャッシュしておくことで、表示時に毎回生成する負荷を回避し、軽量・高速動作を実現しています。

このフリーCGIは、どなたでも無料でご利用頂けます。個人サイト・法人サイト共に、商用サイト・非商用サイト等の区別なく、ご自由にご利用下さい。 ウェブ作成業者等による代行設置も可能です。そのほか詳しくはCGI使用条件(ライセンス)項目をご参照下さい。

CGIのダウンロード

CGI「てがろぐ」一式は以下のリンクからダウンロード頂けます。ZIP形式で圧縮していますので、ダウンロード後に展開して下さい。 セットアップ方法は後述の「CGIの設置方法」をご参照下さい。

[Version] 1.1.0 [File] tegalog.zip [Size] 80.7KB [Date] 2017/12/10.
最新版 Ver 1.1.0 最小構成をダウンロードする (このサイトから)
最新版 Ver 1.1.0 完全セットをダウンロードする (このサイトから)

※最小構成も完全セットも、CGIの機能は同じです。収録スキン数のみが異なります。
※最小構成には、スキンとして「標準スキン」だけが含まれています。
※完全セットには、スキンとして「標準スキン」以外に、「Twitterっぽいスキン」など4つの追加スキンが含まれています。

スキン(5種類)のみを単独でダウンロードする

以下は、旧バージョンです。特に問題がない限りは、上記の最新版をダウンロードしてご使用下さい。

[Version] 1.0.0 [File] tegalog.zip [Size] 79.6KB [Date] 2017/12/07.
旧版 Ver 1.0.0 最小構成をダウンロードする (このサイトから)

※旧バージョンからのアップグレード(バージョンアップ)方法については、下記の解説「バージョンアップ方法」をご参照下さい。

CGIの動作サンプル

動作サンプルを見たい場合や、書き込みを試したい場合は、下記のテスト運用版をご自由にご使用下さい。投稿や各種管理操作をご自由にお試し頂けます。

コントロールパネルのパスワードは、どのユーザもすべて「guest」です。(半角英字)
ユーザごとに権限レベルを変えてありますので、それぞれの権限レベルでどのような表示・操作になるのかをお試し頂けます。
公序良俗に反する書き込みはしないようにお願い致します。あまりにひどいと、試用版の掲載を中止せざるを得なくなってしまいますので。

CGIの設置方法・設置環境・カスタマイズ方法

CGIの設置環境要件

  • CGIは Perl で記述しています。動作には、Perl 5 が必要です。
  • CGIモジュールが使用できることが必須です。(※CGIが設置可能なサーバであればたいてい問題ないでしょう。CGIモジュールがサーバにインストールされていない場合でも、CGIモジュールを別途入手し、このCGIと同じディレクトリに格納すれば使えます。)
  • 曜日の表示機能や「New!」表示機能を使う場合に限っては、Time::Localモジュールも必須です。(この機能を使わない設定にしてある場合は、このモジュールがなくても動作します。)
  • それ以外には、特に必要なものはありません。(データベースは使いません。

CGIの設置方法(パーミッションの設定)

ZIPを展開したファイルの内、説明用の「README.TXT」ファイルを除く8個のファイルを、同一のディレクトリにアップロードして、下表に記したパーミッション(アクセス権/属性)に設定して下さい。 お使いのウェブサーバで「suEXEC」という仕組みが有効になっている場合は、「suEXEC」側の値を設定しないと動かない可能性があります。

ファイル名パーミッション
一般の場合 / suEXEC
補足
▼プログラムファイル
tegalog.cgi 755700メインCGI (これを実行します)
fumycts.pl 644600補助プログラム (メインCGIから呼び出されます)
▼データファイル(CGIによって書き換えられるファイル)
tegalog.xml 666604投稿データ記録用ファイル(CGIによって編集されます) ※1,2
tegalog.ini 666604設定記録用ファイル(CGIによって編集されます) ※1,3
psif.cgi 666600パスワード・セッションID格納ファイル(CGIによって編集されます) ※1,4
▼表示HTML関連ファイル
skin-cover.html 644604表示用スキンファイル(テンプレートHTMLファイル:外側用) ※1
skin-onelog.html644604表示用スキンファイル(テンプレートHTMLファイル:内側用) ※1
tegalog.css 644604表示用スタイルシートファイル ※1,5
▼サブディレクトリ(※設置は任意)
backup 766705自動バックアップファイルが蓄積されるディレクトリ ※6

※1:ファイル名は自由に変更可能です。(ファイル名の変更内容は tegalog.cgi 内に反映させる必要があります。よく分からない場合はデフォルトのままご使用下さい。)
※2:ファイル拡張子は.xml以外に変更しても構いません。(記録形式はXMLです。)
※3:ファイル拡張子は.ini以外に変更しても構いません。(記録形式はINIベースの独自仕様です。)
※4:ファイル拡張子は.cgi以外でも構いませんが、外部から閲覧されるのを防ぐために「.cgi」にしてあります。他の拡張子に変更する場合は、.htaccessファイルなどを使って中身が閲覧されないように設定しておく方が無難です。ログイン用のパスワードを忘れてしまった場合は、このファイルの中身を空っぽにして再度アップロードすると、無条件ログインが可能になります。
※5:ファイル拡張子は.cssでなければなりません。
※6:自動バックアップファイルを生成可能にするには、このディレクトリに「書き込み権限」が必要です。

※ウェブサーバによっては、上記の「755」や「644」などのパーミッション(アクセス権/属性)値は「705」や「604」のように真ん中をゼロにしないといけない場合があります。詳しくはウェブサーバのヘルプをご参照下さい。
※ZIP内に含まれている「Readme.txt」ファイルは、アップロードしないで下さい。解説を記述したただのテキストファイルです。

※別スキン(オプションスキン)を使う場合

別スキンを一時適用する機能があります。その機能を使う場合は、「1スキン=1サブディレクトリ」でサブディレクトリにアップロードして下さい。ディレクトリ名は何でも構いません。
スキンファイルは、置き場所に応じて以下のように扱われます。

  • CGIと同じディレクトリにあるスキンファイル = 標準スキンとして適用
  • CGIのあるディレクトリのサブディレクトリ内にあるスキンファイル = オプション別スキンとして管理画面から切り替えられるスキンとして機能

この機能は、一時的にスキンを切り替えて表示確認するためのものです。一般のアクセス者からは常に「標準スキン」しか見えませんので、最終的に適用したいスキンは「CGIと同じディレクトリ」に格納して下さい。

CGIの設置方法(CGIファイルの書き換え)

最近のウェブサーバなら、おそらく特に何も書き換えずにそのままアップロードするだけで動きます。
もし必要があれば、tegalog.cgi の中身を下記の通り書き換えて下さい。(※ fumycts.pl を書き換える必要はありません。)

* tegalog.cgi をエディタで開いて、次の箇所を必要に応じて書き換えます。

※デフォルトの状態で使用するのであれば、1行目以外、まったく書き換えなくても動きます

(1行目) #! /usr/bin/perl
Perlの位置を必要に応じて書き換えます。 /usr/local/bin/perl など。
(34行目) my $bmsdata = 'tegalog.xml';
データファイル名(拡張子はxmlでなくても構いませんが、記録形式はXMLです。)
(37行目) my $setfile = 'tegalog.ini';
設定ファイル名(拡張子はiniでなくても構いません。)
(40行目) my $skinfilecover = 'skin-cover.html';
外側スキンファイル名(テンプレートHTMLファイル名)
(43行目) my $skinfileinside = 'skin-onelog.html';
内側スキンファイル名(テンプレートHTMLファイル名)
(46行目) my $passfile = 'psif.cgi';
パスワード・セッションID格納ファイル名(デフォルトは psif.cgi )
▲中身を閲覧されないようにするため拡張子をcgiにしています。他の拡張子に変更しても動作は可能ですが、中身は第三者に閲覧されないようにしておく方が無難です。(※パスワードは暗号化されて記録されています。)
(49行目) my $autobackupto = 'backup';
自動バックアップファイル保存先ディレクトリ名

※以下は、必要がある場合のみ設定して下さい。

(56行目) my $keepsession = 1;
セッション維持の有無(1:ブラウザを終了してもログイン状態を維持する/0:ブラウザを終了するとログアウトする)
▲ログイン状態を維持する場合、デフォルトの維持期限は(最後の操作から)31日後です。(CGIの管理画面で、1時間~1年の範囲内で自由に設定できます。)
(59行目) my $charcode = 'UTF-8';
文字コード(デフォルトは "UTF-8")
▲変更する場合はCGIや各種データファイルの文字コードも一緒に変更して下さい。(UTF-8以外での動作は想定していません。)
(68行目) my $howtogetpath = 2;
CGI名の取得方法。※ログイン直後や投稿直後に画面がうまく出ない場合には、この値を別の値に変更してみて下さい。(0:プロトコルから/1:ディレクトリから/2:ファイルだけ) 特に動作に問題がない場合は、「2」のまま変更せずにお使い下さい。

上記以外の設定は、CGIを実行した後で「管理画面」にログインしてから設定でき、設定ファイルに保存されます。

ウェブサーバへのファイルのアップロード方法

アップロードは、すべて「アスキーモード」(テキストモード)で行います。

※文字コードについて

配布ファイルの文字コードは、すべて UTF-8 になっています。
UTF-8コード以外での動作は想定していませんし実験もしていません。 文字コードは、UTF-8のままアップロードされることをお勧めしますが、他の文字コードを使用したい場合は、全ファイルを使用したい文字コードに変換した上でアップロードして下さい。一部のファイルだけ文字コードを変えると、文字化けが起こります。 (文字コードを変更した場合は、tegalog.cgi の59行目を適切に書き換える必要があります。)
よく分からない場合は、文字コードを変換せずUTF-8コードのままご使用下さい。

※サンプルデータについて

データファイル内には、サンプルデータが含まれています。 サンプルデータが不要なら(※当然不要でしょうが:^^;)最初に使用する際にコントロールパネルから削除して下さい。(もしくは、空のファイルを新しく作成してからアップロードしても構いません。)

バージョンアップ方法

以前のバージョンをお使いの場合は、 tegalog.cgi と fumycts.pl の2つのファイルのみを上書きアップロードして下さい。 それ以外のファイルをアップロードする必要はありません。 特に、データファイル(tegalog.xml)を上書きしてしまうと、過去のデータが消えてしまいますので、くれぐれもご注意下さい。

もし自動バックアップ機能を有効にしている場合は、バックアップ蓄積ディレクトリの中に、直前までのデータファイルが存在します。 データが失われてしまった際には、バックアップ蓄積ディレクトリの中にある最新日付のファイルをダウンロードして、ファイル名を変更し、CGIと同じディレクトリにアップロードすれば(バックアップされた時点のデータが)回復します。

なお、CGIソースに直接記述する形の設定は、上書きするとデフォルト設定に戻ってしまいます。アップロードする前に、以前と同じように編集しておいて下さい。

※データの互換性について

データファイルはそのままの状態で、CGIを最新版に更新するだけで使い続けられます。

※スキンの更新について

もし、標準スキンをそのまま利用している場合は、スキンファイル群も上書きアップロードすると、新しく加わった機能をそのまま活用できます。 スキンをカスタマイズして使っている場合は、上書きアップロードはしないようご注意下さい。その際は、新パッケージに含まれるスキンHTMLの中身を別途ご覧になりつつ既存スキンを編集すると、カスタマイズしやすいでしょう。

CGIのカスタマイズ方法

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

  • デザインのカスタマイズ
    • tegalog.css : 投稿表示に使われるスタイルシートです。スタイルを変更したい場合に書き換えます。
  • ページそのもののカスタマイズ
    • skin-cover.html : ページ全体用の「外側スキン」(テンプレートHTML)ファイルです。(編集方法は後述)
    • skin-onelog.html : 個別投稿表示用の「内側スキン」(テンプレートHTML)ファイルです。(編集方法は後述)
▼外側(ページ全体を生成する用)のスキン「skin-cover.html」の編集方法

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

【基本要素】

  • HTML内に、[[TEGALOG]] と記述すると、その位置に投稿が(内側スキンの内容が適用された形で)設定個数だけ挿入されます。(1スキン内で1回のみ記述可能)
  • HTML内に、[[SITUATION]] と記述すると、表示する投稿が限定されている場合(年月日別表示や検索結果など)に、限定内容を案内する文言がプレーンテキストで挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[SITUATION:HTML]] と記述すると、表示する投稿が限定されている場合(年月日別表示や検索結果など)に、限定内容を案内する文言がHTMLで挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[SITUATION:TITLE]] と記述すると、表示する投稿が限定されている場合(年月日別表示や検索結果など)に、限定内容を案内する文言がプレーンテキストで挿入され、(何かが挿入される場合に限っては)末尾に「-」記号が付きます。主にtitle要素内で使うことを想定していますが、他の場所でも使えます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[QUICKPOST]] と記述すると、投稿欄や投稿ボタンなどを含む「クイック投稿フォーム」が挿入されます。標準設定では、ログイン状況に関係なく表示されますが、(管理画面から設定を変更すれば)ログインされている状況でしか表示されないようにもできます。(1スキン内で何回でも記述できます。)
    ※この [[QUICKPOST]] の記述がある場合は、ページが表示されるたびにログイン状態の有無をチェックする処理が実行されます。もし、クイック投稿フォームが不要であれば、この [[QUICKPOST]] の記述自体を削除しておくことで、無駄な処理を省略でき、負荷を軽減できます。

【ナビゲーション要素】

  • HTML内に、[[NAVI:PAGELIST]] と記述すると、その位置にページ番号リストリンクが挿入されます。ただし、2ページ目以降が存在しない場面では何も挿入されません。(1スキン内で何回でも記述できます。)
  • HTML内に、[[NAVI:PREVNEXT]] と記述すると、その位置に前後のページへ移動するリンクが必要に応じて挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[NAVI:TOPPAGE]] と記述すると、その位置にてがろぐHOMEへ戻るリンクが、表示対象を限定している場合に限って挿入されます。表示対象が限定されていない場合は何も挿入されません。(1スキン内で何回でも記述できます。)
  • HTML内に、[[NAVI]] と記述すると、 [[NAVI:PAGELIST]] → [[NAVI:PREVNEXT]] → [[NAVI:TOPPAGE]] の順で3つを指定したのと同じ内容が挿入されます。
  • HTML内に、[[NEWPOST:URL]] と記述すると、その位置に新規投稿画面のURLが挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[ADMIN:URL]] と記述すると、その位置に管理画面(コントロールパネル)のURLが挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[HOME:URL]] と記述すると、その位置にてがろぐHOMEのURLが挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[REVERSE:URL]] と記述すると、その位置に今の表示を逆順にするURLが挿入されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[REVERSE:NAME]] と記述すると、その位置に今の表示を逆順にした場合の並び順(昇順/降順)の名称(設定画面で自由に設定可能)が挿入されます。(1スキン内で何回でも記述できます。)

※上記のキーワードには、「URLが挿入されるもの」と「リンクHTMLが挿入されるもの」とが混在していますので注意して下さい。

【特定の投稿やフリースペース要素】

  • HTML内に、[[ONEPOST:123]] と記述すると、その位置にNo.123の投稿本文が挿入されます。挿入されるのは本文だけです(日付などは含まれません)。存在しない番号を指定すると「存在しない」旨のエラー文字が挿入されます。(1スキン内で何回でも記述できます。)
    ※もし、No.5の本文を挿入したいなら [[ONEPOST:5]] と記述します。数値は半角で書き、頭に0は付けず「005」や「05」ではなく「5」と書いて下さい。
  • HTML内に、[[FREESPACE]] と記述すると、その位置にフリースペースとして登録された文章が挿入されます。(1スキン内で何回でも記述できます。)
    ※フリースペースの本文内に区切り文字を入力することで、複数個のフリースペースを使い分けられます。方法は「フリースペースの書き方」をご参照下さい。
  • HTML内に、[[FREESPACEEDIT]] と記述すると、その位置にフリースペースを編集できる管理画面へのURLが挿入されます。編集用リンクを作りたい場合に使えます。(1スキン内で何回でも記述できます。)

【サイドコンテンツ要素・その他】

  • HTML内に、[[SEARCHBOX]] と記述すると、その位置に検索窓が挿入されます。標準では全投稿を対象に全文検索しますが、ユーザ別表示時には表示中のユーザに限定した全文検索ができるチェックボックスが追加表示されます。検索語に指定できる単語は1つのみで、複数の検索語を組み合わせた検索はできません。その代わり、空白文字も含む検索ができます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[DATEBOX:LIST]] と記述すると、その位置に日付別リンクリストが挿入されます。標準設定では年と月を別々に出力しますが、(管理画面から設定を変更すれば)年月をまとめて出力するようにもできます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[DATEBOX:PULL]] と記述すると、その位置に日付限定窓がプルダウンメニューの形で挿入されます。また、降順(新しい順)で表示するか昇順(時系列順)で表示するかを指定するラジオボタンも表示されます。(1スキン内で何回でも記述できます。)
  • HTML内に、[[DATEBOX]] と記述すると、 [[DATEBOX:LIST]] → [[DATEBOX:PULL]] の順で2つを指定したのと同じ内容が挿入されます。
  • HTML内に、[[HASHTAGLIST]] と記述すると、その位置にハッシュタグリスト(使用されているハッシュタグ名と出現回数)が挿入されます。(1スキン内で何回でも記述できます。)
    ※セットアップ直後は、ハッシュタグが見つからない旨のメッセージだけが表示されます。管理画面から「再カウント」を実行すると、(ハッシュタグがある場合は)リストアップされるようになります。ハッシュタグの並び順は、管理画面の設定から指定できます。
  • HTML内に、[[CHARCODE]] と記述すると、CGIの文字コード名が挿入されます。(1スキン内で何回でも記述できます。) ※標準では「UTF-8」です。
  • HTML内に、[[VERSION]] と記述すると、CGIの名称とバージョン番号が挿入されます。(1スキン内で何回でも記述できます。) ※この記述が1度もない場合は、CGI側が強制的にHTML末尾に同文を挿入します。スキン内にこの表記を使っておく方が、望み通りにデザインを作れるでしょう。この表示を見えなくしたり、極端に見えにくくしたりしないで下さい。
▼内側(個別投稿表示用)のスキン「skin-onelog.html」の編集方法

個別投稿を表示する部分を作るためのスキン(テンプレートHTML)ファイルです。下記のキーワードはどれも、1スキン内に何度でも挿入できます。(1度も使わない項目があっても構いません)

  • HTML内に、[[COMMENT]] と記述すると、その位置に投稿本文が挿入されます。
  • HTML内に、[[POSTID]] と記述すると、その位置に投稿No.(投稿1つ1つに付加される固有番号)が挿入されます。
  • HTML内に、[[PARMALINK]] と記述すると、その位置に投稿単体を表示するための固有URLが挿入されます。
  • HTML内に、[[EDITURL]] と記述すると、その位置に投稿の内容を編集するための編集ページの固有URLが挿入されます。
  • HTML内に、[[USERURL]] と記述すると、その位置にその投稿者に限定した投稿を見るページのURLが挿入されます。
  • HTML内に、[[USERID]] と記述すると、その位置に投稿者のID名が挿入されます。
  • HTML内に、[[USERNAME]] と記述すると、その位置に投稿者の表示名が挿入されます。表示名が設定されていないユーザや、既に削除されたユーザの場合は「?」が代わりに挿入されます。
  • HTML内に、[[USERICON]] と記述すると、その位置に投稿者のアイコン画像がimg要素を使って挿入されます。アイコン画像が設定されていないユーザや、既に削除されたユーザの場合は、デフォルトの「NO IMAGE」アイコンが表示されます。
  • HTML内に、[[LENGTH]] と記述すると、その位置に投稿本文の文字数が挿入されます。改行も1文字にカウントされます。文字コードによっては正しくカウントできない場合があります。(※文字実体参照などで絵文字や特殊記号を使った場合は、若干多めにカウントされてしまいます。)
  • HTML内に、[[DATE]] と記述すると、その位置に投稿の日付が「2017/07/23 13:26:20」形式で挿入されます。
  • HTML内に、[[DATE:●●●]] と記述すると、その位置に投稿の日付が指定の形式で挿入されます。
    • 「●●●」の部分には任意の文字列を指定でき、 Y=年、 M=月、 D=日、 W=曜日(英表記)、 w=曜日(英略表記)、 B=曜日(和表記)、 b=曜日(和略表記)、 h=時、 m=分、 s=秒 のように解釈されます。取捨選択も掲載順序も自由です。同じ文字を何度も使えます。大文字・小文字は区別するので注意して下さい。それ以外の文字はそのまま出力されます。
    • 例えば、[[DATE:Y年M月D日(b) h:m:s]] と記述すると、「2017年12月05日(火) 17:55:36」の形式で挿入されます。
    • 例えば、[[DATE:Y/M/D W h:m]] と記述すると、「2017/12/05 Tuesday 17:55」の形式で挿入されます。
    • 例えば、[[DATE:B h時m分]] と記述すると、「火曜日 17時55分」の形式で挿入されます。
  • HTML内に、[[NEW]] と記述すると、その位置に新規投稿から間もないことを示す文字列(標準では「New!」)が挿入されます。表示期間(標準では72時間)や文字列は管理画面から設定できます。
スキン編集の補足
  • 投稿自体を挿入する [[TEGALOG]] 以外はすべて何回でも記述できます。デフォルトのスキン内でも、同一キーワードを何度も使用しています。
  • HTML内のその他の部分は、何でも自由に書き換えることができます。
  • 付属のスキンファイルを参考にして編集すれば、楽にカスタマイズできるでしょう。
  • スキン内に記述したキーワードが認識されない場合は、以下の点を確認してみて下さい。
    • 括弧が二重になっているか?
      [DATE][[DATE] では認識されません。[[DATE]] のように開始括弧も終了括弧も二重になっているかどうか確認して下さい。
    • 余計な空白文字が入っていないか?
      →括弧とキーワードの間は詰めて記述する必要があります。空白があると認識されません。
    • 半角の大文字で記述しているか?
      →括弧とキーワードは半角文字でしか認識されません。また、英字は大文字でしか認識されません(※日付の指定文字列は除く)。
▼仕様:フリースペースの書き方

わざわざスキンHTMLのソースを編集することなく、CGIの管理画面から手軽に任意の文章を更新できる方法として「フリースペース」機能を用意しています。 フリースペースの入力欄は1つしかありませんが、区切り文字「<>」を使うことで、複数個のフリースペースを別々の場所に何度でも掲載できます。

  • スキンHTML内に、[[FREESPACE]] と記述すると、その位置にフリースペースとして登録された文章の全文が挿入されます。
  • フリースペースの本文内に、区切り文字「<>」を1つ以上使った場合は、以下のような動作になります。
    • HTML内に [[FREESPACE:0]] と記述すれば、先頭から最初の区切り文字までの内容だけが挿入されます。
    • HTML内に [[FREESPACE:1]] と記述すれば、1つ目の区切り文字から次の区切り文字(または末尾)までの内容だけが挿入されます。
    • HTML内に [[FREESPACE:2]] と記述すれば、2つ目の区切り文字から次の区切り文字(または末尾)までの内容だけが挿入されます。
    • 区切り文字の使用個数に制限はありません。
    • 区切り文字は半角で記述した場合のみ認識されます。
    • 例えば区切り文字が5つしか使われていない状態で、[[FREESPACE:6]] のように「存在しない番号」を記述した場合は、何も挿入されません。

※区切り文字を使用している場合でも、[[FREESPACE]] のように数字を付けずに記述した場合は、全文が挿入されます。(ただし、区切り文字そのものは表示されません。)

※フリースペース内にHTMLソースを書く場合の設定

フリースペースの本文にはHTMLタグを使ってHTMLソースをそのまま書くこともできます。

フリースペース入力欄内で「改行」した場合に、実際の表示でも改行されるのか実際の表示では改行を無視するのかは設定で変更できます。 図のように、フリースペース入力欄の下部にチェックボックスがあり、ここで改行の扱いをどうするかを選択できます。

フリースペースの中にHTMLソースを書く場合は、HTMLタグの記述途中で改行タグが自動挿入されるとHTMLとして成立しなくなる可能性があるため、改行を表示に反映しない設定にしておくのが無難です。

※フリースペース内でのscriptタグの使用制限

フリースペースにはHTMLを何でも記述可能なため、不特定多数がフリースペースを編集できる状況は危険です。そのため、フリースペースは管理者権限を持つユーザだけが編集できる仕様になっています。管理者権限を持つIDは必ずパスワードを設定して、厳重に管理して下さい。
万一の場合の被害を軽減するため、標準設定ではscriptタグは書けないようになっています。もし、scriptタグも書きたい場合は、CGIソース冒頭の設定を変更して下さい。(安全のため、管理画面上では変更できません。)

※フリースペース内で使えるキーワード

外側スキン(skin-cover.html)用の挿入キーワードの一部は、フリースペース内でも使えます。(この仕様は副作用みたいなものなので、将来的に廃止されるかもしれません。)

  • 常に使えるもの:
    • [[SEARCHBOX]]、[[NEWPOST:URL]]、[[ADMIN:URL]]、[[HOME:URL]]、[[VERSION]]、[[REVERSEURL]]、[[REVERSENAME]]、[[CHARCODE]]
  • 外側スキンで使われている場合のみ、フリースペース内でも使えるもの:
    • [[DATEBOX]]、[[HASHTAGLIST]]、[[QUICKPOST]]、[[ONEPOST:番号]]
  • 常に使えないもの:
    • それ以外すべて。

※内側スキン用のキーワードは一切使えません。

CGIの使用方法

以下は「てがろぐ」の簡単な使用方法です。(文中のリンク先は動作サンプルです。)
シンプルなインターフェイスのCGIなので、説明を読まなくても使えるとは思いますが。

閲覧

閲覧するには、tegalog.cgi にブラウザでアクセスします。
スキンファイルである skin-cover.html などを直接表示させても意味がない点にご注意下さい。

条件付き閲覧

■投稿日付限定
特定の年月に投稿された投稿に限定して閲覧するには、「日付限定」メニューから望みの年・年月を選択するか、または tegalog.cgi?date=2017/12 のように「date=(年月)」のパラメータを加えてブラウザでアクセスします。
パラメータに指定する日付は、「date=2017」のように年だけを指定することもできますし、「date=2017/12」のように年月を指定することもできますし、「date=2017/07/09」のように年月日を指定することもできます。
■ハッシュタグ指定
特定のハッシュタグに限定して閲覧するには、「ハッシュタグ一覧」メニューから望みのタグ名を選択するか、または tegalog.cgi?tag=UpdateLog のように「tag=(ハッシュタグ名)」のパラメータを加えてブラウザでアクセスします。
空白を含んでいたり日本語を含んでいるハッシュタグを表示するためには、パラメータの値をURLエンコードする必要があります。「ハッシュタグ一覧」メニューから選択する方が簡単です。
■全文検索
簡易的な全文検索機能があります。検索窓に検索語を入力することで使えます。
指定できる検索語は1つだけです。検索語内に空白文字を含めた場合は「単語の分割」ではなく「空白文字そのもの」が検索語として解釈されて検索されます。
■投稿者(ユーザID)限定
特定の投稿者(ユーザID)に限定して閲覧するには、スキン内に設定されたユーザリンクをクリックするか、または tegalog.cgi?userid=admin のように「userid=(ユーザID)」のパラメータを加えてブラウザでアクセスします。

なお、一部のパラメータは複数同時に指定できます。例えば、tegalog.cgi?date=2017&userid=admin のように指定すると、日付「2017年」でユーザID「admin」の投稿に限定した表示が可能です。 エクスポート機能を使って、出力先を「画面に表示」にすることで、このような複合指定が簡単にできます。

■投稿単独表示
投稿1つを単独で表示することもできます。
どのようにしてアクセスできるかはスキンHTMLの書き方次第ですが、付属の標準スキンでは投稿日時をクリックするとアクセスできます。tegalog.cgi?postid=93 のように「postid=(投稿番号)」のパラメータを加えることでもアクセスできます。
単独で表示した場合には、前後の投稿を見たり、その投稿日に投稿された他の投稿を見るなどの、専用リンク群が表示されます。
■逆順表示
標準では投稿はほぼ「投稿日付の新しい順」に表示されます。それを逆転させて「日付の古い順」に表示することもできます。逆順表示用のリンクをクリックするか、tegalog.cgi?order=reverse のようにパラメータを加えてブラウザでアクセスします。
※パラメータ「&order=reverse」を加えれば、様々な表示限定条件を維持したまま逆転できます。

ユーザ権限

セットアップ直後には、管理者権限を持つ「admin」というユーザIDが標準で作成されています。1人だけで使う場合は、それを使い続ければユーザ設定は不要です。
ユーザIDは複数個(いくつでも)作成することができ、それぞれに下記の5種類の権限を設定できます。管理者権限を持つIDは最低1つ必須です。

  • ゲスト(Lv.1):新規投稿のみができます。(※再編集も削除もできません)
  • 発言者(Lv.3):新規投稿・再編集(自分の投稿のみ)・削除(自分の投稿のみ)ができます。
  • 寄稿者(Lv.5):新規投稿・再編集(自分の投稿のみ)・削除(自分の投稿のみ)・ユーザ管理(自分のIDのみ)ができます。
  • 編集者(Lv.7):新規投稿・再編集・削除・バックアップ・エクスポート画面の使用(※)・ユーザ管理(自分のIDのみ)ができます。
  • 管理者(Lv.9):新規投稿・再編集・削除・バックアップ・エクスポート画面の使用(※)・ユーザ管理・設定などすべての操作ができます。

それぞれのIDに個別のパスワードを設定できます。パスワードを未設定のままで使うこともできますが、お勧めは致しません。
パスワードを設定しないまま使うIDを用意したい場合は、権限をゲスト(Lv.1)に留めておくことを強くお勧めいたします。

※日付境界バーの中にエクスポートリンクを挿入した場合(設定で挿入の有無を決められます)は、ユーザ権限に関係なくエクスポート機能を使用できます。

※標準で作成済みの初期ID「admin」は削除可能

デフォルトで作成されているID「admin」は、不要なら削除することもできます。ただし、管理者権限の付与されているIDの個数を0個にすることはできないため、以下の手順で操作が必要です。

  1. まずは管理者権限(Lv.9)を付与したIDを新規に作る。
  2. そのIDでログインし直す。
  3. ユーザ管理画面の下部からID「admin」を削除。

上記の手順を踏むと消せます。
こうすれば、ユーザIDを1個だけで使う場合でも、自分の好きなID名で使えます。 最初からある「admin」は、あくまでも1人で使う場合の設定の手間を省くために存在しているに過ぎないので、消しても何も問題はありません。

設定・管理

設定などの各種管理を行うには、 tegalog.cgi?mode=admin にブラウザでアクセスします。管理画面は、モバイル端末からの閲覧にも対応しています。
初回アクセス時には無条件ログインができますので、まずはパスワードを設定して下さい。
この管理画面からは、以下の管理操作ができます。ログインしているユーザの権限レベルに応じて、使えるメニュー項目は変わります。

  • 新規投稿: 新規投稿を投稿できます。
  • 投稿削除/編集: 過去の投稿一覧を表示して、指定投稿の削除・表示・編集ができます。ログイン中のユーザの権限が寄稿者(Lv.5)以下の場合は、自分の投稿だけがリストアップされます。編集者(Lv.7)以上の場合は全投稿が表示されますが、他ユーザの投稿を再編集すると投稿者名は「再編集したユーザの名義」に変わりますのでご注意下さい。
  • 設定: ページの表示やシステム動作に関する各種設定を行います。フリースペースの文面もここで編集できます。
  • ユーザIDを管理: ユーザIDの一覧が表示され、編集したり削除したり、新規にIDを作ったりできます。
  • 自分のIDを設定: ユーザ表示名・アイコン画像・ログイン用のパスワードなどの情報を変更できます。
  • 投稿を再カウント: ハッシュタグの個数や年月別個数は、投稿直後や設定変更直後には自動でカウントされます。しかし、投稿を編集した結果としてハッシュタグが減った場合には自動でカウントできないケースがあります。その際には、このメニューから手動で再カウントを実行して下さい。
  • 別スキンの一時適用: サブディレクトリに置いた別スキンファイルを使って表示を試せます。
  • バックアップ管理: 自動バックアップ機能によってバックアップされたファイルを見たり、最新データをXML形式で手動バックアップできます。万一投稿データが失われてしまった場合には、このバックアップファイルを「CGIで設定しているデータファイル名」にリネームしてアップロードすれば、バックアップ時点の状態に戻せます。自動バックアップ機能について詳しくは、後述の「自動バックアップ機能」をご参照下さい。
  • 条件を指定して出力: このCGIで指定できる全種類の条件を複合的に使用して、検索結果を表示したり、ファイルに出力したりできるエクスポート機能です。別のスキンを使った結果をファイルに出力することもできます。(ファイルに出力する場合は、該当個数がどれだけあっても1ファイルにまとめて出力されます。データをローカルで整理したい場合などに便利です。)
  • ログアウト: ログアウトします。標準設定では、最後の使用から31日後に自動ログアウトします。自動ログアウト時間は上記の「設定」から変更できます。また、CGIソース内の設定フラグを変更すれば、ブラウザの終了と同時に自動ログアウトするよう設定することも可能です。
  • 全員を強制ログアウト: すべての認証記録を削除することで、自分も含めて全ユーザのログイン状態を破棄します。(そのとき何件のログイン情報が記録されているかは、管理画面の末尾に小さく表示されています。同一人物でも2つのブラウザでログインしていれば2件とカウントされますから、使用人数よりも多く記録されているからといって不正アクセスがあるとは断定できませんのでご注意下さい。)

※ログインパスワードを忘れてしまった場合は、「パスワード・セッションID格納ファイル」(psif.cgi)の中身を空っぽにして上書きアップロードすると、無条件ログインができるようになります。ログイン後にパスワードを設定し直して下さい。(※この方法を使うと、全ユーザのパスワードが未設定状態に戻り、全ユーザのログイン情報が破棄されます。)

新規投稿・再編集

新規投稿するためには、 tegalog.cgi?mode=edit にブラウザでアクセスします。
再編集するには、例えばNo.105を書き直したいならtegalog.cgi?mode=edit&postid=105 にブラウザでアクセスします。
ログインしていない状態であれば、まずはログイン画面が表示されます。既にログインしている状態なら、直接新規投稿画面が表示されます。

  • 本文の書き方
    • HTMLタグ: HTMLタグを書いてもHTMLだとは認識されず、そのまま文字として表示されます。
    • URL自動リンク: http:// や https:// で始まるURLを本文中に書くと、表示時には自動でリンクになります。(※設定でOFFにもできます。)
    • リンク文字の指定: URLの直前に半角角括弧を使って [リンクラベル]https://www.nishishi.com/ のように書くと、そのURLが角括弧内に記述した文字列でリンクになります。ラベルとURLの間には空白を入れずに続けて記述して下さい。
    • 実体参照: 本文内には「&copy;」(=©)や「&#9758;」(=☞)のような文字実体参照や数値文字参照を書くことも可能です。(※設定で、実体参照の記述を許可しないようにもできます。)
    • 絵文字: デフォルトの文字コード(UTF-8)で使っているなら、入力欄の中に直接絵文字を入力して投稿することもできます。
    • ハッシュタグ: 投稿本文内には「#」記号を使ってハッシュタグを記述することができます。(ハッシュタグの仕様は後述)
  • 日時の仕様
    • 新規投稿の場合、投稿日時は「投稿処理が行われた瞬間の日時」が自動記録されます。
    • 既存投稿を再編集する場合は、投稿日時は変わりません。(再編集画面にあるラジオボタンを「新規投稿」に切り替えた場合は、新規投稿の扱いで「投稿処理が行われた瞬間の日時」が自動記録されます。その場合、古い投稿は何も変わらずに残ります。)
  • 投稿者記録の仕様
    • 新規投稿でも再編集でも、投稿に使われたIDが投稿者として記録されます。
    • 管理者権限(Lv.9)や編集者権限(Lv.7)があると、自分以外のユーザによる投稿でも再編集ができます。その際、投稿者の名義は常に「再編集したユーザ」の名前になりますので注意して下さい。「みさき」さんの投稿を「さくら」さんが編集すると、その投稿の投稿者名は「さくら」に書き換わります。
    • 寄稿者権限(Lv.5)以下の場合は、自分の投稿しか再編集できないので、他人の投稿を再編集する画面は出せません。(出そうとしても、権限が足りない旨のエラーメッセージが表示されます。)

※セッション有効期限を過ぎると自動ログアウトします。標準設定では31日なので問題にならないでしょうが、あまりにも短い時間を設定している場合は注意して下さい。

クイック投稿フォーム

スキンHTML内に [[QUICKPOST]] の記述がある場合は、そこに投稿フォームが表示されます。 この機能を使えば、いちいち新規投稿画面へ移動することなく投稿できて楽です。 スキンHTMLの記述を修正することで、ページの先頭にフォームを表示させたり、脇に表示されたり、自由な場所に表示できます。

標準設定では、このQUICKPOSTは常時表示されますが、設定を変えることでログインされている状況でしか見えないようにもできます。 そうすると、ログインしていない環境では表示されないため、一般のアクセス者に投稿フォームが見えてしまうことはありません。
※常時表示される場合でも、無条件に投稿ができるわけではありません。投稿ボタンを押した後にログインフォームが表示されます。

ハッシュタグの仕様 (Ver 1.1.0以降)

本文内に半角「#」記号に続いて任意の文字列を入力することでハッシュタグとして認識されます。その際、以下の3通りの書き方と仕様、若干の制約があります。

  • #に続く半角文字: #abc や #123 のように「#」記号に続いて任意の半角英数字をハッシュタグにできます。次に登場する空白や全角文字までがハッシュタグになります。大文字・小文字は区別しません。
  • #に続く全角文字: #タグ や #備考 のように「#」記号に続いて任意の全角文字(絵文字含む)をハッシュタグにできます。次に登場する空白や半角文字までがハッシュタグになります。
  • #に続く角括弧内の文字: #[Space in タグ] や #[連絡先(Mail)] のように「#」記号に続いて半角の角括弧 [ ~ ] でハッシュタグ名を括ることもできます。この場合は、ハッシュタグの中に空白文字や異なる文字種を混在させられます。
  • 記述可能な位置: ハッシュタグを示す「#」記号は、URLの一部や数値文字参照を誤認しないよう、記述可能な位置に制限があります。
    • 基本的にはどこにでも書ける: ハッシュタグは、基本的には本文中のどこにでも書けます。
    • 英数字のみの場合は制約あり: #Tag123 のような半角英数字のタグは、「行頭」または「直前の文字が英数字・&記号・スラッシュ記号・セミコロン記号以外の場合」にのみ認識されます。ただし、直前の文字が日本語文字でも英数字と誤判定されてしまうケースがあり、文字によって使えたり使えなかったりします。※これは、URLの一部をハッシュタグとして誤認識してしまわないようにするための仕様です。
  • 再カウント処理が必要な場合がある: ハッシュタグを含んだ投稿を投稿した場合や、ハッシュタグの整列順序の設定を変更した場合には、ハッシュタグの再カウントは自動で実行されます。しかし、ハッシュタグを含む投稿を削除したり、投稿を編集した結果としてハッシュタグが減った場合には、そのままではハッシュタグの個数表示は変化しません。その際は、管理画面から「ハッシュタグの再カウント」を実行して下さい。(※閲覧時に毎回カウントすると動作が遅くなるので、事前にカウントしておいた値を表示する仕様になっています。)

※タグには必ず角括弧を使うようにすると記述場所の自由度は増します。角括弧を使わずに複数のタグを書く場合は、 #Tag,#ABC,#123 のように何らかの記号や空白で区切ると確実です。
※長すぎるハッシュタグを切り詰めるかどうかも設定できます。標準では25文字目で切られます。(ハッシュタグとしては指定文字数を超えても認識されています。単に画面上に表示する文字数を切り詰めるだけです。)

※ハッシュタグ機能が不要な場合

本文中のハッシュタグをリンクにするかどうかは、設定から選択できます。(標準ではリンクにする設定になっています。)
ハッシュタグ機能が不要であれば、チェックボックスをOFFにすることで、本文中に「#」記号が登場してもリンクにはならなくなります。その場合、投稿処理時にはハッシュタグの集計処理は行われますが、表示時にはハッシュタグの存在をチェックしなくなるため、表示時の負荷は軽減されます。

自動バックアップ機能

「てがろぐ」の自動バックアップ機能

投稿時に自動的に直前のデータをバックアップする、自動バックアップ機能を搭載しています。この機能は、以下の条件が成立している場合に限って自動実行されます。

  1. 管理画面の設定で「自動バックアップ機能」が「有効」に設定されている。
  2. バックアップファイルを蓄積するためのサブディレクトリ(フォルダ)が作成されている。(標準では backupディレクトリ)
  3. そのバックアップ蓄積ディレクトリに、CGIがファイルを書き込める権限(パーミッション)が正しく設定されている。

上記の3条件がすべて成立している場合は、自動的にバックアップファイルが生成されて蓄積されていきます。 蓄積期間は設定で変更できますが、標準設定では30日間です。(保持期間を短くすると、保持期間外になったバックアップファイルは自動削除されますのでご注意下さい。)

自動バックアップファイルは「backup.20171206.tegalog.xml」のように日付を含むファイル名で毎日自動生成されます。
バックアップファイルの存在は、管理画面の「バックアップ管理」項目から一覧で閲覧・ダウンロードできます。

最新日付のバックアップファイルには、常に「最新状態の1つ手前の状態」が記録されています。
また、日が変わる毎にバックアップファイル名も変わるため、前日以前のバックアップファイルが更新されることはありません。 そのため、仮に1万回の不正な投稿があったとしても、前日以前のバックアップファイルが上書きされてしまうことはありません。

※念のために、バックアップファイルは定期的にローカルへダウンロードしておかれることをお勧めいたします。

更新履歴

[Ver 1.0.0 → Ver 1.1.0] (2017/12/10)
ハッシュタグの制約仕様を緩和。多バイト文字でも角括弧なしでハッシュタグとして認識可能に仕様変更。
本文表示時にハッシュタグをリンク化するかどうかを選択する設定項目を追加。
長すぎるハッシュタグを指定文字数で切り詰められる設定項目を追加。

[Ver 1.0.0] (2017/12/07)
初公開。

著作権と免責

  • このCGIの著作権は、西村文宏(にしし)にあります。
  • このCGIを使用した結果、使用者にいかなる損害を与えたとしても、製作者および公開者は、その責を一切負いません。使用者個人の責任でご使用下さい。

CGI使用条件(ライセンス)

■どなたでも使用可能
個人サイト・法人サイト・商用サイト・非商用サイト等の種別を問わず、どなたでも無料でご使用頂けます。一般公開サイト・非公開サイトなど、どこにでも設置してご使用頂けます。
■禁止事項
CGIの著作権表示は、削除したり編集したり隠したり極端に見えにくくしたりしないで下さい。(どうしても削除して運営したい場合はお問い合わせ下さい。複数のライセンス形態を用意しています。)
■代行設置可能
ウェブ作成業者(個人事業・法人問わず)等による無償または有償での代行設置にお使い頂くことも可能です。ただし、CGIそのものを販売してはならず、CGIの著作権表示は(上記項目の通り)削除したり修正したり隠したりしないで下さい。また、CGIに関して作者は保証もサポートもしない点をあらかじめご了承下さい。

フィードバックのお願い(ご感想・ご要望歓迎)

このCGIを使ってみたご感想、ご要望などをぜひお送り下さい。
ご要望には(作者の興味が続いている限り)できるだけ応じたいと考えています。
ご要望等をお送り頂く先はメールでも構いませんし、掲示板でも構いません。お気軽にどうぞ。

設置された報告だけでも歓迎です。 活用されていることが分かると、開発の励みになりますので(^-^)、ぜひよろしくお願い致します。

開発検討中の機能など

  • 書かれたURLを自動リンクにする際、別タブで開かれるように設定できる機能(target属性値に"_blank"や"_top"を付加)。
  • URLを自動リンクにする際、最初のプロトコル名(http://など)を省略して表示できる設定機能。
  • 標準スキンなどに含まれるページのヘッダ部分にあるタイトルや概要分の部分もCGI上で編集できるようにする機能。
  • OGPやTwitter Cardを出力できる機能。
  • 投稿本文のうち「1行目をタイトルとみなす」設定によって、タイトルと本文を区別したスキンを作れるようにする機能。
  • サーバの日付がローカル時刻とずれている場合(外国サーバを利用しているなど)に、指定時間だけ日時表記をずらせる機能。
  • 「いいね!」ボタンなど、任意のカウンタ付きボタンを加えられる機能。
  • 画像を含めて投稿できる機能。
  • YouTube動画を貼り付けられる機能。
  • 文字サイズや配色を指定できる機能。
  • ユーザアイコンを管理画面からアップロードできる機能。
  • ログインフォームのユーザ一覧の順序を変更する機能。
  • 1つのCGIで複数のデータファイルを扱える(複数の掲示板を設置できる)機能。
  • 年や月を和暦(元号付き・睦月/如月/弥生……表記)や英語表記(January~December)にする機能。
  • 曜日の表記方法を自分で設定(入力)できる機能。(※現在は、日曜日・日・Sunday・Sun の4種類から選択可能。)
  • ハッシュタグを角括弧で括らなくても書けるようにする仕様。 → Ver 1.1.0で搭載

※順不同。検討はしていますが、追加できるかどうかは別問題です。(^_^;) 気長にお待ち頂ければ幸いです。なお上記のリストに存在しても「この機能は是非とも欲しい」というものがありましたら、何度でもお知らせ頂ける方が、優先度の決定の参考にできてありがたいです。

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