フリーCGIスクリプト配布サイト。
「管理者用 → オプション設定」で、作品登録時の入力項目を追加する事ができます。
なお、各作品ページにオプション項目を表示させたい場合、作品表示ページのスキンも修正します。
オプションIDが sample
の項目を表示させたい場合、作品表示部分に ${OPTION_SAMPLE}
のように、「${OPTION_
+ オプションIDを大文字で記述 + }
」を記述します。
また、${OPTION_SAMPLE}
を <!--OPTION_SAMPLE_START-->
と <!--OPTION_SAMPLE_END-->
で囲うと、未入力時にはコメントアウト用のHTMLになります。
具体的な登録例としては以下のようになります。
tool
、オプション名 → ツール
、入力形式 → 複数選択
と設定する。${OPTION_TOOL}
と記述すると、登録した項目を表示する事が可能。※2※1 具体的には以下のような内容
Photoshop
Illustrator
Painter
しぃペインター
※2 具体的には以下のような内容
<!--OPTION_TOOL_START-->使用ツール:${OPTION_TOOL}<!--OPTION_TOOL_END-->
関連作品を登録すると、各作品ページにセレクトボックスを表示し、その作品に関連するページに移動させる事ができます。
具体的には、以下のようなフォームが利用できます。表示したい作品を選択して「表示する」ボタンを押すと、その作品に移動できます。(以下のフォームはサンプルなので動作しません。)
※1 具体的には以下のような内容
1,No.1の作品
2,No.2の作品
3,No.3の作品
gallerypro/gallery.cgi
にアクセスすると、携帯専用の画面で閲覧することができます。作品を投稿する際にファイルをアップロードすると各作品の上部にファイルが表示されますが、本文の途中に表示させることもできます。
アップロードファイルを任意の位置に表示するには、作品を投稿する際まず普通に文章を入力し、普通にアップロードファイルを指定します。そして文章中のファイルを表示させたい場所に $FILE1
と記述します。そうすると、投稿の際『ファイル1』で選択したファイルがその位置に表示されるようになります。
同様にして、$FILE2
・$FILE3
で『ファイル2』『ファイル3』も任意の場所に表示させることができます。
アップロードできるファイルの数は「環境設定 → 登録画面の表示設定 → アップロードできるファイルの最大数」から変更できますが、$FILE4
・$FILE5
という風に、すべて同様に扱う事ができます。
文章の途中にアップロードファイルを表示させる場合、具体的には以下のように記述します。
そうすると、以下のように表示されます。
また、$FILE1_l
のように、_l
(アンダーバーと小文字のエル)を付加すると画像に対して左揃えの指定がされます。同様に、$FILE1_r
のように、_r
(アンダーバーと小文字のアール)を付加すると画像に対して右揃えの指定がされます。同様に、$FILE1_c
のように、_c
(アンダーバーと小文字のシー)を付加すると画像に対して中央揃えの指定がされます。ちなみに _l
と _r
と _c
は、それぞれ left(左) と right(右) と center(中央) の意味です。
なお、回り込みは <br clear="all" />
もしくは <br style="clear:both;" />
というHTMLで解除することができます。
また、$FILE1_path
のように _path
を付加すると、ファイルのパスをhttp://から取得する事ができます。別途テキストリンクを張りたい場合などに利用すると便利です。
また、$FILE1_full
のように _full
を付加すると、画像ファイルが原寸で表示されます。特定の画像のみ、縮小したくない場合に便利です。
また、$FILE1(写真)
や $FILE1_c(写真)
のように記述すると、画像の代替テキストが 写真
になります。画像表示指定の直後に半角カッコで囲まれた文字を記述すると、画像の代替テキストとして認識されます。
ファイルを複数アップロードした際、作品ページでファイルを1つずつ見せる事ができます。漫画を登録したり、ファイルサイズの大きい画像を登録する場合、この機能を使用するとスムーズに閲覧させる事ができます。
ページ別に表示するには、作品登録画面で複数ファイルをアップロードし、「ファイルをページ別に表示する」にチェックを入れて登録します。
サーバーにImageMagickがインストールされていない場合、repng2jpegでサムネイル画像を作成する事ができます。(使用方法が解らなくても、菅処さんへ質問を送ったりしないようにしてください。)
resize.zip
を解凍して作成される resize.pl.re
のファイル名を resize.pl
に変更し、gallerypro/
にアップロードします。repng2jpeg_1.0.4.zip
を解凍します。複数のフォルダが作成されますが、それぞれの中にサムネイル作成用プログラムが格納されています。環境によって使用するプログラムが異なるので、適切なものを選択して gallerypro/ にアップロードします。(repng2jpeg もしくは repng2jpeg.exe がプログラムファイル。選択方法は後述。)適切なrepng2jpegの選択方法
gallerypro/
に、resize.zip
を解凍して作成される check.cgi
をアップロードします。これはCGIプログラムなので、Perlのパスを設定してパーミッションは705にしておきます。check.cgi
にアクセスすると、一例ですが以下のように表示されます。(表示内容は環境によって異なります。)PerlMagick NG
NetPBM + libjpeg-progs NG
cjpeg -> Not Found
djpeg -> Not Found
pngtopnm -> Not Found
giftopnm -> Not Found
pnmscale -> Not Found
repng2jpeg(i386-solaris) static:OK
libc -> /lib/libc.so.1
libdl -> /lib/libdl.so.1
./repng2jpeg Not Found
Perl :v5.6.1 built for i86pc-solaris
HTTPd:Apache
./repng2jpeg Not Found
」と表示されていますが、これは repng2jpeg が利用できない状態です。「repng2jpeg(i386-solaris) static:OK
」という箇所がありますが、これは repng2jpeg の i386-solaris 用なら使える可能性が高い事を示しています。repng2jpeg_1.0.4/i386_solaris_static/
にある repng2jpeg
を gallerypro/
にアップロードした後、再度 check.cgi
にアクセスします。以下のように「Exec:OK
」が表示されれば正しく認識できたという事です。./repng2jpeg Found
./repng2jpeg Permisson:OK
./repng2jpeg Exec:OK
Exec:OK
」が出るまで他のrepng2jpegを試していきましょう。すべて試しても「Exec:OK
」が表示されないようならば、repng2jpegが利用できないサーバーかもしれません。Exec:OK
」が表示されない、もしくは上の手順が難しいようならば、諦めるかImageMagickの利用できるサーバーを探しましょう。本文に特定の記号を書くことにより、手軽にマークアップを行うことができます。はてなダイアリーやwikiなどで採用されている記法と同じようなものです。(基本的には、はてなと同じような記述方法ですが、全く同じという訳では無いので注意してください。)
なお、記法によってはCSSの調整が必要になる可能性があります。表示が乱れたらCSSを修正してください。
標準スキンの場合、gallerypro/skin/common.css
の最後に以下の記述を追加しておくといいでしょう。
div#gallery h5 {
margin: 10px;
}
div#gallery h6 {
margin: 10px;
}
pre {
font-family: 'MS ゴシック', monospace;
}
div#gallery .text dl {
margin: 0px 10px 10px 10px;
}
div#gallery .text dl dd {
margin-left: 30px;
}
div#gallery .text table {
margin: 0px 10px 10px 10px;
}
上のCSSは一例なので、好みに応じて適当に修正してください。
作品紹介文に長文を投稿することが多い場合、表示される本文の量を調節して『続きを読む』リンクからすべての文章を表示させることができるようになります。
このように表示させたい場合、作品紹介文に -----
と記述します。そうすると、それ以降は省略表示されます。
このような文章を投稿した場合、作品紹介文に長文を投稿することが多い場合、表示される本文の量を調節して『続きを読む』リンクからすべての文章を表示させることができるようになります。
までが表示され、それ以降は非表示なります。非表示なった文章の直後には 続きを読む
というリンクが付加されるので、これをクリックすると続きを読む事ができます。
また、以下のように記述すると、『続きを読む』のテキストをその都度指定することができます。
このような文章を投稿した場合、非表示なった文章の直後には 以下、ネタバレ
というリンクが付加されるので、これをクリックすると続きを読む事ができます。
書式は、上のように -----表示したいテキスト-----
となります。任意のテキストの前後に -
を5つずつ記述します。
投稿時に作品IDを設定しておくと、作品表示用のURLやアップロードファイル名を変更することができます。
作品IDは半角英数字で任意のものを指定することができ、例えばIDに test
を設定すると、以下のようになります。
/diary.cgi?id=test
になります。/archives/test.html
になります。test.gif
になります。(GIFファイルをアップロードした場合。)test-2.gif
test-3.gif
…となります。複数の人が日記を投稿する際、投稿者それぞれにIDとパスワードを発行することができます。
作品に対してコメントを投稿する際、作品への評価を投稿する事ができます。
作品評価機能を使用する場合、管理者専用ページの『環境設定』画面にある『作品評価の設定』の『作品評価機能』をONに設定します。そうすると、コメント投稿フォームに『評価』の項目が表示されます。
選択できる評価は『環境設定』画面にある『作品評価の設定』の『作品評価情報』から設定可能です。得点と説明をコンマ区切りで複数設定する事ができます。得点はすべて別の値を設定してください。
作品評価機能を使用している場合、gallery.cgi?mode=rate
のように ?mode=rate
を付加して gallery.cgi
を呼び出すと、高得点の作品一覧を表示する事ができます。簡単なランキングシステムとしても利用する事ができます。
http://
から指定してください。(ギャラリーからの戻り先URLなど。)なお、『各分類をHTMLファイルに書き出し』を『ON』にすると、『書き出す分類の設定』で指定した分類の作品一覧ページをHTMLに書き出すことができます。
トップページから特定の分類ページにリンクする場合などに利用すると、プログラムへの負荷を抑えることができます。
書き出す分類は、初期設定では
./archives/note/index.html,雑記
./archives/days/index.html,雑記::日々の事
となっています。これは『雑記』の作品一覧を ./archives/note/index.html
に書き出し、『雑記::日々の事』の作品一覧を ./archives/days/index.html
に書き出す、という意味です。この場合、archives
ディレクトリ内に、あらかじめ note
ディレクトリと days
ディレクトリを作成し、パーミッションを707に設定しておく必要があります。
書き出し先は特に制限していないので、./fields/note.html
など、他の場所に変更することもできます。
トップページにはナビゲーション(デフォルトのスキンでは、ページの右側に表示されている部分)が表示されていますが、初期設定では作品個別表示の際には表示されません。
ですが、環境設定を変更すれば表示することができます。(ナビゲーションの表示にはJavaScriptが必要です。)
デフォルトスキンの場合、分類一覧へのリンクは http://www.xxx.com/gallery.cgi?field=1
こんな風に分類番号を渡しています。ですが、この番号は分類を追加すると変更になる可能性があります。でもそれだと、分類一覧へ直接リンクを張りたい場合に不便ですし、SEO上も好ましくないです。その対策に http://www.xxx.com/gallery.cgi?field=%e9%9b%91%e8%a8%98
こんな風に、URLエンコードした分類名を渡せるようにしています。(機能を使用するにはスキンの編集が必要。)
./skin/gallery.html
、./skin/list.html
、./skin/view.html
スキンなどにある作品表示部分(<!--SKIN_GALLERY_START-->
~ <!--SKIN_GALLERY_END-->
の間)に${INFO_PATH}?field=${ARTICLE_FCODE}
と記述すると分類コードによるリンクになります。./skin/gallery.html
スキンにある分類タイトル表示部分(<!--SKIN_GALLERY_TITLE_START-->
~ <!--SKIN_GALLERY_TITLE_END-->
の間)に${INFO_PATH}?field=${GALLERY_FCODE}
と記述すると分類コードによるリンクになります。./skin/navigation.html
にある分類一覧のスキンに ${INFO_PATH}?field=${FIELD_NO}
という箇所がありますが、${INFO_PATH}?field=${FIELD_CODE}
に変更すると分類コードによるリンクになります。日記の一部をJSファイルに書き出し、任意のHTMLファイルから呼び出すことができます。これにより、トップページなどに日記の一部を表示させることができます。
設定は、環境設定画面の『JSファイル書き出しの設定』で行います。『題名一覧をJSファイルに書き出し』と『最近の作品をJSファイルに書き出し』の項目があるので、それぞれONにすると機能が利用できます。
JSファイルの書き出し先は、初期設定では gallerypro/data/title.js
と gallerypro/data/text.js
です。HTMLファイルからこれらのJSファイルを呼び出せば、日記を表示させることができます。JSファイルは以下のように記述して呼び出します。(./gallerypro/data/title.js
の部分には、各JSファイルへのパスを記述します。)
<script type="text/javascript" src="./gallerypro/data/title.js"></script>
なお、JSファイルの文字コードはUTF-8で書き出されます。呼び出しもとのファイルがShift-JISなどで記述されている場合、scriptタグの属性に charset="utf-8"
を追加します。具体的には以下のようになります。
<script type="text/javascript" src="./gallerypro/data/title.js" charset="utf-8"></script>
これで、JSファイルと呼び出しもとのファイルの文字コードが異なっても、文字化けせずに表示させる事ができます。
なお、JSファイルに書き出す際のレイアウトは、以下のスキンで設定可能です。
skin/js_title.html
skin/js_text.html
JSファイルへの書き出しは、分類別に行う事も可能です。特定の分類のタイトル一覧や本文をJSファイルに書き出せるので、更新情報をサイトトップページに表示させる際に便利です。
./data/days_title.js,雑記::日々の事
」の場合、./data/days_title.js
へ「雑記::日々の事」の内容を書き出します。階層化された分類の場合は、分類名を「::
」で繋いで指定します。ナビゲーション部分に、各コンテンツへのリンクを表示することができます。(自サイト内へのリンクを張るための機能ですが、機能としてはリンク集の設定と同じです。)
ナビゲーション部分に、リンク集を表示することができます。(他サイトへのリンクを張るための機能ですが、機能としてはコンテンツの設定と同じです。)
プロフィールを登録して表示することができます。複数の管理者で記事を投稿している場合、各ユーザーごとにプロフィールを登録することができます。
gallerypro/skin/
内の header.html
・gallery.html
・navigation.html
・footer.html
です。また、作品詳細ページには view.html
が使用されます。それ以外のHTMLファイルは、あまり変更する事は無いと思います。gallerypro/skin/common.css
を編集するだけでも、色々なデザインにする事ができます。