diff --git a/.github/workflows/mdbook.yml b/.github/workflows/mdbook.yml new file mode 100644 index 0000000..734292b --- /dev/null +++ b/.github/workflows/mdbook.yml @@ -0,0 +1,60 @@ +# Workflow for building and deploying a mdBook site to GitHub Pages +# +# To get started with mdBook see: https://rust-lang.github.io/mdBook/index.html +# +name: Deploy mdBook site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + MDBOOK_VERSION: 0.4.36 + steps: + - uses: actions/checkout@v4 + - name: Install mdBook + run: | + curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf -y | sh + rustup update + cargo install --version ${MDBOOK_VERSION} mdbook + - name: Setup Pages + id: pages + uses: actions/configure-pages@v5 + - name: Build with mdBook + run: mdbook build + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./book + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/mdbook_deploy.yml b/.github/workflows/mdbook_deploy.yml deleted file mode 100644 index 37adf73..0000000 --- a/.github/workflows/mdbook_deploy.yml +++ /dev/null @@ -1,63 +0,0 @@ -name: Deploy mdBook - -on: - push: - branches: - - main - -jobs: - deploy: - runs-on: ubuntu-latest - container: mcr.microsoft.com/devcontainers/rust - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Install Node.js - run: | - apt-get update - apt-get install -y nodejs npm - node -v - npm -v - - - name: Cache cargo registry - uses: actions/cache@v3 - with: - path: ~/.cargo/registry - key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo-registry- - - - name: Cache cargo index - uses: actions/cache@v3 - with: - path: ~/.cargo/git - key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo-index- - - - name: Cache npm - uses: actions/cache@v3 - with: - path: ~/.npm - key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-npm- - - - name: Install mdBook - run: cargo install mdbook - - - name: Build mdBook - run: mdbook build - - - name: Set up GitHub token - run: echo "::set-env name=GITHUB_TOKEN::${{ secrets.GITHUB_TOKEN }}" - - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./book - publish_branch: gh-pages - user_name: 'github-actions[bot]' - user_email: '41898282+github-actions[bot]@users.noreply.github.com' diff --git a/MDBOOK.md b/MDBOOK.md index 12bccbc..bb50e83 100644 --- a/MDBOOK.md +++ b/MDBOOK.md @@ -16,6 +16,16 @@ To install mdBook, run the following command: cargo install mdbook ``` +Install required preprocessors: + +```sh +# Install mdbook-mermaid for Mermaid diagram support +cargo install mdbook-mermaid + +# Install mdbook-embedify for embedding external content +cargo install mdbook-embedify +``` + ## Usage To build the book, run the following command: @@ -41,6 +51,4 @@ We've enabled the following features: ## Deployment -TBD - -See: \ No newline at end of file +Deployment is handled by GitHub Actions. See: