WebDoc Date: 2003.04.15掲載, 2003.05.06更新 ページを簡単に作るためのスクリプトです。設置した後は、テキストファイルをサーバーにアップロードすることで新しいページを作れます。 内容と特徴 YYYYMMDD_N.htmlというURLへアクセスがあった場合、YYYYMMDD_N.txtというテキストファイルを元にページが出力されます(YYYYMMDDは年月日、Nは番号を想定していますが、使い方は自由です)。 次のような特徴があります。 ・Perlの使えるサーバーで利用できます。 ・なるべくシンプルに、簡単に設置・運用できるように作りました。 ・原稿のテキストファイルは、指定したディレクトリ以下から再帰的に検索されます。サブディレクトリを作り、原稿ファイルの整理をできます(表示には影響しません)。 ・独自の文章装飾記号や、ページごとに個別の設定をする機能があります。 ダウンロード ・'''<@WebDoc 1.17=/r/cgi/webdoc.lzh>''' ソース ・<@WebDoc 1.17=/20030415_2.html> 使い方 サーバーに、適切なパーミッションでファイルをアップロードします。
ファイル            説明
doc/
    index.cgi       WebDoc本体
    conf.cgi        設定用ファイル
    style.css
    .htaccess       RewriteModeを使うときに必要
・index.cgiの1行目のPerlへのパスを、サーバーにあわせて設定します。 ・conf.cgiの設定個所を設定します。 ・原稿ファイルYYYYMMDD_N.txt(例:20030415_1.txt)を用意し、conf.cgiで設定したディレクトリ(デフォルトは./となっているので、index.cgiと同じディレクトリでもかまいません)にアップロードします。 ・ブラウザで、設置したファイルのURL(例:http://myserver.com/~mypage/doc/?20030415_1)にアクセスすると、ページが表示されます。 conf.cgiの設定 conf.cgiの内容を自分の環境にあわせて設定します。
# データファイル用のディレクトリ
# 通常はこのままでいいでしょう
@data_path = ('./');

# ページのパス
# ページ上部に表示される”みちしるべ”
# ページ名, URL, … というようにページ名とURLを対で記述
@page_path = ('uttsu.com', '/');

# フッター。ページ下部に表示。
$footer = 'Copyright (C) Takashi Utsunomiya. All Rights Reserved.';
原稿ファイルの書式 原稿ファイルはヘッダ部とボディ部にわかれています。ヘッダ部、改行だけの行、ボディ部となります。
ヘッダ部
ヘッダ部

ボディ部
ボディ部
    :
ヘッダ部 ヘッダ部では、ページごとに個別の設定を記述できます。
項目名: 内容
という書式で指定します。次の項目が有効です。 :タイトル:1行目の内容はページのタイトルになります。「項目名:内容」という書式をとらず、タイトルのみ(「内容」のみ)を記述します。'''タイトルのみ必須の項目です'''。 :Path:「Path: ページ名, URL, ページ名, URL, …」 とページ名とURLを対で指定します。conf.cgiで指定したPath情報に加え、ページ上部に表示されます。 :Date:「Date: 2003.04.15掲載」 などと指定します。ページ下部に表示されます。 ボディ部 ボディ部では、文書装飾のための記号が使えます。記号には次のようなものがあります。 :見出し:半角スペースで始まる行は見出しとなります。 :小見出し:半角スペース2つで始まる行は小見出しとなります。 :強調:半角の'(クォーテーション)2つ(’’)、または3つ(’’’)で囲まれた文字は強調されます(例:ここは普通。''ここは強調''。'''3つで囲めばさらに強調''')。 :リンク:'''<@'''ページ名'''='''URL'''>'''(<@、=、>は半角)と書くと、<@ページ名=http://uttsu.com/>のようなリンクになります。また、行頭からURLを記述した場合は自動的にURLへのリンクとなります。 :箇条書き:行頭から・、-、+、の記号で書き始めると、箇条書きになります。+は番号つきの箇条書きです。 :表:行頭から |項目1 |項目2 … と書くと、表になります。|のあとに半角スペースを書くと項目の見出しになります。 :引用:<<〜>>で囲まれた行は引用として装飾されます。 :
:
で囲まれた行は、そのままのイメージで出力されます。>などの文字はエスケープされます。 :直接記述:<%〜%>で囲まれた行は、エスケープされずにそのまま出力されます。HTMLなどを記述したいときに使います。 文書装飾の機能は「WebNote」のものと同じです。表示例などはそちらのページに書いてあるので、参考にしてください。 ・<@WebNote=/work/cgi/note/index.html> 原稿ファイルの例 実はこのページもWebDocによって出力されています。このページの原稿ファイルは次のようになっています(途中まで抜粋)。 << WebDoc Date: 2003.04.15掲載, 2003.05.06更新 ページを簡単に作るためのスクリプトです。設置した後は、テキストファイルをサーバーにアップロードすることで新しいページを作れます。  内容と特徴 YYYYMMDD_N.htmlというURLへアクセスがあった場合、YYYYMMDD_N.txtというテキストファイルを元にページが出力されます。YYYYMMDDは年月日、Nは番号を想定していますが、使い方は自由です。 次のような特徴があります。 ・Perlの使えるサーバーで利用できます。 ・なるべくシンプルに、簡単に設置・運用できるように作りました。 ・原稿のテキストファイルは、指定したディレクトリ以下から再帰的に検索されます。サブディレクトリを作り、原稿ファイルの整理をできます(表示には影響しません)。 ・独自の文章装飾記号や、ページごとに個別の設定をする機能があります。   ダウンロード ・’’’<@WebDoc 1.17=/r/work/cgi/webdoc.lzh>’’’   ソース ・<@WebDoc 1.17=/20030415_2.html> >> ※表示の都合で一部半角文字を全角にしています。 ・<@原稿ファイル全文=/r/work/cgi/webdoc.txt> 原稿ファイルの管理 原稿ファイル(YYYYMMDD_N.txt)は、conf.cgiで設定したディレクトリ以下から再帰的に検索されるため、サブディレクトリを作って原稿ファイルを整理することができます。 たとえば、未分類の文書以外にまとまった書評のコーナーを作りたいときは、次のようなディレクトリ構成が考えられます。
ファイル                    説明
doc/
    index.cgiなど           WebDoc関連のファイル
        :
    20030401_1.txt          未分類の文書
        :
    2002/                   過去の文書
        20021210_1.txt
            :
    review/                 書評コーナー用のディレクトリ
        20030415_1.txt      書評のトップページ
        20030415_2.txt      『本1』
        20030416_1.txt      『本2』
        dir.conf.cgi        ディレクトリ用の設定ファイル
ここで、ディレクトリが異なっても、同名のファイル名は使えません。もし同名のファイル名があるときは、ページにアクセスした際にエラーが表示されます。 ディレクトリ内の文書をまとめて設定 ディレクトリ内に「'''dir.conf.cgi'''」というファイルを作り、ディレクトリ内の原稿ファイルにまとめて共通の設定を行うことができます。「原稿ファイルの書式」の「ヘッダ部」の設定を記述できます(タイトルはのぞきます。また、各原稿ファイル中の設定が優先されます)。これを利用することで、コーナーのページすべてに「uttsu.com > 書評 >」のような”みちしるべ”をつけたりできます。 ファイル名にタイトルを記述 原稿ファイルは日付をベースにした名前のため、ファイル名から内容を推測できず不便ですが、ファイル名中に[〜]で囲ってコメントをつけるとわかりやすくなります。[〜]はページの表示に影響をあたえないので、文書のタイトルなどをつけておくと便利でしょう。次のようなファイル名になります。
20030415_1[WebDocの説明].txt
「DocTitle」は自動的に文書のタイトルをファイル名に埋め込んでくれるスクリプトです。 ・<@DocTitle=20030415_4.html> その他 YYYYMMDD_N.htmlというURLを使うには 各HTMLドキュメントのURLを、doc/?YYYYMMDD_Nというのではなく、普通のHTMLファイルのようにdoc/YYYYMMDD_N.htmlとしたい場合は、.htaccessファイルに次のように記述します。
RewriteEngine On
RewriteRule ^([0-9]{8}_[0-9]+)\.html$ index.cgi?$1
これで、doc/YYYYMMDD_N.htmlというURLでページにアクセスできます。 改版履歴
2003.04.26    ver 1.17
  - <<〜>>, <%〜%>, 
で、次の行をくっつけてしまうbugをfix 2003.04.17 ver 1.16 - 行末の文章結合記号 \ を追加 - head部に AddPath 項目を追加 2003.04.15 ver 1.15 - HTMLへの変換部 改良 2003.04.12 ver 1.14 - 出力部変更 - <%img 〜>部修正 2003.04.06 ver 1.13 - 表示関係debug - ディレクトリごとの設定ファイル(dir.conf.cgi)を採用 2003.04.05 ver 1.12 - 本体共有モード廃止 - text->html変換ルーチンをWebNoteのものを使用 - ヘッダにPath情報を出力しないようにした - 同名の原稿ファイルが複数ある場合にエラーを出力するようにした 2003.01.28 ver 1.11 - debug - ヘッダにDate属性追加。ページ末に表示 2003.01.27 ver 1.10 - 複数のdapa_pathに対応 - ''.*?''と'''.*?'''をそれぞれ<em>と<strong>に 2003.01.23 ver 1.09 - ファイル名 _なしも有効に - 画像展開コマンドを追加 ^<<img URL>$ 2003.01.22 ver 1.08 - ファイル名は \d{8,8}_.*だけを有効に。_がないのは無効にした - option に Path 加えた - option に Menu 加えた - option に Theme 加えた 2003.01.19 ver 1.07 - debug 2003.01.11 ver 1.06 - Last-Modifiedヘッダを出力するようにした 2003.01.10 ver 1.05 - 文書がない場合にステータス404を返すようにした 2003.01.09 ver 1.04 - Option機能追加(Title, SubTitle, MakeIndex) - Title, SubTitleはヘッダ中でそれぞれ、^.*、^ .*のように指定。Title:などは使わない。 2003.01.07 ver 1.03 - bug fix 2002.12.28 ver 1.02 - 原稿ファイル名に[]内にコメントを入れて付けられるようにした 2002.12.25 ver 1.01 - トップページを表示しないようにした 2002.10.25 ver 1.00 - 作成開始 - 完成 </pre>