このソフトはRicoraのサイトを生成してデプロイまでしちゃうプログラムです。 RubyGemsの、静的サイト生成フレームワークnanocを使ってるよ。なので、ちゃんと理解したい人はnanocのページを見ればいいと思うよ。
ページのソースとなるファイルがおいてあるディレクトリです。
ページのレイアウトファイル(テンプレート)が置いてあるディレクトリです。
ページを実際にコンパイルすると、このディレクトリ以下にファイルが出力されます。
nanoc追加サブコマンドを定義してあります。
拡張ライブラリです、通常触る必要ないです。
サイトグローバルなデータを置いてあります。メニューの構造を記述したファイルとか、Recent update的なことを書いたファイルも置いてあります。
nanocが/tmpとかその他諸々作るけど気にしない。
ページ生成手順を記述したファイルです
設定を記述したファイルです
RubyやRubyGems関連のファイルです。通常触る必要ないです。
このファイル
/content以下のページの記述には、軽量マークアップ言語markdownを用いて記述することができます。
実際の処理はkramdownを使って処理するので、markdown標準よりも拡張されたマークアップを行うことが可能です。詳しくはkramdown - syntaxを見てください。
ファイルを書けばそのままそれがコンパイルされて/output以下にできます。
コンパイルをすると/content以下のファイルが/output以下に生成されます。コンパイルには、プロジェクトルートディレクトリでで
nanoc compile
または、省略形で
nanoc co
を実行してください。
まず、当然だけど理科大のricoraのアカウントにログインできる必要があります。SSHを使うので鍵を登録しておくことをお勧めします。コンパイル同様に
nanoc deploy
を実行してください。省略形として
nanoc dep
とすることも出来ます。rsyncを使って理科大のサーバーへファイルを配置します。
/sitedataディレクトリには、ページをレンダリングする上で必要なデータが置かれています。たとえば
- メニューの定義
- ニュースフィード
- ブログのテンプレート
等です。これらのファイルは
/lib以下の拡張ライブラリ経由で/leyouts内にあるテンプレートファイル内で使われるものが多いです。
っていっても数行しかないので、見てもらった方が早いと思いますが、/lib/context.rbは/sitedata以下のファイルを読み込んでるだけ、/lib/default.rbと/lib/helpers.rbはほとんどテンプレートやnanocのサイトにあるものを貼り付けただけです。
nanoc …
と使えるnanoc拡張コマンドを定義してあります。ファイルはRubyで記述してあり、文法はたぶんnanocか何かのコマンド用DSLです。詳細は、基底クラスにしているNanoc3::CLI::Commandsやその周りのファイルを見てください。
githubでファイル管理してるし、世代が変わってまだこのシステムを引き継ぐなら、適当にforkしてやってください。