背景

Gaucheのドキュメントを見るにはEmacsのinfoから引けるようにしたりブラウザで見たりとあるけど、個人的にはDashで引けると助かる気がしたので追加してみた。

手順

GaucheのドキュメントHTMLを作成

僕はVM上のcentosでHTMLを作ったけど、Macでやるのも変わらないと思う。

-- text2htmlがなければinstallしておく $ sudo yum install -y text2html -- http://practical-scheme.net/gauche/download.html $ curl -O -L "http://prdownloads.sourceforge.net/gauche/Gauche-0.9.5.tgz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 6307k 100 6307k 0 0 1576k 0 0:00:04 0:00:04 --:--:-- 2091k $ cd Gauche-0.9.5 $ gzip -dc Gauche-0.9.5.tgz | tar xvf - $ ./configure $ make $ cd doc $ make html

これでdoc配下に gauche-ref.html (英語版)および gauche-refj.html (日本語版)が出来る。 以下は日本語版を追加するものとして進める。

DashのDocset作成

公式の通り。

12 Any HTML Documentation

こちらに沿う。Dashingを使わない場合は以下のサイトの通りでいけるのではないかと思うけど確認はしていない。 自作Dash docsetの作り方 — Alfred + Dashの爆速リファレンス引き環境を拡張する

-- Docset用のsqlite DBとかplistとか作ってくれるやつ -- https://github.com/technosophos/dashing -- 予めGoが必要 $ go get -u github.com/technosophos/dashing $ cd <gauche-refj.htmlが置いてあるディレクトリ> $ dashing create

dashing.jsonの雛形が出来るので編集する。

{ " name ": " Gauche ", " package ": " gauche ", " index ": " gauche-refj.html ", " selectors ": { " h1.chapter ": " Chapter ", " h3.subsection ": " Section ", " dt b ": " Info " } , " ignore ": [ " ABOUT " ] , " icon32x32 ": "", " allowJS ": false , " ExternalURL ": "" }

index はindex.html的なのを指定するのだけど、 gaucheの場合1HTMLファイルしかない コメントにてセクションごとにファイルを分ける方法を教えて頂いた make htmls とすればセクションごとに分割された html を得ることもできますよ。

selectors は、セレクタにマッチした部分をDashの索引として登録する

編輯したらbuildする。

$ dashing build gauche -- こんな感じでファイルが出来る $ tree gauche.docset/ gauche.docset/ └── Contents ├── Info.plist └── Resources ├── Documents │ └── gauche-refj.html └── docSet.dsidx 3 directories, 3 files

DashにDocsetを追加する

メニュー の Docsets の + から上記の gauche.docset を選べば出来上がり。

感想

1ファイルに全て入っているせいかDash上の検索及び表示が若干遅い時があるけど、やりたいことは出来たと思う。