diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0c73b5e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +docs/backend +docs/frontend +site diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 266116e..0142dfc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,5 @@ stages: -- fetch -- build +- fetch-and-build - deploy variables: @@ -8,21 +7,15 @@ variables: image: alpine:latest -fetch: - stage: fetch +fetch-and-build: + stage: fetch-and-build artifacts: paths: - - docs/ + - site/ script: - - apk add git - - mkdir docs/ - - git clone https://git.pleroma.social/pleroma/pleroma.git -b master --depth 1 - - cp -r pleroma/docs docs - -build: - stage: build - script: - - echo "noop" + - apk add git py-pip + - pip install mkdocs mkdocs-material + - ./manage.sh all --branch $BRANCH deploy: stage: deploy diff --git a/docs/css/extra.css b/docs/css/extra.css new file mode 100644 index 0000000..893c958 --- /dev/null +++ b/docs/css/extra.css @@ -0,0 +1,9 @@ +.md-typeset a +{ + color: #ffab40; +} + +.md-nav__link--active, .md-nav__link:active +{ + color: #ffab40; +} diff --git a/docs/images/pleroma_logo_vector_bg_180.png b/docs/images/pleroma_logo_vector_bg_180.png new file mode 100644 index 0000000..ac82ca0 Binary files /dev/null and b/docs/images/pleroma_logo_vector_bg_180.png differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..1333ed7 --- /dev/null +++ b/docs/index.md @@ -0,0 +1 @@ +TODO diff --git a/manage.sh b/manage.sh new file mode 100755 index 0000000..d38ae85 --- /dev/null +++ b/manage.sh @@ -0,0 +1,91 @@ +#!/bin/sh + +fetch() { + if [ $LOCAL = false ]; then + mkdir .tmp + git clone $FRONTEND_REPO --branch $BRANCH --depth 1 .tmp/fe + git clone $BACKEND_REPO --branch $BRANCH --depth 1 .tmp/be + FRONTEND_REPO=.tmp/fe + BACKEND_REPO=.tmp/fe + fi + rm -rf docs/frontend + rm -rf docs/backend + mkdir docs/frontend + mkdir docs/backend + cp -r $FRONTEND_REPO/docs/* docs/frontend + cp -r $BACKEND_REPO/docs/* docs/backend + rm -rf .tmp +} + +build() { + mkdocs build +} + +all() { + fetch + build +} + +FRONTEND_REMOTE_REPO_DEFAULT='https://git.pleroma.social/pleroma/pleroma-fe' +BACKEND_REMOTE_REPO_DEFAULT='https://git.pleroma.social/pleroma/pleroma' + +FRONTEND_LOCAL_REPO_DEFAULT='../pleroma-fe' +BACKEND_LOCAL_REPO_DEFAULT='../pleroma' +BRANCH='develop' + +if [ -z "$1" ] || [ "$1" = "--help" ]; then + echo "Usage: $(basename "$0") [] + + The stages are: + + fetch [] + Fetch frontend and backend documentation and dump it into \`docs\`. + The location of frontend and backend repositories defaults to + $FRONTEND_REMOTE_REPO_DEFAULT and $BACKEND_REMOTE_REPO_DEFAULT + respectively and can be overriden by \`--frontend-repo\` and \`--backend-repo\`. + The branch defaults to \`$BRANCH\` and can be overriden by \`--branch\`. + + If you want to use local copies of the repositories, add \`--local\` + to options. Then the location of frontend and backend repositiories + will default to $FRONTEND_LOCAL_REPO_DEFAULT and $BACKEND_LOCAL_REPO_DEFAULT respectively and + can be overriden by \`--frontend-repo\` and \`--backend-repo\` as well. + + build [] + Build the documentation + + all [] + Execute all stages + " +else + LOCAL=false + stage="$1" + shift + while echo "$1" | grep "^-" > /dev/null; do + case "$1" in + --local) + LOCAL=true + shift + ;; + --frontend-repo) + FRONTEND_REPO="$2" + shift 2 + ;; + --backend-repo) + BACKEND_REPO="$2" + shift 2 + ;; + -*) + echo "invalid option: $1" 1>&2 + shift 1 + ;; + esac + done + if [ $LOCAL = true ]; then + FRONTEND_REPO="${FRONTEND_REPO:-$FRONTEND_LOCAL_REPO_DEFAULT}" + BACKEND_REPO="${BACKEND_REPO:-$BACKEND_LOCAL_REPO_DEFAULT}" + else + FRONTEND_REPO="${FRONTEND_REPO:-$FRONTEND_REMOTE_REPO_DEFAULT}" + BACKEND_REPO="${BACKEND_REPO:-$BACKEND_REMOTE_REPO_DEFAULT}" + fi + $stage +fi diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..9c8dd8e --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,30 @@ +site_name: Pleroma Documentation +theme: + name: 'material' + # Disable google fonts + font: false + logo: 'images/pleroma_logo_vector_bg_180.png' + feature: + tabs: true + palette: + primary: 'black' + accent: 'orange' + +extra_css: + - css/extra.css +repo_name: 'pleroma' +repo_url: 'https://git.pleroma.social/pleroma' + +extra: + repo_icon: gitlab + +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