Passer au contenu principal
L’exportation statique nécessite un forfait Enterprise.
Utilisez l’API d’exportation statique pour pré-rendre votre site par programmation en un ensemble autonome de fichiers statiques et télécharger le résultat sous forme d’un unique bundle. Le bundle exporté est composé de HTML, CSS et JavaScript purs, sans dépendances d’exécution, afin que vous puissiez l’héberger sur n’importe quel stockage de fichiers statiques ou CDN.

Fonctionnement de l’exportation statique

Une exportation statique s’exécute sous forme de tâche asynchrone. Vous démarrez la tâche, interrogez son statut, puis générez un bundle téléchargeable une fois la tâche terminée.
1

Démarrer une tâche d'exportation statique

Appelez Démarrer une tâche d’exportation statique avec le domaine que vous souhaitez exporter. L’API met la tâche en file d’attente et renvoie un jobId.
2

Interroger le statut de la tâche

Interrogez Obtenir le statut d’une tâche d’exportation statique avec le jobId jusqu’à ce que status soit completed. La réponse inclut progress et pageCount en direct pendant l’exécution de la tâche.
3

Générer le bundle

Appelez Générer le bundle d’exportation avec le jobId. L’API empaquète l’exportation dans une seule archive et renvoie bundleUrl, un lien S3 présigné vers le bundle d’exportation statique. Téléchargez-le avant l’expiration du lien.

Prise en charge des fonctionnalités par type de déploiement

Les fonctionnalités disponibles dépendent de la manière dont vous hébergez votre déploiement. Les déploiements en air-gapped n’ont aucun accès réseau sortant, donc toute fonctionnalité qui repose sur les services cloud de Mintlify est indisponible. Les fonctionnalités étiquetées Configurable ont une disponibilité différente selon la configuration de votre environnement.
FonctionnalitéCloudAuto-hébergé par le clientAir-gapped
Recherche dans la documentationConfigurable
Assistant IAConfigurable
Analyses webConfigurable
Playground API (« Essayer »)Configurable
Bundle d’exportation statique

Endpoints

Authentification

Authentifiez les requêtes avec votre clé d’API admin. Générez une clé d’API admin sur la page des clés d’API de votre tableau de bord. Les clés d’API admin commencent par le préfixe mint_ et sont des secrets côté serveur — ne les exposez pas dans du code côté client.

Déployer le bundle sur votre chart Helm Enterprise

Mintlify auto-hébergé est déployé avec le chart Helm du dépôt mintlify/enterprise. Une fois qu’une tâche d’exportation statique produit un bundle, vous pointez le chart vers le bundle et le déploiement le sert depuis votre propre infrastructure.
1

Ajouter la référence du bundle à vos valeurs

Définissez les champs d’exportation statique dans votre values.yaml sur la bundleUrl renvoyée par Générer le bundle d’exportation. Le chart récupère le bundle au démarrage et le sert comme version active.
values.yaml
staticExport:
  enabled: true
  # Presigned S3 link returned by the Generate export bundle endpoint.
  bundleUrl: "https://mintlify-static-exports.s3.amazonaws.com/se_3f9a2c1b8e7d4a06/bundle.tar.gz"
  # Optional: pin to a specific export version for reproducible rollouts.
  version: "2024-06-01"
2

Déployer le chart

Appliquez les valeurs mises à jour avec helm upgrade. Le déploiement télécharge le bundle, le remplace en tant que site en direct et le sert depuis votre cluster.
helm upgrade --install mintlify mintlify/enterprise \
  --namespace mintlify \
  --create-namespace \
  -f values.yaml
Comme les liens présignés expirent, régénérez le bundle et relancez la mise à niveau chaque fois que vous publiez du nouveau contenu, ou automatisez la boucle avec GitHub Actions.

Automatiser avec une GitHub Action

Le workflow modèle suivant exécute la boucle complète d’exportation selon un calendrier ou à la demande. Il démarre une tâche, interroge jusqu’à la fin de l’exportation, génère un bundle et déploie la nouvelle bundleUrl dans le chart Helm.
.github/workflows/static-export.yml
name: Publish static export

on:
  workflow_dispatch:
  schedule:
    - cron: "0 6 * * *" # Daily at 06:00 UTC

jobs:
  export:
    runs-on: ubuntu-latest
    steps:
      - name: Start static export job
        id: start
        run: |
          JOB_ID=$(curl -s -X POST https://api.mintlify.com/v1/static-export/jobs \
            -H "Authorization: Bearer ${{ secrets.MINTLIFY_ADMIN_KEY }}" \
            -H "Content-Type: application/json" \
            -d '{"domain": "docs.example.com"}' | jq -r '.jobId')
          echo "job_id=$JOB_ID" >> "$GITHUB_OUTPUT"

      - name: Wait for the job to complete
        run: |
          for i in $(seq 1 60); do
            STATUS=$(curl -s https://api.mintlify.com/v1/static-export/jobs/${{ steps.start.outputs.job_id }} \
              -H "Authorization: Bearer ${{ secrets.MINTLIFY_ADMIN_KEY }}" | jq -r '.status')
            echo "status=$STATUS"
            [ "$STATUS" = "completed" ] && exit 0
            [ "$STATUS" = "failed" ] && exit 1
            sleep 10
          done
          echo "Timed out waiting for the export job to complete." >&2
          exit 1

      - name: Generate the bundle
        id: bundle
        run: |
          BUNDLE_URL=$(curl -s -X POST \
            https://api.mintlify.com/v1/static-export/jobs/${{ steps.start.outputs.job_id }}/bundle \
            -H "Authorization: Bearer ${{ secrets.MINTLIFY_ADMIN_KEY }}" | jq -r '.bundleUrl')
          echo "bundle_url=$BUNDLE_URL" >> "$GITHUB_OUTPUT"

      - name: Deploy to the Helm chart
        run: |
          helm upgrade --install mintlify mintlify/enterprise \
            --namespace mintlify \
            --set staticExport.enabled=true \
            --set staticExport.bundleUrl="${{ steps.bundle.outputs.bundle_url }}"
Stockez votre clé d’API admin sous forme de secret de dépôt MINTLIFY_ADMIN_KEY, et configurez les identifiants du cluster (par exemple, avec azure/setup-helm et votre kubeconfig) avant l’étape de déploiement.