Home
Blog
Product Updates
Blog
What Aveiro’s Product Hunt Launch Day Actually Looked Like
Seedance 2.0 Comes to Aveiro — With Video Uploads and Bunny.net Under the Hood
Connect Aveiro to Any AI Agent in 10 Seconds — One MCP URL
How to Migrate from Squarespace to Aveiro
Integrating ByteDance Models Directly: What We Learned Building Aveiro
Auto-update Docs and Blog with Cursor Cloud Agents and the Aveiro API
What Is Connected Publishing?
Website CTA Analytics: Beyond Page Views
How to Connect a Custom Domain on Aveiro
Edit Your Website with AI Without Breaking Layout
Build a Portfolio Website on Aveiro
The Hidden Cost of a Fragmented Publishing Stack
How to Start a Newsletter From Your Website
Build a Documentation Site with Collections and MDX
Embed a Signup Form on Any Site
Your First Week on Aveiro
Updates
Org-Wide Newsletters Can Pick a Host Site
Dashboard Home, Onboarding Personalization, and Campaign Tweaks
Newsletter Web Archive — Publish Sent Campaigns as Site Pages
MCP Stdio Social Parity and a Taller Website-Mockup Wizard
Collection Blocks on Translated Pages Show the Right Language
MCP Tool Safety Hints — Hosted and Stdio Servers Now Match
Engagement Metrics on Published Posts — See What Sent Posts Did
Website Mockup Videos — Film a Live URL Into the Social Library
Translation Progress Fix — Stale Retranslate Totals and Readiness Refresh
Orbit Rename and Social Review Polish — Hover Cards and Add Menu Connect
Dashboard Polish — Published Post Summary, Ad Auto-Save, and Asset Previews
Translation Language Limits by Plan — Pricing Page Shows Language Allowances
Localized Sidebar and Header Navigation Titles
Translation Jobs Now Translate Page Metadata Text
Retranslate Jobs: Progress, Completion, and Republication Fixes
Instagram Story Publishing — Feed and Stories From One Draft
Agent Authoring Guide, Site Media API, and Advisory Lint
Social Engagement Metrics for Agents — Learn What Performs Before You Draft
Editor Polish — Media Breakout, Toolbar Fixes, and Ad Banner Cards
Locale-Prefixed Nav Links and Translation Publish Guards
Ad Placements on Layout Templates — Per-Template Overrides
Ads in the Layout Tab — Chrome Overrides, Live Preview, One Disclosure Label
Premium Ad Banners Beta — Organization Inventory on Every Site
Newsletter click tracking by element
Searchable Orbit Space Picker — Find Spaces in Large Hubs
Org Assets AI Composer — Image and Video With Reference Attachments
Plan Storage Limits — Metered Bytes at Rest for Media, Video, and Agent Uploads
Org-Wide Asset Management — Browse, Bulk Move, and Delete in One Place
Direct Media Uploads for Agents — Push Local Images and Videos Without a Public URL
Social Update — Publishing Credits Pool
Social Fix — First-Comment Outcome on the Post Row
Social Update — First Comments Publish With the Post
MCP Fix — Per-Platform First Comments on the Stdio Proxy
MCP Marketplace Template Clone — Bootstrap Sites from the Gallery
Homepage Rework — Template to Publish, Free Trial, and MCP for Agents
Usage Counters Now Reset on Your Billing Cycle
Social Dashboard: Post Sections, Scheduling Picker, and Platform Comments
Social Dashboard: Upload Aspect Ratios and New Post Dialog
MCP Fix — aveiro_update_page Retries on Revision Conflicts
LinkedIn Joins Social Publishing — Personal Profiles and Company Pages
Quasar Max Chat Upgrades to Claude Sonnet 5
Recoverable Failed Social Posts
Social Caption Guards and Safer Publish Dates
Media Library Folders and Unified Picker — One Org Library Across Sites
Newsletter Agent API and MCP Tools — Draft Campaigns from Cursor and Claude
Plain-Voice Quasar Chat Errors
Clearer AI Credit Messages and Fewer Continue Prompts
MDX Placeholder Tags Render as Text
AI and MCP Page Reordering — Move, Sort, and Reorder Site Structure
Translation Jobs: Live Progress, Cost Estimates, and Cleaner Pickers
Translations UI Polish and Connect Claude
Character References for Social AI Media + First Comment Field
AI Video Generation — Short Clips from the Site Editor
Social Org Media Browsing and Register-by-URL — Reuse Dashboard Uploads in Agent Drafts
MCP Fix — tools/call Accepts null and Stringified Arguments
MCP Fix — Parameterless Tools Work Without an Arguments Field
Multi-Aspect AI Media for Social Posts — Platform Crops in One Call
Social Agent API and MCP Tools — Draft Posts from Cursor and Claude
Social Publishing Beta — Draft, Approve, and Schedule Instagram and Threads
Once UI Effects on Published Sites
MDX Code Blocks and Smarter Validation
Subscribe Users from Your Product with the Audience API
Agency Template Blocks Are Now Reusable Page Builder Components
Sell Merch on Your Aveiro Site with Fourthwall
Visitor Login and Support Chat on Your Site
Safer AI Edits and Publish Guards
Newsletter Deliverability Dashboard
TrademarkTrademark
Ctrl k
Search...
Sign up
Sponsored
Aveiro
aveiro.app
TrademarkTrademark© Aveiro. All rights reserved.
Built with Aveiro

Build a Documentation Site with Collections and MDX

How Aveiro's file tree, collection layouts, and MDX conventions map to real docs architecture — URL segments, sidebar nav, manual sort, and Collection blocks.
Avatar
Updated by Quasar 11d ago
How to Start a Newsletter From Your Website
Embed a Signup Form on Any Site
In short
Pick a docs template, organize pages into collections (folders), set layout and sort at the collection level, then use MDX for callouts and tables. The public sidebar mirrors manual tree order — plan structure before you publish deep hierarchies.

