diff --git a/README.md b/README.md index b4ec3de..53fc474 100644 --- a/README.md +++ b/README.md @@ -144,4 +144,14 @@ ros2 bag convert \ -i robot_drive_old/ \ -o robot_drive_mcap/ \ --output-options '{"storage_id": "mcap"}' +``` + + + +```bash +chmod +x doc/build_docs.sh + +./build_docs.sh #Собирает статику в mkdocs/site/ +./build_docs.sh build # То же самое явно +./build_docs.sh serve # Live-preview с авто-перезагрузкой ``` \ No newline at end of file diff --git a/src/doc/AMENT_IGNORE b/doc/AMENT_IGNORE similarity index 100% rename from src/doc/AMENT_IGNORE rename to doc/AMENT_IGNORE diff --git a/doc/build_docs.sh b/doc/build_docs.sh new file mode 100755 index 0000000..9bd96e6 --- /dev/null +++ b/doc/build_docs.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +# Configure the Docker image and the MkDocs directory +DOCKER_IMAGE="squidfunk/mkdocs-material" +MKDOCS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/iiwa-ros-doc" && pwd)" + +# Define color codes for logging +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +log_info() { echo -e "${GREEN}[INFO]${NC} $1"; } +log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } +log_error() { echo -e "${RED}[ERROR]${NC} $1"; } + + +# Check for Docker and the MkDocs directory +if ! command -v docker &> /dev/null; then + log_error "Docker не найден. Установи Docker и повтори." + exit 1 +fi + +if [ ! -d "$MKDOCS_DIR" ]; then + log_error "Папка mkdocs не найдена: $MKDOCS_DIR" + exit 1 +fi + +if [ ! -f "$MKDOCS_DIR/mkdocs.yml" ]; then + log_error "Файл mkdocs.yml не найден в $MKDOCS_DIR" + exit 1 +fi + +# Determine the mode (build or serve) +MODE="${1:-build}" + +case "$MODE" in + build) + log_info "Сборка документации (build)..." + docker run --rm \ + -v "$MKDOCS_DIR:/docs" \ + "$DOCKER_IMAGE" build + if [ $? -eq 0 ]; then + log_info "Готово! Результат: $MKDOCS_DIR/site/" + else + log_error "Сборка завершилась с ошибкой." + exit 1 + fi + ;; + + serve) + log_info "Запуск dev-сервера на http://localhost:8000 ..." + log_warn "Остановка: Ctrl+C" + docker run --rm -it \ + -p 8000:8000 \ + -v "$MKDOCS_DIR:/docs" \ + "$DOCKER_IMAGE" serve \ + --dev-addr=0.0.0.0:8000 \ + --watch /docs \ + --livereload + ;; + + *) + echo "Использование: $0 [build|serve]" + echo " build — собрать статику в mkdocs/site/ (по умолчанию)" + echo " serve — запустить live-preview на localhost:8000" + exit 1 + ;; +esac \ No newline at end of file diff --git a/doc/iiwa-ros-doc/docs/index.md b/doc/iiwa-ros-doc/docs/index.md new file mode 100644 index 0000000..8dcb47d --- /dev/null +++ b/doc/iiwa-ros-doc/docs/index.md @@ -0,0 +1,17 @@ +# Welcome to MkDocs выq + +For full documentation visit [mkdocs.org](https://www.mkdocs.org). + +## Commands + +* `mkdocs new [dir-name]` - Create a new project. +* `mkdocs serve` - Start the live-reloading docs server. +* `mkdocs build` - Build the documentation site. +* `mkdocs -h` - Print help message and exit. + +## Project layout + + mkdocs.yml # The configuration file. + docs/ + index.md # The documentation homepage. + ... # Other markdown pages, images and other files. diff --git a/doc/iiwa-ros-doc/mkdocs.yml b/doc/iiwa-ros-doc/mkdocs.yml new file mode 100644 index 0000000..cb3c9ab --- /dev/null +++ b/doc/iiwa-ros-doc/mkdocs.yml @@ -0,0 +1,43 @@ +site_name: Документация НОЦ ПРиППТ +site_description: Документация по использованию коллаборативного робота KUKA LBR iiwa 7 и его программированию в среде ROS 2. +site_author: Даниил Грабарь + +theme: + name: material + language: ru + features: + - navigation.tabs # вкладки сверху + - navigation.tabs.sticky # вкладки остаются при скролле + - navigation.sections # разделы в боковой панели + - navigation.expand # раскрывать разделы автоматически + - navigation.top # кнопка "наверх" + - search.highlight + +markdown_extensions: + - admonition + - pymdownx.highlight + - pymdownx.superfences + +nav: + - Главная: index.md # ← вкладка 1 + + # - Обзор проекта: # ← вкладка 2 + # - Введение: overview/intro.md + # - Архитектура: overview/architecture.md + # - Зависимости: overview/dependencies.md + + # - Установка: # ← вкладка 3 + # - Требования: install/requirements.md + # - ROS2: install/ros2.md + # - KUKA FRI: install/fri.md + + # - Разработка: # ← вкладка 4 + # - Структура пакетов: dev/packages.md + # - Камеры RealSense: dev/realsense.md + # - Управление KUKA: dev/kuka.md + # - Сборка: dev/build.md + + # - API: # ← вкладка 5 + # - Обзор: api/overview.md + # - Топики: api/topics.md + # - Сервисы: api/services.md \ No newline at end of file diff --git a/src/doc/pdf/KUKA_SunriseApplicationFramework_12_en.pdf b/doc/pdf/KUKA_SunriseApplicationFramework_12_en.pdf similarity index 100% rename from src/doc/pdf/KUKA_SunriseApplicationFramework_12_en.pdf rename to doc/pdf/KUKA_SunriseApplicationFramework_12_en.pdf diff --git a/src/doc/pdf/KUKA_SunriseFRI_116_en.pdf b/doc/pdf/KUKA_SunriseFRI_116_en.pdf similarity index 100% rename from src/doc/pdf/KUKA_SunriseFRI_116_en.pdf rename to doc/pdf/KUKA_SunriseFRI_116_en.pdf diff --git a/src/doc/pdf/KUKA_SunriseOS_116_SI_en.pdf b/doc/pdf/KUKA_SunriseOS_116_SI_en.pdf similarity index 100% rename from src/doc/pdf/KUKA_SunriseOS_116_SI_en.pdf rename to doc/pdf/KUKA_SunriseOS_116_SI_en.pdf diff --git a/src/doc/pdf/KUKA_SunriseServoing_116_en.pdf b/doc/pdf/KUKA_SunriseServoing_116_en.pdf similarity index 100% rename from src/doc/pdf/KUKA_SunriseServoing_116_en.pdf rename to doc/pdf/KUKA_SunriseServoing_116_en.pdf diff --git a/src/doc/pdf/RealSense D400 Series_en.pdf b/doc/pdf/RealSense D400 Series_en.pdf similarity index 100% rename from src/doc/pdf/RealSense D400 Series_en.pdf rename to doc/pdf/RealSense D400 Series_en.pdf