Skip to content
New: Customize your theme with an AI assistant. Read the guide

What Is Editable In Tina

Files: src/content/, src/config/, src/i18n/, tina/ · Skill level: Beginner

Keep npm run dev running, open http://localhost:4321/admin/, and click Enter Edit Mode. Then open the menu at the top left and pick an entry, a language folder, and a file. See Tina for the full guide.

Where Each Page Is Edited

Each page also has its own version at /fr/ and /ar/, in that language’s folder.

AddressEntry in /admin/Its own blocks for sections
/Home pages, file -indexBanner Agency, About One, Services, Portfolio, Team, Testimonial, Blog, Cta
/creative-agency/Home pages, creative-agencyBanner Agency Dark, Features, Services, Skills, Portfolio, Awards, Video, Blog, Clients, Cta
/personal-portfolio/Home pages, personal-portfolioPersonal Portfolio Banner, Services, Portfolio, Testimonial, Clients, Blog
/startup-agency/Home pages, startup-agencyBanner Agency Startup, Clients, Services, Portfolio, Pricing
/about/About pageNone
/services/Services, listing pageServices
/services/two-column/, /services/accordion/Services, listing pageNone
/services/{slug}/Services, one file per entryNone
/portfolio/, /portfolio/gallery/, /portfolio/slider/, /portfolio/full-width/Portfolio, listing pageNone
/portfolio/{slug}/Portfolio, one file per entryNone
/team/Team, listing pageTeam
/team/{slug}/Team, one file per entryNone
/blog/, /blog/creative/Blog, listing pageNone
/blog/{slug}/Blog, one file per entryNone
Blog category, tag, and page addressesBuilt from your postsNone
/pricing/PricingNone
/faq/FAQFaq
/contact/Contact pageContact
/privacy-policy/, /terms-conditions/, /elements/, and pages you addOther pagesNone
The 404 pageInterface labels > Not FoundNone

Blocks are named as in the form, such as Cta Section. The form also has SEO fields, such as SEO title, Robots, Leave out of the sitemap, and Leave out of llms.txt and Markdown copies.

Use Create New to add a service, project, team member, post, or other page. The Elements page shows code samples, so its body is edited as source code.

A new entry with only a title won’t break the site, and it builds. Its card or page shows what you filled in, and images and other fields stay empty until you add them, so fill them in before you publish.

Sections

Each section’s shared content is under Section defaults, in each language.

SectionWhere it appears
Banner agency/
Banner agency dark/creative-agency/
Personal portfolio banner/personal-portfolio/
Banner agency startup/startup-agency/
About one/
About two/about/
Services section/, the other three homepages, the services listing pages
Portfolio section/, the other three homepages, the portfolio listing pages
Team section/, /about/, /team/
Testimonial/, /personal-portfolio/, /team/
Blog section/, /creative-agency/, /personal-portfolio/
Call to action/, /creative-agency/. Its title and description are also the heading of footer layout 3
Features/creative-agency/ and the inner pages
Skills/creative-agency/
Awards/creative-agency/, /about/
Video section/creative-agency/, /services/
Clients/creative-agency/, /personal-portfolio/, /startup-agency/, /about/, /services/accordion/
Stats section/about/
Pricing section/startup-agency/, /pricing/
Faq section/pricing/, /faq/
Contact section/about/, /contact/, /services/two-column/. Its form is also the form in footer layout 3

Site-Wide Content

EntryWhat’s in it
Site settingsSite: title, site URL, logo. Seo: keywords, robots.txt, AI files, sitemap. Settings: contact form, phone and email, sticky header, side panel, header button, copyright, subscription, smooth scroll, theme credit, Ask AI links. Opengraph. Head: analytics tags
MenusOne file per language, with Header Primary, Footer Primary, Footer Secondary, and Footer Tertiary. A dropdown goes at least 4 levels deep in the form. After a deeper level in the file, run npm run tina:generate
Social linksYour social profiles
Interface labelsOne file per language: buttons, form messages, footer copy (Footer), tagline and description (Site), address (Contact Info), and the 404 page (Not Found)

The header and footer layouts themselves stay in code. Each page’s file picks one of Folex’s three footer layouts, and sets its header style. See Header and Footer.

If You Clear A Field

A field you never filled in a page’s block uses the section default. A field you clear is saved empty, and that hides the text or image on that page. Tina can’t bring the default back by itself. To restore it, copy the text back from Section defaults, or remove the empty line from the file. Use the Enable field to hide a whole section.

What The Preview Doesn’t Update

The preview doesn’t update as you type for the header and menus, and for values from Site settings. They update when you save. Some Site settings also need npm run dev restarted, and the comment in the field says so.

Click-to-edit doesn’t reach the header and menus, values from Site settings such as contact details, images with no alt field, categories and tags, or options. Edit those in the form.

What Stays In Code

  • Which sections a page has, and their order: the page’s file in src/pages/[...lang]/. You can hide a section with its Enable field.
  • Which footer a page uses (footerLayout in the page file), and whether its header is dark.
  • New sections and new page layouts. Then run npm run tina:generate so the editor offers them.
  • Colors and the type scale (src/styles/theme.css) and fonts (src/config/fonts.json).
  • The list of languages. See Internationalization.
  • The icons themselves. Icon names and paths are editable as text.

Versions And Testing

This edition is tested on Astro 7.2.8 and Node 22, with tinacms 3.15.1, @tinacms/cli 4.0.4, and @tinacms/astro 0.8.0. They are pinned in package.json. The live preview uses experimental features of @tinacms/astro, so test it before you upgrade.

We have not run online editing against a live Tina Cloud project. Try one save on a copy of your site before you rely on it.

Do It With AI

I want to change [WHAT] on [PAGE ADDRESS] in the Tina edition. Tell me which /admin/ entry and
field holds it. If it is a section default, tell me which other pages show it, and if I can change
it for this page only. If it stays in code, make the change in the page's file in
src/pages/[...lang]/ and run npm run astro-check.
Type something to search...