このソフトは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してやってください。