Who this is for

You already know what a documentation site needs: grouped guides, predictable URLs, a sidebar that matches how readers think, and occasional rich blocks (callouts, tables, CTAs) without leaving the editor. This guide is for teams building product docs, internal handbooks, or multi-chapter guides on Aveiro — not a generic “how to write Markdown” tutorial. It focuses on the mechanics that only show up when structure matters. If you are publishing a single landing page, skip to Your first week on Aveiro. If you are planning /guides/quickstart beside /api/authentication, read on.

Start from a docs-shaped template

Templates encode layout assumptions — sidebar width, collection index behavior, typography for long reads.
  • Create a site from a docs or documentation-style template (see Choosing a template).
  • Open the file tree in the editor and inspect the starter folders — they are collections, not decorative grouping.
  • Rename collections for URL segments early. Changing a segment later breaks external links.
The file tree is the source of truth for both routing and, on docs templates, left navigation order.

Collections vs pages

Aveiro distinguishes two node types in the tree:
Type
In the tree
On the site
CollectionFolder with a display nameURL segment + grouping in sidebar nav
PageMDX fileA routable URL and editable content
Example structure:
/ (root) ├── index.mdx → / ├── about.mdx → /about └── guides/ → collection ├── index.mdx → /guides (optional index) └── quickstart.mdx → /guides/quickstart
Root pages (about.mdx) sit beside collections — good for one-off landings. Folder pages belong to a collection — good for grouped chapters.
Full reference: File tree and collections.

Configure layout at the collection level

Open a collection’s Settings before you add dozens of pages:
Setting
Why it matters
Collection nameLabel in the tree and sidebar
URL segmentPath prefix for every child page
Page layoutLayout template child pages inherit
Page orderSort mode override for pages in this folder
Default at collection, override at page keeps maintenance sane. Only open page-level layout overrides when a single chapter needs a different shell (e.g. a full-width diagram page).
Docs templates expose collection layouts — sidebar + content column, optional collection index, and nav chrome. See Collection layouts for how inheritance works.

Manual sort is a feature, not a chore

Alphabetical order is fine for glossaries. Documentation almost never wants it.
  • Set Page order → Manual on the collection (or site root when the template reads tree order globally).
  • Drag pages in the file tree to match the learning path — onboarding before advanced topics.
  • Publish page content after reordering; nav on the live site follows the tree when the template exposes sidebar navigation.
On docs-style sites, the sidebar is the syllabus. Treat reordering as curriculum design, not file housekeeping.

Nesting: how deep is too deep?

You can nest collections for deep hierarchies (/guides/api/auth/oauth). Practical limits:
  • Two levels — comfortable for most product docs.
  • Three levels — acceptable for large platforms; test mobile nav early.
  • Four or more — readers get lost; consider flattening with better index pages.
Each nested collection gets its own URL segment. Plan paths before writers link to them from GitHub issues or in-app help.

Collection blocks for auto-index pages

Not every section needs a hand-maintained list of links. MDX Collection components list pages from a folder (or the whole site) and respect the same manual sort order as the file tree.
Use them for:
  • A /guides hub that always reflects the latest chapter list
  • Card grids on overview pages
  • “Related guides” sections scoped to one folder
They read from the same ordering you configured in the tree — no duplicate sort lists to maintain.

MDX conventions that survive a team

Most edits happen in Visual mode. Source mode matters when you need precise control — custom sections, registered components, or bulk find-and-replace across pages.
Rules that keep docs maintainable:
Do
Avoid
Use registered components from the catalogRaw HTML layout tags for structure
Table component with headers and rows propsPipe Markdown tables (not rendered in Aveiro MDX today)
Page title and summary in Page settingsYAML frontmatter for SEO metadata
Feedback blocks for warnings and tipsLong italic asides that break scanability
lowercase_with_underscores for analytics event namesRenaming events after launch without checking Analytics → Events
Example callout:
Deep syntax reference: Writing with MDX.

Publishing workflow for doc sets

Documentation sites fail in subtle ways when settings and content publish separately.
  • Site settings — SEO defaults, analytics toggle, custom domain (if used). Publish via Site settings in the publish menu.
  • Page content — MDX body, page title, summary. Publish via Page content for the pages you changed.
  • New pages — create in the tree, set page metadata, publish content before linking from nav CTAs elsewhere.
See Publishing settings vs content so you do not wonder why a new title is still draft on the live URL.
For SEO on index and chapter pages, set unique titles and summaries per page — SEO and social sharing.

Measure docs like a product surface

Page views tell you traffic arrived. They do not tell you whether anyone finished the quickstart.
  • Add Analytics event names on primary CTAs (docs_cta_signup, api_try_it) — Events.
  • Enable tracking on the published site — Analytics and privacy.
  • After a release push, compare Analytics → Pages for chapter drop-off and Events for CTA clicks.
Docs are funnels. Wire them like one.

Checklist before you invite external readers

  • URL segments finalized for top-level collections
  • Manual sort reflects onboarding → reference order
  • Collection layout set; page overrides only where needed
  • Every important page has title + summary in Page settings
  • Site SEO default image set so shares never look empty
  • At least one CTA tracked with a named event
  • Published site tested on mobile sidebar depth

Related guides

  • Creating and organizing pages
  • Page settings
  • Header, footer, and sidebars
  • Your first week on Aveiro — if you have not published anything yet
<Feedback variant="warning" title="Breaking change" description="OAuth scopes changed in v3 — update client configs before June 1." marginBottom={2} />