-
Notifications
You must be signed in to change notification settings - Fork 1
TogoStanza
ktym edited this page Feb 13, 2014
·
2 revisions
TogoStanza は、SPARQL 検索の結果を HTML に可視化するためのフレームワークで、もともと TogoGenome など医学・生物学のためのゲノム DB を構築するために作られましたが、かなりジェネリックなソフトウェアとなっています。
- Ruby (Rack) を使っています
- HTML のテンプレートには Handlebars を使っています
- ドキュメントには Markdown を使っています
- 出来上がったものは RubyGems のパッケージになります
- GitHub のレポジトリと連動できます
- Heroku にもデプロイできます
このレポジトリでは、
- TogoStanza 開発環境とサーバ実装 (togostanza-gem)
- TogoGenome などで使われているスタンザのコード
を公開しています。
TODO:
- 作者やライセンスについて追記
- TogoStanza サーバの機能 (/help など) について説明
- TogoStanza の規約 (data-stanza-* などやクラス名などの制約) について説明
% sudo gem install togostanza
% togostanza init my_stanza_server
% cd my_stanza_server
% togostanza stanza new my_new_stanza
このあと基本的には、
- 引数を受け取り、SPARQL を実行し、結果を整理するコード部分 (stanza.rb)
- 結果を受け取り、HTML にレンダリングする部分 (template.hbs)
- 機能説明、引数やレンダリング例を表示するヘルプ部分 (help.md)
- 作者やライセンスを記入し RubyGems を作るための部分 (gemspec)
上記のファイルを編集し、
% bundle exec rackup
を実行すると http://localhost:9292/stanza で動作確認できます。
このレポジトリを用いて TogoStanza (ここでは NanoStanza の例で説明します)を開発する場合は、上記の togostanza init の代わりに
% git clone [email protected]:togostanza/nanostanza.git
% cd nanostanza
% git branch my_new_nano_stanza
% git checkout my_new_nano_stanza
% togostanza stanza new my_new_nano
ここでコードを開発し、動作確認して
% git status
% git add .
% git commit -m "Initial commit of my NanoStanza"
% git push origin my_new_nano_stanza
このあと https://github.com/togostanza/nanostanza から Compare & pull request のボタンでプルリクエストを送ります。 取り込まれたスタンザは、いまのところ http://nanostanza.herokuapp.com/stanza にデプロイされることになっています。 マージされたら、
% git checkout master
% git pull
で同期できます。master にマージされたブランチは消してしまって構いません。
% git branch -d my_new_nano_stanza (消えない時は -d を -D にすると強制消去できます)
次の修正や開発を始めるときは、再度ブランチを切ってから作業しましょう。
% git branch fix_my_nano_stanza
% git checkout fix_my_nano_stanza