ゴミ箱.net

汚物は消毒

【旧情報】webgen導入メモ (3) ページ作成編

※このページの情報はwebgenのバージョン0.5をもとにした古い情報であり、時代遅れです。最新の情報はこちらを参照してください。

サイト作成準備編の続き

ひととおり準備がすんだらページを作っていこう。
フォルダsrcの中に、好きなエディタでファイルを作っていく。ここでファイルの拡張子は「.page」にすること。
文字コードは、ext\init.rbで指定したものに合わせる。$KCODE='u'の場合はUTF-8、's'の場合はSJISにする。

ちなみに、srcの中は自由にフォルダを作ってよい。奥深いフォルダ階層を作ってもwebgenが勝手に読み取り、フォルダの階層構造をそのまま再現してHTMLファイルに変換してくれる。

ページの記法


ページの記法にはYAMLというものが使われている。XMLよりも簡単に書けるマークアップ記法らしい。
最初の行に---を書く。その次からページの「メタ情報」を書いていく。メタ情報とは、ウェブページに記述される内容とは別にページに設定された情報とでも思っておけばいい。
メタ情報を一通り書き終わったらまた---を書く。その次の行からページの中身を書いていく。
---
メタ情報
---
中身

のようになる。もう少し具体的には以下のようなイメージになる。
---
title: サンプル
in_menu: true
sort_info: 123
---
これはサンプルページです。
ほげほげ



メタ情報


メタ情報を設定するときは、「名称: 値」のように書く。(コロンの後に半角空白を1つ以上入れること。)
ページのメタ情報として設定可能なものには多くの種類がある。詳細はMeta Information Reference | webgen - static website generatorを見てもらうとして、ここではよく使うものを紹介する。





titleページのタイトル。
HTMLのtitleに設定されたり、メニューでの表示に使われたりする。
in_menuページをメニューに表示するかどうか。trueかfalseを指定する。
sort_info同一階層のページ間における、メニューでの表示順。
整数で指定する。連番でなくてもよく、また負の数も使える。
旧バージョン(0.4)ではorderInfoといったが改名された。古い解説がウェブのあちこちに残っているので注意。
draftページが書きかけの状態で、HTMLに変換したくないときにtrueに設定する。
routed_titleindex.pageでのみ有効。そのページがあるフォルダのタイトルとして代わりに使われる。
templateテンプレートファイル(ページの雛形となるファイル)を指定する。
指定しないとdefault.templateが使われる。~を指定するとテンプレートが使われなくなる。


ページの内容


デフォルトではMarkdown記法が使える。
MarkdownとはHTMLタグを書かずに見出しやリンクや表などの複雑な構造を書くことを可能にした便利な記法である。使い勝手はWikiのような感じだ(ただし、Wikiはページ間の連携の概念があるが、Markdownは単一のテキストで閉じている点で微妙に異なる)。

Markdown記法については詳細には説明しない。記法の日本語訳がblog::2310 » Markdown文法の全訳にあるので参考にどうぞ。

注意点として、webgenで使用しているMarkdownの解析ライブラリMarukuは、独自に実装しているせいか癖のある変換をしたり、正しい構文を受け付けなかったりする。やはり⑨はバカなのか。
そういう場合はHTMLを直に書いて回避する必要がある。


ページを作ったらとりあえずwebgenを実行してみよう。コマンドプロンプトを開いて、config.yamlなどのあるフォルダをカレントフォルダにし、webgenとだけ入力する。
うまく変換できただろうか。

ところで、これまで書いてきた情報だけだとフォルダの表示順が制御できないことに気づいた人もいるだろう。
ページの順番はページのメタ情報で制御できるのだが、フォルダにはメタ情報を書く場所はない。
どうやればいいのだろうか。
フォルダ設定編に続く
スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する