ゴミ箱.net

汚物は消毒

[webgen]任意の拡張子のファイルをソースに追加する

このページの情報はwebgen 1.4.0をもとにしています。

webgenではソースファイルsrcに置いたファイルのうち、ページファイルとテンプレートファイル以外はそのまま出力フォルダoutにコピーされる。
ただし、どんな種類のファイルでもコピーされるわけではない。デフォルトではCSS、JavaScript、特定の画像ファイルといったもののみがコピーされる。
たとえばソフトウェアを配布するためにインストーラのexeファイルを置きたいとか、PDFファイルを公開したいとかいった場合、そのままでは出力フォルダに反映されない。

ここでは、デフォルトで出力フォルダにコピーされないファイルをコピーされるようにする方法を説明する。

続きを読む

PageTop

webgen導入メモ (4) ビルド編

このページの情報はwebgen 1.4.0をもとにしています。

ソースフォルダの中身を作り終わったら、ビルドしてウェブサイトのファイルを生成しよう。

コマンドプロンプトでwebgenのルートフォルダをカレントフォルダにし、以下のコマンドを実行する。
webgen

これだけで一時フォルダtmpと出力フォルダoutが生成され、出力フォルダに最終的なHTMLファイルが置かれる。あとは出力フォルダの内容をウェブサーバに転送するなり、ZIPファイルに圧縮して配布するなりすればよい。
ソースフォルダに置かれたページファイルに対し、拡張子が.pageから.htmlに変換されたファイルが、出力フォルダの同じフォルダ階層に生成される。HTMLファイルの内容はテンプレートファイルの所定の位置にソースフォルダのコンテンツブロックの内容を埋め込んだものとなる。
また、ソースフォルダ内のページフォルダとテンプレートフォルダ以外のファイルはそのまま出力フォルダにコピーされる。

一時フォルダにはビルド時にキャッシュファイルwebgen.cacheが生成される。その内容はユーザが特に気にする必要はない。

webgenはソースファイルの変更を検出して必要なファイルのみビルドしてくれるが、たまに変更の検出が失敗するときがある。たとえば拡張フォルダextの中のスクリプトinit.rbを書き換えたときなどは、ソースフォルダのファイルは一切変更されていないのでビルドの必要なしと判定されてしまう。
そういう場合は一時フォルダと出力フォルダを消してからビルドしなおすとよい。

PageTop

webgen導入メモ (3) ページ作成編

このページの情報はwebgen 1.4.0をもとにしています。

ひととおりフォルダ構成を作成したら、ウェブページの元データを作っていこう。

ソースフォルダsrcにウェブサイトの元データとなるファイルを配置していく。以降、ソースフォルダに置くファイルを便宜上ソースファイルと呼ぶ。
ソースファイルには以下の種類がある。
ページファイル
ウェブページの内容をMarkdown記法で記述するファイル。最終的なHTMLファイルと(ほぼ)1対1で対応する。
テンプレートファイル
すべてのHTMLファイルの雛形となるファイル。テンプレートファイルを枠とし、その中の所定の位置にページファイルの内容をはめ込んだものが最終的なHTMLファイルとなる。HTMLのヘッダ部、全画面共通のロゴやメニュー、CSSやJavaScriptのタグなどといった、すべてのHTMLファイルに共通する要素をここに記述する。
その他のファイル
CSS、JavaScript、画像など。

まず最初にページファイルを作る。

続きを読む

PageTop

webgen導入メモ (2) サイト作成準備編

このページの情報はwebgen 1.4.0をもとにしています。

webgenの導入が済んだら、ウェブサイトの入れ物となるフォルダを作成しよう。

webgenは以下のようなフォルダ構成にデータを保存する。
├ext
│└init.rb
├out
├src
├tmp
│└webgen.cache
└webgen.config

以下の説明では、便宜上、最上位のフォルダをルートフォルダと呼ぶ。
ルートフォルダの下に置かれるフォルダおよびファイルは以下のとおり。
フォルダsrc
ソースフォルダ。ウェブページの元になるファイル(便宜上ソースファイルと呼ぶ)が置かれる。
フォルダout
出力フォルダ。生成されたウェブページのファイルが置かれる。
フォルダext
拡張フォルダ。RubyスクリプトでWebgenの動作を拡張することができる。この中にRubyスクリプトファイルinit.rbを置くとビルド時に実行される。
フォルダtmp
一時フォルダ。キャッシュファイルが置かれる。
ファイルwebgen.config
設定ファイル。webgenの設定を記述する。

手始めにこのフォルダ構成を作成しよう。

続きを読む

PageTop

webgen導入メモ (1) インストール編

このページの情報はwebgen 1.4.0をもとにしています。

webgenとは、静的にウェブサイトを作成するためのツールである。
静的というのはCGIなどのスクリプトでページをリクエストのつど生成するのではなく、最初からHTMLが存在するというぐらいの意味合いである。
そのため、CGIなどが使えないレンタルサーバにおいても使えるという特徴がある。

この手のツールを総称して静的CMS(Content Management System)というらしい。
かつては静的CMSもあまり広まっておらず、旧版の記事を書いた時点ではwebgenぐらいしか見つけられなかった。
しかし、この記事を書いた時点では静的CMSが静的だけに静かなブームとなっており、今や数多くの静的CMSが存在している。その中でももっともメジャーなのが同じRuby製のJekyllだろう。これはブログを作りやすいというのが売りのようだ。
正直言って普及度ではwebgenはJekyllなどに大きく水を空けられてしまっている感がある。とはいえ、自分のやりたいことはこれで実現できるし、これまで使ってきて使い方を把握しているというのもあるので、それでも私はwebgenを続けるよ。

静的CMSがHTMLを普通に作成するよりも優れている点として、以下のものがある。
  • Markdownなどの簡略記法によってHTMLタグを書かなくてもページを作成できる
  • テンプレート機能によって共通のページ構成を作れる
  • メニューやパンくずリストを自動生成してくれる
  • プログラムによる自動生成を組み込める


この記事では、そんな素敵ツールであるwebgenの導入方法を紹介する。

続きを読む

PageTop