Skip to main content
Complete Guide

TomeBase Help Center

Learn how to use every feature — with step-by-step guides, tips, templates, and API references.

Markdown Editor

Write documentation with a powerful split-pane editor

What it is

A full-featured Markdown editor with live preview, auto-save, and a formatting toolbar. Write in standard Markdown and see rendered output instantly in a split or full preview mode.

Why it matters

Writing documentation should feel like writing code — fast, distraction-free, and with immediate feedback. The editor auto-saves every 2 seconds so you never lose work, and the live preview lets you catch formatting issues before publishing.

How to use it

  1. 1Navigate to any project and click a page in the sidebar to open the editor.
  2. 2Use the toolbar buttons or keyboard shortcuts to format text (bold, italic, headings, links, code).
  3. 3Toggle between Edit, Preview, and Split modes using the view switcher in the toolbar.
  4. 4Type `[[` to trigger wiki-link autocomplete — search for any page in your project.
  5. 5Type `#` at the start of a line to extract tags from your content.
  6. 6Use `> [!note]` syntax to create callout blocks (12 types supported).
  7. 7Press Cmd+S to force-save, Cmd+B for bold, Cmd+I for italic.

Tips & best practices

  • Use Split mode to see formatting changes in real-time while editing.
  • Tags extracted with `#tag` appear in the sidebar for quick filtering.
  • Draft recovery: if your browser crashes, the editor restores your last local draft.
  • The status bar at the bottom shows character count, word count, and estimated reading time.

Keyboard shortcuts

Force saveCmd + S
Bold textCmd + B
Italic textCmd + I
Toggle previewCmd + Shift + P
Insert linkCmd + K
Indent list itemTab
Outdent list itemShift + Tab

Related templates

Getting Started
Quick start guide with installation, code examples, and next steps
API Reference
Endpoint documentation with parameters table, curl examples, and error codes
Troubleshooting
Common issues with cause/solution format
Release Notes
Changelog with features, fixes, and breaking changes

Page Organization

Hierarchical trees, tags, and breadcrumbs

What it is

Organize pages in a parent-child tree structure with indent/outdent controls. Tag pages with `#tags` extracted from content, then filter by tag in the sidebar. Breadcrumb navigation shows your current position in the hierarchy.

Why it matters

Flat page lists become unmanageable as documentation grows. Hierarchical organization mirrors how readers think about topics — broad categories narrowing to specific subjects. Tags provide cross-cutting views that cut across the hierarchy.

How to use it

  1. 1Click "New Page" in the sidebar to create a page. Choose a template or start blank.
  2. 2Use the move arrows (↑↓) in the sidebar to reorder pages within the same level.
  3. 3Use indent/outdent (→←) to nest pages under a parent or promote them.
  4. 4Type `#tag-name` anywhere in your content to create tags.
  5. 5Click a tag in the sidebar to filter pages by that tag.
  6. 6Use the search overlay (magnifying glass) to find pages by title.
  7. 7Delete pages with the trash icon — confirmation is required.

Tips & best practices

  • Start with a logical structure: Overview → Getting Started → Guides → Reference.
  • Use tags for cross-cutting concerns: #api, #frontend, #deployment.
  • Page descriptions (set in the sidebar) appear in search results and the page list.
  • The sidebar shows page count and tags at a glance.

Related templates

Blank Page
Start from scratch with a blank canvas
Getting Started
Quick start guide with installation and code
Architecture Overview
System design with key decisions
Configuration
Environment variables and app settings
Database
Schema documentation and migrations
Authentication
Auth providers and session management

Code Import

Auto-generate docs from TypeScript, JavaScript, and OpenAPI specs

What it is

Import documentation directly from your codebase. Supports TypeScript/JavaScript source files (JSDoc comments → Markdown), OpenAPI/Swagger specs (JSON/YAML → one page per endpoint), and general code files.

Why it matters

Keeping documentation in sync with code is the hardest part of documentation. Auto-generation from source code ensures your docs are always accurate. One-click import means you can regenerate docs whenever the code changes.

How to use it

  1. 1Go to Dashboard → Import in the sidebar.
  2. 2For code import: paste TypeScript/JavaScript source code or upload a file.
  3. 3The parser extracts functions, types, interfaces, classes, and JSDoc comments.
  4. 4Generated pages are created in your project — edit them as needed.
  5. 5For OpenAPI: paste a JSON/YAML spec or upload a file.
  6. 6Each API endpoint becomes a separate page with parameters, examples, and response schemas.

