Memo/Linux/Namazu

https://dexlab.net:443/pukiwiki/index.php?Memo/Linux/Namazu
 

Memo/Linux

Memo/Linux/Namazu

既存マニュアルをnamazu対応に

phpやpear等のマニュアル類をnamazu対応に。

  1. 元のindex.htmlをindex.org.htmlとコピー
    cp index.html index.org.html
  2. 元のindex.htmlを_left.htmlとコピー
    cp index.html _left.html
  3. フレームTOPでindex.htmlを上書する。
  4. 全html中にCSSを設定する。(Devas等で全文置換)
    • 検索文字列
      </HEAD\n>
    • 置換文字列
      \n<link rel="stylesheet" HREF="../../../css/man.css" type="text/css">\n</HEAD\n>
  5. _left.htmlの編集
    • 検索フォームを埋め込む
      <form action="/cgi-bin/search/namazu.cgi" target="RIGHT">
      <input type="text" name="query" size="15">
      <input type="submit" value="検索">
      <input type="reset" value="リセット">
      <input type="hidden" name="lang" value="ja">
      <input type="hidden" name="whence" value="0">
      <input type="hidden" name="max" value="20">
      <input type="hidden" name="result" value="normal">
      <input type="hidden" name="sort" value="score">
      <input type="hidden" name="idxname" value="php_manual">
      </form>
      <HR>
    • EUC-JP以外ならば、EUC-JPに変更し保存する。
      <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP">
    • <AタグにTARGET="RIGHT"を付加する。
      • 検索文字列
        <A\n
      • 置換文字列
        <a TARGET="RIGHT"\n

idxnameを動的に設定する

GETで渡されたidxnameの引き継ぎはやってくれないので、JavaScript?で代用する。
「NMZ.head.ja」を以下のように編集。
namazu.cssとnamazu.jsを適当なパスに置く。

<link rel="stylesheet" type="text/css" href="/search/namazu.css" />
<script type="text/javascript" src="/search/namazu.js"></script>
</head>
<body lang="ja" onload="load();">

filenamazu.css filenamazu.js

Fedora Core 1の場合。以下のファイルを編集すれば、mknmzした際に自動的にコピーされる。

/usr/share/namazu/template/NMZ.head.ja

複数インデックスの場合のデフォルトテンプレート

インデックスのパス直下のテンプレートが参照される。
namazurcにTemplate設定があれば優先される。

ディレクトリ/パス

Fedora core 1の場合

設定は以下のコマンドで確認できる。

mknmz -C
パスファイル
/var/lib/namazu/index/index
/etc/namazu/mknmzrc namazurc namazu.cgi
/usr/share/namazu/filter pl template
/usr/bin/namazuバイナリファイル
/usr/include/namazu/Cヘッダファイル

インデックスの作成

例として、doxygenマニュアルをnamazuで検索できるようにしてみる。

  • HTMLファイル:/home/example/html/search/manuals/doxygen-manual
  • インデックス:/var/lib/namazu/index/doxygen
$ mkdir -p /var/lib/namazu/index/doxygen
$ LANG=ja_JP.eucjp mknmz -O /var/lib/namazu/index/doxygen /home/example/html/search/manuals/doxygen-manual

namazu.cgiと設定ファイルをコピー

$ mkdir /var/www/example.com/cgi-bin/search
$ cd /var/www/example.com/cgi-bin/search
$ cp /etc/namazu/namazu.cgi .
$ cp /etc/namazu/namazurc ./.namazurc

設定ファイルの編集

$ vi .namazurc
Index         /var/lib/namazu/index
# Template      /usr/share/namazu/template
Replace       /home/example/html/  /
Lang          ja
  • UTF-8文書のためにnkfでeuc-jpへ変換する
    $ vi .mknmzrc
    # $NKF = "module_nkf"; 
    $NKF = "/usr/bin/nkf";

サンプルhtml

	<head>
	<body>
	<form action="/cgi-bin/search/namazu.cgi">
	<input type="text" name="query" size="15">
	<input type="submit" value="検索">
	<input type="hidden" name="lang" value="ja">
	<input type="hidden" name="whence" value="0">
	<input type="hidden" name="max" value="20">
	<input type="hidden" name="result" value="normal">
	<input type="hidden" name="sort" value="score">
	<strong>対象インデックス</strong>
	<ul>
	 <li><input type="checkbox" name="idxname" value="doxygen">doxygen
	 <li><input type="checkbox" name="idxname" value="foo">foo
	 <li><input type="checkbox" name="idxname" value="bar">bar
	</ul>
	</form>
	</body>
	</html>

添付ファイル: filenamazu.js 1131件 [詳細] filenamazu.css 955件 [詳細] fileman_namazu.zip 1628件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:38 (9d)