WPGen (開発者向けウェブページ生成textutils スクリプト)


目次

  1. このページは
  2. プログラム概要
  3. 動作環境
  4. プログラムファイル
  5. 実行方法
  6. 実行結果
  7. プログラム
    1. ディレクトリ構成
    2. ソースコード
    3. 詳細
    4. __
  8. ライセンス・使用条件
  9. 用語
  10. FEEDBACK
  11. 更新履歴

このページは

ウェブページ開発者、シェルスクリプト経験者の方向けのツールWPGen のページです。
ウェブページを生成するtextutils 用のプログラムのTIPS について記載しています。
このページは、フィードバック収集のためのアルファ版です。

プログラム概要

このページはこのスクリプトによって作成されています。
textutils を用いてメニューが付いたhtml など、 ヘッダ、フッタをつけたhtml コードを生成できます。

Emacs のhomn みたいにWiki のローカル版のような感覚で 自分用のメモに使うと便利です。

textutils 環境を持っている人は便利な場面も あるかもしれないと思って公開します。

後ほど時間が出来たときに、 Windows のプログラムやperl などに移植するかもしれません。

動作環境

WindowsXP、cygwin 上のbash で動作させています。
textutils で作成しているためlinux やminggw でも動作可能なはずです。
また基本的なシェルコマンド群を使用していますので、 シェルも問わないと思います。

動作確認したプラットフォーム

  • cygwin

動作確認したシェル
  • bash
  • csh

プログラムファイル

中身はテキストファイルです。

  • wpgen-2.6.0.sh
    時間単位生成オプション追加。
    分単位生成オプション追加。
    データディレクトリの削除・再生性オプション追加。
  • wpgen-2.5.0.sh
    バージョン表示オプション追加。
    トップページのみ生成オプション追加。
    経過表示追加 [i/TOTAL]。
  • wpgen-2.4.0.sh
    更新日時をすべて・月・週・日で指定可能にした。
    引数を一つ取得する。
  • wpgen-2.0.0.sh
    実行時間を表示させるようにした。

実行方法

  1. 下記ディレクトリ構成を作成する。
  2. lib ディレクトリにヘッダ・フッタ・メニューをhtml で記載する。
  3. src ディレクトリにコンテンツの内容をhtml で記載する。
  4. プログラムのルートのディレクトリでwpgen.sh を実行する。
    $ ./wpgen.sh
  5. pc ディレクトリに統合版のウェブページの出力ができる。
  6. frame ディレクトリにフレーム版のウェブページの出力ができる。
    その他好きな形式の出力も上記の方法で作成してください。

実行結果

このページ全体が出力結果です。


コンソールへの出力は以下。
# ./html-gen.sh:######## start generating moved-page ########
# ./html-gen.sh:generating moved-page
# ./html-gen.sh:######## end generating moved-page ########
# ./html-gen.sh:######## start generating pc ########
# ./html-gen.sh:generating index.html
# ./html-gen.sh:generating pc/ImageFormat.html
# ./html-gen.sh:generating pc/aa.html

,,,

# ./html-gen.sh:generating pc/winenv.html
# ./html-gen.sh:generating pc/xml.html
# ./html-gen.sh:######## end generating pc ########
# ./html-gen.sh:######## start generating frame ########
# ./html-gen.sh:generating index.html
# ./html-gen.sh:generating menu.html
# ./html-gen.sh:generating top.html
# ./html-gen.sh:generating frame/ImageFormat.html
# ./html-gen.sh:generating frame/aa.html
# ./html-gen.sh:generating frame/au.html

,,,

# ./html-gen.sh:generating frame/xml.html
# ./html-gen.sh:######## end generating frame ########
20060326_21:36
Pentium4 DualCore Memoey1GHz のマシンでcygwin 上でtime コマンド を使ってみた結果は以下。
real    0m21.412s
user    0m24.407s
sys     0m14.946s

プログラム

ディレクトリ構成

このウェブページの構成を例に ディレクトリ構成例です。
このままでなくとも大丈夫です。

webpage]$ tree -d .
|-- backup (バックアップ用)
|-- data (雑多なデータ用)
| |-- docs
| |-- flash
| |-- flash_seasight1
| |-- html
| |-- java
| |-- models
| |-- picture
| |-- program
| |-- vi
| `-- windows
|-- frame (フレーム版ウェブページ出力ディレクトリ)
|-- lib (ライブラリ用ディレクトリ)
|-- pc (統合版ウェブページ出力ディレクトリ)
|-- src (ソース用ディレクトリ)
`-- trash (ゴミ箱)

18 directories