Tips & best practices

  • Write thorough JSDoc comments — they become the descriptions in generated docs.
  • Re-import after code changes to update documentation.
  • Generated pages are regular pages — you can edit, link, and organize them freely.
  • OpenAPI import supports authentication headers and example values.

API Reference

POST/api/projects/[id]/import/code
POST/api/import/openapi

Export

Download your documentation in multiple formats

What it is

Export your entire project documentation as a ZIP file. Supports multiple output formats: Markdown (with YAML frontmatter), HTML (standalone), JSON (structured data), reStructuredText (for Sphinx/Python docs), and AsciiDoc (for technical documentation).

Why it matters

You should never be locked into a platform. Export your documentation to use with other tools, back it up, or migrate to a different system. Multiple format support means your docs work with GitHub Pages, Sphinx, MkDocs, Docusaurus, and more.

How to use it

  1. 1Click "Export" in the sidebar or go to Project Settings.
  2. 2Select your preferred format from the dropdown: Markdown, HTML, JSON, reStructuredText, or AsciiDoc.
  3. 3Click "Export" to download a ZIP file containing all your pages.
  4. 4The ZIP includes a README.md (or index.html for HTML) with a table of contents.
  5. 5Each page becomes a separate file with proper formatting for the chosen format.

Tips & best practices

  • Markdown export is ideal for GitHub repositories and MkDocs.
  • HTML export creates standalone files — host anywhere without a build step.
  • JSON export is useful for programmatic access and custom tooling.
  • reStructuredText export works with Sphinx for Python documentation sites.
  • AsciiDoc export is great for technical documentation with complex tables.

Publishing & Custom Domains

Share your docs with the world

What it is

Publish your documentation with a single toggle. Each project gets a public URL at `/p/[project-id]`. Pro users can configure custom domains with DNS verification. Published docs include SEO optimization, Open Graph tags, and public search.

Why it matters

Documentation should be easy to share — with teammates, customers, or the public. One-click publishing means no deployment pipeline needed. Custom domains let you serve docs from your own domain for a professional experience.

How to use it

  1. 1Go to Project Settings and toggle "Published" to on.
  2. 2Your docs are now live at `/p/[project-id]` — share the link.
  3. 3For custom domains (Pro): enter your domain in Project Settings.
  4. 4Add the DNS records shown in the instructions (CNAME or A record).
  5. 5Wait for DNS propagation — verification typically takes 5-15 minutes.
  6. 6Once verified, your docs are accessible at your custom domain.

Tips & best practices

  • Published pages respect the "Published" toggle per page — only published pages are visible.
  • Public docs include a search overlay (Cmd+K) for visitors.
  • SEO meta tags are automatically generated from page titles and descriptions.
  • Open Graph and Twitter Card tags enable rich previews when sharing links.

API Reference

PATCH/api/projects/[id]

Team Collaboration

Invite members, assign roles, work together

What it is

Teams let you collaborate on documentation with role-based access control. Personal teams are created on signup. Invite members via shareable links with configurable expiry. Admins can manage members and roles.

Why it matters

Documentation is a team sport. Different people bring different knowledge — developers write technical docs, product managers write guides, designers document patterns. Team roles ensure the right people have the right access.

How to use it

  1. 1Go to Team Settings from the dashboard.
  2. 2Click "Invite Member" and copy the generated invite link.
  3. 3Share the link with your teammate — it expires after 7 days.
  4. 4They click the link, sign in (or create an account), and join your team.
  5. 5Admins can change member roles (admin/member) from the settings page.
  6. 6Admins can remove members who no longer need access.

Tips & best practices

  • Free tier: up to 5 team members. Pro: unlimited.
  • Admins can create projects, manage billing, and invite/remove members.
  • Members can edit pages, run health scans, and manage their own API keys.
  • Invite links are single-use and expire after 7 days for security.

API Keys

Programmatic access for CI/CD and automation

What it is

Generate scoped API keys for programmatic access to your projects. Keys are prefixed with `tb_` for easy identification, support optional expiry dates, and can be revoked instantly.

