ゴミ箱.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

路線バスの乗り方ってわかりにくいよね

路線バスの乗り方ってわかりにくいよね - Togetterまとめ

あァ そうだな。

乗る前にどうやればいいのか分からないのが痛い。なんで狭い日本で先払い後払い、前乗り後乗りが混在してるんだよ。
乗客の中には乗り慣れた地元民だけではなく、その地区のバスにはじめて乗るような旅行者だっているわけで。一見さんにとってはこのバスがどのパターンに当てはまるかを知ることができない。バス停に乗り方をでかでかと書いてくれればいいのだが。

事前に乗り方が分からないので、バスが着いてから中に乗り込むまでの数秒間でバスの中を見回してとるべき行動をとっさに判断しなければならない。後ろの客や運転手やすでに乗っている客からの無言のプレッシャーもある中で、これは非常に難度が高い。下手に対応しようとするとパニックになる。

知識のない人間にとって乗り込むまでの間の負荷を最小限にするという意味で誰にとってもやさしいのは、整理券方式の後払いだろう。
入り口のところに目立つ機械が置いてあって、そこから紙がいかにも引っ張ってほしそうに出ている。これなら迷うことはあまりなかろう。乗ってから数秒の間にこなすべき動作は、目の前に出された整理券を取るだけで済む。事前準備はほぼ不要。
これがICカードによる精算になると、あらかじめICカードをポケットやかばんから出しておかなければとっさに対応することができなくなる。ICカードを持っていて、事前にカードを使えることが分かっていれば整理券より便利なんだろうが。
降りるときには運賃を払わねばならないが、後払いであれば財布から運賃分の小銭を出すための猶予は最悪でも停留所1つ分ぐらい残される。
ただ問題は小銭がきっちりない場合だ。閉鎖空間で都合よくきっちり用意できるとは限らない。救済手段として両替機があるが、混雑していて降りるまでに機会に近づけないことも多い。その場合は降りるときに運転手と客からの白い目に耐えながら急いで両替する羽目になる。

たかがバスの乗り方だが、誰もが幸せになれるうまい方法というのはないんだろうなぁ。

PageTop

共食いキャラクターに関する一考察

共食いキャラクター
牛や豚や鶏が精肉店やレストランのマスコットになっているようなアレだ。
自らの欲のために同胞を屠殺する人間の仕事に加担し、あろうことかPR役を買って出ているのだ。
ナチスドイツによるユダヤ人の強制収容所で、一部のユダヤ人が同族の囚人を管理する仕事を任されていたという話を思い起こさせ、闇深いものを感じる。

…と思っていたのだが、とあるコメントを読んで、この考えを少し改めることにした。

続きを読む

PageTop