All content in Grow is stored as flat files in your pod's /content/ directory. Content is grouped into collections, and each collection contains a single blueprint and many documents. Blueprints describe the structure of all documents in the collection.

Grow makes it easy to separate content from presentation, but ultimately leaves the choice up to you. Content documents can be associated with URLs and with views (so they represent pages in your site), or not. Content documents without URLs are simply used internally, and can be referenced by other content documents.


Every content collection must have a blueprint. Blueprints define how content is structured, displayed, and served. Blueprints are stored as YAML files in your pod's content directory. For example, a blueprint for a collection "people" would be /content/people/_blueprint.yaml

path: /people/{slug}/              # The URL path format for content.
view: /views/people.html           # The template to use.

localization:                      # Overrides localization from podspec.yaml.
  path: /{locale}/people/{slug}/
  - de
  - fr
  - it

fields:                            # The content structure (currently unimplemented).
- name:
    title: Name
    type: text
- age:
    title: Age
    type: number

categories:                        # Content categories (unimplemented).
- Teachers
- Students


Specifies the URL path format for all content in this collection. Documents inherit the path specified in the blueprint. If path is omitted, content in this collection will not be generated into pages, unless a document specifies its own $path. If path is specified, view is a required field. See a list of path formatters.url.path}}#content-document-path-formatters).

path: /{root}/{base}/


Specifies which template should be used to render content in this collection. If view is specified, path is a required field.

# Documents in this collection will use the following template.
view: /views/pages.html


Localization configuration for content in this collection.


Specifies a URL path format for localized content. By specifying both path and localization:path, you can use different formats for the URL paths for "root" and localized content.

path: /{locale}/people/{slug}/


Specifies a list of locales that documents in this collection are available in. Each document's path will be expanded using locales to derive the URLs that the document is available at.

- de
- fr
- it


The categories key contains a list of categories that documents inside the collection can fall into. A collection's categories can be used in conjunction with the g.categories template function to iterate over the documents in the collection, grouped by category.