Why it matters

API keys enable automation: CI/CD pipelines that auto-publish docs, scripts that import code, integrations that sync content. They provide secure access without sharing your login credentials.

How to use it

  1. 1Go to Project Settings → API Keys.
  2. 2Click "Create API Key" and give it a name (e.g., "CI Pipeline").
  3. 3Optionally set an expiry date for automatic rotation.
  4. 4Copy the key immediately — it's only shown once.
  5. 5Use the key in API requests: `Authorization: Bearer tb_your_key_here`.
  6. 6Revoke compromised or unused keys instantly from the settings page.

Tips & best practices

  • Create separate keys for different use cases (CI, scripts, integrations).
  • Set expiry dates and rotate keys regularly for security.
  • The `tb_` prefix makes it easy to identify TomeBase keys in code.
  • API keys authenticate via the same rate limiting as regular auth.

API Reference

GET/api/projects/[id]/keys
POST/api/projects/[id]/keys
DELETE/api/projects/[id]/keys/[keyId]

Webhooks

Get notified when pages change

What it is

Configure webhooks to receive HTTP POST notifications when pages are created, updated, published, or deleted. Each webhook has a signing secret for payload verification.

Why it matters

Webhooks connect your documentation to your workflow. Trigger Slack messages on new pages, update external systems when content changes, or build custom automation around documentation events.

How to use it

  1. 1Go to Project Settings → Webhooks.
  2. 2Click "Add webhook" and enter your endpoint URL.
  3. 3Select which events to listen for (page.created, page.updated, page.published, page.deleted).
  4. 4Copy the signing secret — use it to verify webhook payloads.
  5. 5Toggle the webhook on/off without deleting it.

Tips & best practices

  • Verify webhook signatures using HMAC-SHA256 with the signing secret.
  • Test your webhook endpoint with a page update before going live.
  • Disable webhooks temporarily during maintenance without losing configuration.

API Reference

GET/api/projects/[id]/webhooks
POST/api/projects/[id]/webhooks
PATCH/api/projects/[id]/webhooks/[id]
DELETE/api/projects/[id]/webhooks/[id]

Version History

Every save creates a snapshot — browse and restore

What it is

Every time you save a page, TomeBase creates a snapshot. Browse the full history, compare any two versions side-by-side with a line-by-line diff, and restore a previous version with one click.

Why it matters

Mistakes happen. Content gets accidentally deleted. Good changes get overwritten. Version history means you never lose work — every state of every page is preserved and recoverable.

How to use it

  1. 1Open a page and click the History button in the toolbar.
  2. 2Browse the list of snapshots with timestamps and content previews.
  3. 3Click "Compare" to select two versions and see a side-by-side diff.
  4. 4Added lines are highlighted in green, removed lines in red.
  5. 5Click "Restore" on any snapshot to revert the page to that version.

Tips & best practices

  • Snapshots are created automatically on every save — no manual action needed.
  • Use compare mode to review what changed between versions before restoring.
  • Snapshots include both title and content — full page state is preserved.

Documentation Health

Automated quality analysis — the SonarQube for docs

What it is

The Documentation Health Platform scans your entire project and generates a health score (0-100) based on 12 categories: broken links, orphan pages, empty pages, stale content, low engagement, missing headings, no code examples, untagged code blocks, long paragraphs, no lists, thin content, and reading time.

Why it matters

Documentation rots silently. Links break, pages become outdated, content gets thin. The health platform catches these issues before your users do, with actionable recommendations for each category.

How to use it

  1. 1Navigate to Dashboard → Health for your project.
  2. 2View the overall health score with color-coded status (green/amber/red).
  3. 3Review the category breakdown to see which issues need attention.
  4. 4Click "Run Health Scan" to save a snapshot for historical tracking.
  5. 5Click on individual pages in the worst-pages table to fix issues.
  6. 6Check the health trend over time with saved scan reports.

Tips & best practices

  • Aim for a score of 80+ — "Very Good" status.
  • Fix errors first (broken links, empty pages), then warnings (orphan, stale).
  • Run health scans before publishing to catch issues proactively.
  • The graph view colors nodes by health score — green is healthy, red needs work.

API Reference

GET/api/projects/[id]/health
POST/api/projects/[id]/health
GET/api/projects/[id]/health/reports

