Skip to content

Commit

Permalink
update filetree to show collections
Browse files Browse the repository at this point in the history
  • Loading branch information
sarah11918 committed Oct 5, 2024
1 parent 0bf7c31 commit 7135c44
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions src/content/docs/en/basics/project-structure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,20 @@ A common Astro project directory might look like this:
- components/
- Header.astro
- Button.jsx
- content/
- config.ts
- posts/
- post1.md
- post2.md
- post3.md
- layouts/
- PostLayout.astro
- pages/
- posts/
- post1.md
- post2.md
- post3.md
- index.astro
- [post].astro
- about.astro
- **index.astro**
- rss.xml.js
- styles/
- global.css
- astro.config.mjs
Expand All @@ -66,6 +72,14 @@ Some files (like Astro components) are not even sent to the browser as written b
While this guide describes some popular conventions used in the Astro community, the only directories reserved by Astro are `src/pages/` and `src/content/`. You are free to rename and reorganize any other directories in a way that works best for you.
:::

### `src/pages`

Pages routes are created for your site by adding [supported file types](/en/basics/astro-pages/#supported-page-files) to this directory.

:::caution
`src/pages` is a **required** sub-directory in your Astro project. Without it, your site will have no pages or routes!
:::

### `src/components`

**Components** are reusable units of code for your HTML pages. These could be [Astro components](/en/basics/astro-components/), or [UI framework components](/en/guides/framework-components/) like React or Vue. It is common to group and organize all of your project components together in this folder.
Expand All @@ -74,22 +88,14 @@ This is a common convention in Astro projects, but it is not required. Feel free

### `src/content`

The `src/content/` directory is reserved to store [content collections](/en/guides/content-collections/) and an optional collections configuration file. No other files are allowed inside this folder.
The `src/content/` directory is reserved to store [content collections](/en/guides/content-collections/) and a configuration file. No other files are allowed inside this folder.

### `src/layouts`

[Layouts](/en/basics/layouts/) are Astro components that define the UI structure shared by one or more [pages](/en/basics/astro-pages/).

Just like `src/components`, this directory is a common convention but not required.

### `src/pages`

[Pages](/en/basics/astro-pages/) are a special kind of component used to create new pages on your site. A page can be an Astro component, or a Markdown file that represents some page of content for your site.

:::caution
`src/pages` is a **required** sub-directory in your Astro project. Without it, your site will have no pages or routes!
:::

### `src/styles`

It is a common convention to store your CSS or Sass files in a `src/styles` directory, but this is not required. As long as your styles live somewhere in the `src/` directory and are imported correctly, Astro will handle and optimize them.
Expand Down

0 comments on commit 7135c44

Please sign in to comment.