diff --git a/.drone.yml b/.drone.yml index 9bc2bd9..2598878 100644 --- a/.drone.yml +++ b/.drone.yml @@ -98,8 +98,46 @@ steps: - echo "$DOCKER_REGISTRY_TOKEN" | docker login docker.io --username $DOCKER_REGISTRY_USER --password-stdin - docker buildx create --use - docker buildx build --push --platform linux/amd64,linux/arm64/v8 -t "$DOCKER_IMAGE_NAME:latest" -t "$DOCKER_IMAGE_NAME:$DRONE_TAG" . + +--- +kind: pipeline +type: docker +name: create-docs-site + +trigger: + branch: + - docs + - master + +steps: + - name: build site + image: upagge/mkdocs-material + environment: + SSH_DEPLOY_KEY: + from_secret: SSH_DEPLOY_KEY + SSH_DEPLOY_HOST: + from_secret: SSH_DEPLOY_HOST + SSH_DEPLOY_PORT: + from_secret: SSH_DEPLOY_PORT + SSH_DEPLOY_PATH: + from_secret: SSH_DEPLOY_PATH + SSH_DEPLOY_USER: + from_secret: SSH_DEPLOY_USER + commands: + - eval $(ssh-agent -s) + - mkdir -p ~/.ssh + - echo "$SSH_DEPLOY_KEY" >> ~/.ssh/id_rsa + - chmod 700 ~/.ssh + - chmod 600 ~/.ssh/id_rsa + - ssh-keyscan -p $SSH_DEPLOY_PORT $SSH_DEPLOY_HOST >> ~/.ssh/known_hosts + - chmod 644 ~/.ssh/known_hosts + - cd documentation + - mkdocs build + - mv site gitlab-notification + - scp -r -P $SSH_DEPLOY_PORT ./gitlab-notification $SSH_DEPLOY_USER@$SSH_DEPLOY_HOST:$SSH_DEPLOY_PATH + --- kind: signature -hmac: 35a90784852fd87ed37036310873fb0c02457fb3dafd79cd2c1661b36b56117a +hmac: 8dbac280687d64b7b49961e75c59ea29ee1dfd395b8284404a1371b30f11dbb3 ... diff --git a/documentation/docs/architecture/concept.md b/documentation/docs/architecture/concept.md new file mode 100644 index 0000000..e69de29 diff --git a/documentation/docs/assets/favicon.ico b/documentation/docs/assets/favicon.ico new file mode 100644 index 0000000..032718b Binary files /dev/null and b/documentation/docs/assets/favicon.ico differ diff --git a/documentation/docs/blog/index.md b/documentation/docs/blog/index.md new file mode 100644 index 0000000..f5adf54 --- /dev/null +++ b/documentation/docs/blog/index.md @@ -0,0 +1,10 @@ +# Hello Mutiny! + +Once you made Mutiny available to your classpath, you can start writing code. +Let's start with this simple program: + +## Test + +### Test 2 + +## Test 3 \ No newline at end of file diff --git a/documentation/docs/getting-started/configuration.md b/documentation/docs/getting-started/configuration.md new file mode 100644 index 0000000..e69de29 diff --git a/documentation/docs/getting-started/index.md b/documentation/docs/getting-started/index.md new file mode 100644 index 0000000..f5adf54 --- /dev/null +++ b/documentation/docs/getting-started/index.md @@ -0,0 +1,10 @@ +# Hello Mutiny! + +Once you made Mutiny available to your classpath, you can start writing code. +Let's start with this simple program: + +## Test + +### Test 2 + +## Test 3 \ No newline at end of file diff --git a/documentation/docs/getting-started/installing-dependencies.md b/documentation/docs/getting-started/installing-dependencies.md new file mode 100644 index 0000000..535fdeb --- /dev/null +++ b/documentation/docs/getting-started/installing-dependencies.md @@ -0,0 +1,122 @@ +--- +hide: +- toc +--- +# Варианты добавления в проект +Есть несколько вариантов добавить фреймворк в проект. Изучите их все и выберете подходящий под ваши задачи. + +## Spring Boot Starter +Самый простой способ, если у вас небольшой монолитный Spring Boot проект. + +=== ":simple-apachemaven: Maven" + + ```xml + + dev.struchkov.godfather.telegram + telegram-bot-spring-boot-starter + 0.0.50-SNAPSHOT + + ``` + +=== ":simple-gradle: Gradle" + + ``` c++ + #include + + int main(void) { + std::cout << "Hello world!" << std::endl; + return 0; + } + ``` + +## Quarkus Extension + +На данный момент раздел находится в разработке. + +=== ":simple-apachemaven: Maven" + + ``` + + ``` + +=== ":simple-gradle: Gradle" + + ``` + + ``` + +### Reactive + +На данный момент раздел находится в разработке. + +## Основные зависимости проекта +Вы можете добавить основные зависимости в свой проект и сконфигурировать его более тонко под ваши нужды. Однако для этого потребуется хорошее знание архитектуры проекта. + +Этот вариант подойдет вам, если у вас используется микросервисная архитектура. Так как логично разделить стадии получения, обработки и отправки сообщений на разные сервисы. + +Также этот вариант подойдет вам, если вы используете менее популярный фреймворк, так как основные зависимости написаны без привязки к какому-то конкретному фреймворку. + +Всего основных зависимостей три: + +=== ":simple-spring: Spring" + Эти зависимости подойдут вам, если вы используете SpringBoot 3.0.0+ + + === ":simple-apachemaven: Maven" + + ``` xml title="Позволяет получать сообщения" + + ``` + + ``` xml title="Содержит всю логику работы" + + ``` + + ``` xml title="Позволяет отправлять сообщения" + + ``` + + === ":simple-gradle: Gradle" + + ``` xml title="Позволяет получать сообщения" + + ``` + + ``` xml title="Содержит всю логику работы" + + ``` + + ``` xml title="Позволяет отправлять сообщения" + + ``` + +=== ":simple-quarkus: Quarkus" + + Эти зависимости подойдут вам, если вы используете Quarkus 2.16.0+ + + === ":simple-apachemaven: Maven" + + ``` xml title="Позволяет получать сообщения" + + ``` + + ``` xml title="Содержит всю логику работы" + + ``` + + ``` xml title="Позволяет отправлять сообщения" + + ``` + + === ":simple-gradle: Gradle" + + ``` xml title="Позволяет получать сообщения" + + ``` + + ``` xml title="Содержит всю логику работы" + + ``` + + ``` xml title="Позволяет отправлять сообщения" + + ``` \ No newline at end of file diff --git a/documentation/docs/guides/index.md b/documentation/docs/guides/index.md new file mode 100644 index 0000000..f5adf54 --- /dev/null +++ b/documentation/docs/guides/index.md @@ -0,0 +1,10 @@ +# Hello Mutiny! + +Once you made Mutiny available to your classpath, you can start writing code. +Let's start with this simple program: + +## Test + +### Test 2 + +## Test 3 \ No newline at end of file diff --git a/documentation/docs/index.md b/documentation/docs/index.md new file mode 100644 index 0000000..ecd36ca --- /dev/null +++ b/documentation/docs/index.md @@ -0,0 +1,9 @@ +--- +hide: + - navigation + - comments +title: Home + +--- + +# Godfather Telegram – Фреймворк для создания Telegram ботов \ No newline at end of file diff --git a/documentation/mkdocs.yml b/documentation/mkdocs.yml new file mode 100644 index 0000000..82fe0b0 --- /dev/null +++ b/documentation/mkdocs.yml @@ -0,0 +1,91 @@ +site_name: GitLab Notification Bot +site_url: https://docs.struchkov.dev/godfather-telegram/ + +repo_url: https://github.com/uPagge/gitlab-notification +repo_name: uPagge/gitlab-notification + +#edit_uri: edit/master/documentation/docs + +nav: + - 'index.md' + - 'Быстрый старт': + - 'getting-started/installing-dependencies.md' + - 'getting-started/configuration.md' +# - 'Гайды': + - 'Архитектура': + - 'architecture/concept.md' +# - 'ChangeLog': + +theme: + name: material + custom_dir: overrides + language: ru +# favicon: assets/favicon.ico + icon: + logo: simple/gitlab + repo: fontawesome/brands/github + palette: + - scheme: default + primary: light blue + accent: indigo + toggle: + icon: material/brightness-7 + name: Switch to dark mode + - scheme: slate + toggle: + icon: material/brightness-4 + name: Switch to light mode + + features: + - navigation.instant + - navigation.indexes + - navigation.sections + - navigation.tracking + - navigation.tabs + - navigation.tabs.sticky + - navigation.footer + - search + - search.suggest + - search.highlight + - content.action.edit + - content.code.copy + - toc.follow + plugins: + - social + - meta + - tags + - search: + lang: ru + - git-revision-date-localized: + enable_creation_date: true +markdown_extensions: + - toc: + permalink: true + toc_depth: 3 + title: Содержание + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + - pymdownx.snippets + - pymdownx.inlinehilite + - pymdownx.details + - pymdownx.smartsymbols + - pymdownx.betterem + - pymdownx.tabbed: + alternate_style: true + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + +extra: + generator: false + version: + provider: mike +# alternate: +# - name: Русский +# link: /ru/ +# lang: ru \ No newline at end of file