Scheduled Publishing

Set future publish and unpublish dates

What it is

Schedule pages to be automatically published or unpublished at a specific future date and time. Perfect for release announcements, time-sensitive content, and content calendars.

Why it matters

Not everything should go live immediately. Product launches, blog posts, and announcements need to coordinate with marketing. Scheduled publishing lets you prepare content in advance and have it go live exactly when needed.

How to use it

  1. 1Open a page and click the Schedule button in the toolbar.
  2. 2Set a "Publish at" date and time for when the page should go live.
  3. 3Optionally set an "Unpublish at" date for time-limited content.
  4. 4Save the schedule — the page will automatically toggle at the scheduled time.
  5. 5A cron job runs every minute to check for pages that need publishing.

Tips & best practices

  • Scheduled pages show a calendar icon in the sidebar.
  • You can edit the content after scheduling — the scheduled version is what goes live.
  • Unpublish dates are useful for promotions, events, or time-limited offers.

Callout Blocks

Obsidian-style admonitions for important information

What it is

12 types of callout blocks (admonitions) for highlighting important information: note, tip, warning, danger, info, success, question, quote, example, important, caution, and bug. Each has a distinct icon and color.

Why it matters

Not all information is equal. Warnings need to stand out from regular text. Tips should be visually distinct. Callout blocks make important information impossible to miss.

How to use it

  1. 1Type `> [!note]` followed by your content on the next line.
  2. 2Use `> [!tip]`, `> [!warning]`, `> [!danger]`, etc. for different types.
  3. 3The callout renders with a colored border, icon, and label.
  4. 4Multi-line callouts: continue the content on subsequent lines starting with `>`.

Tips & best practices

  • Use `warning` for breaking changes and `danger` for security issues.
  • Use `tip` for best practices and `example` for code samples.
  • Callouts render in both the editor preview and published docs.

View Analytics

Track which pages your readers actually use

What it is

Page view analytics track visitor counts, referrers, and engagement. The dashboard shows total views, unique visitors, and most-viewed pages. Individual pages display their view count and last-viewed timestamp.

Why it matters

You can't improve what you can't measure. Analytics show which documentation your readers actually use — and which they ignore. This helps prioritize updates, identify gaps, and justify documentation investment.

How to use it

  1. 1View aggregate stats on the project dashboard (total views, unique visitors).
  2. 2Check the "Most Viewed" section to see your popular pages.
  3. 3Each page shows its view count in the editor status bar.
  4. 4The health platform uses view data to identify low-engagement pages.

Tips & best practices

  • Low-engagement published pages may need better promotion or restructuring.
  • High-view pages are candidates for expanded content or video tutorials.
  • Use analytics to identify which search queries lead readers to your docs.

Bookmarks

Save pages for quick access

What it is

Bookmark any page for quick access from the dashboard. Bookmarks persist across sessions and are per-user, so each team member can maintain their own list of frequently visited pages.

Why it matters

When you're working on specific documentation regularly, you don't want to navigate the tree every time. Bookmarks provide one-click access to your most important pages.

How to use it

  1. 1Click the bookmark icon on any page in the editor toolbar.
  2. 2View your bookmarks on the dashboard under "Bookmarks".
  3. 3Click a bookmark to navigate directly to that page.
  4. 4Click the bookmark icon again to remove it.

Tips & best practices

  • Bookmark pages you edit frequently to save navigation time.
  • Each user has their own bookmarks — they're per-account, not per-project.

Guided Tutorial

Interactive walkthrough for new users

What it is

An interactive tutorial that guides new users through creating their first project, writing a page, and publishing documentation. Progress is tracked and can be dismissed.

Why it matters

First impressions matter. The guided tutorial ensures new users experience the core value of TomeBase within minutes of signing up, reducing churn and increasing activation.

How to use it

  1. 1The tutorial appears automatically on the dashboard for new users.
  2. 2Follow the step-by-step prompts to create a project and first page.
  3. 3Each step highlights the relevant UI element.
  4. 4Click "Skip" to dismiss the tutorial permanently.
  5. 5Completed steps are tracked — you can pick up where you left off.

Tips & best practices

  • Follow the tutorial on your first visit to learn the core workflow.
  • You can always access the tutorial again from the dashboard.