doks
0.9.3
ドキュメントがあちこちに広がっている(Github、Googleドライブなど)、その上に集中検索ツールが必要な場合は、 doksが最適です。
Doksは、複数のソース(GitHub、Google Driveなど)からのドキュメントを検索エンジンに集約するCLIツールです(Luceneはデフォルトで最小ローカルセットアップに使用されますが、ElasticSearchを代わりに使用できます)。

インストール手順は、docs/install.mdにあります。
ドキュメントはDocsフォルダーにあります。
doksで使用する構成ファイルを選択します(デフォルト: $HOME/.doks/config/default.yml ):
❯ export DOKS_CONFIG_FILE=docs/examples/config/simple.ymlここでは、Docs/Examples/config/simple.ymlのシンプルな構成ファイルを使用しています。実際には、このエクスポートは必要ありません。設定をデフォルトの予想されるパス$HOME/.doks/config/default.ymlに配置するだけです。
次のステップは、構成ファイルで参照されているドキュメントにインデックスを付けて、検索可能にすることです。
❯ doks index
14:23:58 INFO - [wlezzar/jtab] cloning into ' /tmp/doks1910419821411559250 '
14:24:00 INFO - [wlezzar/jtab] 1 documents found !
14:24:00 INFO - [wlezzar/doks] cloning into ' /tmp/doks8654245137262434689 '
14:24:02 INFO - [wlezzar/doks] 0 documents found !
14:24:02 INFO - [adevinta/zoe] cloning into ' /tmp/doks756581970042346717 '
14:24:04 INFO - [adevinta/zoe] 36 documents found !検索クエリを実行します:
❯ doks search ' aws kafka ' | jq ' . '結果はJSONであり、次のようになります。
[
{
"link" : " https://github.com/adevinta/zoe/blob/master/docs/advanced/runners/lambda.md " ,
"score" : 3.4977975 ,
"matches" : {
"content" : [
" # Lambda runner nn The lambda runner triggers lambda functions to read / produce to the <B>Kafka</B> " ,
" using CloudFormation (an S3 bucket, <B>AWS</B> roles, etc.). For more details on the resources deployed " ,
" into <B>AWS</B> and registering the lambda within <B>AWS</B>. Zoe jar path needs to be set and must point to a valid zoe "
]
}
},
...
]JTABを使用して、JSON結果をテーブルとして印刷することもできます。
❯ doks search ' documentation search ' | jtab | less -S
┌────────────────────────────────────────────────────────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────────┐
│ link │ matches │ score │
├────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────┤
│ https://github.com/wlezzar/doks/blob/master/README.md │ content: │ 6.044318 │
│ │ - " <B>documents</B> coming from multiple sources (github, google drive, etc.) into a <B>search</B> engine (Lucene " │ │
│ │ - " - [adevinta/zoe] 36 <B>documents</B> found!n ` ` ` nn Make a < B > search < /B > query: nn ` ` ` bashn❯ doks <B>search</B> 'aws kafka' | jq " │ │
│ │ - " # DoksnnIf you have <B>documentation</B> spread all over the place (github, google drive, etc.) and you " │ │
├────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────┤
│ https://github.com/adevinta/zoe/blob/master/docs/basics/consume.md │ content: │ 3.2647414 │
│ │ - " will discard the message or not.nnThis feature can be used to perform <B>searches</B> into Kafka topics. It is one " │ │
│ │ - " ` ) and parallel execution ( ` --jobs 20 ` to spin up 20 pods), we can perform expensive < B > searches < /B > " │ │
│ │ - " execution in the advanced section of the < B > documentation < /B > . nn Filters are enabled with the ` --filter ` option " │ │
└────────────────────────────────────────────────────────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────────┘Doksには、CLI嫌いのUIモードもあります;)
❯ doks serve
23:16:10 INFO - listening on port: 8888
これで、http:// localhost:8888でブラウザを開くことができます。

Doksは初期段階にあります。バグが予想されるべきです;)。いくつかに遭遇したり、助けが必要な場合は、githubの問題を開くことをheしないでください。