diff --git a/README.md b/README.md index 9921a48..deca0bc 100644 --- a/README.md +++ b/README.md @@ -24,9 +24,11 @@ - [С чего начать разработку open-source библиотеки](/tutorials/quick_guide.md); - [Зеркалирование GitHub -> GitLab](/tutorials/mirror_repo_to_gitlab.md); - [Мультиязычные README](/tutorials/create_multilang_readme_files.md); -- [Создание документации (rst)](/tutorials/documentation_rtd); +- [Создание документации (mkdocs)](/tutorials/documentation_mkdocs.md); +- [Создание документации (rtd)](/tutorials/documentation_rtd); - [Настройка ботов для репозитория](/tutorials/setup_bots.md); -- [Работа с Git](/tutorials/git_flow.md). +- [Работа с Git](/tutorials/git_flow.md); +- [Автоформатирование кода (black)](/tutorials/black_autoformatting.md). ### [Шаблоны](/templates) diff --git a/tutorials/black_autoformatting.md b/tutorials/black_autoformatting.md new file mode 100644 index 0000000..1417646 --- /dev/null +++ b/tutorials/black_autoformatting.md @@ -0,0 +1,41 @@ +# Автоформатирование кода в репозитории с помощью Black + +> [!TIP] +> Black — это инструмент для автоматического форматирования кода на Python. Он позволяет сделать код более читаемым и улучшить его структуру. + +Автоформатирование кода избавляет от рутинного процесса ручного выравнивания кода и позволяет сосредоточиться на более важных задачах. Black — один из самых популярных инструментов для автоформатирования кода на Python. + +Для локального использования Black необходимо установить его с помощью менеджера пакетов pip: + +```bash +pip install black +``` + +Или для поддержки форматирования Jupyter-ноутбуков: + +```bash +pip install "black[jupyter]" +``` + +После установки Black можно использовать его для форматирования кода в файлах и директориях. Например, чтобы отформатировать файл `example.py`, необходимо выполнить команду: + +```bash +black example.py +black my_project/ +``` + +Для репозиториев на GitHub можно использовать GitHub Actions для автоматического форматирования кода при создании Pull Request. Для этого необходимо добавить следующий workflow в файл `.github/workflows/black.yml`: + +```yaml +name: black-action +on: [push, pull_request] +jobs: + linter_name: + name: Run black formatter + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: rickstaa/action-black@v1.3.3 + with: + black_args: "." +```