Si vous avez une documentation répandue partout (GitHub, Google Drive, etc.) et que vous voulez un outil de recherche centralisé dessus, alors doks est pour vous.
DOKS est un outil CLI qui agrége les documents provenant de plusieurs sources (GitHub, Google Drive, etc.) dans un moteur de recherche (Lucene est utilisé par défaut pour une configuration locale minimale, mais Elasticsearch peut être utilisé à la place).

La procédure d'installation peut être trouvée sur docs / install.md.
La documentation peut être trouvée dans le dossier DOCS.
Sélectionnez un fichier de configuration à utiliser avec doks (par défaut: $HOME/.doks/config/default.yml ):
❯ export DOKS_CONFIG_FILE=docs/examples/config/simple.yml Ici, nous utilisons un fichier de configuration simple à partir de docs / exemples / config / simple.yml. En pratique, vous n'avez pas besoin de cette exportation, il vous suffit de mettre votre configuration dans le chemin par défaut attendu $HOME/.doks/config/default.yml .
L'étape suivante consiste à indexer les documents référencés dans le fichier de configuration pour les rendre consultables:
❯ 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 !Effectuer une requête de recherche:
❯ doks search ' aws kafka ' | jq ' . 'Les résultats sont en JSON et ressembleraient à ce qui suit:
[
{
"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 "
]
}
},
...
]Vous pouvez également utiliser JTAB pour imprimer les résultats JSON en tant que table:
❯ 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 a également un mode d'interface utilisateur pour les ennemis CLI;)
❯ doks serve
23:16:10 INFO - listening on port: 8888
Vous pouvez maintenant ouvrir votre navigateur sur: http: // localhost: 8888.

Doks en est à ses débuts. Des bugs doivent être attendus;). Si vous en rencontrez ou avez besoin d'aide, n'hésitez pas à ouvrir un problème GitHub.