gtool project 領域編集の手引目次

概要

これは, gtool ディレクトリ以下の管理に関する手引きの目次である. (ここには TEBIKI ファイルに対するリンクのみを置くこと)

目次

作業手順

おおまかには

  1. RD で文書を作成
  2. RDWebgen で .htm.ja, .htm.en を生成
  3. .htm.ja に対して .htm というシンボリックリンクを作成

という手順.

なお, 以下のディレクトリは弄らない/触らないこと

cvsroot/                    <-- 旧資源
conventions                 <-- gt4ncconv/gt4ncconv_current へのシンボリックリンク
gt3nc@                      <-- シンボリックリンク
gt4f90io/                   <-- 旧資源
gt4ncconv/                  <-- TEBIKI.gt4ncconv.htm を参照されたい
gtool3/                     <-- 旧資源
gtool4-tools-library/       <-- 旧資源
gtool5/                     <-- CVS/Git から自動生成するので触らない
git_repos/                  <-- Git リポジトリ本体
gt5tutorial                 <-- 旧資源? そのうち取り込むかも

公開ページ用の資源は git で管理している. Git のリポジトリは

/GFD_Dennou_Club/ftp/arch/gtool/git_repos/gtool-web.git

である. 無視するファイルについてはリポジトリ内の .gitignore も 参照されたい.

リポジトリのクローン

手元で

% git clone git+ssh://dennou-k.gfd-dennou.org/GFD_Dennou_Club/ftp/arch/gtool/git_repos/gtool-web.git

とする. gtool-web が clone される. RDWebgen を Git の サブモジュールとして登録してあるので,

% cd gtool-web
% git submodule update --init

とする. gtool-web/htmltools/RDWebgen として RDWebgen がクローンされる. gtool-web 直下の Rakefile, config.yml, assets は, このデイレクトリ内へ の symbolic link となっている.

良く理解していない場合には config.yml を弄らないこと. 特に recursive を有効にして電脳サーバ上で処理を行なうと, 本来触る予定の無い旧資源内の rd ファイルも再帰的に処理されてしまい, 元に戻せなくなる可能性がある.

RD ファイルの編集

適宜.

UTF-8 で編集すること. なお, 以前あった文字コード強制ギブス等はかけていないことに注意されたい.

htm の生成

単に

% make

で良い筈. rd ファイルから .htm{.ja,en} が生成され, .htm への link が生成される.

コミット

一旦掃除を行なう.

% make clean

その後, 状況を確認する

% git status
% git diff             <--- 必要に応じて差分の確認

良ければ commit する

% git commit

commit log を適当に書く. 和文をコミットしたい場合には UTF-8 でコミットして欲しい.

本体への反映は

% git push

で良い. リポジトリ内の hook 以下にあるスクリプトによってサーバ上の htm も更新される.

電脳サーバ上で処理を行なう際も同様. コミット忘れに注意されたい.

Git の hook

詳細は実ファイルを参照のこと.

cat git_repos/gtool-web.git/hooks/post-receive
#!/bin/sh
(cd /GFD_Dennou_Club/ftp/arch/gtool/  && \
  git --git-dir=.git pull             && \
  git --git-dir=.git submodule update && \
make )

この script によって push を受け取った際に公開領域の htm が更新されている.