diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml new file mode 100644 index 00000000..f1c7e998 --- /dev/null +++ b/.github/workflows/doc.yml @@ -0,0 +1,30 @@ +name: Publish docs via GitHub Pages +on: + push: + branches: + - master + paths: + - docs/ + + pull_request: + # types: + # - opened + # - reopened + # - synchronize + # - ready_for_review + paths: + - docs/ + +jobs: + build: + name: Deploy docs + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Deploy docs + uses: mhausenblas/mkdocs-deploy-gh-pages@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REQUIREMENTS: docs/requirements.txt diff --git a/docker/doc.Dockerfile b/docker/doc.Dockerfile index df9b50e3..2f474abb 100644 --- a/docker/doc.Dockerfile +++ b/docker/doc.Dockerfile @@ -1,17 +1,7 @@ -FROM python:3 +FROM squidfunk/mkdocs-material:latest -# Create app directory -WORKDIR /usr/src/app +COPY ./docs/requirements.txt /docs/ +RUN pip install -r ./requirements.txt -RUN pip install \ - mkdocs \ - mkdocs-pdf-export-plugin \ - mkdocs-material - -COPY . . - -# RUN mkdocs build - -EXPOSE 8000 -# CMD ["python", "-m", "http.server", "8000", "-d", "./site"] -CMD ["mkdocs" "serve" "--clean"] +ENTRYPOINT ["mkdocs"] +CMD ["serve", "--dev-addr=0.0.0.0:8000"] diff --git a/docker/doc.old.Dockerfile b/docker/doc.old.Dockerfile new file mode 100644 index 00000000..df9b50e3 --- /dev/null +++ b/docker/doc.old.Dockerfile @@ -0,0 +1,17 @@ +FROM python:3 + +# Create app directory +WORKDIR /usr/src/app + +RUN pip install \ + mkdocs \ + mkdocs-pdf-export-plugin \ + mkdocs-material + +COPY . . + +# RUN mkdocs build + +EXPOSE 8000 +# CMD ["python", "-m", "http.server", "8000", "-d", "./site"] +CMD ["mkdocs" "serve" "--clean"] diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml new file mode 100644 index 00000000..9ac8bf0e --- /dev/null +++ b/docs/mkdocs.yml @@ -0,0 +1,81 @@ +site_name: Pure.fish +site_description: " Pretty, minimal and fast Fish 🐟 prompt" +site_author: "Édouard Lopez" +docs_dir: ./ +repo_name: "pure-fish/pure" +repo_url: "https://github.com/pure-fish/pure" +nav: + - Home: index.md +theme: + # name: "material" + name: "material" + include_sidebar: true + features: + - navigation.tabs + - navigation.tracking + - navigation.expand + - navigation.indexes + # logo: pure.png + # favicon: pure.png + icon: + repo: fontawesome/brands/gitlab + admonition: + note: octicons/tag-16 + abstract: octicons/checklist-16 + info: octicons/info-16 + tip: octicons/light-bulb-16 + success: octicons/check-16 + question: octicons/question-16 + warning: octicons/alert-16 + failure: octicons/x-circle-16 + danger: octicons/zap-16 + bug: octicons/bug-16 + example: octicons/beaker-16 + quote: octicons/quote-16 + palette: + - scheme: default + primary: teal + accent: teal + toggle: + icon: material/toggle-switch-off-outline + name: Switch to dark mode + - scheme: slate + primary: teal + accent: teal + toggle: + icon: material/toggle-switch + name: Switch to light mode + font: + text: Open Sans + code: Roboto Mono + +extra: + analytics: + provider: google + property: G-LRFT4E69D4 + social: + - icon: fontawesome/brands/slack + link: https://manomano-team.slack.com/archives/C02USRC7F9T + +markdown_extensions: + - admonition + # - attr_list + # - md_in_html + - pymdownx.details + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - pymdownx.highlight + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + # - toc: + # permalink: true + + +plugins: + - search + - awesome-pages + - include-markdown diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..354c7c38 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,4 @@ +pymdown-extensions +mkdocs-material +mkdocs-awesome-pages-plugin +mkdocs-include-markdown-plugin diff --git a/makefile b/makefile index 33e3bf81..588f5538 100644 --- a/makefile +++ b/makefile @@ -89,14 +89,14 @@ test-pure-on-nix: $(MAKE) dev-pure-on-nix CMD="${CMD}" TTY= -build-pure-doc: +build-pure-doc-old: docker build \ - --file ./docker/doc.Dockerfile \ + --file ./docker/doc.old.Dockerfile \ --tag=pure-doc \ --load \ ./ -serve-pure-doc: +serve-pure-doc-old: docker run \ --name mkdocs \ --tty \ @@ -108,3 +108,21 @@ serve-pure-doc: --env ADD_MODULES="pymdown-extensions mkdocs-material mkdocs-awesome-pages-plugin mkdocs-include-markdown-plugin" \ --volume=$$(pwd):/mkdocs \ polinux/mkdocs + +serve-pure-doc: + docker run \ + --name mkdocs \ + --tty \ + --interactive \ + --rm \ + --publish 8000:8000 \ + --volume=$$(pwd):/docs \ + pure-doc + + +build-pure-doc: + docker build \ + --file ./docker/doc.Dockerfile \ + --tag=pure-doc \ + --load \ + ./ diff --git a/mkdocs.yml b/mkdocs.yml index 94cb99f1..155dde8c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -69,7 +69,7 @@ markdown_extensions: - pymdownx.inlinehilite - pymdownx.snippets - pymdownx.emoji: - emoji_index: !!python/name:materialx.emoji.twemoji + emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:materialx.emoji.to_svg # - toc: # permalink: true