---
# System prepended metadata

title: Astro features

---

# 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
