diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..1dccd5f --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,46 @@ +name: Docs + +on: + push: + branches: [ '*' ] + pull_request: + branches: [ master ] + +jobs: + markdownlint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install markdownlint + run: npm install -g markdownlint-cli + - name: Run markdownlint + run: cd docs && markdownlint . + + build_book: + runs-on: ubuntu-latest + needs: markdownlint + steps: + - uses: actions/checkout@v4 + - name: Install mdBook + run: cargo install mdbook --vers 0.4.43 --locked + - name: Build book + run: cd docs && mdbook build + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: docs/build + + deploy: + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} + concurrency: + group: "pages" + cancel-in-progress: true + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build_book + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 diff --git a/docs/.markdownlint.json b/docs/.markdownlint.json new file mode 100644 index 0000000..a06044b --- /dev/null +++ b/docs/.markdownlint.json @@ -0,0 +1,10 @@ +{ + "MD004": { + "style": "asterisk" + }, + "MD010": false, + "MD013": false, + "MD024": false, + "MD033": false, + "MD045": false +} diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..5329c9a --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,10 @@ +build: + mdbook build + +serve: + mdbook serve + +clean: + mdbook clean + +.PHONY: build serve clean diff --git a/docs/alerts.py b/docs/alerts.py new file mode 100644 index 0000000..11f66d6 --- /dev/null +++ b/docs/alerts.py @@ -0,0 +1,31 @@ +# https://rust-lang.github.io/mdBook/format/configuration/preprocessors.html +# https://rust-lang.github.io/mdBook/for_developers/preprocessors.html + +import json +import sys +import re + + +def transform_markdown_to_html(markdown_text): + def replace_blockquote(match): + tag = match.group(1).lower() + content = match.group(2).strip().replace('\n> ', ' ') + return f'
GitHub: github.com/okalachev/flix.
+ +Telegram-канал: @opensourcequadcopter.
diff --git a/docs/book/SUMMARY.md b/docs/book/SUMMARY.md new file mode 100644 index 0000000..b990112 --- /dev/null +++ b/docs/book/SUMMARY.md @@ -0,0 +1,22 @@ + + + +[Главная](./README.md) + +* [Архитектура прошивки](firmware.md) + +# Учебник + +* [Основы]() +* [Светодиод]() +* [Моторы]() +* [Радиоуправление]() +* [Гироскоп](gyro.md) +* [Акселерометр]()s +* [Оценка состояния]() +* [PID-регулятор]() +* [Режим ACRO]() +* [Режим STAB]() +* [Wi-Fi]() +* [MAVLink]() +* [Симуляция]() diff --git a/docs/book/firmware.md b/docs/book/firmware.md new file mode 100644 index 0000000..eb9d70d --- /dev/null +++ b/docs/book/firmware.md @@ -0,0 +1,32 @@ +# Архитектура прошивки + +