GaucheのドキュメントをDashに追加する
背景
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上の検索及び表示が若干遅い時があるけど、やりたいことは出来たと思う。