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

Elixir のライブラリのドキュメントを Dash docset に変換する・暫定版

More than 3 years have passed since last update.

追記:Dash 3.1.1 あたりから Hex Docsets に対応しているので以下は不要。

ExDocDash を使うと Elixir のライブラリのドキュメントを Dash 向けに変換することができる。コマンドで一発というわけにはいかず手作業が必要なので暫定版としておく。

1. ライブラリのソースコードを取得する

ここでは Phoenix を例に取る。 GitHub からリポジトリをクローンする。必要ならドキュメントを生成したいリビジョンをチェックアウトする。

git clone https://github.com/phoenixframework/phoenix
cd phoenix
git checkout v0.15.0  # 必要に応じて

2. mix.exs を書き換える

mix.exs を開き、依存関係に {:ex_doc_dash, "~> 0.0", only: :docs} を追加する。

mix.exs
defmodule Phoenix.Mixfile do
  use Mix.Project
  # ...

  defp deps do
    [{:cowboy, "~> 1.0", optional: true},
     {:plug, ">= 0.13.1 and < 2.0.0"},
     {:poison, "~> 1.3"},

     # Docs dependencies
     {:earmark, "~> 0.1", only: :docs},
     {:ex_doc, "~> 0.7.1", only: :docs},
     {:inch_ex, "~> 0.2", only: :docs},
     {:ex_doc_dash, "~> 0.0", only: :docs},  # これを追加する

     # Test dependencies
     {:phoenix_html, "~> 1.2", only: :test},
     {:websocket_client, github: "jeremyong/websocket_client", only: :test}]
  end

  # ...
end

3. 依存モジュールを取得する

MIX_ENV=docs mix deps.get

ドキュメントに関する依存関係を取得するため MIX_ENV=docs を指定しておく。

4. Dash の docset を生成する

ExDocDash が入っていれば mix docs.dash コマンドが使えるようになる。これを実行すると docset を生成できる。

MIX_ENV=docs mix docs.dash
出力
Compiled lib/mix/tasks/phoenix.routes.ex
Compiled lib/mix/tasks/compile.phoenix.ex
# ...
Generated phoenix app
Docs successfully generated.
Open with the command: open -a Dash "/path/to/phoenix/doc/Phoenix 0.15.0.docset"

生成が完了すると docset を Dash にインストールするコマンドを指示される。指示どおり実行すればインストールできる。

Why do not you register as a user and use Qiita more conveniently?
  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
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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