Se você tiver documentação espalhada por todo o lugar (Github, Google Drive etc.) e deseja uma ferramenta de pesquisa centralizada sobre ela, então doks é para você.
O DOKS é uma ferramenta da CLI que agrega documentos provenientes de várias fontes (Github, Google Drive etc.) em um mecanismo de pesquisa (o Lucene é usado por padrão para a configuração local mínima, mas o Elasticsearch pode ser usado).

O procedimento de instalação pode ser encontrado em docs/install.md.
A documentação pode ser encontrada na pasta Docs.
Selecione um arquivo de configuração a ser usado com doks (por padrão: $HOME/.doks/config/default.yml ):
❯ export DOKS_CONFIG_FILE=docs/examples/config/simple.yml Aqui estamos usando um arquivo de configuração simples de docs/exemplos/config/simples.yml. Na prática, você não precisa dessa exportação, só precisa colocar sua configuração no caminho esperado padrão $HOME/.doks/config/default.yml .
A próxima etapa é indexar os documentos mencionados no arquivo de configuração para torná -los pesquisáveis:
❯ 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 !Execute uma consulta de pesquisa:
❯ doks search ' aws kafka ' | jq ' . 'Os resultados estão em JSON e parecem o seguinte:
[
{
"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 "
]
}
},
...
]Você também pode usar o JTAB para imprimir os resultados do JSON como uma tabela:
❯ 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 também tem um modo de interface do usuário para odiadores da CLI;)
❯ doks serve
23:16:10 INFO - listening on port: 8888
Agora você pode abrir seu navegador em: http: // localhost: 8888.

O DOKS está em seus estágios iniciais. Bugs devem ser esperados;). Se você encontrar alguns ou precisar de ajuda, não hesite em abrir um problema do GitHub.