SlideShare a Scribd company logo
1 of 18
Download to read offline
NAUTILUS 
AsakusaFramework勉強会2014真夏 
Asakusaのドキュメントを Dashで見たい 
青江崇(@aoetk)
NAUTILUS 
2 
自己紹介 
青江崇 
(株)ノーチラス・テクノロジーズ所属 
Twitter ID: aoetk/ HatenaID: aoe-tk 
かつてはSI屋でオンライン系システムのアーキテクチャ 設計をやっていたりRIA開発をしていたりと、うちの会 社では異色のフロント寄りの人間です 
GUI技術にも関心があって日本JavaFXユーザーグルー プでも時々発表とかしてます
NAUTILUS 
3 
今日のお話 
Mac向けAPIドキュメントブラウザDashにAsakusaFrameworkのドキュメントを組み込む方法について解 説します 
すいません、Mac限定の話になります… 
(個人的には最近Appleに飽きてきましたが)
NAUTILUS 
4 
Dashって何? 
http://kapeli.com/dash 
APIドキュメントブラウザ+コードスニペット管理ツール 
–様々なプログラミング言語、フレームワークのAPIリファレンス (150種類以上!)をまとめて閲覧、検索できる 
–ドキュメントセットは第3者がコントリビュート可能 
有償のツールだが無償でも利用可能 
–無償の場合は時々ウェイト画面が表示される 
様々なIDEやエディタと連携が可能
NAUTILUS 
5 
スクリーンショット
NAUTILUS 
6 
Asakusaで開発しているときに考えた… 
ホスト言語はJavaなので、JavaのAPIリファレンスは やっぱり頻繁に見る 
–それはDashで閲覧 
加えてAsakusaFrameworkのドキュメントも常に側に 置いておきたい 
–特に演算子リファレンス! 
どっちもDashでまとめて閲覧したい! 
というわけでAsakusaのドキュメントを Dashに取り込んでみました
NAUTILUS 
7 
Dashのドキュメントセットについて 
Dashは以下の構造を持つドキュメントディレクトリ (Docsetと呼ぶ)を取り込むことが可能 
DocumentName.docset 
└── Contents 
├── Info.plist 
└── Resources 
├── Documents 
│ ├── HTMLなど 
│ … 
└── docSet.dsidx 
SQLiteのテーブルとして 用意したインデックス 
ドキュメントはHTML 
各種メタ情報を記述 
ルートディレクトリ
Copyright © 2011 Nautilus Technologies, Inc. All rights reserved. 
NAUTILUS 
8 
Proprietary & Confidential 
それでは取り込んでみましょう
NAUTILUS 
9 
ドキュメントの入手 
AsakusaFrameworkのドキュメントはGitHubに公開 されているソースに含まれている 
ビルドにはSphinxを利用 
–予めSphinxをインストールしておく必要があります 
Macには最初からPythonが入っているので、ターミナルから “easy_install-U Sphinx” と打てばOK
NAUTILUS 
10 
ドキュメントのビルド 
まずはAsakusaFrameworkのcloneから 
$ gitclone https://github.com/asakusafw/asakusafw.git 
先にJavaDocの生成を 
–<project_dir>/target/site/apidocsに出力されます 
$ cd asakusafw 
$ mvnjavadoc:aggregate 
ドキュメントディレクトリに移動してビルド 
–<project_dir>/docs/ja/build/html に出力されます 
$ cd docs/ja 
$ make html
NAUTILUS 
11 
JavaDocのインデックスを作成 
Dash側でJavaDoc用のDocset生成ツールが用意されて いるので、それを利用する 
–http://kapeli.com/javadocset.zip 
適当なディレクトリ上で対象となるJavaDocのディレク トリを指定して実行するとDocsetが生成される 
$ ./javadocsetAsakusaFw<project- dir>/target/site/apidocs 
-> ディレクトリAsakusaFw.docsetが生成される 
Docsetの名前を指定
NAUTILUS 
12 
Asakusaのドキュメントをマージ 
DocsetにAsakusaのドキュメントを移してくる 
AsakusaFw.docset 
└── Contents 
├── Info.plist 
└── Resources 
├── Documents 
│├── allclasses-frame.html 
│├── allclasses-noframe.html 
│├── com 
││└── asakusafw 
… 
docs/ja/build/html 
├── _downloads 
│└── user-guide.html 
… 
├── genindex.html 
├── index.html 
├── introduction 
… 
AsakusaFw.docset 
└── Contents 
├── Info.plist 
└── Resources 
├── Documents 
│├── _downloads 
... 
│├── api 
││├── allclasses-frame.html 
││├── allclasses-noframe.html 
││├── com 
│││└── asakusafw 
... 
│├── genindex.html 
│├── index.html 
│├── introduction 
Docset 
Asakusaドキュメント 
apiディレクトリを掘って、 JavaDocを移動 
Documents 直下にコピー
NAUTILUS 
13 
インデックス修正 
JavaDocの位置をずらしたので、インデックスを修正 
$cd AsakusaFw.docset/Contents/Resources 
$ sqlite3 docSet.dsidx 
sqlite> update searchIndexset path=replace(path, 'com/asakusafw', 'api/com/asakusafw'); 
Macには最初からSQLiteが入っています
NAUTILUS 
14 
メタデータ修正 
メタデータファイルInfo.plistを修正し、Asakusaのド キュメントページをトップページにする 
–<Docset_dir>/Contents の直下にある 
<?xml version="1.0" encoding="UTF-8"?> 
<plistversion="1.0"> 
<dict> 
… 
<key>dashIndexFilePath</key> 
<string>overview-summary.html</string> 
<key>DashDocSetFamily</key> 
… 
</dict> 
</plist> 
<?xml version="1.0" encoding="UTF-8"?> 
<plistversion="1.0"> 
<dict> 
… 
<key>dashIndexFilePath</key> 
<string>index.html</string> 
<key>DashDocSetFamily</key> 
… 
</dict> 
</plist> 
dashIndexFilePath の値を修正
NAUTILUS 
15 
もう一修正 
Asakusaドキュメントのトップページにある、APIド キュメントのリンクをDocset内のAPIドキュメントに変 更しておく 
–<Docset_dir>/Contents/Resources/Documents/index.html 
<li><a class="reference external" href="http://asakusafw.s3.amazonaws.com/documents/0.6.2/release/api/index.html"> APIリファレンス</a></li> 
<li><a class="reference external" href="api/overview-summary.html">APIリファレンス </a></li>
NAUTILUS 
16 
後は取り込むだけ! 
作成したDocsetを指定
NAUTILUS 
17 
完成!
NAUTILUS 
18 
まとめ 
Dash、いいツールなのでMacユーザーな方は是非使っ てみよう 
–Windowsで似たようなツールないですかね|ω・`)チラ 
Asakusaの公式ドキュメントはGitHubで公開している ソースの中に含まれており、ビルドが可能 
–ドキュメントを手元に置きたい方、現場が閉鎖環境な方は是非 
–ドキュメントに誤りを見つけた方はプルリク送ってもいいのよ

More Related Content

What's hot

Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみたAlfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみたTasuku Otani
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようTasuku Otani
 
laravel x モバイルアプリ
laravel x モバイルアプリlaravel x モバイルアプリ
laravel x モバイルアプリMasaki Oshikawa
 
20130606 alfresco study16audit
20130606 alfresco study16audit20130606 alfresco study16audit
20130606 alfresco study16auditTakeshi Totani
 
Alfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしよう
Alfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしようAlfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしよう
Alfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしようTomomi Kawabe
 
Async Enhancement
Async EnhancementAsync Enhancement
Async Enhancementkamiyam .
 
Sbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞSbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞYoshitaka Fujii
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4アシアル株式会社
 
Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Yo Takezawa
 
Zabbix Conference Japan 2018 LT Configure by Ansible
Zabbix Conference Japan 2018 LT Configure by AnsibleZabbix Conference Japan 2018 LT Configure by Ansible
Zabbix Conference Japan 2018 LT Configure by AnsibleYukiya Hayashi
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4leverages_event
 
Laravelの認証について
Laravelの認証についてLaravelの認証について
Laravelの認証についてTakeo Noda
 
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Masashi Shinbara
 
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーションMasashi Shinbara
 
Laravelとテストについて
LaravelとテストについてLaravelとテストについて
LaravelとテストについてTakeo Noda
 
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門kk_Ataka
 
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-Masashi Shinbara
 
Ansible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic InventoryAnsible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic InventoryHideki Saito
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いたAkihiro Kuwano
 

What's hot (19)

Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみたAlfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 
laravel x モバイルアプリ
laravel x モバイルアプリlaravel x モバイルアプリ
laravel x モバイルアプリ
 
20130606 alfresco study16audit
20130606 alfresco study16audit20130606 alfresco study16audit
20130606 alfresco study16audit
 
Alfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしよう
Alfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしようAlfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしよう
Alfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしよう
 
Async Enhancement
Async EnhancementAsync Enhancement
Async Enhancement
 
Sbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞSbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4
 
Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築
 
Zabbix Conference Japan 2018 LT Configure by Ansible
Zabbix Conference Japan 2018 LT Configure by AnsibleZabbix Conference Japan 2018 LT Configure by Ansible
Zabbix Conference Japan 2018 LT Configure by Ansible
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4
 
Laravelの認証について
Laravelの認証についてLaravelの認証について
Laravelの認証について
 
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
 
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
 
Laravelとテストについて
LaravelとテストについてLaravelとテストについて
Laravelとテストについて
 
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
 
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
 
Ansible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic InventoryAnsible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic Inventory
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
 

Viewers also liked

Asakusa fw勉強会2014真夏
Asakusa fw勉強会2014真夏Asakusa fw勉強会2014真夏
Asakusa fw勉強会2014真夏鉄平 土佐
 
Asakusa fw演算子チートシートについて
Asakusa fw演算子チートシートについてAsakusa fw演算子チートシートについて
Asakusa fw演算子チートシートについて鉄平 土佐
 
「Asakusa0.7の新機能で、テストデータをどうドキュメントするのか的な実用的なアレ」 by @okachimachiorz1
「Asakusa0.7の新機能で、テストデータをどうドキュメントするのか的な実用的なアレ」 by @okachimachiorz1「Asakusa0.7の新機能で、テストデータをどうドキュメントするのか的な実用的なアレ」 by @okachimachiorz1
「Asakusa0.7の新機能で、テストデータをどうドキュメントするのか的な実用的なアレ」 by @okachimachiorz1鉄平 土佐
 
非構造データをAsakusaで扱うための考え方と実装
非構造データをAsakusaで扱うための考え方と実装非構造データをAsakusaで扱うための考え方と実装
非構造データをAsakusaで扱うための考え方と実装雄一 黒田
 
AsakusaFramework はじめてのオペレーターのテスト
AsakusaFramework はじめてのオペレーターのテストAsakusaFramework はじめてのオペレーターのテスト
AsakusaFramework はじめてのオペレーターのテストts_min
 
Hadoop Conference Japan 2013 Winter オープニングスライド
Hadoop Conference Japan 2013 Winter オープニングスライドHadoop Conference Japan 2013 Winter オープニングスライド
Hadoop Conference Japan 2013 Winter オープニングスライドhamaken
 
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」オラクルエンジニア通信
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16Yifeng Jiang
 
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 20162016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016Yu Ishikawa
 
基幹業務もHadoopで!! -ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて-
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
基幹業務もHadoopで!! -ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて-Keigo Suda
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
 

Viewers also liked (11)

Asakusa fw勉強会2014真夏
Asakusa fw勉強会2014真夏Asakusa fw勉強会2014真夏
Asakusa fw勉強会2014真夏
 
Asakusa fw演算子チートシートについて
Asakusa fw演算子チートシートについてAsakusa fw演算子チートシートについて
Asakusa fw演算子チートシートについて
 
「Asakusa0.7の新機能で、テストデータをどうドキュメントするのか的な実用的なアレ」 by @okachimachiorz1
「Asakusa0.7の新機能で、テストデータをどうドキュメントするのか的な実用的なアレ」 by @okachimachiorz1「Asakusa0.7の新機能で、テストデータをどうドキュメントするのか的な実用的なアレ」 by @okachimachiorz1
「Asakusa0.7の新機能で、テストデータをどうドキュメントするのか的な実用的なアレ」 by @okachimachiorz1
 
非構造データをAsakusaで扱うための考え方と実装
非構造データをAsakusaで扱うための考え方と実装非構造データをAsakusaで扱うための考え方と実装
非構造データをAsakusaで扱うための考え方と実装
 
AsakusaFramework はじめてのオペレーターのテスト
AsakusaFramework はじめてのオペレーターのテストAsakusaFramework はじめてのオペレーターのテスト
AsakusaFramework はじめてのオペレーターのテスト
 
Hadoop Conference Japan 2013 Winter オープニングスライド
Hadoop Conference Japan 2013 Winter オープニングスライドHadoop Conference Japan 2013 Winter オープニングスライド
Hadoop Conference Japan 2013 Winter オープニングスライド
 
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16
 
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 20162016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
 
基幹業務もHadoopで!! -ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて-
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
基幹業務もHadoopで!! -ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて-
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 

Similar to AsakusaのドキュメントをDashで見たい

鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料Takashi Aoe
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」Yoshiki Shibukawa
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorockyuzorock
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
Apache CloudStack -コントリビューションの手引き-
Apache CloudStack -コントリビューションの手引き-Apache CloudStack -コントリビューションの手引き-
Apache CloudStack -コントリビューションの手引き-Go Chiba
 
Flow in VR Funhouse MOD Kit
Flow in VR Funhouse MOD KitFlow in VR Funhouse MOD Kit
Flow in VR Funhouse MOD KitNVIDIA Japan
 
Terraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみたTerraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみた山下 達也
 
Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Tadahiro Ishisaka
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!Atsushi Tadokoro
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)Daisuke Ikeda
 
1day cloud on_your_lab
1day cloud on_your_lab1day cloud on_your_lab
1day cloud on_your_labGo Chiba
 
Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopTakashi Kambayashi
 
初めてのPadrino
初めてのPadrino初めてのPadrino
初めてのPadrinoTakeshi Yabe
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -Tomoya Kabe
 
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例Shigeru UCHIYAMA
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2Takao Tetsuro
 
TensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアTensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアMr. Vengineer
 

Similar to AsakusaのドキュメントをDashで見たい (20)

鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
NanoA
NanoANanoA
NanoA
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Apache CloudStack -コントリビューションの手引き-
Apache CloudStack -コントリビューションの手引き-Apache CloudStack -コントリビューションの手引き-
Apache CloudStack -コントリビューションの手引き-
 
Flow in VR Funhouse MOD Kit
Flow in VR Funhouse MOD KitFlow in VR Funhouse MOD Kit
Flow in VR Funhouse MOD Kit
 
Terraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみたTerraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみた
 
Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
 
1day cloud on_your_lab
1day cloud on_your_lab1day cloud on_your_lab
1day cloud on_your_lab
 
Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for Hadoop
 
初めてのPadrino
初めてのPadrino初めてのPadrino
初めてのPadrino
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
 
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2
 
Windows Azure PHP Tips
Windows Azure PHP Tips Windows Azure PHP Tips
Windows Azure PHP Tips
 
TensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアTensorFlow XLA とハードウェア
TensorFlow XLA とハードウェア
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

AsakusaのドキュメントをDashで見たい

  • 2. NAUTILUS 2 自己紹介 青江崇 (株)ノーチラス・テクノロジーズ所属 Twitter ID: aoetk/ HatenaID: aoe-tk かつてはSI屋でオンライン系システムのアーキテクチャ 設計をやっていたりRIA開発をしていたりと、うちの会 社では異色のフロント寄りの人間です GUI技術にも関心があって日本JavaFXユーザーグルー プでも時々発表とかしてます
  • 3. NAUTILUS 3 今日のお話 Mac向けAPIドキュメントブラウザDashにAsakusaFrameworkのドキュメントを組み込む方法について解 説します すいません、Mac限定の話になります… (個人的には最近Appleに飽きてきましたが)
  • 4. NAUTILUS 4 Dashって何? http://kapeli.com/dash APIドキュメントブラウザ+コードスニペット管理ツール –様々なプログラミング言語、フレームワークのAPIリファレンス (150種類以上!)をまとめて閲覧、検索できる –ドキュメントセットは第3者がコントリビュート可能 有償のツールだが無償でも利用可能 –無償の場合は時々ウェイト画面が表示される 様々なIDEやエディタと連携が可能
  • 6. NAUTILUS 6 Asakusaで開発しているときに考えた… ホスト言語はJavaなので、JavaのAPIリファレンスは やっぱり頻繁に見る –それはDashで閲覧 加えてAsakusaFrameworkのドキュメントも常に側に 置いておきたい –特に演算子リファレンス! どっちもDashでまとめて閲覧したい! というわけでAsakusaのドキュメントを Dashに取り込んでみました
  • 7. NAUTILUS 7 Dashのドキュメントセットについて Dashは以下の構造を持つドキュメントディレクトリ (Docsetと呼ぶ)を取り込むことが可能 DocumentName.docset └── Contents ├── Info.plist └── Resources ├── Documents │ ├── HTMLなど │ … └── docSet.dsidx SQLiteのテーブルとして 用意したインデックス ドキュメントはHTML 各種メタ情報を記述 ルートディレクトリ
  • 8. Copyright © 2011 Nautilus Technologies, Inc. All rights reserved. NAUTILUS 8 Proprietary & Confidential それでは取り込んでみましょう
  • 9. NAUTILUS 9 ドキュメントの入手 AsakusaFrameworkのドキュメントはGitHubに公開 されているソースに含まれている ビルドにはSphinxを利用 –予めSphinxをインストールしておく必要があります Macには最初からPythonが入っているので、ターミナルから “easy_install-U Sphinx” と打てばOK
  • 10. NAUTILUS 10 ドキュメントのビルド まずはAsakusaFrameworkのcloneから $ gitclone https://github.com/asakusafw/asakusafw.git 先にJavaDocの生成を –<project_dir>/target/site/apidocsに出力されます $ cd asakusafw $ mvnjavadoc:aggregate ドキュメントディレクトリに移動してビルド –<project_dir>/docs/ja/build/html に出力されます $ cd docs/ja $ make html
  • 11. NAUTILUS 11 JavaDocのインデックスを作成 Dash側でJavaDoc用のDocset生成ツールが用意されて いるので、それを利用する –http://kapeli.com/javadocset.zip 適当なディレクトリ上で対象となるJavaDocのディレク トリを指定して実行するとDocsetが生成される $ ./javadocsetAsakusaFw<project- dir>/target/site/apidocs -> ディレクトリAsakusaFw.docsetが生成される Docsetの名前を指定
  • 12. NAUTILUS 12 Asakusaのドキュメントをマージ DocsetにAsakusaのドキュメントを移してくる AsakusaFw.docset └── Contents ├── Info.plist └── Resources ├── Documents │├── allclasses-frame.html │├── allclasses-noframe.html │├── com ││└── asakusafw … docs/ja/build/html ├── _downloads │└── user-guide.html … ├── genindex.html ├── index.html ├── introduction … AsakusaFw.docset └── Contents ├── Info.plist └── Resources ├── Documents │├── _downloads ... │├── api ││├── allclasses-frame.html ││├── allclasses-noframe.html ││├── com │││└── asakusafw ... │├── genindex.html │├── index.html │├── introduction Docset Asakusaドキュメント apiディレクトリを掘って、 JavaDocを移動 Documents 直下にコピー
  • 13. NAUTILUS 13 インデックス修正 JavaDocの位置をずらしたので、インデックスを修正 $cd AsakusaFw.docset/Contents/Resources $ sqlite3 docSet.dsidx sqlite> update searchIndexset path=replace(path, 'com/asakusafw', 'api/com/asakusafw'); Macには最初からSQLiteが入っています
  • 14. NAUTILUS 14 メタデータ修正 メタデータファイルInfo.plistを修正し、Asakusaのド キュメントページをトップページにする –<Docset_dir>/Contents の直下にある <?xml version="1.0" encoding="UTF-8"?> <plistversion="1.0"> <dict> … <key>dashIndexFilePath</key> <string>overview-summary.html</string> <key>DashDocSetFamily</key> … </dict> </plist> <?xml version="1.0" encoding="UTF-8"?> <plistversion="1.0"> <dict> … <key>dashIndexFilePath</key> <string>index.html</string> <key>DashDocSetFamily</key> … </dict> </plist> dashIndexFilePath の値を修正
  • 15. NAUTILUS 15 もう一修正 Asakusaドキュメントのトップページにある、APIド キュメントのリンクをDocset内のAPIドキュメントに変 更しておく –<Docset_dir>/Contents/Resources/Documents/index.html <li><a class="reference external" href="http://asakusafw.s3.amazonaws.com/documents/0.6.2/release/api/index.html"> APIリファレンス</a></li> <li><a class="reference external" href="api/overview-summary.html">APIリファレンス </a></li>
  • 16. NAUTILUS 16 後は取り込むだけ! 作成したDocsetを指定
  • 18. NAUTILUS 18 まとめ Dash、いいツールなのでMacユーザーな方は是非使っ てみよう –Windowsで似たようなツールないですかね|ω・`)チラ Asakusaの公式ドキュメントはGitHubで公開している ソースの中に含まれており、ビルドが可能 –ドキュメントを手元に置きたい方、現場が閉鎖環境な方は是非 –ドキュメントに誤りを見つけた方はプルリク送ってもいいのよ