Astro recipes
See guided examples of adding features to your Astro project.
Official Recipes
Section titled Official RecipesAstro’s official recipes are short, focused how-to guides that walk a reader through completing a working example of a specific task. Recipes are a great way to add new features or behavior to your Astro project by following step-by-step instructions!
- 
	
	Installing a Vite or Rollup pluginLearn how you can import YAML data by adding a Rollup plugin to your project. 
- 
	
	Analyze bundle sizeLearn how to analyze the bundle generated by Astro using `rollup-plugin-visualizer`. 
- 
	
	Build a custom image componentLearn how to build a custom image component that supports media queries using the getImage function. 
- 
	
	Build forms with API routesLearn how to use JavaScript to send form submissions to an API Route. 
- 
	
	Build HTML forms in Astro pagesLearn how to build HTML forms and handle submissions in your frontmatter. 
- 
	
	Use Bun with AstroLearn how to use Bun with your Astro site. 
- 
	
	Call endpoints from the serverLearn how to call endpoints from the server in Astro. 
- 
	
	Verify a CaptchaLearn how to create an API route and fetch it from the client. 
- 
	
	Build your Astro site with DockerLearn how to build your Astro site using Docker. 
- 
	
	Dynamically import imagesLearn how to dynamically import images using Vite's import.meta.glob function. 
- 
	
	Add icons to external linksLearn how to install a rehype plugin to add icons to external links in your Markdown files. 
- 
	
	Add i18n featuresUse dynamic routing and content collections to add internationalization support to your Astro site. 
- 
	
	Create a dev toolbar appLearn how to create a dev toolbar app for your site. 
- 
	
	Add last modified timeBuild a remark plugin to add the last modified time to your Markdown and MDX. 
- 
	
	Add reading timeBuild a remark plugin to add reading time to your Markdown or MDX files. 
- 
	
	Add an RSS feedAdd an RSS feed to your Astro site to let users subscribe to your content. 
- 
	
	Share state between islandsLearn how to share state across framework components with Nano Stores. 
- 
	
	Share state between Astro componentsLearn how to share state across Astro components with Nano Stores. 
- 
	
	Using streaming to improve page performanceLearn how to use streaming to improve page performance. 
- 
	
	Style rendered Markdown with Tailwind TypographyLearn how to use @tailwind/typography to style your rendered Markdown. 
 
			
