Documentation updates for stable release (#73)
authorfloatingghost <hannah@coffee-and-dreams.uk>
Fri, 15 Jul 2022 12:27:16 +0000 (12:27 +0000)
committerfloatingghost <hannah@coffee-and-dreams.uk>
Fri, 15 Jul 2022 12:27:16 +0000 (12:27 +0000)
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/73

102 files changed:
.gitignore
.woodpecker/.docs.yml [new file with mode: 0644]
.woodpecker/.lint.yml [deleted file]
.woodpecker/.release.yml
.woodpecker/.test.yml
CHANGELOG.md
Makefile [new file with mode: 0644]
README.md
config/config.exs
docs/Makefile [new file with mode: 0644]
docs/Pipfile [new file with mode: 0644]
docs/Pipfile.lock [new file with mode: 0644]
docs/README.md [new file with mode: 0644]
docs/docs/administration/CLI_tasks/config.md [moved from docs/administration/CLI_tasks/config.md with 97% similarity]
docs/docs/administration/CLI_tasks/database.md [moved from docs/administration/CLI_tasks/database.md with 98% similarity]
docs/docs/administration/CLI_tasks/digest.md [moved from docs/administration/CLI_tasks/digest.md with 87% similarity]
docs/docs/administration/CLI_tasks/email.md [moved from docs/administration/CLI_tasks/email.md with 90% similarity]
docs/docs/administration/CLI_tasks/emoji.md [moved from docs/administration/CLI_tasks/emoji.md with 96% similarity]
docs/docs/administration/CLI_tasks/frontend.md [moved from docs/administration/CLI_tasks/frontend.md with 100% similarity]
docs/docs/administration/CLI_tasks/general_cli_task_info.include [moved from docs/administration/CLI_tasks/general_cli_task_info.include with 100% similarity]
docs/docs/administration/CLI_tasks/instance.md [moved from docs/administration/CLI_tasks/instance.md with 96% similarity]
docs/docs/administration/CLI_tasks/oauth_app.md [moved from docs/administration/CLI_tasks/oauth_app.md with 82% similarity]
docs/docs/administration/CLI_tasks/relay.md [moved from docs/administration/CLI_tasks/relay.md with 88% similarity]
docs/docs/administration/CLI_tasks/robots_txt.md [moved from docs/administration/CLI_tasks/robots_txt.md with 89% similarity]
docs/docs/administration/CLI_tasks/uploads.md [moved from docs/administration/CLI_tasks/uploads.md with 87% similarity]
docs/docs/administration/CLI_tasks/user.md [moved from docs/administration/CLI_tasks/user.md with 98% similarity]
docs/docs/administration/backup.md [moved from docs/administration/backup.md with 100% similarity]
docs/docs/administration/updating.md [moved from docs/administration/updating.md with 94% similarity]
docs/docs/clients.md [moved from docs/clients.md with 100% similarity]
docs/docs/configuration/auth.md [moved from docs/configuration/auth.md with 100% similarity]
docs/docs/configuration/cheatsheet.md [moved from docs/configuration/cheatsheet.md with 99% similarity]
docs/docs/configuration/custom_emoji.md [moved from docs/configuration/custom_emoji.md with 100% similarity]
docs/docs/configuration/frontend_management.md [moved from docs/configuration/frontend_management.md with 96% similarity]
docs/docs/configuration/hardening.md [moved from docs/configuration/hardening.md with 100% similarity]
docs/docs/configuration/howto_database_config.md [moved from docs/configuration/howto_database_config.md with 100% similarity]
docs/docs/configuration/howto_ejabberd.md [moved from docs/configuration/howto_ejabberd.md with 100% similarity]
docs/docs/configuration/howto_mediaproxy.md [moved from docs/configuration/howto_mediaproxy.md with 100% similarity]
docs/docs/configuration/howto_mongooseim.md [moved from docs/configuration/howto_mongooseim.md with 100% similarity]
docs/docs/configuration/howto_proxy.md [moved from docs/configuration/howto_proxy.md with 100% similarity]
docs/docs/configuration/howto_search_cjk.md [moved from docs/configuration/howto_search_cjk.md with 100% similarity]
docs/docs/configuration/howto_set_richmedia_cache_ttl_based_on_image.md [moved from docs/configuration/howto_set_richmedia_cache_ttl_based_on_image.md with 100% similarity]
docs/docs/configuration/howto_theming_your_instance.md [moved from docs/configuration/howto_theming_your_instance.md with 98% similarity]
docs/docs/configuration/i2p.md [moved from docs/configuration/i2p.md with 100% similarity]
docs/docs/configuration/mrf.md [moved from docs/configuration/mrf.md with 100% similarity]
docs/docs/configuration/onion_federation.md [moved from docs/configuration/onion_federation.md with 100% similarity]
docs/docs/configuration/optimizing_beam.md [moved from docs/configuration/optimizing_beam.md with 100% similarity]
docs/docs/configuration/postgresql.md [moved from docs/configuration/postgresql.md with 100% similarity]
docs/docs/configuration/search.md [moved from docs/configuration/search.md with 99% similarity]
docs/docs/configuration/static_dir.md [moved from docs/configuration/static_dir.md with 100% similarity]
docs/docs/configuration/storing_remote_media.md [moved from docs/configuration/storing_remote_media.md with 100% similarity]
docs/docs/css/extra.css [new file with mode: 0644]
docs/docs/development/API/admin_api.md [moved from docs/development/API/admin_api.md with 100% similarity]
docs/docs/development/API/chats.md [moved from docs/development/API/chats.md with 100% similarity]
docs/docs/development/API/differences_in_mastoapi_responses.md [moved from docs/development/API/differences_in_mastoapi_responses.md with 100% similarity]
docs/docs/development/API/nodeinfo.md [moved from docs/development/API/nodeinfo.md with 100% similarity]
docs/docs/development/API/pleroma_api.md [moved from docs/development/API/pleroma_api.md with 100% similarity]
docs/docs/development/API/prometheus.md [moved from docs/development/API/prometheus.md with 100% similarity]
docs/docs/development/ap_extensions.md [moved from docs/development/ap_extensions.md with 100% similarity]
docs/docs/development/authentication_authorization.md [moved from docs/development/authentication_authorization.md with 100% similarity]
docs/docs/development/index.md [moved from docs/development/index.md with 100% similarity]
docs/docs/development/setting_up_akkoma_dev.md [moved from docs/development/setting_up_akkoma_dev.md with 100% similarity]
docs/docs/fonts/Tiresias_Infofont.ttf [new file with mode: 0755]
docs/docs/fonts/Tiresias_PCfont.ttf [new file with mode: 0755]
docs/docs/images/akko_badday.png [new file with mode: 0644]
docs/docs/index.md [moved from docs/index.md with 97% similarity]
docs/docs/installation/alpine_linux_en.md [moved from docs/installation/alpine_linux_en.md with 96% similarity]
docs/docs/installation/arch_linux_en.md [moved from docs/installation/arch_linux_en.md with 97% similarity]
docs/docs/installation/debian_based_en.md [moved from docs/installation/debian_based_en.md with 96% similarity]
docs/docs/installation/debian_based_jp.md [moved from docs/installation/debian_based_jp.md with 99% similarity]
docs/docs/installation/freebsd_en.md [moved from docs/installation/freebsd_en.md with 98% similarity]
docs/docs/installation/further_reading.include [moved from docs/installation/further_reading.include with 100% similarity]
docs/docs/installation/generic_dependencies.include [moved from docs/installation/generic_dependencies.include with 100% similarity]
docs/docs/installation/gentoo_en.md [moved from docs/installation/gentoo_en.md with 98% similarity]
docs/docs/installation/migrating_from_source_otp_en.md [moved from docs/installation/migrating_from_source_otp_en.md with 98% similarity]
docs/docs/installation/migrating_to_akkoma.md [moved from docs/installation/migrating_to_akkoma.md with 100% similarity]
docs/docs/installation/netbsd_en.md [moved from docs/installation/netbsd_en.md with 97% similarity]
docs/docs/installation/openbsd_en.md [moved from docs/installation/openbsd_en.md with 98% similarity]
docs/docs/installation/openbsd_fi.md [moved from docs/installation/openbsd_fi.md with 100% similarity]
docs/docs/installation/optional/media_graphics_packages.md [moved from docs/installation/optional/media_graphics_packages.md with 100% similarity]
docs/docs/installation/otp_en.md [moved from docs/installation/otp_en.md with 98% similarity]
docs/docs/installation/otp_vs_from_source.include [moved from docs/installation/otp_vs_from_source.include with 100% similarity]
docs/docs/installation/otp_vs_from_source_source.include [moved from docs/installation/otp_vs_from_source_source.include with 69% similarity]
docs/docs/support.include [moved from docs/support.include with 100% similarity]
docs/mkdocs.yml [new file with mode: 0644]
docs/requirements.txt [new file with mode: 0644]
docs/theme/partials/source.html [new file with mode: 0644]
installation/apache/akkoma-apache.conf
lib/mix/tasks/pleroma/app.ex
lib/mix/tasks/pleroma/config.ex
lib/mix/tasks/pleroma/database.ex
lib/mix/tasks/pleroma/digest.ex
lib/mix/tasks/pleroma/email.ex
lib/mix/tasks/pleroma/emoji.ex
lib/mix/tasks/pleroma/frontend.ex
lib/mix/tasks/pleroma/instance.ex
lib/mix/tasks/pleroma/relay.ex
lib/mix/tasks/pleroma/uploads.ex
lib/mix/tasks/pleroma/user.ex
lib/pleroma/docs/json.ex
lib/pleroma/docs/markdown.ex
priv/static/READ_THIS_BEFORE_TOUCHING_FILES_HERE
priv/static/index.html

index 8fca0b41aa9a8531c4062b767f6ae3dab1891960..738e7de3e2757b9f4080ff06f2fa1651c7ce5c5b 100644 (file)
@@ -61,3 +61,6 @@ pleroma.iml
 # Editor temp files
 /*~
 /*#
+
+# Generated documentation
+docs/site
diff --git a/.woodpecker/.docs.yml b/.woodpecker/.docs.yml
new file mode 100644 (file)
index 0000000..61b369e
--- /dev/null
@@ -0,0 +1,27 @@
+pipeline:
+  build:
+    when:
+      event:
+        - push
+      branch:
+        - develop
+        - stable
+    secrets:
+    - SCW_ACCESS_KEY
+    - SCW_SECRET_KEY
+    - SCW_DEFAULT_ORGANIZATION_ID
+    environment:
+      CI: "true"
+    image: python:3.10-slim
+    commands:
+      - apt-get update && apt-get install -y rclone wget git zip
+      - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
+      - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
+      - chmod +x scaleway-cli
+      - ./scaleway-cli object config install type=rclone
+      - cd docs
+      - pip install -r requirements.txt
+      - mkdocs build  
+      - zip -r docs.zip site/*
+      - cd site
+      - rclone copy . scaleway:akkoma-docs/$CI_COMMIT_BRANCH/
diff --git a/.woodpecker/.lint.yml b/.woodpecker/.lint.yml
deleted file mode 100644 (file)
index 0bac90d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-pipeline:
-  lint:
-    image: pleromaforkci/ci-base:1.13
-    commands:
-    - mix local.hex --force
-    - mix local.rebar --force
-    - mix format --check-formatted
-    when:
-      event:
-      - push
index 5efef118f469b0365803f2b9b21c7688ae881efb..6a972acbbf8b1076e2cbdd6a034098198e5dc5b3 100644 (file)
@@ -19,6 +19,7 @@ pipeline:
         - push
       branch:
         - develop
+        - stable
     secrets:
     - SCW_ACCESS_KEY
     - SCW_SECRET_KEY
@@ -35,13 +36,13 @@ pipeline:
       - echo "import Mix.Config" > config/prod.secret.exs
       - mix local.hex --force
       - mix local.rebar --force
+      - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH
       - mix deps.clean --all
       - mix deps.get --only prod
       - mkdir release
-      - export PLEROMA_BUILD_BRANCH=develop
       - mix release --path release
       - zip akkoma-${tag}.zip -r release
-      - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/develop/akkoma-${tag}.zip
+      - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${tag}.zip
 
   musl:
     when:
@@ -49,6 +50,7 @@ pipeline:
         - push
       branch:
         - develop
+        - stable
     secrets:
     - SCW_ACCESS_KEY
     - SCW_SECRET_KEY
@@ -70,12 +72,12 @@ pipeline:
 
       - mix local.hex --force
       - mix local.rebar --force
+      - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH
       - mix deps.clean --all 
       - mix deps.get --only prod
       - mix release --path release
-      - export PLEROMA_BUILD_BRANCH=develop
       - zip akkoma-${tag}.zip -r release
-      - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/develop/akkoma-${tag}-musl.zip
+      - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${tag}-musl.zip
 
   musl1.1:
     when:
@@ -83,6 +85,7 @@ pipeline:
         - push
       branch:
         - develop
+        - stable
     secrets:
     - SCW_ACCESS_KEY
     - SCW_SECRET_KEY
@@ -106,9 +109,9 @@ pipeline:
 
       - mix local.hex --force
       - mix local.rebar --force
+      - export PLEROMA_BUILD_BRANCH=$CI_COMMIT_BRANCH
       - mix deps.clean --all
       - mix deps.get --only prod
       - mix release --path release
-      - export PLEROMA_BUILD_BRANCH=develop
       - zip akkoma-${tag}.zip -r release
-      - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/develop/akkoma-${tag}-musl11.zip
+      - rclone copyto akkoma-${tag}.zip scaleway:akkoma-updates/$CI_COMMIT_BRANCH/akkoma-${tag}-musl11.zip
index 6724d363ddc1e42248a9cc1bef415a317380efb4..f4165502981fd05096af4419c31930b7d2d5026f 100644 (file)
@@ -1,16 +1,22 @@
-depends_on:
-- lint
-
 matrix:
   ELIXIR_VERSION:
   - 1.13
 
 pipeline:
+  lint:
+    when:
+      event:
+      - pull_request
+    image: pleromaforkci/ci-base:1.13
+    commands:
+    - mix local.hex --force
+    - mix local.rebar --force
+    - mix format --check-formatted
+
   build:
     image: pleromaforkci/ci-base:${ELIXIR_VERSION}
     when:
       event:
-      - push
       - pull_request
     environment:
       MIX_ENV: test
@@ -25,7 +31,6 @@ pipeline:
     image: pleromaforkci/ci-base:${ELIXIR_VERSION}
     when:
       event:
-      - push
       - pull_request
     environment:
       MIX_ENV: test
@@ -36,6 +41,7 @@ pipeline:
     commands:
     - mix local.hex --force
     - mix local.rebar --force
+    - mix deps.get
     - mix ecto.drop -f -q
     - mix ecto.create
     - mix ecto.migrate
@@ -44,6 +50,9 @@ pipeline:
 services:
   postgres:
     image: postgres:13
+    when:
+      event:
+      - pull_request
     environment:
       POSTGRES_DB: pleroma_test
       POSTGRES_USER: postgres
index 131453a12c17c05f87c189e162bec5401176fb2c..5c8014f16a83b77b2e425b3571f94518142f9087 100644 (file)
@@ -22,6 +22,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 
 ### Upgrade Notes
 - The bundled frontend has been removed, you will need to run the `pleroma.frontend install` mix task to install your frontend of choice. Configuration by default is set to `pleroma-fe`.
+- Admin-FE users will have to ensure that :admin is set _BEFORE_ restart, or
+you might end up in a situation where you don't have an ability to get it.
 
 ## 2.5.2
 
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..bc8719e
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,7 @@
+all:   install
+       pipenv run mkdocs build
+
+install:
+       pipenv install
+clean:
+       rm -rf docs
index 69a3d48ee66ebe6b19217127fb242e51ae2b80e5..38ca76003f87e7f9a380d775499fcc3f81b1e0d5 100644 (file)
--- a/README.md
+++ b/README.md
@@ -8,27 +8,27 @@ This is a fork of Pleroma, which is a microblogging server software that can fed
 
 Akkoma is written in Elixir and uses PostgresSQL for data storage.
 
-For clients it supports the [Mastodon client API](https://docs.joinmastodon.org/api/guidelines/) with Pleroma extensions (see the API section on <https://docs.akkoma.dev/main/>).
+For clients it supports the [Mastodon client API](https://docs.joinmastodon.org/api/guidelines/) with Pleroma extensions (see the API section on <https://docs.akkoma.dev/stable/>).
 
-- [Client Applications for Pleroma](https://docs.akkoma.dev/main/backend/clients/)
+- [Client Applications for Pleroma](https://docs.akkoma.dev/stable/clients/)
 
 ## Installation
 
 ### OTP releases (Recommended)
-If you are running Linux (glibc or musl) on x86, the recommended way to install Pleroma is by using OTP releases. OTP releases are as close as you can get to binary releases with Erlang/Elixir. The release is self-contained, and provides everything needed to boot it. The installation instructions are available [here](https://docs.akkoma.dev/main/backend/installation/otp_en/).
+If you are running Linux (glibc or musl) on x86, the recommended way to install Pleroma is by using OTP releases. OTP releases are as close as you can get to binary releases with Erlang/Elixir. The release is self-contained, and provides everything needed to boot it. The installation instructions are available [here](https://docs.akkoma.dev/stable/installation/otp_en/).
 
 ### From Source
 If your platform is not supported, or you just want to be able to edit the source code easily, you may install Pleroma from source.
 
-- [Alpine Linux](https://docs.akkoma.dev/main/backend/installation/alpine_linux_en/)
-- [Arch Linux](https://docs.akkoma.dev/main/backend/installation/arch_linux_en/)
-- [Debian-based](https://docs.akkoma.dev/main/backend/installation/debian_based_en/)
-- [Debian-based (jp)](https://docs.akkoma.dev/main/backend/installation/debian_based_jp/)
-- [FreeBSD](https://docs.akkoma.dev/main/backend/installation/freebsd_en/)
-- [Gentoo Linux](https://docs.akkoma.dev/main/backend/installation/gentoo_en/)
-- [NetBSD](https://docs.akkoma.dev/main/backend/installation/netbsd_en/)
-- [OpenBSD](https://docs.akkoma.dev/main/backend/installation/openbsd_en/)
-- [OpenBSD (fi)](https://docs.akkoma.dev/main/backend/installation/openbsd_fi/)
+- [Alpine Linux](https://docs.akkoma.dev/stable/installation/alpine_linux_en/)
+- [Arch Linux](https://docs.akkoma.dev/stable/installation/arch_linux_en/)
+- [Debian-based](https://docs.akkoma.dev/stable/installation/debian_based_en/)
+- [Debian-based (jp)](https://docs.akkoma.dev/stable/installation/debian_based_jp/)
+- [FreeBSD](https://docs.akkoma.dev/stable/installation/freebsd_en/)
+- [Gentoo Linux](https://docs.akkoma.dev/stable/installation/gentoo_en/)
+- [NetBSD](https://docs.akkoma.dev/stable/installation/netbsd_en/)
+- [OpenBSD](https://docs.akkoma.dev/stable/installation/openbsd_en/)
+- [OpenBSD (fi)](https://docs.akkoma.dev/stable/installation/openbsd_fi/)
 
 ### Docker
 While we don’t provide docker files, other people have written very good ones. Take a look at <https://github.com/angristan/docker-pleroma> or <https://glitch.sh/sn0w/pleroma-docker>.
@@ -42,4 +42,4 @@ If you ever encounter compilation issues during the updating of Pleroma, you can
 - `rm -r _build`
 
 ## Documentation
-- https://docs.akkoma.dev/main
+- https://docs.akkoma.dev/stable
index dddb5cea549ba2bbdffd86ce106a7b0a677674bf..9186b011d40f146ca43e56195539c6cd46db0710 100644 (file)
@@ -718,7 +718,8 @@ config :pleroma, :static_fe, enabled: false
 # available: %{...}
 
 config :pleroma, :frontends,
-  primary: %{"name" => "pleroma-fe", "ref" => "develop"},
+  primary: %{"name" => "pleroma-fe", "ref" => "stable"},
+  admin: %{"name" => "admin-fe", "ref" => "stable"},
   swagger: %{
     "name" => "swagger-ui",
     "ref" => "stable",
@@ -728,8 +729,9 @@ config :pleroma, :frontends,
     "pleroma-fe" => %{
       "name" => "pleroma-fe",
       "git" => "https://akkoma.dev/AkkomaGang/pleroma-fe",
-      "build_url" => "https://akkoma-updates.s3-website.fr-par.scw.cloud/frontend/akkoma-fe.zip",
-      "ref" => "develop",
+      "build_url" =>
+        "https://akkoma-updates.s3-website.fr-par.scw.cloud/frontend/${ref}/akkoma-fe.zip",
+      "ref" => "stable",
       "build_dir" => "dist"
     },
     # Mastodon-Fe cannot be set as a primary - this is only here so we can update this seperately
@@ -743,8 +745,9 @@ config :pleroma, :frontends,
     "admin-fe" => %{
       "name" => "admin-fe",
       "git" => "https://akkoma.dev/AkkomaGang/admin-fe",
-      "build_url" => "https://akkoma-updates.s3-website.fr-par.scw.cloud/frontend/admin-fe.zip",
-      "ref" => "develop"
+      "build_url" =>
+        "https://akkoma-updates.s3-website.fr-par.scw.cloud/frontend/${ref}/admin-fe.zip",
+      "ref" => "stable"
     },
     "soapbox-fe" => %{
       "name" => "soapbox-fe",
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644 (file)
index 0000000..e51c1d1
--- /dev/null
@@ -0,0 +1,7 @@
+all:   install
+       pipenv run mkdocs build
+
+install:
+       pipenv install
+clean:
+       rm -rf site
diff --git a/docs/Pipfile b/docs/Pipfile
new file mode 100644 (file)
index 0000000..3e538a5
--- /dev/null
@@ -0,0 +1,10 @@
+[[source]]
+name = "pypi"
+url = "https://pypi.org/simple"
+verify_ssl = true
+
+[dev-packages]
+
+[packages]
+mkdocs-material = "*"
+markdown-include = "*"
diff --git a/docs/Pipfile.lock b/docs/Pipfile.lock
new file mode 100644 (file)
index 0000000..ae39a27
--- /dev/null
@@ -0,0 +1,277 @@
+{
+    "_meta": {
+        "hash": {
+            "sha256": "926d34630c729228bb015cb958c04f8269c57f5ca1ffc2ceab1dfd1798884772"
+        },
+        "pipfile-spec": 6,
+        "requires": {},
+        "sources": [
+            {
+                "name": "pypi",
+                "url": "https://pypi.org/simple",
+                "verify_ssl": true
+            }
+        ]
+    },
+    "default": {
+        "click": {
+            "hashes": [
+                "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e",
+                "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"
+            ],
+            "markers": "python_version >= '3.7'",
+            "version": "==8.1.3"
+        },
+        "ghp-import": {
+            "hashes": [
+                "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619",
+                "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"
+            ],
+            "version": "==2.1.0"
+        },
+        "importlib-metadata": {
+            "hashes": [
+                "sha256:637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670",
+                "sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23"
+            ],
+            "markers": "python_version >= '3.7'",
+            "version": "==4.12.0"
+        },
+        "jinja2": {
+            "hashes": [
+                "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852",
+                "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"
+            ],
+            "markers": "python_version >= '3.7'",
+            "version": "==3.1.2"
+        },
+        "markdown": {
+            "hashes": [
+                "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874",
+                "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"
+            ],
+            "markers": "python_version >= '3.6'",
+            "version": "==3.3.7"
+        },
+        "markdown-include": {
+            "hashes": [
+                "sha256:6f5d680e36f7780c7f0f61dca53ca581bd50d1b56137ddcd6353efafa0c3e4a2"
+            ],
+            "index": "pypi",
+            "version": "==0.6.0"
+        },
+        "markupsafe": {
+            "hashes": [
+                "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003",
+                "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88",
+                "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5",
+                "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7",
+                "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a",
+                "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603",
+                "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1",
+                "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135",
+                "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247",
+                "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6",
+                "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601",
+                "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77",
+                "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02",
+                "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e",
+                "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63",
+                "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f",
+                "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980",
+                "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b",
+                "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812",
+                "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff",
+                "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96",
+                "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1",
+                "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925",
+                "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a",
+                "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6",
+                "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e",
+                "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f",
+                "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4",
+                "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f",
+                "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3",
+                "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c",
+                "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a",
+                "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417",
+                "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a",
+                "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a",
+                "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37",
+                "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452",
+                "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933",
+                "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a",
+                "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"
+            ],
+            "markers": "python_version >= '3.7'",
+            "version": "==2.1.1"
+        },
+        "mergedeep": {
+            "hashes": [
+                "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8",
+                "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"
+            ],
+            "markers": "python_version >= '3.6'",
+            "version": "==1.3.4"
+        },
+        "mkdocs": {
+            "hashes": [
+                "sha256:26bd2b03d739ac57a3e6eed0b7bcc86168703b719c27b99ad6ca91dc439aacde",
+                "sha256:b504405b04da38795fec9b2e5e28f6aa3a73bb0960cb6d5d27ead28952bd35ea"
+            ],
+            "markers": "python_version >= '3.6'",
+            "version": "==1.3.0"
+        },
+        "mkdocs-material": {
+            "hashes": [
+                "sha256:263f2721f3abe533b61f7c8bed435a0462620912742c919821ac2d698b4bfe67",
+                "sha256:dc82b667d2a83f0de581b46a6d0949732ab77e7638b87ea35b770b33bc02e75a"
+            ],
+            "index": "pypi",
+            "version": "==8.3.9"
+        },
+        "mkdocs-material-extensions": {
+            "hashes": [
+                "sha256:a82b70e533ce060b2a5d9eb2bc2e1be201cf61f901f93704b4acf6e3d5983a44",
+                "sha256:bfd24dfdef7b41c312ede42648f9eb83476ea168ec163b613f9abd12bbfddba2"
+            ],
+            "markers": "python_version >= '3.6'",
+            "version": "==1.0.3"
+        },
+        "packaging": {
+            "hashes": [
+                "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb",
+                "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"
+            ],
+            "markers": "python_version >= '3.6'",
+            "version": "==21.3"
+        },
+        "pygments": {
+            "hashes": [
+                "sha256:5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb",
+                "sha256:dc9c10fb40944260f6ed4c688ece0cd2048414940f1cea51b8b226318411c519"
+            ],
+            "markers": "python_version >= '3.6'",
+            "version": "==2.12.0"
+        },
+        "pymdown-extensions": {
+            "hashes": [
+                "sha256:3ef2d998c0d5fa7eb09291926d90d69391283561cf6306f85cd588a5eb5befa0",
+                "sha256:ec141c0f4983755349f0c8710416348d1a13753976c028186ed14f190c8061c4"
+            ],
+            "markers": "python_version >= '3.7'",
+            "version": "==9.5"
+        },
+        "pyparsing": {
+            "hashes": [
+                "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb",
+                "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"
+            ],
+            "markers": "python_full_version >= '3.6.8'",
+            "version": "==3.0.9"
+        },
+        "python-dateutil": {
+            "hashes": [
+                "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86",
+                "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"
+            ],
+            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+            "version": "==2.8.2"
+        },
+        "pyyaml": {
+            "hashes": [
+                "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293",
+                "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b",
+                "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57",
+                "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b",
+                "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4",
+                "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07",
+                "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba",
+                "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9",
+                "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287",
+                "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513",
+                "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0",
+                "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0",
+                "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92",
+                "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f",
+                "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2",
+                "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc",
+                "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c",
+                "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86",
+                "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4",
+                "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c",
+                "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34",
+                "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b",
+                "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c",
+                "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb",
+                "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737",
+                "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3",
+                "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d",
+                "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53",
+                "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78",
+                "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803",
+                "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a",
+                "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174",
+                "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"
+            ],
+            "markers": "python_version >= '3.6'",
+            "version": "==6.0"
+        },
+        "pyyaml-env-tag": {
+            "hashes": [
+                "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb",
+                "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"
+            ],
+            "markers": "python_version >= '3.6'",
+            "version": "==0.1"
+        },
+        "six": {
+            "hashes": [
+                "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
+                "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
+            ],
+            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+            "version": "==1.16.0"
+        },
+        "watchdog": {
+            "hashes": [
+                "sha256:083171652584e1b8829581f965b9b7723ca5f9a2cd7e20271edf264cfd7c1412",
+                "sha256:117ffc6ec261639a0209a3252546b12800670d4bf5f84fbd355957a0595fe654",
+                "sha256:186f6c55abc5e03872ae14c2f294a153ec7292f807af99f57611acc8caa75306",
+                "sha256:195fc70c6e41237362ba720e9aaf394f8178bfc7fa68207f112d108edef1af33",
+                "sha256:226b3c6c468ce72051a4c15a4cc2ef317c32590d82ba0b330403cafd98a62cfd",
+                "sha256:247dcf1df956daa24828bfea5a138d0e7a7c98b1a47cf1fa5b0c3c16241fcbb7",
+                "sha256:255bb5758f7e89b1a13c05a5bceccec2219f8995a3a4c4d6968fe1de6a3b2892",
+                "sha256:43ce20ebb36a51f21fa376f76d1d4692452b2527ccd601950d69ed36b9e21609",
+                "sha256:4f4e1c4aa54fb86316a62a87b3378c025e228178d55481d30d857c6c438897d6",
+                "sha256:5952135968519e2447a01875a6f5fc8c03190b24d14ee52b0f4b1682259520b1",
+                "sha256:64a27aed691408a6abd83394b38503e8176f69031ca25d64131d8d640a307591",
+                "sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d",
+                "sha256:70af927aa1613ded6a68089a9262a009fbdf819f46d09c1a908d4b36e1ba2b2d",
+                "sha256:7a833211f49143c3d336729b0020ffd1274078e94b0ae42e22f596999f50279c",
+                "sha256:8250546a98388cbc00c3ee3cc5cf96799b5a595270dfcfa855491a64b86ef8c3",
+                "sha256:97f9752208f5154e9e7b76acc8c4f5a58801b338de2af14e7e181ee3b28a5d39",
+                "sha256:9f05a5f7c12452f6a27203f76779ae3f46fa30f1dd833037ea8cbc2887c60213",
+                "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330",
+                "sha256:ad576a565260d8f99d97f2e64b0f97a48228317095908568a9d5c786c829d428",
+                "sha256:b530ae007a5f5d50b7fbba96634c7ee21abec70dc3e7f0233339c81943848dc1",
+                "sha256:bfc4d351e6348d6ec51df007432e6fe80adb53fd41183716017026af03427846",
+                "sha256:d3dda00aca282b26194bdd0adec21e4c21e916956d972369359ba63ade616153",
+                "sha256:d9820fe47c20c13e3c9dd544d3706a2a26c02b2b43c993b62fcd8011bcc0adb3",
+                "sha256:ed80a1628cee19f5cfc6bb74e173f1b4189eb532e705e2a13e3250312a62e0c9",
+                "sha256:ee3e38a6cc050a8830089f79cbec8a3878ec2fe5160cdb2dc8ccb6def8552658"
+            ],
+            "markers": "python_version >= '3.6'",
+            "version": "==2.1.9"
+        },
+        "zipp": {
+            "hashes": [
+                "sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad",
+                "sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099"
+            ],
+            "markers": "python_version >= '3.7'",
+            "version": "==3.8.0"
+        }
+    },
+    "develop": {}
+}
diff --git a/docs/README.md b/docs/README.md
new file mode 100644 (file)
index 0000000..fcf043f
--- /dev/null
@@ -0,0 +1,34 @@
+## Building the docs
+
+You don't need to build and test the docs as long as you make sure the syntax is correct. But in case you do want to build the docs, feel free to do so.
+
+You'll need to install mkdocs for which you can check the [mkdocs installation guide](https://www.mkdocs.org/#installation). Generally it's best to install it using `pip`. You'll also need to install the correct dependencies.
+
+### Example using a Debian based distro
+
+#### 1. Install pipenv and dependencies
+
+```shell
+pip install pipenv
+pipenv sync
+```
+
+#### 2. (Optional) Activate the virtual environment
+
+Since dependencies are installed in a virtual environment, you can't use them directly. To use them you should either prefix the command with `pipenv run`, or activate the virtual environment for current shell by executing `pipenv shell` once.
+
+#### 3. Build the docs using the script
+
+```shell
+[pipenv run] make all
+```
+
+#### 4. Serve the files
+
+A folder `site` containing the static html pages will have been created. You can serve them from a server by pointing your server software (nginx, apache...) to this location. During development, you can run locally with
+
+```shell
+[pipenv run] mkdocs serve
+```
+
+This handles setting up an http server and rebuilding when files change. You can then access the docs on <http://127.0.0.1:8000>
similarity index 97%
rename from docs/administration/CLI_tasks/config.md
rename to docs/docs/administration/CLI_tasks/config.md
index 5a7ae2c7abae2b2c81c5a5177307f13bef4852fe..a0199d06fe6a0ab372b86eec4a672db98ac12173 100644 (file)
@@ -1,6 +1,6 @@
 # Transfering the config to/from the database
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Transfer config from file to DB.
 
similarity index 98%
rename from docs/administration/CLI_tasks/database.md
rename to docs/docs/administration/CLI_tasks/database.md
index c53c4992118796d5dd696ae4c805303e5c4be769..8b2ab93e626c4923237ff1fbfccc5ebd3d052c85 100644 (file)
@@ -1,6 +1,6 @@
 # Database maintenance tasks
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 !!! danger
     These mix tasks can take a long time to complete. Many of them were written to address specific database issues that happened because of bugs in migrations or other specific scenarios. Do not run these tasks "just in case" if everything is fine your instance.
similarity index 87%
rename from docs/administration/CLI_tasks/digest.md
rename to docs/docs/administration/CLI_tasks/digest.md
index a590581e3592245a41628a2492815b33347354ae..7a6569adad22cf21164ae57d96252273dc6c0ea6 100644 (file)
@@ -1,6 +1,6 @@
 # Managing digest emails
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Send digest email since given date (user registration date by default) ignoring user activity status.
 
similarity index 90%
rename from docs/administration/CLI_tasks/email.md
rename to docs/docs/administration/CLI_tasks/email.md
index 2bb57bea4db8bf5eb97c176c2a993a1e4e00dbb2..f76096e0756f4da2f332ce70e6164b8822562d7d 100644 (file)
@@ -1,6 +1,6 @@
 # EMail administration tasks
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Send test email (instance email by default)
 
similarity index 96%
rename from docs/administration/CLI_tasks/emoji.md
rename to docs/docs/administration/CLI_tasks/emoji.md
index e3d1b210ed7cf84a60f6a2c7536b95d06b0d0813..bad908dca7ca02f9e56983edb9ccdf6e15735c5f 100644 (file)
@@ -1,6 +1,6 @@
 # Managing emoji packs
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Lists emoji packs and metadata specified in the manifest
 
similarity index 96%
rename from docs/administration/CLI_tasks/instance.md
rename to docs/docs/administration/CLI_tasks/instance.md
index 982b22bf3c9223aef29aec7109d78b8329105b95..5c93cdb306940567dab9c6af860831c0e6455040 100644 (file)
@@ -1,6 +1,6 @@
 # Managing instance configuration
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Generate a new configuration file
 === "OTP"
similarity index 82%
rename from docs/administration/CLI_tasks/oauth_app.md
rename to docs/docs/administration/CLI_tasks/oauth_app.md
index f0568491ebe03cb3a0bd6152c628dcddeac535b2..8a49b3c090815b9b7a4fccb876cfd3e2f1138db6 100644 (file)
@@ -1,6 +1,6 @@
 # Creating trusted OAuth App
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Create trusted OAuth App.
 
similarity index 88%
rename from docs/administration/CLI_tasks/relay.md
rename to docs/docs/administration/CLI_tasks/relay.md
index bdd7e8be4cba27128182c2ebaabe389897236fba..b510382bb9792ad1f1e74da0606ea64685b3deed 100644 (file)
@@ -1,6 +1,6 @@
 # Managing relays
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Follow a relay
 
similarity index 89%
rename from docs/administration/CLI_tasks/robots_txt.md
rename to docs/docs/administration/CLI_tasks/robots_txt.md
index 7eeedf57119d2d41ece8ba973985d32e4c248b63..6cb9fd673b59c0e0344db70c71edb6edca95d31d 100644 (file)
@@ -1,6 +1,6 @@
 # Managing robots.txt
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Generate a new robots.txt file and add it to the static directory
 
similarity index 87%
rename from docs/administration/CLI_tasks/uploads.md
rename to docs/docs/administration/CLI_tasks/uploads.md
index 8585ec76bcebb3cf91813bc03d58447db31180cb..40602121c09dcdc1afd83603fb036ee26a499dfe 100644 (file)
@@ -1,6 +1,6 @@
 # Managing uploads
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Migrate uploads from local to remote storage
 === "OTP"
similarity index 98%
rename from docs/administration/CLI_tasks/user.md
rename to docs/docs/administration/CLI_tasks/user.md
index 24fdaeab4ad025df29c624b43dee6ee5ab628aca..0d19b5622e229722679468cae2e41d8e5b1bac91 100644 (file)
@@ -1,6 +1,6 @@
 # Managing users
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Create a user
 
similarity index 94%
rename from docs/administration/updating.md
rename to docs/docs/administration/updating.md
index 7c2cd2a1605bb5baffc5882db3a6d756cbd3a69b..6f7ffcd6308599fb9f28a300632d7f146269f830 100644 (file)
@@ -8,7 +8,7 @@ Besides that, doing the following is generally enough:
 
 ```sh
 # Download the new release
-su akkoma -s $SHELL -lc "./bin/pleroma_ctl update --branch develop
+su akkoma -s $SHELL -lc "./bin/pleroma_ctl update" 
 
 # Migrate the database, you are advised to stop the instance before doing that
 su akkoma -s $SHELL -lc "./bin/pleroma_ctl migrate"
similarity index 100%
rename from docs/clients.md
rename to docs/docs/clients.md
similarity index 99%
rename from docs/configuration/cheatsheet.md
rename to docs/docs/configuration/cheatsheet.md
index 17da58594219219b4e4d31f5a7240bf7feb1c96b..c7df00190498f35e40b9620e7ca1bc381fca2f96 100644 (file)
@@ -249,9 +249,11 @@ Notes:
 * `total_user_limit`: the number of scheduled activities a user is allowed to create in total (Default: `300`)
 * `enabled`: whether scheduled activities are sent to the job queue to be executed
 
+## Frontend Management
+
 ### :frontend_configurations
 
-This can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for `pleroma_fe` and `masto_fe` are configured. You can find the documentation for `pleroma_fe` configuration into [Pleroma-FE configuration and customization for instance administrators](/frontend/CONFIGURATION/#options).
+This can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for `pleroma_fe` and `masto_fe` are configured. You can find the documentation for `pleroma_fe` configuration into [Pleroma-FE configuration and customization for instance administrators](https://docs-fe.akkoma.dev/stable/CONFIGURATION/#options).
 
 Frontends can access these settings at `/api/v1/pleroma/frontend_configurations`
 
similarity index 96%
rename from docs/configuration/frontend_management.md
rename to docs/docs/configuration/frontend_management.md
index 077fd9c31edada599276b95cdc6fab4322a9b290..a251205894ec9d215e57fd502480abdd91b05576 100644 (file)
@@ -13,12 +13,12 @@ Example:
 ```elixir
 config :pleroma, :frontends,
   primary: %{
-    "name" => "pleroma",
+    "name" => "pleroma-fe",
     "ref" => "stable"
   },
   admin: %{
-    "name" => "admin",
-    "ref" => "develop"
+    "name" => "admin-fe",
+    "ref" => "stable"
   }
 ```
 
similarity index 98%
rename from docs/configuration/howto_theming_your_instance.md
rename to docs/docs/configuration/howto_theming_your_instance.md
index 77b3964cfff68879a51f5b6821063b316d978768..213afcf13df8596fa8a3665a7a3411982e2e9777 100644 (file)
@@ -60,7 +60,7 @@ Example of `my-awesome-theme.json` where we add the name "My Awesome Theme"
 
 ### Set as default theme
 
-Now we can set the new theme as default in the [Pleroma FE configuration](../../../frontend/CONFIGURATION).
+Now we can set the new theme as default in the [Pleroma FE configuration](https://docs-fe.akkoma.dev/stable/CONFIGURATION).
 
 Example of adding the new theme in the back-end config files
 ```elixir
similarity index 99%
rename from docs/configuration/search.md
rename to docs/docs/configuration/search.md
index 3c5611309b05fe50af43f4d5b31ca14bec8c272b..ebb2c6ab7fe574d302c21dec74575b7e4eaf4e95 100644 (file)
@@ -1,6 +1,6 @@
 # Configuring search
 
-{! backend/administration/CLI_tasks/general_cli_task_info.include !}
+{! administration/CLI_tasks/general_cli_task_info.include !}
 
 ## Built-in search
 
diff --git a/docs/docs/css/extra.css b/docs/docs/css/extra.css
new file mode 100644 (file)
index 0000000..b5ceb8a
--- /dev/null
@@ -0,0 +1,28 @@
+p, a, li, pre {
+  font-family: "Tiresias PCFont", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
+}
+
+code,
+.codehilite pre {
+  font-weight: bold;
+}
+
+:root > * {
+  --md-primary-fg-color:        #593196;
+  --md-accent-fg-color:         #455a63;
+}
+
+@font-face {
+  font-family: 'Tiresias PCFont';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Tiresias PCFont'), local('Tiresias PCFont'),
+       url('./fonts/Tiresias_PCfont.ttf') format('truetype')
+}
+@font-face {
+  font-family: 'Tiresias Infofont';
+  font-style: normal;   
+  font-weight: 400;
+  src: local('Tiresias Infofont'), local('Tiresias Infofont'),
+       url('./fonts/Tiresias_Infofont.ttf') format('truetype')
+} 
diff --git a/docs/docs/fonts/Tiresias_Infofont.ttf b/docs/docs/fonts/Tiresias_Infofont.ttf
new file mode 100755 (executable)
index 0000000..2a8a6aa
Binary files /dev/null and b/docs/docs/fonts/Tiresias_Infofont.ttf differ
diff --git a/docs/docs/fonts/Tiresias_PCfont.ttf b/docs/docs/fonts/Tiresias_PCfont.ttf
new file mode 100755 (executable)
index 0000000..c85364e
Binary files /dev/null and b/docs/docs/fonts/Tiresias_PCfont.ttf differ
diff --git a/docs/docs/images/akko_badday.png b/docs/docs/images/akko_badday.png
new file mode 100644 (file)
index 0000000..b79c67d
Binary files /dev/null and b/docs/docs/images/akko_badday.png differ
similarity index 97%
rename from docs/index.md
rename to docs/docs/index.md
index db7e22aee3695af7820e949b570a358cd61b3cb8..f9340d5d38345bc3fb3074485566a50e20af15e5 100644 (file)
@@ -18,7 +18,7 @@ Installation instructions can be found in the installation section of these docs
 Great! Now you can explore the fediverse! Open the login page for your Akkoma instance (e.g. <https://pleroma.soykaf.com>) and login with your username and password. (If you don't have an account yet, click on Register)
 
 ### Pleroma-FE
-The default front-end used by Akkoma is Pleroma-FE. You can find more information on what it is and how to use it in the [Introduction to Pleroma-FE](../frontend).
+The default front-end used by Akkoma is Pleroma-FE. You can find more information on what it is and how to use it in the [Introduction to Pleroma-FE](https://docs-fe.akkoma.dev/stable/).
 
 ### Mastodon interface
 If the Pleroma-FE interface isn't your thing, or you're just trying something new but you want to keep using the familiar Mastodon interface, we got that too!
similarity index 96%
rename from docs/installation/alpine_linux_en.md
rename to docs/docs/installation/alpine_linux_en.md
index 05b226aefa0f48e3f78b28f89eced3e40bd189ca..f98998fb8cdf828594fc83cf6289eefd63210f44 100644 (file)
@@ -1,6 +1,6 @@
 # Installing on Alpine Linux
 
-{! backend/installation/otp_vs_from_source_source.include !}
+{! installation/otp_vs_from_source_source.include !}
 
 ## Installation
 
@@ -10,7 +10,7 @@ As of Alpine Linux v3.16, `doas` is the preferred way of running privileged comm
 If you are running an earlier version, replace `doas` with `sudo` (and use `sudo -Hu akkoma` instead of `doas -u akkoma`).
 If you want to run this guide with root, ignore the `doas` at the beginning of the lines, unless it calls a user like `doas -u akkoma`; in this case, use `su -l <username> -s $SHELL -c 'command'` instead.
 
-{! backend/installation/generic_dependencies.include !}
+{! installation/generic_dependencies.include !}
 
 ### Prepare the system
 
@@ -223,6 +223,6 @@ doas -u akkoma env MIX_ENV=prod mix pleroma.user new <username> <your@emailaddre
 
 #### Further reading
 
-{! backend/installation/further_reading.include !}
+{! installation/further_reading.include !}
 
-{! backend/support.include !}
+{! support.include !}
similarity index 97%
rename from docs/installation/arch_linux_en.md
rename to docs/docs/installation/arch_linux_en.md
index 31818593a108a3770f33df7aba4ff3a6a2d4a3d4..f7a7d62391500d94d50544b6fe1e3380b153204e 100644 (file)
@@ -1,6 +1,6 @@
 # Installing on Arch Linux
 
-{! backend/installation/otp_vs_from_source_source.include !}
+{! installation/otp_vs_from_source_source.include !}
 
 ## Installation
 
@@ -214,6 +214,6 @@ sudo -Hu akkoma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress>
 
 #### Further reading
 
-{! backend/installation/further_reading.include !}
+{! installation/further_reading.include !}
 
-{! backend/support.include !}
+{! support.include !}
similarity index 96%
rename from docs/installation/debian_based_en.md
rename to docs/docs/installation/debian_based_en.md
index f2c9eb3b80e9fb7722cc5292a93360c4b6ae28f9..40503db0ce46e5d9fe68c5bed0d076eae8282d39 100644 (file)
@@ -1,12 +1,12 @@
 # Installing on Debian Based Distributions
 
-{! backend/installation/otp_vs_from_source_source.include !}
+{! installation/otp_vs_from_source_source.include !}
 
 ## Installation
 
 This guide will assume you are on Debian 11 (“bullseye”) or later. This guide should also work with Ubuntu 18.04 (“Bionic Beaver”) and later. It also assumes that you have administrative rights, either as root or a user with [sudo permissions](https://www.digitalocean.com/community/tutorials/how-to-add-delete-and-grant-sudo-privileges-to-users-on-a-debian-vps). If you want to run this guide with root, ignore the `sudo` at the beginning of the lines, unless it calls a user like `sudo -Hu akkoma`; in this case, use `su <username> -s $SHELL -c 'command'` instead.
 
-{! backend/installation/generic_dependencies.include !}
+{! installation/generic_dependencies.include !}
 
 ### Prepare the system
 
@@ -177,6 +177,6 @@ sudo -Hu akkoma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress>
 
 #### Further reading
 
-{! backend/installation/further_reading.include !}
+{! installation/further_reading.include !}
 
-{! backend/support.include !}
+{! support.include !}
similarity index 99%
rename from docs/installation/debian_based_jp.md
rename to docs/docs/installation/debian_based_jp.md
index 51d24a2d7cbc7fb19d49e57d27d6af5e22d6702c..ec829c9039a3a013f0344062f6c69e50dc5816cf 100644 (file)
@@ -185,4 +185,4 @@ sudo -Hu akkoma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress>
 
 #### その他の設定とカスタマイズ
 
-{! backend/installation/further_reading.include !}
+{! installation/further_reading.include !}
similarity index 98%
rename from docs/installation/freebsd_en.md
rename to docs/docs/installation/freebsd_en.md
index ff60bd27ed18445ffd422dadd170711ff12a5127..be735a998476be222784c9faf0a3b8ef465ec219 100644 (file)
@@ -2,7 +2,7 @@
 
 This document was written for FreeBSD 12.1, but should be work on future releases.
 
-{! backend/installation/generic_dependencies.include !}
+{! installation/generic_dependencies.include !}
 
 ## Installing software used in this guide
 
@@ -213,4 +213,4 @@ Restart nginx with `# service nginx restart` and you should be up and running.
 Make sure your time is in sync, or other instances will receive your posts with
 incorrect timestamps. You should have ntpd running.
 
-{! backend/support.include !}
+{! support.include !}
similarity index 98%
rename from docs/installation/gentoo_en.md
rename to docs/docs/installation/gentoo_en.md
index a8a5f157aed16b329f534193189408ee98b0ff71..4649b63bfca0e2b2aabeba8b0c0db9007e761b53 100644 (file)
@@ -1,12 +1,12 @@
 # Installing on Gentoo GNU/Linux
 
-{! backend/installation/otp_vs_from_source_source.include !}
+{! installation/otp_vs_from_source_source.include !}
 
 ## Installation
 
 This guide will assume that you have administrative rights, either as root or a user with [sudo permissions](https://wiki.gentoo.org/wiki/Sudo). Lines that begin with `#` indicate that they should be run as the superuser. Lines using `$` should be run as the indicated user, e.g. `akkoma$` should be run as the `akkoma` user.
 
-{! backend/installation/generic_dependencies.include !}
+{! installation/generic_dependencies.include !}
 
 ### Your make.conf, package.use, and USE flags
 
@@ -295,6 +295,6 @@ If you opted to allow sudo for the `akkoma` user but would like to remove the ab
 
 #### Further reading
 
-{! backend/installation/further_reading.include !}
+{! installation/further_reading.include !}
 
-{! backend/support.include !}
+{! support.include !}
similarity index 98%
rename from docs/installation/migrating_from_source_otp_en.md
rename to docs/docs/installation/migrating_from_source_otp_en.md
index d84a08b3c8c86b56444ffb4d23bdfc109409a9d6..148564d9a23de26879b0a962c9b0311be843e035 100644 (file)
@@ -1,6 +1,6 @@
 # Switching a from-source install to OTP releases
 
-{! backend/installation/otp_vs_from_source.include !}
+{! installation/otp_vs_from_source.include !}
 
 In this guide we cover how you can migrate from a from source installation to one using OTP releases.
 
@@ -142,4 +142,4 @@ Refer to [Running mix tasks](otp_en.md#running-mix-tasks) section from OTP relea
 ## Updating
 Refer to [Updating](otp_en.md#updating) section from OTP release installation guide.
 
-{! backend/support.include !}
+{! support.include !}
similarity index 97%
rename from docs/installation/netbsd_en.md
rename to docs/docs/installation/netbsd_en.md
index df396e4f4207fd9eba90cd746e701ae48fe5c506..c00a32e343ca536892c5f3658c0590bab5865372 100644 (file)
@@ -1,6 +1,6 @@
 # Installing on NetBSD
 
-{! backend/installation/generic_dependencies.include !}
+{! installation/generic_dependencies.include !}
 
 ## Installing software used in this guide
 
@@ -204,6 +204,6 @@ incorrect timestamps. You should have ntpd running.
 
 #### Further reading
 
-{! backend/installation/further_reading.include !}
+{! installation/further_reading.include !}
 
-{! backend/support.include !}
+{! support.include !}
similarity index 98%
rename from docs/installation/openbsd_en.md
rename to docs/docs/installation/openbsd_en.md
index abc0abb51cd79d1389b0fc2b57c84e064c88ed18..c7e8cf0c09b3136eb31d2304448b737f7d19c863 100644 (file)
@@ -4,7 +4,7 @@ This guide describes the installation and configuration of akkoma (and the requi
 
 For any additional information regarding commands and configuration files mentioned here, check the man pages [online](https://man.openbsd.org/) or directly on your server with the man command.
 
-{! backend/installation/generic_dependencies.include !}
+{! installation/generic_dependencies.include !}
 
 ### Preparing the system
 #### Required software
@@ -252,6 +252,6 @@ LC_ALL=en_US.UTF-8 MIX_ENV=prod mix pleroma.user new <username> <your@emailaddre
 
 #### Further reading
 
-{! backend/installation/further_reading.include !}
+{! installation/further_reading.include !}
 
-{! backend/support.include !}
+{! support.include !}
similarity index 98%
rename from docs/installation/otp_en.md
rename to docs/docs/installation/otp_en.md
index c751bc851c41adec6a41f25a95fd84eb59075a81..5ae626bbad86f3e530743955be9e3bebb9aa89e7 100644 (file)
@@ -1,6 +1,6 @@
 # Installing on Linux using OTP releases
 
-{! backend/installation/otp_vs_from_source.include !}
+{! installation/otp_vs_from_source.include !}
 
 This guide covers a installation using an OTP release. To install Akkoma from source, please check out the corresponding guide for your distro.
 
@@ -235,7 +235,7 @@ At this point if you open your (sub)domain in a browser you should see a 502 err
 
 If everything worked, you should see Akkoma-FE when visiting your domain. If that didn't happen, try reviewing the installation steps, starting Akkoma in the foreground and seeing if there are any errrors.
 
-{! backend/support.include !}
+{! support.include !}
 
 ## Post installation
 
@@ -300,6 +300,6 @@ This will create an account withe the username of 'joeuser' with the email addre
 
 ## Further reading
 
-{! backend/installation/further_reading.include !}
+{! installation/further_reading.include !}
 
-{! backend/support.include !}
+{! support.include !}
similarity index 69%
rename from docs/installation/otp_vs_from_source_source.include
rename to docs/docs/installation/otp_vs_from_source_source.include
index 63482b69d0e99a10e8c2c5e9771eef7346f972e0..fad63982c51bacfa7ebb0a1c8db528807b4748c7 100644 (file)
@@ -1,3 +1,3 @@
-{! backend/installation/otp_vs_from_source.include !}
+{! installation/otp_vs_from_source.include !}
 
 This guide covers a from-source installation. To install using OTP releases, please check out [the OTP guide](./otp_en.md).
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
new file mode 100644 (file)
index 0000000..925363e
--- /dev/null
@@ -0,0 +1,37 @@
+site_name: Akkoma Documentation
+theme:
+  favicon: 'images/akko_badday.png'
+  name: 'material'
+  custom_dir: 'theme'
+  # Disable google fonts
+  font: false
+  logo: 'images/akko_badday.png'
+  features:
+    - tabs
+  palette:
+    primary: 'deep purple'
+    accent: 'blue grey'
+
+extra_css:
+  - css/extra.css
+repo_name: 'AkkomaGang/docs'
+repo_url: 'https://akkoma.dev/AkkomaGang/docs'
+
+extra:
+  repo_icon: gitea
+
+markdown_extensions:
+  # Note/warning blocks https://squidfunk.github.io/mkdocs-material/extensions/admonition/
+  - admonition
+  - codehilite:
+      guess_lang: false
+  # Make it possible to link to every header https://squidfunk.github.io/mkdocs-material/extensions/permalinks/
+  - toc:
+      permalink: true
+  - pymdownx.tasklist:
+      custom_checkbox: true
+  - pymdownx.superfences
+  - pymdownx.tabbed
+  - pymdownx.details
+  - markdown_include.include:
+      base_path: docs
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644 (file)
index 0000000..70fbd9d
--- /dev/null
@@ -0,0 +1,22 @@
+click==8.1.3
+ghp-import==2.1.0
+importlib-metadata==4.12.0
+Jinja2==3.1.2
+Markdown==3.3.7
+markdown-include==0.6.0
+MarkupSafe==2.1.1
+mergedeep==1.3.4
+mkdocs==1.3.0
+mkdocs-bootswatch==1.1
+mkdocs-material==8.1.8
+mkdocs-material-extensions==1.0.3
+packaging==21.3
+Pygments==2.11.2
+pymdown-extensions==9.1
+pyparsing==3.0.9
+python-dateutil==2.8.2
+PyYAML==6.0
+pyyaml_env_tag==0.1
+six==1.16.0
+watchdog==2.1.9
+zipp==3.8.0
diff --git a/docs/theme/partials/source.html b/docs/theme/partials/source.html
new file mode 100644 (file)
index 0000000..3ed0fff
--- /dev/null
@@ -0,0 +1,64 @@
+<!--
+  Copyright (c) 2016-2019 Martin Donath <martin.donath@squidfunk.com>
+
+  Permission is hereby granted, free of charge, to any person obtaining a copy
+  of this software and associated documentation files (the "Software"), to
+  deal in the Software without restriction, including without limitation the
+  rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+  sell copies of the Software, and to permit persons to whom the Software is
+  furnished to do so, subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be included in
+  all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
+  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+  IN THE SOFTWARE.
+-->
+
+{% import "partials/language.html" as lang with context %}
+
+<!--
+  Check whether the repository is hosted on one of the supported code hosting
+  platforms (GitHub, GitLab or Bitbucket) to show icon.
+-->
+{% set platform = config.extra.repo_icon or config.repo_url %}
+{% if "github" in platform %}
+  {% set repo_type = "github" %}
+{% elif "gitlab" in platform %}
+  {% set repo_type = "gitlab" %}
+{% elif "bitbucket" in platform %}
+  {% set repo_type = "bitbucket" %}
+{% else %}
+  {% set repo_type = "" %}
+{% endif %}
+
+{% if page and page.url.startswith('backend') %}
+  {% set repo_url = "https://git.pleroma.social/pleroma/pleroma" %}
+  {% set repo_name = "pleroma/pleroma" %}
+{% elif page and page.url.startswith('frontend') %}
+  {% set repo_url = "https://git.pleroma.social/pleroma/pleroma-fe" %}
+  {% set repo_name = "pleroma/pleroma-fe" %}
+{% else %}
+  {% set repo_url = config.repo_url %}
+  {% set repo_name = config.repo_name %}
+{% endif %}
+
+<!-- Repository containing source -->
+<a href="{{ repo_url }}" title="{{ lang.t('source.link.title') }}"
+    class="md-source" data-md-source="{{ repo_type }}">
+  {% if repo_type %}
+    <div class="md-source__icon">
+      <svg viewBox="0 0 24 24" width="24" height="24">
+        <use xlink:href="#__{{ repo_type }}" width="24" height="24"></use>
+      </svg>
+    </div>
+  {% endif %}
+  <div class="md-source__repository">
+    {{ repo_name }}
+  </div>
+</a>
index c9f123532296e77b24f57b18d33711500fad30d5..65bbf15e196c5d40c6f1ef8d60c4e919fccb12db 100644 (file)
@@ -8,7 +8,7 @@
 #    'a2ensite akkoma-apache.conf', then restart Apache.
 #
 # Optional: enable disk-based caching for the media proxy
-# For details, see https://docs.akkoma.dev/main/backend/configuration/howto_mediaproxy/
+# For details, see https://docs.akkoma.dev/stable/configuration/howto_mediaproxy/
 #
 # 1. Create a directory as shown below for the CacheRoot and make sure
 #    the Apache user can write to it.
index 0bf7ffabcb29b27b4969fcaa279534d2833dca99..2ec06db8c3823e0ee1376806ee285a47c3a2935a 100644 (file)
@@ -3,7 +3,7 @@
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Mix.Tasks.Pleroma.App do
-  @moduledoc File.read!("docs/administration/CLI_tasks/oauth_app.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/oauth_app.md")
   use Mix.Task
 
   import Mix.Pleroma
index 05ff8076fe34f94709d985e8515fa64e55527fae..c259a6cbd27ecc92c42ce01d22b86530f1282117 100644 (file)
@@ -12,7 +12,7 @@ defmodule Mix.Tasks.Pleroma.Config do
   alias Pleroma.Repo
 
   @shortdoc "Manages the location of the config"
-  @moduledoc File.read!("docs/administration/CLI_tasks/config.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/config.md")
 
   def run(["migrate_to_db"]) do
     check_configdb(fn ->
index a973beaa907740badee669c05f18456642db6081..99897e83ee19c60f365d24fb063059d4ccd92411 100644 (file)
@@ -18,7 +18,7 @@ defmodule Mix.Tasks.Pleroma.Database do
   use Mix.Task
 
   @shortdoc "A collection of database related tasks"
-  @moduledoc File.read!("docs/administration/CLI_tasks/database.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/database.md")
 
   def run(["remove_embedded_objects" | args]) do
     {options, [], []} =
index f34fc839e6f0633b62df39969464040a63d0d0ba..0c14694323b879df699d247825d211945bf447d3 100644 (file)
@@ -7,7 +7,7 @@ defmodule Mix.Tasks.Pleroma.Digest do
   import Mix.Pleroma
 
   @shortdoc "Manages digest emails"
-  @moduledoc File.read!("docs/administration/CLI_tasks/digest.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/digest.md")
 
   def run(["test", nickname | opts]) do
     Mix.Pleroma.start_pleroma()
index 4ce8c9b05fc7fc0f9ed48b60b4fdece26403c536..d257cebe96fd262d09e4d61763f52973d98010db 100644 (file)
@@ -7,7 +7,7 @@ defmodule Mix.Tasks.Pleroma.Email do
   import Mix.Pleroma
 
   @shortdoc "Email administrative tasks"
-  @moduledoc File.read!("docs/administration/CLI_tasks/email.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/email.md")
 
   def run(["test" | args]) do
     start_pleroma()
index 9ad4a7467ff464ea4d232a8180e03b9e91411549..5dedf276ab13dc7d983677a6848500d591f5e069 100644 (file)
@@ -7,7 +7,7 @@ defmodule Mix.Tasks.Pleroma.Emoji do
   import Mix.Pleroma
 
   @shortdoc "Manages emoji packs"
-  @moduledoc File.read!("docs/administration/CLI_tasks/emoji.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/emoji.md")
 
   def run(["ls-packs" | args]) do
     start_pleroma()
index 8334e0049a7f5f48bf6c5891d90d35f3ece0feb0..d265bfa3a94afed853c1f4d251ca47e6fb914c6f 100644 (file)
@@ -9,7 +9,7 @@ defmodule Mix.Tasks.Pleroma.Frontend do
 
   @shortdoc "Manages bundled Pleroma frontends"
 
-  @moduledoc File.read!("docs/administration/CLI_tasks/frontend.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/frontend.md")
 
   def run(["install", "none" | _args]) do
     shell_info("Skipping frontend installation because none was requested")
index 03f72c27a5505a1859bdb798bb76be42f259a2cf..8954b3b7cf767ac2506a74114ec13b5cbeab6b5c 100644 (file)
@@ -9,7 +9,7 @@ defmodule Mix.Tasks.Pleroma.Instance do
   alias Pleroma.Config
 
   @shortdoc "Manages Pleroma instance"
-  @moduledoc File.read!("docs/administration/CLI_tasks/instance.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/instance.md")
 
   def run(["gen" | rest]) do
     {options, [], []} =
index 01e6b4279bbadad6eaebc272a6e02a00aec18dce..c32fcdc33b57216f79db1b2dcbc7e54c6e34cda3 100644 (file)
@@ -8,7 +8,7 @@ defmodule Mix.Tasks.Pleroma.Relay do
   alias Pleroma.Web.ActivityPub.Relay
 
   @shortdoc "Manages remote relays"
-  @moduledoc File.read!("docs/administration/CLI_tasks/relay.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/relay.md")
 
   def run(["follow", target]) do
     start_pleroma()
index 333e9aa8e3cd0a43bb9bd196e8227cd18abb8d5d..e8c69dddc3c419eb5bb6743b7f02b0eb78aa99ff 100644 (file)
@@ -12,7 +12,7 @@ defmodule Mix.Tasks.Pleroma.Uploads do
   @log_every 50
 
   @shortdoc "Migrates uploads from local to remote storage"
-  @moduledoc File.read!("docs/administration/CLI_tasks/uploads.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/uploads.md")
 
   def run(["migrate_local", target_uploader | args]) do
     delete? = Enum.member?(args, "--delete")
index 6c26e0e959b8490526d5efd1abed76459e6ade9d..f8c6d57812753610532e273d6707b0eba9e67bd7 100644 (file)
@@ -13,7 +13,7 @@ defmodule Mix.Tasks.Pleroma.User do
   alias Pleroma.Web.ActivityPub.Pipeline
 
   @shortdoc "Manages Pleroma users"
-  @moduledoc File.read!("docs/administration/CLI_tasks/user.md")
+  @moduledoc File.read!("docs/docs/administration/CLI_tasks/user.md")
 
   def run(["new", nickname, email | rest]) do
     {options, [], []} =
index f22432ea48c924ca617d0a39070f65d025c77d4a..a94c6a47240b045b9778959f0665662c63d31a27 100644 (file)
@@ -25,7 +25,7 @@ defmodule Pleroma.Docs.JSON do
 
   @spec process(keyword()) :: {:ok, String.t()}
   def process(descriptions) do
-    with path <- "docs/generated_config.json",
+    with path <- "docs/docs/generated_config.json",
          {:ok, file} <- File.open(path, [:write, :utf8]),
          formatted_descriptions <-
            Pleroma.Docs.Generator.convert_to_strings(descriptions),
index 7e54e9d58297b9165e80e441297528c3c099b6c5..0a7b826ab390497da164c30f8875595db6120360 100644 (file)
@@ -7,7 +7,7 @@ defmodule Pleroma.Docs.Markdown do
 
   @spec process(keyword()) :: {:ok, String.t()}
   def process(descriptions) do
-    config_path = "docs/generated_config.md"
+    config_path = "docs/docs/generated_config.md"
     {:ok, file} = File.open(config_path, [:utf8, :write])
     IO.write(file, "# Generated configuration\n")
     IO.write(file, "Date of generation: #{Date.utc_today()}\n\n")
index 5d94e5ec0d7763b7749d748de17515a2f3c2e425..2f223927d68c9a96e32ed46243c713c72e3ddf5d 100644 (file)
@@ -5,4 +5,4 @@ modifying anything here.
 
 Please use the instance static directory instead, it has the same directory
 structure and files placed there will override files placed here. See
-https://docs.akkoma.dev/main/backend/configuration/static_dir/ for more info.
+https://docs.akkoma.dev/stable/configuration/static_dir/ for more info.
index dd507f6eabe77afd980094e695197d6ee46c60fd..4a304f5760025cb9b9899b5b2ab053e35a4975ff 100644 (file)
@@ -7,6 +7,6 @@
     <h3>Welcome to Akkoma!</h3>
     <p>If you're seeing this page, your server works!</p>
     <p>In order to get a frontend to show here, you'll need to set up <code>:pleroma, :frontends, primary</code> and install your frontend of choice</p>
-    <a href="https://docs.akkoma.dev/main/backend/configuration/cheatsheet/#frontend-management">Documentation</a>
+    <a href="https://docs.akkoma.dev/stable/configuration/cheatsheet/#frontend-management">Documentation</a>
   </body>
 </html>