Если у вас есть документация, распространяющаяся повсюду (GitHub, Google Drive и т. Д.), И вам нужен централизованный инструмент поиска, то doks для вас.
DOKS - это инструмент CLI, который агрегирует документы, поступающие из нескольких источников (GitHub, Google Drive и т. Д.) В поисковую систему (Lucene используется по умолчанию для минимальной локальной настройки, но вместо этого можно использовать Elasticsearch).

Процедуру установки можно найти в Docs/install.md.
Документация можно найти в папке DOCS.
Выберите файл конфигурации, который будет использоваться с doks (по умолчанию: $HOME/.doks/config/default.yml ):
❯ export DOKS_CONFIG_FILE=docs/examples/config/simple.yml Здесь мы используем простой файл конфигурации из Docs/Примеры/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;)
❯ doks serve
23:16:10 INFO - listening on port: 8888
Теперь вы можете открыть свой браузер по адресу: http: // localhost: 8888.

Докс находится на ранних стадиях. Ошибки следует ожидать;). Если вы столкнетесь с некоторыми или нужна помощь, не стесняйтесь открыть проблему GitHub.