# このウェブページをwget していただくとまる分かりです。

ソースコード

参考にプロトタイプのバージョン1.2 を記載。
最新版は実際のスクリプトを参照してください。
 1  #!/bin/sh
 2  #$Id: wpgen.sh,v 1.2 2006/03/23 13:42:11 kgussan Exp $
 3  #notice:
 4  #- cygwin requires shift-jis encoding in shell script.
 5  #- cygwin requires \\ as escape sequence instead of \.
 6  #================================================================
 7  target_dir=""
 8  prefix_dir=lib
 9  suffix_dir=lib
10
11  ################ generate pc webpage ################
12  # 3line page, no frame
13
14  target_dir="pc"
15  echo "# $0:######## start generating ${target_dir} ########"
16  #### generate index.html ####
17  echo "# $0:generating index.html"
18  cat ${prefix_dir}/${target_dir}-header  >   ${target_dir}/index.html
19  cat lib/menu.html                       >>  ${target_dir}/index.html
20  cat ${prefix_dir}/${target_dir}-left    >>  ${target_dir}/index.html
21  cat lib/top.html                        >>  ${target_dir}/index.html
22  cat ${suffix_dir}/${target_dir}-footer  >>  ${target_dir}/index.html
23  #### generate content's html ####
24  for filename in src/*; do
25  filename_out=${filename#src/}
26  echo "# $0:generating ${target_dir}/${filename_out}"
27  cat ${prefix_dir}/${target_dir}-header  >   ${target_dir}/$filename_out
28  cat lib/menu.html                       >>  ${target_dir}/$filename_out
29  cat ${prefix_dir}/${target_dir}-left    >>  ${target_dir}/$filename_out
30  cat ${filename}                         >>  ${target_dir}/$filename_out
31  cat ${suffix_dir}/${target_dir}-footer  >>  ${target_dir}/$filename_out
32  done
33  echo "# $0:######## end generating ${target_dir} ########"
34
35
36  ################# generate frame and mobile webpage ################
37  # 2line page, frame, requires menu.html
38
39  target_dir="frame"
40  echo "# $0:######## start generating ${target_dir} ########"
41  echo "# $0:generating index.html"
42  cp lib/index-frame.html ${target_dir}/index.html
43  echo "# $0:generating menu.html"
44  echo "<base target=\"main_frame\">"     >   ${target_dir}/menu.html
45  echo "<H2> <small>menu</small> </H2>"   >>  ${target_dir}/menu.html
46  echo "<small>"                          >>  ${target_dir}/menu.html
47  cat lib/menu.html                       >>  ${target_dir}/menu.html
48  echo "</small>"                         >>  ${target_dir}/menu.html
49  echo "# $0:generating top.html"
50  cat ${prefix_dir}/${target_dir}-header  >   ${target_dir}/top.html
51  cat lib/top.html                        >>  ${target_dir}/top.html
52  cat ${suffix_dir}/pc-footer             >>  ${target_dir}/top.html
53  #### generate content's html ####
54  for filename in src/*; do
55  filename_out=${filename#src/}
56  echo "# $0:generating ${target_dir}/${filename_out}"
57  cat ${prefix_dir}/${target_dir}-header  >   ${target_dir}/$filename_out
58  cat ${filename}                         >>  ${target_dir}/$filename_out
59  cat ${suffix_dir}/pc-footer             >>  ${target_dir}/$filename_out
60  done
61  echo "# $0:######## end generating ${target_dir} ########"
62
63  # display time at end.
64  date +%Y%m%d_%R
65
66  #================================================================

詳細解説

詳細解説についてはT.B.D.

__

ライセンス

フリーウェアでの公開をしています。
ライセンス条件著作権に同意いただいた場合のみご利用ください。

用語

textutiils
linux 等に標準でついているcat やパイプなどのテキスト整形のプログラム集。
bash
一般的なUnix シェル
T.B.D.
To Be Done. の略記。 後ほど。

FEEDBACK

感想や気がついたことなど作者まで連絡いただければ、幸いです。
連絡先はページ末のメールアドレスまで。

更新履歴

  • 2006/09/05 バージョン2.5.0 リリース。
  • 2006/07/25 バージョン2.4.0 リリース。
  • 2006/03/26 公開。

ご意見、ご感想、誤字、間違い等、お気づきの点がありましたら KGussan@Gmail.com まで連絡ください。
このウェブページの注意・免責事項 Copyright (C) 2004-2012 KGussan. [トップページ]
[PR:元国税局勤務の起業家向け、遺産相続の相談なら植村洋税理士事務所:一時間無料税理士相談。お気軽に。]