Help us understand the problem. What is going on with this article?

Chef-DocsをDash.appに登録してみる

More than 5 years have passed since last update.

この記事は最終更新から1年以上経過しています。 気をつけてね。

が、イマイチだった。

MacのアプリDashというドキュメントビュワーで、OpscodeのChef Docsが読めるといいかもしれないと思い挑戦。
Dash.appについてはこの辺で紹介されてます。 => Dash | naoyaのはてなダイアリー

doc2dashのセットアップ

ChefDocsはSphinxプロジェクトなので、Dashが用意しているdoc2dashユーティリティを使えるようセットアップ。

OSX標準で長らく触ってなかったpip(1.0.2)がマトモに動かなかったのでとりあえずbrewのを使うことに。

install_doc2dash
$ brew install python
$ brew link --overwrite python

$ /usr/local/bin/pip install --user doc2dash
$ /usr/local/bin/pip install --user sphinx

$ doc2dash --version
doc2dash 1.1.0

OK。

ChefDocsをローカルでビルドする

GithubからChefDocsを取ってきます。

$ git clone --depth 1 https://github.com/opscode/chef-docs.git

たまにsphinx-buildがFailするコミットがあるようなので、一応コミットログをみて安定してそうなリビジョンをCheckOutしましょう。

$ cd chef-doc
$ export PATH="/usr/local/share/python:$PATH"
$ make master

ビルドは時間がかかるので、しばらくほっときましょう。

genindexの捏造

doc2dashユーティリティでsphinxプロジェクトをdashに取り込むためには索引のgenindex.htmlが必要ですが、Chef Docsのプロジェクトではこれを生成するようになっていません。
conf.pyを編集すればgenindex.htmlを作れるのですが、元々のファイルがindexに登録する単語を定義してないので、生成しても空っぽです。

仕方ないので一旦トップページを使いまわすことにしてコピーします。

$ cp build/index.html build/genindex.html

Dashに登録

build/以下に出力されたhtml達をdoc2dashユーティリティを使用してDashに登録します。

$ doc2dash --name 'Chef Docs' -A build --icon ./images/opscode_chef_html_logo.png

Dash.jpg

Okayです。

Dashで閲覧

登録されたドキュメントをDashで開いてみます、見た目は良い感じです。

Dash2.jpg

既知の残念

ローカルなので閲覧はサクサクですが、Dashならではというところまでは至らず。 変換時に何か仕込めば良いのでしょうが。

  • 検索不可
  • モジュール一覧なし
  • クリックしたらWebに飛んじゃう箇所がいくつか

要はhtmlファイルをブラウザで見るのと変わらないので、docsetsの作り方を理解してもう少し便利にしたいところ。
とりあえず右上のindexから索引を開く運用でなら使えるかも。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away