Exportation statique
Générez une exportation statique autonome de votre documentation et téléchargez-la sous forme d'un unique bundle via l'API REST Mintlify.
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.
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.
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.
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.
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, ainsi qu’un horodatage expiresAt. Téléchargez le bundle avant expiresAt — passé ce délai, rappelez Générer le bundle d’exportation pour obtenir un nouveau lien. La tâche sous-jacente et ses fichiers restent réutilisables ; seul le lien est limité dans le temps.
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é | Cloud | Auto-hébergé par le client | Air-gapped |
|---|---|---|---|
| Recherche dans la documentation | Configurable | ||
| Assistant IA | Configurable | ||
| Analyses web | Configurable | ||
| Playground API (« Essayer ») | Configurable | ||
| Bundle d’exportation statique |
- Démarrer une tâche d’exportation statique : démarrer une tâche d’exportation statique pour un déploiement.
- Obtenir le statut d’une tâche d’exportation statique : interroger le statut et la progression d’une tâche en cours.
- Générer le bundle d’exportation : empaqueter une tâche terminée et renvoyer un unique lien S3 vers le bundle.
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.
Mintlify auto-hébergé se déploie 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.
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.
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"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.yamlComme 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.
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.
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.