Collection Sources
Nuxt Content provides several ways to import content files into your collection. You can configure the source by using the source
property within defineCollection
:
import { defineCollection, defineContentConfig } from '@nuxt/content'
export default defineContentConfig({
collections: {
docs: defineCollection({
source: '**',
type: 'page'
})
}
})
source
The source
property can be defined as either a string (following a glob pattern) or an object, allowing more detailed source configuration for your target directory and files within the content folder.
Example:
source: '**
includes all files within the content directory and its subdirectories.source: '**/*.md'
includes allMarkdown
files within the content directory and its subdirectories.source: 'docs/**/*.yml'
includes allYML
files within thecontent/docs
and its subdirectories.source: '**/*.{json,yml}'
includesJSON
orYML
file within the content directory and all its subdirectories.source: '*.json'
includes onlyJSON
files located directly within the content directory, excluding any subdirectories.
include
Glob pattern of your target repository and files in the content folder.
exclude
Glob patterns to exclude content from the import.
prefix
This configuration only applied for page type with 1-to-1 relationship between content files and pages on your site.
It represents the path prefix (base URL) of the corresponding page on the website.
prefix
must start by a leading /
.By default, module extracts the static prefix of source
(or source.include
) and uses it as a prefix for content paths. For example, if you define /en/**
source, module will auto-fill the prefix
with /en
. You can manually provide a prefix to override this behavior. The prefix can be removed by setting prefix: '/'
in the collection source.
defineCollection({
type: "page",
source: {
include: "en/**",
exclude: ["en/index.md"],
prefix: '/'
}
})
cwd
Root directory for content matching.
Example:
If you want to include files from a folder outside the content directory, set the absolute path of that folder to the cwd
property.
source: {
cwd: path.resolve('packages/my-pkg/docs'),
include: '**/*.md',
}
repository
External source representing a remote git repository URL (e.g., https://github.com/nuxt/content)
authToken
Authentication token for private repositories (e.g., GitHub personal access token).