Skip to content

jaus14/ricora_tus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RICORA Site Generator

概要

このソフトはRicoraのサイトを生成してデプロイまでしちゃうプログラムです。 RubyGemsの、静的サイト生成フレームワークnanocを使ってるよ。なので、ちゃんと理解したい人はnanocのページを見ればいいと思うよ。

各ディレクトリの説明

/content

ページのソースとなるファイルがおいてあるディレクトリです。

/layouts

ページのレイアウトファイル(テンプレート)が置いてあるディレクトリです。

/output

ページを実際にコンパイルすると、このディレクトリ以下にファイルが出力されます。

/commands

nanoc追加サブコマンドを定義してあります。

/lib

拡張ライブラリです、通常触る必要ないです。

/sitedata

サイトグローバルなデータを置いてあります。メニューの構造を記述したファイルとか、Recent update的なことを書いたファイルも置いてあります。

その他

nanocが/tmpとかその他諸々作るけど気にしない。

プロジェクトルートの各ファイルの説明

/Rules

ページ生成手順を記述したファイルです

/config.yaml

設定を記述したファイルです

/Gemfile,Rakefile

RubyやRubyGems関連のファイルです。通常触る必要ないです。

/README.markdown

このファイル

ページ編集の仕方

/content以下のページの記述には、軽量マークアップ言語markdownを用いて記述することができます。 実際の処理はkramdownを使って処理するので、markdown標準よりも拡張されたマークアップを行うことが可能です。詳しくはkramdown - syntaxを見てください。 ファイルを書けばそのままそれがコンパイルされて/output以下にできます。

ページ発行のしかた

コンパイル

コンパイルをすると/content以下のファイルが/output以下に生成されます。コンパイルには、プロジェクトルートディレクトリでで

nanoc compile

または、省略形で

nanoc co

を実行してください。

アップロード

まず、当然だけど理科大のricoraのアカウントにログインできる必要があります。SSHを使うので鍵を登録しておくことをお勧めします。コンパイル同様に

nanoc deploy

を実行してください。省略形として

nanoc dep

とすることも出来ます。rsyncを使って理科大のサーバーへファイルを配置します。

/sitedata以下云々

/sitedataディレクトリには、ページをレンダリングする上で必要なデータが置かれています。たとえば

  • メニューの定義
  • ニュースフィード
  • ブログのテンプレート 等です。これらのファイルは/lib以下の拡張ライブラリ経由で/leyouts内にあるテンプレートファイル内で使われるものが多いです。

/lib以下に追加した拡張モジュール

っていっても数行しかないので、見てもらった方が早いと思いますが、/lib/context.rb/sitedata以下のファイルを読み込んでるだけ、/lib/default.rb/lib/helpers.rbはほとんどテンプレートやnanocのサイトにあるものを貼り付けただけです。

/commandsディレクトリ

nanoc …

と使えるnanoc拡張コマンドを定義してあります。ファイルはRubyで記述してあり、文法はたぶんnanocか何かのコマンド用DSLです。詳細は、基底クラスにしているNanoc3::CLI::Commandsやその周りのファイルを見てください。

引き継ぎ

githubでファイル管理してるし、世代が変わってまだこのシステムを引き継ぐなら、適当にforkしてやってください。

About

Ricora site for tus server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 48.2%
  • CSS 27.2%
  • Ruby 18.8%
  • JavaScript 5.8%