From a50e517175cebbd2ae1a5bcd73c6a45237fdbb57 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+fariszr@users.noreply.github.com> Date: Wed, 2 Nov 2022 02:48:53 +0300 Subject: [PATCH 01/17] Init Mkdocs --- docs/ar/index.md | 1 + docs/en/index.md | 1 + docs/mkdocs-ar.yml | 82 ++++++++++++++++++++++++++++++++ docs/mkdocs.yml | 82 ++++++++++++++++++++++++++++++++ docs/overrides/.icons/matrix.svg | 52 ++++++++++++++++++++ docs/overrides/extra.css | 5 ++ docs/overrides/main.html | 5 ++ 7 files changed, 228 insertions(+) create mode 100644 docs/ar/index.md create mode 100644 docs/en/index.md create mode 100644 docs/mkdocs-ar.yml create mode 100644 docs/mkdocs.yml create mode 100644 docs/overrides/.icons/matrix.svg create mode 100644 docs/overrides/extra.css create mode 100644 docs/overrides/main.html diff --git a/docs/ar/index.md b/docs/ar/index.md new file mode 100644 index 0000000..c42a76f --- /dev/null +++ b/docs/ar/index.md @@ -0,0 +1 @@ +# جسر محادثة Discourse \ No newline at end of file diff --git a/docs/en/index.md b/docs/en/index.md new file mode 100644 index 0000000..6ce5a99 --- /dev/null +++ b/docs/en/index.md @@ -0,0 +1 @@ +# Discourse-chat-bridge \ No newline at end of file diff --git a/docs/mkdocs-ar.yml b/docs/mkdocs-ar.yml new file mode 100644 index 0000000..2739a8e --- /dev/null +++ b/docs/mkdocs-ar.yml @@ -0,0 +1,82 @@ +site_name: جسر محادثة Discourse +site_url: https://discourse-chat-bridge.aosus.dev/ar/ +repo_name: aosus/discourse-chat-bridge +repo_url: https://github.com/aosus/discourse-chat-bridge +edit_uri: https://github.com/aosus/discourse-chat-bridge/docs/ar +site_description: +docs_dir: ./ar +site_dir: '../generated/ar' + +plugins: + - autolinks + - search + - git-revision-date-localized: + type: timeago + - minify: + minify_html: true + +theme: + name: material + custom_dir: overrides + icon: + repo: fontawesome/brands/github + font: false + features: + - search.suggest + - search.highlight + - content.tabs.link + - navigation.instant + - navigation.tracking + - toc.integrate + palette: + # Palette toggle for light mode + - media: "(prefers-color-scheme: light)" + scheme: default + toggle: + icon: material/brightness-7 + name: Switch to dark mode + primary: green + accent: blue + + # Palette toggle for dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + toggle: + icon: material/brightness-4 + name: Switch to light mode + primary: green + accent: blue + + +extra: + alternate: + - name: English + link: / + lang: en + + - name: العربية + link: /ar/ + lang: ar + + social: + - icon: fontawesome/brands/github + link: https://github.com/aosus + - icon: fontawesome/brands/twitter + link: https://twitter.com/aosusorg + - icon: fontawesome/brands/mastodon + link: https://mastodon.online/@aosus + - icon: fontawesome/brands/telegram + link: https://t.me/aosus + - icon: matrix + link: https://matrix.to/#/#aosus:aosus.org + - icon: fontawesome/brands/linkedin + link: https://www.linkedin.com/company/aosus/ + +markdown_extensions: + - admonition + +extra_css: + - extra.css + +nav: + - index: "index.md" \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml new file mode 100644 index 0000000..fac2166 --- /dev/null +++ b/docs/mkdocs.yml @@ -0,0 +1,82 @@ +site_name: Discourse chat bridge +site_url: https://discourse-chat-bridge.aosus.dev +repo_name: aosus/discourse-chat-bridge +repo_url: https://github.com/aosus/discourse-chat-bridge +edit_uri: https://github.com/aosus/discourse-chat-bridge/docs/en +site_description: +docs_dir: ./en +site_dir: '../generated' + +plugins: + - autolinks + - search + - git-revision-date-localized: + type: timeago + - minify: + minify_html: true + +theme: + name: material + custom_dir: overrides + icon: + repo: fontawesome/brands/github + font: false + features: + - search.suggest + - search.highlight + - content.tabs.link + - navigation.instant + - navigation.tracking + - toc.integrate + palette: + # Palette toggle for light mode + - media: "(prefers-color-scheme: light)" + scheme: default + toggle: + icon: material/brightness-7 + name: Switch to dark mode + primary: green + accent: blue + + # Palette toggle for dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + toggle: + icon: material/brightness-4 + name: Switch to light mode + primary: green + accent: blue + + +extra: + alternate: + - name: English + link: / + lang: en + + - name: العربية + link: /ar/ + lang: ar + + social: + - icon: fontawesome/brands/github + link: https://github.com/aosus + - icon: fontawesome/brands/twitter + link: https://twitter.com/aosusorg + - icon: fontawesome/brands/mastodon + link: https://mastodon.online/@aosus + - icon: fontawesome/brands/telegram + link: https://t.me/aosus + - icon: matrix + link: https://matrix.to/#/#aosus:aosus.org + - icon: fontawesome/brands/linkedin + link: https://www.linkedin.com/company/aosus/ + +markdown_extensions: + - admonition + +extra_css: + - extra.css + +nav: + - index: "index.md" \ No newline at end of file diff --git a/docs/overrides/.icons/matrix.svg b/docs/overrides/.icons/matrix.svg new file mode 100644 index 0000000..78ff051 --- /dev/null +++ b/docs/overrides/.icons/matrix.svg @@ -0,0 +1,52 @@ + + + + + Matrix (protocol) logo + + + + + + diff --git a/docs/overrides/extra.css b/docs/overrides/extra.css new file mode 100644 index 0000000..e3be8fe --- /dev/null +++ b/docs/overrides/extra.css @@ -0,0 +1,5 @@ +@import url("https://aosus.org/fonts/fonts.css"); + +:root { + --md-text-font: "Almarai"; +} \ No newline at end of file diff --git a/docs/overrides/main.html b/docs/overrides/main.html new file mode 100644 index 0000000..1caa2e7 --- /dev/null +++ b/docs/overrides/main.html @@ -0,0 +1,5 @@ +{% extends "base.html" %} + +{% block analytics %} + +{% endblock %} \ No newline at end of file From d0af5c5752bba7f6f81b74a72d943039fe9168dd Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+fariszr@users.noreply.github.com> Date: Wed, 2 Nov 2022 03:11:10 +0300 Subject: [PATCH 02/17] Setup Cloudflare Pages --- .github/workflows/mkdocs-build.yml | 71 ++++++++++++++++++++++++++++++ docs/_headers | 2 + docs/requirements.txt | 5 +++ 3 files changed, 78 insertions(+) create mode 100644 .github/workflows/mkdocs-build.yml create mode 100644 docs/_headers create mode 100644 docs/requirements.txt diff --git a/.github/workflows/mkdocs-build.yml b/.github/workflows/mkdocs-build.yml new file mode 100644 index 0000000..eec2dd1 --- /dev/null +++ b/.github/workflows/mkdocs-build.yml @@ -0,0 +1,71 @@ +name: dev-Build + +on: + workflow_dispatch: + push: + paths: + - 'docs/**' + - '.github/workflows/mkdocs-build.yml' + - 'docs/requirements.txt' + branches: [ v2-dev ] + pull_request: + branches: [ v2-dev ] + pull_request_review: + types: [edited, dismissed] + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout 🛎️ + uses: actions/checkout@v3 + with: + persist-credentials: false + fetch-depth: '0' + + # setup python + - name: Set up Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: 3.10.* + + - name: Install dependencies + run: | + python -m pip install --upgrade pip setuptools + python -m pip install -U pip wheel + python -m pip install -r docs/requirements.txt + pip show mkdocs-material + + - name: mkdocs build EN + run: mkdocs build -f docs/mkdocs.yml --clean --verbose -d site + + - name: mkdocs build AR + run: mkdocs build -f docs/mkdocs-ar.yml --clean --verbose + + - name: Include _headers file + run: cp _headers generated/_headers + + - name: Publish to Cloudflare Pages + uses: cloudflare/pages-action@1 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ID }} + projectName: ${{ secrets.CLOUDFLARE_PROJECT_NAME }} + directory: generated + gitHubToken: ${{ secrets.GITHUB_TOKEN }} + branch: ${{ GITHUB_HEAD_REF }} + + - name: Cache pip files + uses: actions/cache@v3.0.9 + env: + cache-name: pip-reg + with: + path: $HOME/.cache/pip + key: pip-reg + + - name: Cache Mkdocs files + uses: actions/cache@v3 + with: + key: ${{ github.ref }} + path: .cache \ No newline at end of file diff --git a/docs/_headers b/docs/_headers new file mode 100644 index 0000000..9bad5b7 --- /dev/null +++ b/docs/_headers @@ -0,0 +1,2 @@ +https://:project.pages.dev/* + X-Robots-Tag: noindex \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..a21c099 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,5 @@ +mkdocs +mkdocs-material +git+https://github.com/midnightprioriem/mkdocs-autolinks-plugin +mkdocs-git-revision-date-localized-plugin +mkdocs-minify-plugin \ No newline at end of file From f1be05a639e19fe4feb5168aa2dc35e7ab8eefd6 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+fariszr@users.noreply.github.com> Date: Wed, 2 Nov 2022 03:13:41 +0300 Subject: [PATCH 03/17] update branch names and update python --- .github/workflows/mkdocs-build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/mkdocs-build.yml b/.github/workflows/mkdocs-build.yml index eec2dd1..201bb30 100644 --- a/.github/workflows/mkdocs-build.yml +++ b/.github/workflows/mkdocs-build.yml @@ -7,9 +7,9 @@ on: - 'docs/**' - '.github/workflows/mkdocs-build.yml' - 'docs/requirements.txt' - branches: [ v2-dev ] + branches: [ main ] pull_request: - branches: [ v2-dev ] + branches: [ main ] pull_request_review: types: [edited, dismissed] @@ -25,10 +25,10 @@ jobs: fetch-depth: '0' # setup python - - name: Set up Python 3.10 + - name: Set up Python 3.11 uses: actions/setup-python@v4 with: - python-version: 3.10.* + python-version: 3.11.* - name: Install dependencies run: | @@ -57,7 +57,7 @@ jobs: branch: ${{ GITHUB_HEAD_REF }} - name: Cache pip files - uses: actions/cache@v3.0.9 + uses: actions/cache@v3.0.11 env: cache-name: pip-reg with: From 056f6e22db6bfae9cd2e12d864d27fc185dac349 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+fariszr@users.noreply.github.com> Date: Wed, 2 Nov 2022 03:14:22 +0300 Subject: [PATCH 04/17] rename workflow --- .github/workflows/mkdocs-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/mkdocs-build.yml b/.github/workflows/mkdocs-build.yml index 201bb30..56c5601 100644 --- a/.github/workflows/mkdocs-build.yml +++ b/.github/workflows/mkdocs-build.yml @@ -1,4 +1,4 @@ -name: dev-Build +name: Build Docs on: workflow_dispatch: From 476979b1f377cb75e345148c23db65ee6c472605 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+fariszr@users.noreply.github.com> Date: Wed, 2 Nov 2022 03:18:53 +0300 Subject: [PATCH 05/17] update variable name --- .github/workflows/mkdocs-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/mkdocs-build.yml b/.github/workflows/mkdocs-build.yml index 56c5601..8f19873 100644 --- a/.github/workflows/mkdocs-build.yml +++ b/.github/workflows/mkdocs-build.yml @@ -54,7 +54,7 @@ jobs: projectName: ${{ secrets.CLOUDFLARE_PROJECT_NAME }} directory: generated gitHubToken: ${{ secrets.GITHUB_TOKEN }} - branch: ${{ GITHUB_HEAD_REF }} + branch: ${{ github.head.ref }} - name: Cache pip files uses: actions/cache@v3.0.11 From 83508a3cea8454843c8911ded98ed775e0223241 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+fariszr@users.noreply.github.com> Date: Wed, 2 Nov 2022 03:24:49 +0300 Subject: [PATCH 06/17] Specifiy dir in build command --- .github/workflows/mkdocs-build.yml | 10 +++++++--- docs/mkdocs-ar.yml | 1 - docs/mkdocs.yml | 1 - 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/mkdocs-build.yml b/.github/workflows/mkdocs-build.yml index 8f19873..5b49d70 100644 --- a/.github/workflows/mkdocs-build.yml +++ b/.github/workflows/mkdocs-build.yml @@ -10,6 +10,10 @@ on: branches: [ main ] pull_request: branches: [ main ] + paths: + - 'docs/**' + - '.github/workflows/mkdocs-build.yml' + - 'docs/requirements.txt' pull_request_review: types: [edited, dismissed] @@ -38,13 +42,13 @@ jobs: pip show mkdocs-material - name: mkdocs build EN - run: mkdocs build -f docs/mkdocs.yml --clean --verbose -d site + run: mkdocs build -f docs/mkdocs.yml --clean --verbose -d generated - name: mkdocs build AR - run: mkdocs build -f docs/mkdocs-ar.yml --clean --verbose + run: mkdocs build -f docs/mkdocs-ar.yml --clean --verbose -d generated/ar - name: Include _headers file - run: cp _headers generated/_headers + run: cp docs/_headers generated/_headers - name: Publish to Cloudflare Pages uses: cloudflare/pages-action@1 diff --git a/docs/mkdocs-ar.yml b/docs/mkdocs-ar.yml index 2739a8e..2b6aad8 100644 --- a/docs/mkdocs-ar.yml +++ b/docs/mkdocs-ar.yml @@ -5,7 +5,6 @@ repo_url: https://github.com/aosus/discourse-chat-bridge edit_uri: https://github.com/aosus/discourse-chat-bridge/docs/ar site_description: docs_dir: ./ar -site_dir: '../generated/ar' plugins: - autolinks diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index fac2166..f84e680 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -5,7 +5,6 @@ repo_url: https://github.com/aosus/discourse-chat-bridge edit_uri: https://github.com/aosus/discourse-chat-bridge/docs/en site_description: docs_dir: ./en -site_dir: '../generated' plugins: - autolinks From 9564d90f30cdea601d210a6b96490cbf28fa2eb4 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+fariszr@users.noreply.github.com> Date: Wed, 2 Nov 2022 03:29:49 +0300 Subject: [PATCH 07/17] correct directory --- .github/workflows/mkdocs-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mkdocs-build.yml b/.github/workflows/mkdocs-build.yml index 5b49d70..ae2fdf9 100644 --- a/.github/workflows/mkdocs-build.yml +++ b/.github/workflows/mkdocs-build.yml @@ -48,7 +48,7 @@ jobs: run: mkdocs build -f docs/mkdocs-ar.yml --clean --verbose -d generated/ar - name: Include _headers file - run: cp docs/_headers generated/_headers + run: cp docs/_headers docs/generated/_headers - name: Publish to Cloudflare Pages uses: cloudflare/pages-action@1 @@ -56,7 +56,7 @@ jobs: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ID }} projectName: ${{ secrets.CLOUDFLARE_PROJECT_NAME }} - directory: generated + directory: docs/generated gitHubToken: ${{ secrets.GITHUB_TOKEN }} branch: ${{ github.head.ref }} From d806a672a88f17fbf5e8bf93112e6dfd12c83b5f Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+fariszr@users.noreply.github.com> Date: Wed, 2 Nov 2022 03:32:33 +0300 Subject: [PATCH 08/17] Show Deployments on Github --- .github/workflows/mkdocs-build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/mkdocs-build.yml b/.github/workflows/mkdocs-build.yml index ae2fdf9..9f8f800 100644 --- a/.github/workflows/mkdocs-build.yml +++ b/.github/workflows/mkdocs-build.yml @@ -20,6 +20,9 @@ on: jobs: build-and-deploy: runs-on: ubuntu-latest + permissions: + contents: read + deployments: write steps: - name: Checkout 🛎️ From 6a77557eb82ecc19aa459e2f70bfddc29411c7d9 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+fariszr@users.noreply.github.com> Date: Wed, 2 Nov 2022 03:36:30 +0300 Subject: [PATCH 09/17] use ref name --- .github/workflows/mkdocs-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/mkdocs-build.yml b/.github/workflows/mkdocs-build.yml index 9f8f800..0352ae9 100644 --- a/.github/workflows/mkdocs-build.yml +++ b/.github/workflows/mkdocs-build.yml @@ -61,7 +61,7 @@ jobs: projectName: ${{ secrets.CLOUDFLARE_PROJECT_NAME }} directory: docs/generated gitHubToken: ${{ secrets.GITHUB_TOKEN }} - branch: ${{ github.head.ref }} + branch: ${{ github.ref.name }} - name: Cache pip files uses: actions/cache@v3.0.11 From e618efbbccbf6708b7f6c0203131b281d4f2d71c Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+fariszr@users.noreply.github.com> Date: Wed, 2 Nov 2022 03:44:11 +0300 Subject: [PATCH 10/17] Separate preview and production deployment --- .github/workflows/mkdocs-build.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/mkdocs-build.yml b/.github/workflows/mkdocs-build.yml index 0352ae9..608d6f0 100644 --- a/.github/workflows/mkdocs-build.yml +++ b/.github/workflows/mkdocs-build.yml @@ -54,6 +54,18 @@ jobs: run: cp docs/_headers docs/generated/_headers - name: Publish to Cloudflare Pages + if: github.event_name != 'pull_request' + uses: cloudflare/pages-action@1 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ID }} + projectName: ${{ secrets.CLOUDFLARE_PROJECT_NAME }} + directory: docs/generated + gitHubToken: ${{ secrets.GITHUB_TOKEN }} + branch: main + + - name: Publish preview to Cloudflare Pages + if: github.event_name == 'pull_request' uses: cloudflare/pages-action@1 with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} From a12e25560126a6e562ae05bdfacd683ba91c270a Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+FarisZR@users.noreply.github.com> Date: Sun, 16 Apr 2023 22:04:03 +0300 Subject: [PATCH 11/17] english only for now --- docs/ar/index.md | 1 - docs/en/index.md | 1 - docs/mkdocs-ar.yml | 81 ---------------------------------------------- docs/mkdocs.yml | 4 +-- 4 files changed, 2 insertions(+), 85 deletions(-) delete mode 100644 docs/ar/index.md delete mode 100644 docs/en/index.md delete mode 100644 docs/mkdocs-ar.yml diff --git a/docs/ar/index.md b/docs/ar/index.md deleted file mode 100644 index c42a76f..0000000 --- a/docs/ar/index.md +++ /dev/null @@ -1 +0,0 @@ -# جسر محادثة Discourse \ No newline at end of file diff --git a/docs/en/index.md b/docs/en/index.md deleted file mode 100644 index 6ce5a99..0000000 --- a/docs/en/index.md +++ /dev/null @@ -1 +0,0 @@ -# Discourse-chat-bridge \ No newline at end of file diff --git a/docs/mkdocs-ar.yml b/docs/mkdocs-ar.yml deleted file mode 100644 index 2b6aad8..0000000 --- a/docs/mkdocs-ar.yml +++ /dev/null @@ -1,81 +0,0 @@ -site_name: جسر محادثة Discourse -site_url: https://discourse-chat-bridge.aosus.dev/ar/ -repo_name: aosus/discourse-chat-bridge -repo_url: https://github.com/aosus/discourse-chat-bridge -edit_uri: https://github.com/aosus/discourse-chat-bridge/docs/ar -site_description: -docs_dir: ./ar - -plugins: - - autolinks - - search - - git-revision-date-localized: - type: timeago - - minify: - minify_html: true - -theme: - name: material - custom_dir: overrides - icon: - repo: fontawesome/brands/github - font: false - features: - - search.suggest - - search.highlight - - content.tabs.link - - navigation.instant - - navigation.tracking - - toc.integrate - palette: - # Palette toggle for light mode - - media: "(prefers-color-scheme: light)" - scheme: default - toggle: - icon: material/brightness-7 - name: Switch to dark mode - primary: green - accent: blue - - # Palette toggle for dark mode - - media: "(prefers-color-scheme: dark)" - scheme: slate - toggle: - icon: material/brightness-4 - name: Switch to light mode - primary: green - accent: blue - - -extra: - alternate: - - name: English - link: / - lang: en - - - name: العربية - link: /ar/ - lang: ar - - social: - - icon: fontawesome/brands/github - link: https://github.com/aosus - - icon: fontawesome/brands/twitter - link: https://twitter.com/aosusorg - - icon: fontawesome/brands/mastodon - link: https://mastodon.online/@aosus - - icon: fontawesome/brands/telegram - link: https://t.me/aosus - - icon: matrix - link: https://matrix.to/#/#aosus:aosus.org - - icon: fontawesome/brands/linkedin - link: https://www.linkedin.com/company/aosus/ - -markdown_extensions: - - admonition - -extra_css: - - extra.css - -nav: - - index: "index.md" \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index f84e680..5c9170b 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -2,9 +2,9 @@ site_name: Discourse chat bridge site_url: https://discourse-chat-bridge.aosus.dev repo_name: aosus/discourse-chat-bridge repo_url: https://github.com/aosus/discourse-chat-bridge -edit_uri: https://github.com/aosus/discourse-chat-bridge/docs/en +edit_uri: https://github.com/aosus/discourse-chat-bridge/docs site_description: -docs_dir: ./en +docs_dir: source plugins: - autolinks From 4c18c9272cdb317409fd0a62daaf98bff32c7ea6 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+FarisZR@users.noreply.github.com> Date: Sun, 16 Apr 2023 23:37:52 +0300 Subject: [PATCH 12/17] add logo --- docs/mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 5c9170b..18559d5 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -17,6 +17,7 @@ plugins: theme: name: material custom_dir: overrides + logo: images/Discourse_Bridge.webp icon: repo: fontawesome/brands/github font: false From f2e2893415db2f5392ee3e7576b4ed8d386b4828 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+FarisZR@users.noreply.github.com> Date: Sun, 16 Apr 2023 23:38:06 +0300 Subject: [PATCH 13/17] add description --- docs/mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 18559d5..8d5f108 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -3,7 +3,7 @@ site_url: https://discourse-chat-bridge.aosus.dev repo_name: aosus/discourse-chat-bridge repo_url: https://github.com/aosus/discourse-chat-bridge edit_uri: https://github.com/aosus/discourse-chat-bridge/docs -site_description: +site_description: A chat bridge allowing users to post, reply and interact with discourse posts from their own favorite chat platforms. docs_dir: source plugins: From b8838135696b6bef5093dbb6769c4120f7f8fb21 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+FarisZR@users.noreply.github.com> Date: Mon, 17 Apr 2023 00:52:44 +0300 Subject: [PATCH 14/17] only build one version --- .github/workflows/mkdocs-build.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/mkdocs-build.yml b/.github/workflows/mkdocs-build.yml index 608d6f0..f863432 100644 --- a/.github/workflows/mkdocs-build.yml +++ b/.github/workflows/mkdocs-build.yml @@ -44,12 +44,9 @@ jobs: python -m pip install -r docs/requirements.txt pip show mkdocs-material - - name: mkdocs build EN + - name: mkdocs build run: mkdocs build -f docs/mkdocs.yml --clean --verbose -d generated - - name: mkdocs build AR - run: mkdocs build -f docs/mkdocs-ar.yml --clean --verbose -d generated/ar - - name: Include _headers file run: cp docs/_headers docs/generated/_headers From cf87c7da93fae5acf3486682d6ae0ff0ec4312d1 Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+FarisZR@users.noreply.github.com> Date: Mon, 17 Apr 2023 00:52:59 +0300 Subject: [PATCH 15/17] use webp instead of png --- README/Discourse_Bridge.png | Bin 59412 -> 0 bytes docs/source/images/Discourse_Bridge.webp | Bin 0 -> 13010 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 README/Discourse_Bridge.png create mode 100644 docs/source/images/Discourse_Bridge.webp diff --git a/README/Discourse_Bridge.png b/README/Discourse_Bridge.png deleted file mode 100644 index f8b4e480b112cf59e8bd76fb2ef62c86565fea08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59412 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%0D1S|0_AfoSie^^OaQ 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 literal 0 HcmV?d00001 From f955dc3a038193eadb74efa4d862ad31dc24431d Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+FarisZR@users.noreply.github.com> Date: Mon, 17 Apr 2023 01:33:56 +0300 Subject: [PATCH 16/17] add new index page --- docs/source/index.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 docs/source/index.md diff --git a/docs/source/index.md b/docs/source/index.md new file mode 100644 index 0000000..c5ab1bc --- /dev/null +++ b/docs/source/index.md @@ -0,0 +1,25 @@ +# Discourse-chat-bridge +![discourse-chat-bridge](images/Discourse_Bridge.webp) + +A chat bridge allowing users to post, reply and interact with discourse posts from their own favorite chat platforms. + +

