# Astro features As part of some refactoring planned for next year, we want to (ideally) list **all** Astro features, and how they interact with each other. ## Routing and navigation ### Pages - `.astro` - `.md` - `.mdx` - `.html` - `.js`/`.ts` (endpoints) - `404.astro` - `500.astro` - `export const partial` #### MD pages - `layout` prop #### `500.astro` - `error` prop ### Routing - Scan files in `src/pages` - Ordering and priority ### Endpoints ### Middleware ### Internationalization (i18n) ### Prefetch ### View transitions ## Build your UI ### Components ### Layouts ### Styles and CSS ### Fonts ### Syntax Highlighting ### Scripts and event handling ### Front-end frameworks ## Add content to your site ### Markdown ### Content collections ### Images - Injects an endpoint (endpoints) ### Data fetching ### Astro DB ## Server rendering ### On-demand rendering ### Server islands ### Actions ### Sessions ## Configuration ### Editor setup ### TypeScript ### Environment variables ### Dev toolbar ## CLI ## Other development APIs ### Integration API - Inject routes (routing) - Inject types ### Adapter API ### Content Loader API ### Image Service API ### Dev Toolbar App API ### Container API (experimental) ### Programmatic Astro API (experimental) ## Experimental features ### Configuring experimental flags ### Content Security Policy ### Fonts ### Live content collections ### Client prerendering ### Intellisense for collections ### Preserve scripts order ### Markdown heading ID compatibility ### Private meta environment variables inlining ### Chrome DevTools workspace ## Astro template syntax - `.astro` files (compiler) ## Template expressions reference ## Template directives reference