オフラインでこの手のリファレンス・マニュアル、特に gtk-doc を使って生成したものを参照したいのであれば、ウェブ・ブラウザよりもキーワード検索が高速な devhelp の方が便利でお薦め:
devhelp では、これらの html 形式のドキュメントを「ブック」(book) と呼んでいるが、これは起動時に特定のディレクトリに格納されている *.devhelp とか *.devhelp2 というファイル (gzip 圧縮したものでも可能) を読み込んでブックの一覧を生成している。この一覧が、devhelp の左ペインにある「目次」に相当する。
ちなみに、この特定のディレクトリは、バージョン 3.4 のコードを調べてみると
$ cat -n devhelp-3.4.1/src/dh-book-manager.c
291 static void 292 book_manager_add_books_in_data_dir (DhBookManager *book_manager, 293 const gchar *data_dir) 294 { 295 gchar *dir; 296 297 dir = g_build_filename (data_dir, "gtk-doc", "html", NULL); 298 book_manager_add_from_dir (book_manager, dir); 299 g_free (dir); 300 301 dir = g_build_filename (data_dir, "devhelp", "books", NULL); 302 book_manager_add_from_dir (book_manager, dir); 303 g_free (dir); 304 } 305 306 void 307 dh_book_manager_populate (DhBookManager *book_manager) 308 { 309 const gchar * const * system_dirs; 310 311 book_manager_add_books_in_data_dir (book_manager, 312 g_get_user_data_dir ()); 313 314 system_dirs = g_get_system_data_dirs (); 315 while (*system_dirs) { 316 book_manager_add_books_in_data_dir (book_manager, 317 *system_dirs); 318 system_dirs++; 319 } 320 321 #ifdef GDK_WINDOWING_QUARTZ 322 book_manager_add_from_xcode_docset ( 323 book_manager, 324 "/Library/Developer/Shared/Documentation/DocSets"); 325 #endif 326 }
のように、システム規模だと次のディレクトリ (${datadir} はビルド時に決まる) になり:
- ${datadir}/gtk-doc/html
- ${datadir}/devhelp/books
ユーザ規模だと次のディレクトリ (${HOME} は実行時に決まる) になる:
- ${HOME}/.local/share/gtk-doc/html
- ${HOME}/.local/share/devhelp/books
ということで、ユーザ規模のディレクトリにはこの手の翻訳ドキュメントを展開しておけばよい:
- gtk-2.14.x-refs.tar.gz: GTK+ 2.14.7 版の API リファレンスのアーカイブ
$ mkdir -p ${HOME}/.local/share/gtk-doc/html/ $ tar xvfz gtk-2.14.x-refs.tar.gz -C ${HOME}/.local/share/gtk-doc/html/ $ ls ${HOME}/.local/share/gtk-doc/html/ gtk $ ls ${HOME}/.local/share/gtk-doc/html/gtk/*/*.devhelp* ${HOME}/.local/share/gtk-doc/html/gtk/html/gtk.devhelp2 ディレクトリ名を変更する $ mv ${HOME}/.local/share/gtk-doc/html/gtk/html ${HOME}/.local/share/gtk-doc/html/gtk-tmp $ rm -rf ${HOME}/.local/share/gtk-doc/html/gtk $ mv ${HOME}/.local/share/gtk-doc/html/gtk-tmp ${HOME}/.local/share/gtk-doc/html/gtk
注意する点として、同名の *.devhelp とか *.devhelp2 といった目次ファイルを持つディレクトリがシステム規模とユーザ規模にある場合はユーザ規模の方が優先されることと、basename(目次ファイル名) をディレクトリ名にする必要があるということ。