See guided examples of adding features to your Astro project.
Official RecipesSection titled Official Recipes
Share State Between Islands
Learn how to share state across components — and frameworks! — with Nano Stores.
Installing a Vite or Rollup plugin
Learn how you can import YAML data by adding a Rollup plugin to your project.
Build Forms With API Routes
Build HTML Forms in Astro Pages
Learn how to build HTML forms and handle submissions in your frontmatter
Use Bun with Astro
Learn how to use Bun with your Astro site.
Verify a Captcha
Learn how to create an API route and fetch it from the client.
Build your Astro Site with Docker
Learn how to build your Astro site using Docker.
Add icons to external links
Learn how to install a rehype plugin to add icons to external links in your Markdown files
Add i18n features
Use dynamic routing and content collections to add internationalization support to your Astro site.
Add Reading Time
Build a remark plugin to add reading time to your Markdown or MDX files.
Community ResourcesSection titled Community Resources
Add your own here! See our recipes contributing guide for more info.
- Add authentication with Prisma and Planetscale
- Use a dynamic filename when importing images
- Add animated page transitions with Swup
- Use UnoCSS in Astro
- Build a table of contents from Astro’s Markdown headings
- Create a Remark plugin to remove runts from your Markdown files
- Add searching to your site with Pagefind
- Get VSCode, ESLint & Prettier working with Astro
- Enhance your Astro builds: modify HTML files post-build
- Add dark mode to Astro with Tailwind CSS
- Generate localized sitemaps for your Astro and Storyblok project
- Integrate Prettier with Astro and Tailwind CSS
- Add an RSS feed to Astro using Storyblok’s stories
- Using tRPC in Astro