Setup docs deployments with mdBook (#11369)

Marshall Bowers and Conrad Irwin created

This PR sets up deployments for the docs using mdBook.

Right now the new docs are hosted at
[zed.dev/docs2](https://zed.dev/docs2/).

The docs are deployed to Cloudflare Pages on merges to `main`, and we
have a Cloudflare Worker that routes traffic from `zed.dev/docs2` to the
docs deployment.

We can iterate on the docs for a bit, and then promote them to
`zed.dev/docs` when we're all ready for the switchover.

Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Change summary

.github/workflows/deploy_docs.yml | 35 +++++++++++++++++++++++++++++++++
docs/.gitignore                   |  3 -
docs/book.toml                    |  5 ++-
docs/how-to-deploy.md             | 10 ---------
docs/src/tasks.md                 |  3 ++
5 files changed, 42 insertions(+), 14 deletions(-)

Detailed changes

.github/workflows/deploy_docs.yml 🔗

@@ -0,0 +1,35 @@
+name: Deploy Docs
+
+on:
+  push:
+    branches:
+      - main
+
+jobs:
+  deploy-docs:
+    name: Deploy Docs
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Checkout repo
+        uses: actions/checkout@v4
+        with:
+          clean: false
+
+      - name: Setup mdBook
+        uses: peaceiris/actions-mdbook@v2
+        with:
+          mdbook-version: "0.4.37"
+
+      - name: Build book
+        run: |
+          set -euo pipefail
+          mkdir -p target/deploy
+          mdbook build ./docs --dest-dir=../target/deploy/docs2/
+
+      - name: Deploy
+        uses: cloudflare/wrangler-action@v3
+        with:
+          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
+          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
+          command: pages deploy target/deploy --project-name=docs

docs/book.toml 🔗

@@ -1,6 +1,7 @@
 [book]
-authors = ["Nate Butler"]
+authors = ["The Zed Team"]
 language = "en"
 multilingual = false
 src = "src"
-title = "Zed App Docs"
+title = "Zed"
+site-url = "/docs2/"

docs/how-to-deploy.md 🔗

@@ -1,10 +0,0 @@
-These docs are intendended to replace both docs.zed.dev and introduce people to how to build Zed from source.
-
-1. `cd docs` from repo root
-1. Install the vercel cli if you haven't already
-   - `pnpm i -g vercel`
-1. `vercel` to deploy if you already have the project linked
-1. Otherwise, `vercel login` and `vercel` to link
-   - Choose Zed Industries as the team, then `zed-app-docs` as the project
-
-Someone can write a script for this when they have time.

docs/src/tasks.md 🔗

@@ -0,0 +1,3 @@
+# Tasks
+
+Tasks allow you to run certain actions from within Zed.