When you provide a file at tina/config.{ts,tsx,js,jsx}
that exports a defineConfig
function,
Tina will automatically generate TinaCMS as a static asset. Note that it must be the default export of this file.
The location for the config file was previously at .tina/config.{ts,tsx,js,jsx}
Property | Description |
branch | The branch that will be used to query content on TinaCloud (Not used in local mode) |
clientId | The ClientId generated on TinaCloud (Not used in local mode) |
token | A read only token generated on TinaCloud (Not used in local mode) |
build | Build configuration for storing Tina as a static asset |
build.publicFolder | The public asset folder for your framework |
build.outputFolder | Within the public asset folder, the desired output location |
build.basePath | If your site will be served at a sub-path like my-domain.com/my-site , provide "my-site" |
media | Media configuration for external and git backed media |
schema | The schema defines the shape of your content. |
search | Search configuration |
const branch =process.env.NEXT_PUBLIC_TINA_BRANCH ||process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF ||process.env.HEAD ||'main'export default defineConfig({branch,token: '<Your Read Only Token>' // generated on app.tina.ioclientId: '<Your Client ID>', // generated on app.tina.iobuild: {publicFolder: 'public', // The public asset folder for your frameworkoutputFolder: 'admin' // within the public folder}// See https://tina.io/docs/reference/schema/ for more informationschema: {collections: [//..Array of collections],}})
In this example, the TinaCMS admin will be viewable at <my-site-url>/admin/index.html
.
For more information check out the content modeling section.
\
TinaCMS supports typeScript path aliases in the tina.config.js file and collections, making it easier to organize and maintain your code.
Ensure that tsconfig.json exists at the root of your project. Define your aliases in the compilerOptions section:
{"compilerOptions": {"baseUrl": ".","paths": {"@/*": ["src/*"]}}}
Figure: Your defined tsconfig.json
You can now import utilities or other modules using the aliases:
import { someUtility } from '@/lib/utils';export default defineConfig({....})
Figure: Using aliases in tina config.ts
Last Edited: September 29, 2022© TinaCMS 2019–2024