Installation

+ +## Bridge Features + +- fetch the latest published topic 📄 +- fetch categories ⬇️ +- Post a new topic 📝 +- Post a new comment 💬 +- Send a private message 🔒 +- Link your chat account with your discussion account +- Receive the latest topics posted from the bot + +## Supported platforms +- Matrix +- Telegram + +## License +Discourse-chat-bridge is licensed under the AGPLv3. + +![license](https://www.gnu.org/graphics/agplv3-with-text-162x68.png) \ No newline at end of file From f9f99c745b4916c870216fc659d640a934c1102f Mon Sep 17 00:00:00 2001 From: FarisZR <35614734+FarisZR@users.noreply.github.com> Date: Mon, 17 Apr 2023 01:34:19 +0300 Subject: [PATCH 17/17] add installation page --- docs/source/images/api-setup.png | Bin 0 -> 50254 bytes docs/source/installation.md | 71 +++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 docs/source/images/api-setup.png create mode 100644 docs/source/installation.md diff --git a/docs/source/images/api-setup.png b/docs/source/images/api-setup.png new file mode 100644 index 0000000000000000000000000000000000000000..f1f26337edf5e7f617753e1656d907f11af60cb0 GIT binary patch literal 50254 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 lOvahz#*S^E*mSzb(21>WE1u;WD)=*X;>-!* API and create a new API key. +It should have a granular scope and be able to access all users. +Make sure you also give the token topics write access. + +![Api settings](images/api-setup.png) + +### installation with docker-compose.yml +```yaml +services: + discourse-chat-bridge: + image: oci.aosus.org/aosus/discourse-chat-bridge:latest + restart: always + environment: + URL: "https://discourse.example.com" + DISCOURSE_FORUM_NAME: "Discourse community" + DISCOURSE_TOKEN: "API key with write access for all users" + DISCOURSE_USERNAME: "username to be used for Direct messages from the bridge" + TELEGRAM_TOKEN: "" + MATRIX_USERNAME: "" + #MATRIX_PASSWORD: "" matrix password shouldn't beused in env variables, rather you should directly set the access token. + MATRIX_HOMESERVER_URL: "https://matrix.example.com" + MATRIX_ACCESS_TOKEN: "" + MATRIX_AUTOJOIN: TRUE + DATAPATH: /data + MATRIX_ENCRYPTION: TRUE + language: "en" + volumes: + ./data:/data:rw:z +``` + +Then you can start the container +```bash +docker compose up -d +``` + +## Native +```bash +git clone https://github.com/aosus/discourse-chat-bridge +``` + +edit `config.json` and add required inputs +```json +{ + "url": "https://$DISCOURSE_DOMAIN", + "discourse_forum_name": "discourse forum name", + "discourse_token": "API key with write access for all users", + "discourse_username": "username to be used for Direct messages from the bridge", + "telegram_token": "", + "matrix_username": "Username to your Matrix account #aosus", + "matrix_password": "Password to your Matrix account to generate the access token, you can skip this by inputing it directly", + "matrix_homeserver_url": "https://matrix.org", + "matrix_access_token": "Put your matrix_access_token here #npm run generate_matrix_token", + "matrix_autojoin": true, + "dataPath": "./storage", + "matrix_encryption": true, + "language": "en" +} +``` + +Then start it up! + +```bash +npm i +npm run generate_matrix_token +npm start +or +node index.js +```