Skip to content
Snippets Groups Projects
README.md 5.74 KiB
Newer Older
Artur Sabirov's avatar
Artur Sabirov committed
# Документация Picodata
Alexander Tolstoy's avatar
Alexander Tolstoy committed

Artur Sabirov's avatar
Artur Sabirov committed
В репозитории расположены исходные файлы проекта [MkDocs](https://www.mkdocs.org/), с помощью которого генерируется статический сайт документации Picodata — [https://docs.picodata.io/picodata/](https://docs.picodata.io/picodata/)
Alexander Tolstoy's avatar
Alexander Tolstoy committed

Artur Sabirov's avatar
Artur Sabirov committed
# Содержание

* [Тестирование документации Picodata](#тестирование-документации-picodata)
    * [Установка Pipenv](#установка-pipenv)
    * [Клонирование репозитория](#клонирование-репозитория)
    * [Установка зависимостей](#установка-зависимостей)
Artur Sabirov's avatar
Artur Sabirov committed
    * [Запуск локального сервера MkDocs](#запуск-локального-сервера-mkdocs)
    * [Cборка документации](#cборка-документации)
    * [Линтинг скриптов Python](#линтинг-скриптов-python)
    * [Форматирование скриптов Python](#форматирование-скриптов-python)
    * [Активация виртуального окружения Pipenv](#активация-виртуального-окружения-pipenv)
Artur Sabirov's avatar
Artur Sabirov committed
    * [Добавление зависимостей](#добавление-зависимостей)
Artur Sabirov's avatar
Artur Sabirov committed
* [Запуск документации Picodata в Docker](#запуск-документации-picodata-в-docker)

# Тестирование документации Picodata

## Установка Pipenv

Откройте терминал, введите команду:

``` shell
pip install pipenv
Alexander Tolstoy's avatar
Alexander Tolstoy committed
```
Artur Sabirov's avatar
Artur Sabirov committed

Для установки Pipenv потребуются Python не ниже версии 3.7 и актуальный `pip`

Подробнее — [Pipenv Installation](https://pipenv.pypa.io/en/latest/installation.html)

## Клонирование репозитория

Откройте терминал, последовательно введите команды:

``` shell
git clone https://git.picodata.io/core/docs.git
Artur Sabirov's avatar
Artur Sabirov committed
cd docs
Alexander Tolstoy's avatar
Alexander Tolstoy committed
```

## Установка зависимостей

Введите команду:

``` shell
pipenv sync -d
```

С помощью этой команды будут установлены группы модулей `[packages]` и `[dev-packages]`, указанные в [Pipfile](Pipfile)

Artur Sabirov's avatar
Artur Sabirov committed
## Запуск локального сервера MkDocs

Введите команду:

``` shell
pipenv run serve
Alexander Tolstoy's avatar
Alexander Tolstoy committed
```
Artur Sabirov's avatar
Artur Sabirov committed

Локальный сайт документации Picodata будет доступен по адресу [http://127.0.0.1:8000](http://127.0.0.1:8000/)

Для остановки локального сервера MkDocs нажмите `Ctrl + Z`

## Cборка документации

Введите команду:

``` shell
pipenv run build
Artur Sabirov's avatar
Artur Sabirov committed
С помощью этой команды сайт документации будет собран [в «строгом» режиме](https://www.mkdocs.org/user-guide/cli/#mkdocs-build) — с флагом `-s` / `--strict`

Полученную сборку можно запустить, например, с помощью модуля [http.server](https://docs.python.org/3/library/http.server.html). Введите команду:

``` shell
python -m http.server -d site --bind 127.0.0.1
Artur Sabirov's avatar
Artur Sabirov committed

## Линтинг скриптов Python

Введите команду:

``` shell
pipenv run lint
Alexander Tolstoy's avatar
Alexander Tolstoy committed
```

Artur Sabirov's avatar
Artur Sabirov committed
Хуки из папки `hooks` будет последовательно проверены с помощью следующих модулей:
Artur Sabirov's avatar
Artur Sabirov committed

* [`flake8`](https://github.com/pycqa/flake8/)
* [`black`](https://github.com/psf/black)
* [`mypy`](https://github.com/python/mypy)

## Форматирование скриптов Python
Alexander Tolstoy's avatar
Alexander Tolstoy committed

Artur Sabirov's avatar
Artur Sabirov committed
Введите команду:
Alexander Tolstoy's avatar
Alexander Tolstoy committed

Artur Sabirov's avatar
Artur Sabirov committed
``` shell
pipenv run fmt
Alexander Tolstoy's avatar
Alexander Tolstoy committed
```
Artur Sabirov's avatar
Artur Sabirov committed
Форматирование хуков из папки `hooks` будет скорректировано форматтером `black`
Artur Sabirov's avatar
Artur Sabirov committed

## Активация виртуального окружения Pipenv

Введите команду:

``` shell
pipenv shell
Artur Sabirov's avatar
Artur Sabirov committed
Активированное виртуальное окружение Pipenv позволит использовать напрямую команды MkDocs и остальных установленных модулей
Alexander Tolstoy's avatar
Alexander Tolstoy committed

Artur Sabirov's avatar
Artur Sabirov committed
Для выхода из виртуального окружения Pipenv введите `exit` или нажмите `Ctrl + D`
Alexander Tolstoy's avatar
Alexander Tolstoy committed

Artur Sabirov's avatar
Artur Sabirov committed
## Добавление зависимостей

Введите команду:

``` shell
pipenv update <package>
```

где `<package>` — название добавляемого модуля

Команда добавляет модуль в [Pipfile](Pipfile) и [Pipfile.lock](Pipfile.lock), затем устанавливает его в виртуальное окружение Pipenv

Artur Sabirov's avatar
Artur Sabirov committed
# Запуск документации Picodata в Docker

С помощью [Dockerfile](docker/static/Dockerfile) можно собрать сайт документации Picodata внутри образа [Docker](https://docs.docker.com/), затем запустить образ в контейнере

Создание образа `picodocs`:

``` shell
docker build -f docker/static/Dockerfile -t picodocs --no-cache .
Alexander Tolstoy's avatar
Alexander Tolstoy committed
```
Artur Sabirov's avatar
Artur Sabirov committed

Запуск образа `picodocs` в контейнере `picodocs`:

``` shell
docker run --name picodocs -p 127.0.0.1:8000:8000 picodocs
```

Запущенный в контейнере `picodocs` сайт документации Picodata будет доступен по адресу [http://127.0.0.1:8000](http://127.0.0.1:8000/)

Удаление контейнера `picodocs`:

``` shell
docker rm -f picodocs
Alexander Tolstoy's avatar
Alexander Tolstoy committed
```