diff --git a/docs/config/config-file.mdx b/docs/config/config-file.mdx index 5ac5e21f41..92c71d0010 100644 --- a/docs/config/config-file.mdx +++ b/docs/config/config-file.mdx @@ -498,7 +498,7 @@ And add the following environment variable in your Trigger.dev dashboard on the PUPPETEER_EXECUTABLE_PATH: "/usr/bin/google-chrome-stable", ``` -Follow [this example](/examples/puppeteer) to get setup with Trigger.dev and Puppeteer in your project. +Follow [this example](/guides/examples/puppeteer) to get setup with Trigger.dev and Puppeteer in your project. #### ffmpeg @@ -532,7 +532,7 @@ export default defineConfig({ This extension will also add the `FFMPEG_PATH` and `FFPROBE_PATH` to your environment variables, making it easy to use popular ffmpeg libraries like `fluent-ffmpeg`. -Follow [this example](/examples/ffmpeg-video-processing) to get setup with Trigger.dev and FFmpeg in your project. +Follow [this example](/guides/examples/ffmpeg-video-processing) to get setup with Trigger.dev and FFmpeg in your project. #### esbuild plugins diff --git a/docs/examples/intro.mdx b/docs/examples/intro.mdx deleted file mode 100644 index 391db784cb..0000000000 --- a/docs/examples/intro.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Introduction" -sidebarTitle: "Introduction" -description: "Learn how to use Trigger.dev with these practical task examples." ---- - -| Example task | Description | -| :------------------------------------------------------------ | :-------------------------------------------------------------------------- | -| [DALL·E 3 image generation](/examples/dall-e3-generate-image) | Use OpenAI's GPT-4o and DALL·E 3 to generate an image and text. | -| [FFmpeg video processing](/examples/ffmpeg-video-processing) | Use FFmpeg to process a video in various ways and save it to Cloudflare R2. | -| [OpenAI with retrying](/examples/open-ai-with-retrying) | Create a reusable OpenAI task with custom retry options. | -| [PDF to image](/examples/pdf-to-image) | Use `MuPDF` to turn a PDF into images and save them to Cloudflare R2. | -| [React to PDF](/examples/react-pdf) | Use `react-pdf` to generate a PDF and save it to Cloudflare R2. | -| [Puppeteer](/examples/puppeteer) | Use Puppeteer to generate a PDF or scrape a webpage. | -| [Resend email sequence](/examples/resend-email-sequence) | Send a sequence of emails over several days using Resend with Trigger.dev. | -| [Sharp image processing](/examples/sharp-image-processing) | Use Sharp to process an image and save it to Cloudflare R2. | -| [Stripe webhook](/examples/stripe-webhook) | Trigger a task from Stripe webhook events. | -| [Supabase Storage upload](/examples/supabase-storage-upload) | Download a video from a URL and upload it to Supabase Storage using S3. | -| [Vercel AI SDK](/examples/vercel-ai-sdk) | Use Vercel AI SDK to generate text using OpenAI. | diff --git a/docs/examples/dall-e3-generate-image.mdx b/docs/guides/examples/dall-e3-generate-image.mdx similarity index 100% rename from docs/examples/dall-e3-generate-image.mdx rename to docs/guides/examples/dall-e3-generate-image.mdx diff --git a/docs/examples/ffmpeg-video-processing.mdx b/docs/guides/examples/ffmpeg-video-processing.mdx similarity index 100% rename from docs/examples/ffmpeg-video-processing.mdx rename to docs/guides/examples/ffmpeg-video-processing.mdx diff --git a/docs/guides/examples/intro.mdx b/docs/guides/examples/intro.mdx new file mode 100644 index 0000000000..8b9dfc2bf1 --- /dev/null +++ b/docs/guides/examples/intro.mdx @@ -0,0 +1,19 @@ +--- +title: "Introduction" +sidebarTitle: "Introduction" +description: "Learn how to use Trigger.dev with these practical task examples." +--- + +| Example task | Description | +| :------------------------------------------------------------ | :-------------------------------------------------------------------------- | +| [DALL·E 3 image generation](/guides/examples/dall-e3-generate-image) | Use OpenAI's GPT-4o and DALL·E 3 to generate an image and text. | +| [FFmpeg video processing](/guides/examples/ffmpeg-video-processing) | Use FFmpeg to process a video in various ways and save it to Cloudflare R2. | +| [OpenAI with retrying](/guides/examples/open-ai-with-retrying) | Create a reusable OpenAI task with custom retry options. | +| [PDF to image](/guides/examples/pdf-to-image) | Use `MuPDF` to turn a PDF into images and save them to Cloudflare R2. | +| [React to PDF](/guides/examples/react-pdf) | Use `react-pdf` to generate a PDF and save it to Cloudflare R2. | +| [Puppeteer](/guides/examples/puppeteer) | Use Puppeteer to generate a PDF or scrape a webpage. | +| [Resend email sequence](/guides/examples/resend-email-sequence) | Send a sequence of emails over several days using Resend with Trigger.dev. | +| [Sharp image processing](/guides/examples/sharp-image-processing) | Use Sharp to process an image and save it to Cloudflare R2. | +| [Stripe webhook](/guides/examples/stripe-webhook) | Trigger a task from Stripe webhook events. | +| [Supabase Storage upload](/guides/examples/supabase-storage-upload) | Download a video from a URL and upload it to Supabase Storage using S3. | +| [Vercel AI SDK](/guides/examples/vercel-ai-sdk) | Use Vercel AI SDK to generate text using OpenAI. | diff --git a/docs/examples/open-ai-with-retrying.mdx b/docs/guides/examples/open-ai-with-retrying.mdx similarity index 100% rename from docs/examples/open-ai-with-retrying.mdx rename to docs/guides/examples/open-ai-with-retrying.mdx diff --git a/docs/examples/pdf-to-image.mdx b/docs/guides/examples/pdf-to-image.mdx similarity index 100% rename from docs/examples/pdf-to-image.mdx rename to docs/guides/examples/pdf-to-image.mdx diff --git a/docs/examples/puppeteer.mdx b/docs/guides/examples/puppeteer.mdx similarity index 92% rename from docs/examples/puppeteer.mdx rename to docs/guides/examples/puppeteer.mdx index 94bd20d2ff..385997ac8f 100644 --- a/docs/examples/puppeteer.mdx +++ b/docs/guides/examples/puppeteer.mdx @@ -11,9 +11,9 @@ import ScrapingWarning from "/snippets/web-scraping-warning.mdx"; There are 3 example tasks to follow on this page: -1. [Basic example](/examples/puppeteer#basic-example) -2. [Generate a PDF from a web page](/examples/puppeteer#generate-a-pdf-from-a-web-page) -3. [Scrape content from a web page](/examples/puppeteer#scrape-content-from-a-web-page) +1. [Basic example](/guides/examples/puppeteer#basic-example) +2. [Generate a PDF from a web page](/guides/examples/puppeteer#generate-a-pdf-from-a-web-page) +3. [Scrape content from a web page](/guides/examples/puppeteer#scrape-content-from-a-web-page) @@ -143,7 +143,7 @@ There's no payload required for this task so you can just click "Run test" from ### Overview -In this example we use [Puppeteer](https://pptr.dev/) with a [BrowserBase](https://www.browserbase.com/) proxy to scrape the GitHub stars count from the [Trigger.dev](https://trigger.dev) landing page and log it out. See [this list](/examples/puppeteer#proxying) for more proxying services we recommend. +In this example we use [Puppeteer](https://pptr.dev/) with a [BrowserBase](https://www.browserbase.com/) proxy to scrape the GitHub stars count from the [Trigger.dev](https://trigger.dev) landing page and log it out. See [this list](/guides/examples/puppeteer#proxying) for more proxying services we recommend. When web scraping, you MUST use the technique below which uses a proxy with Puppeteer. Direct scraping without using `browserWSEndpoint` is prohibited and will result in account suspension. @@ -164,12 +164,6 @@ export const puppeteerScrapeWithProxy = task({ const page = await browser.newPage(); - // Set up BrowserBase proxy authentication - await page.authenticate({ - username: "api", - password: process.env.BROWSERBASE_API_KEY || "", - }); - try { // Navigate to the target website await page.goto("https://trigger.dev", { waitUntil: "networkidle0" }); diff --git a/docs/examples/react-pdf.mdx b/docs/guides/examples/react-pdf.mdx similarity index 100% rename from docs/examples/react-pdf.mdx rename to docs/guides/examples/react-pdf.mdx diff --git a/docs/examples/resend-email-sequence.mdx b/docs/guides/examples/resend-email-sequence.mdx similarity index 100% rename from docs/examples/resend-email-sequence.mdx rename to docs/guides/examples/resend-email-sequence.mdx diff --git a/docs/examples/sharp-image-processing.mdx b/docs/guides/examples/sharp-image-processing.mdx similarity index 100% rename from docs/examples/sharp-image-processing.mdx rename to docs/guides/examples/sharp-image-processing.mdx diff --git a/docs/examples/stripe-webhook.mdx b/docs/guides/examples/stripe-webhook.mdx similarity index 100% rename from docs/examples/stripe-webhook.mdx rename to docs/guides/examples/stripe-webhook.mdx diff --git a/docs/examples/supabase-storage-upload.mdx b/docs/guides/examples/supabase-storage-upload.mdx similarity index 100% rename from docs/examples/supabase-storage-upload.mdx rename to docs/guides/examples/supabase-storage-upload.mdx diff --git a/docs/examples/vercel-ai-sdk.mdx b/docs/guides/examples/vercel-ai-sdk.mdx similarity index 100% rename from docs/examples/vercel-ai-sdk.mdx rename to docs/guides/examples/vercel-ai-sdk.mdx diff --git a/docs/introduction.mdx b/docs/introduction.mdx index 90d5d3732a..bc40cd3f8f 100644 --- a/docs/introduction.mdx +++ b/docs/introduction.mdx @@ -24,6 +24,12 @@ We're [open source](https://github.com/triggerdotdev/trigger.dev) and you can ch Tasks are the core of Trigger.dev. Learn what they are and how to write them. + + Get started with Trigger.dev in your existing framework. + + + Example tasks to get you started. + ## Getting help diff --git a/docs/mint.json b/docs/mint.json index 63eb479d9d..c5737998f8 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -1,10 +1,7 @@ { "$schema": "https://mintlify.com/schema.json", "name": "Trigger.dev", - "openapi": [ - "/openapi.yml", - "/v3-openapi.yaml" - ], + "openapi": ["/openapi.yml", "/v3-openapi.yaml"], "api": { "playground": { "mode": "simple" @@ -90,58 +87,42 @@ { "source": "/trigger-config", "destination": "/config/config-file" + }, + { + "source": "/examples/:slug*", + "destination": "/guides/examples/:slug*" } ], "anchors": [ { - "name": "Guides", + "name": "Guides & examples", "icon": "book", "url": "guides" - }, - { - "name": "Examples", - "icon": "code", - "url": "examples" } ], "navigation": [ { "group": "Getting Started", - "pages": [ - "introduction", - "quick-start", - "how-it-works", - "upgrading-beta", - "limits" - ] + "pages": ["introduction", "quick-start", "how-it-works", "upgrading-beta", "limits"] }, { "group": "Fundamentals", "pages": [ { "group": "Tasks", - "pages": [ - "tasks/overview", - "tasks/scheduled" - ] + "pages": ["tasks/overview", "tasks/scheduled"] }, "triggering", "apikeys", { "group": "Configuration", - "pages": [ - "config/config-file", - "config/extensions/overview" - ] + "pages": ["config/config-file", "config/extensions/overview"] } ] }, { "group": "Development", - "pages": [ - "cli-dev", - "run-tests" - ] + "pages": ["cli-dev", "run-tests"] }, { "group": "Deployment", @@ -151,9 +132,7 @@ "github-actions", { "group": "Deployment integrations", - "pages": [ - "vercel-integration" - ] + "pages": ["vercel-integration"] } ] }, @@ -165,13 +144,7 @@ "errors-retrying", { "group": "Wait", - "pages": [ - "wait", - "wait-for", - "wait-until", - "wait-for-event", - "wait-for-request" - ] + "pages": ["wait", "wait-for", "wait-until", "wait-for-event", "wait-for-request"] }, "queue-concurrency", "versioning", @@ -189,10 +162,7 @@ "management/overview", { "group": "Tasks API", - "pages": [ - "management/tasks/trigger", - "management/tasks/batch-trigger" - ] + "pages": ["management/tasks/trigger", "management/tasks/batch-trigger"] }, { "group": "Runs API", @@ -230,9 +200,7 @@ }, { "group": "Projects API", - "pages": [ - "management/projects/runs" - ] + "pages": ["management/projects/runs"] } ] }, @@ -278,11 +246,7 @@ }, { "group": "Help", - "pages": [ - "community", - "help-slack", - "help-email" - ] + "pages": ["community", "help-slack", "help-email"] }, { "group": "Frameworks", @@ -305,33 +269,29 @@ ] }, { - "group": "Dashboard", + "group": "Example tasks", "pages": [ - "guides/dashboard/creating-a-project" + "guides/examples/intro", + "guides/examples/dall-e3-generate-image", + "guides/examples/ffmpeg-video-processing", + "guides/examples/open-ai-with-retrying", + "guides/examples/pdf-to-image", + "guides/examples/puppeteer", + "guides/examples/sharp-image-processing", + "guides/examples/stripe-webhook", + "guides/examples/supabase-storage-upload", + "guides/examples/react-pdf", + "guides/examples/resend-email-sequence", + "guides/examples/vercel-ai-sdk" ] }, { - "group": "Migrations", - "pages": [ - "guides/use-cases/upgrading-from-v2" - ] + "group": "Dashboard", + "pages": ["guides/dashboard/creating-a-project"] }, { - "group": "Examples", - "pages": [ - "examples/intro", - "examples/dall-e3-generate-image", - "examples/ffmpeg-video-processing", - "examples/open-ai-with-retrying", - "examples/pdf-to-image", - "examples/puppeteer", - "examples/sharp-image-processing", - "examples/stripe-webhook", - "examples/supabase-storage-upload", - "examples/react-pdf", - "examples/resend-email-sequence", - "examples/vercel-ai-sdk" - ] + "group": "Migrations", + "pages": ["guides/use-cases/upgrading-from-v2"] } ], "footerSocials": { @@ -339,4 +299,4 @@ "github": "https://github.com/triggerdotdev", "linkedin": "https://www.linkedin.com/company/triggerdotdev" } -} \ No newline at end of file +} diff --git a/docs/snippets/web-scraping-warning.mdx b/docs/snippets/web-scraping-warning.mdx index 651d69da22..82673cda8f 100644 --- a/docs/snippets/web-scraping-warning.mdx +++ b/docs/snippets/web-scraping-warning.mdx @@ -1,3 +1,3 @@ - **WEB SCRAPING:** When web scraping, you MUST use a proxy to comply with our terms of service. Direct scraping of third-party websites without the site owner's permission using Trigger.dev Cloud is prohibited and will result in account suspension. See [this example](/examples/puppeteer#scrape-content-from-a-web-page) using a proxy. + **WEB SCRAPING:** When web scraping, you MUST use a proxy to comply with our terms of service. Direct scraping of third-party websites without the site owner's permission using Trigger.dev Cloud is prohibited and will result in account suspension. See [this example](/guides/examples/puppeteer#scrape-content-from-a-web-page) using a proxy. \ No newline at end of file