Skip to main content

Pages

Pages are the fundamental unit of content in Raven Docs. They contain your documentation, notes, meeting minutes, and any other text-based content.

Creating Pages

From the UI

  1. Open a space
  2. Click New Page or press Cmd/Ctrl + N
  3. Start typing your content

From the API

const page = await client.pages.create({
workspaceId: 'ws_123',
spaceId: 'space_456',
title: 'My New Page',
content: {
type: 'doc',
content: [
{
type: 'paragraph',
content: [{ type: 'text', text: 'Hello, world!' }],
},
],
},
});

Page Structure

Content Format

Pages use a ProseMirror-based document format:

{
"type": "doc",
"content": [
{
"type": "heading",
"attrs": { "level": 1 },
"content": [{ "type": "text", "text": "My Heading" }]
},
{
"type": "paragraph",
"content": [{ "type": "text", "text": "Some content." }]
}
]
}

Block Types

BlockDescriptionSlash Command
ParagraphStandard text(default)
HeadingH1, H2, H3/h1, /h2, /h3
Bullet ListUnordered list/bullet
Numbered ListOrdered list/numbered
ChecklistTodo items/checklist
Code BlockSyntax-highlighted code/code
TableData tables/table
ImageEmbedded images/image
CalloutInfo boxes/callout
DividerHorizontal rule/divider

Page Hierarchy

Pages can be nested under other pages:

Parent Page
├── Child Page 1
│ └── Grandchild Page
└── Child Page 2

Moving Pages

Drag and drop pages in the sidebar, or use the API:

await client.pages.move({
pageId: 'page_123',
workspaceId: 'ws_456',
parentId: 'page_789', // New parent
});

Link to other pages using double brackets:

Check out the [[API Reference]] for more details.

Or by page ID:

See [[page:page_123|API Reference]].

View all pages that link to the current page in the page info panel.

Version History

Every page change is tracked:

  • View history in the page menu
  • Compare versions side-by-side
  • Restore previous versions
// Get page history
const history = await client.pages.getHistory({
pageId: 'page_123',
});

// Restore a version
await client.pages.restore({
historyId: 'hist_456',
});

Page Metadata

FieldDescription
idUnique identifier
titlePage title
slugURL-friendly path
iconEmoji or custom icon
createdAtCreation timestamp
updatedAtLast modified timestamp
createdByAuthor user ID
parentIdParent page ID (if nested)

Collaboration

Real-time Editing

Multiple users can edit simultaneously:

  • Live cursors show who's editing
  • Changes merge automatically
  • Presence indicators in sidebar

Comments

Add comments to specific text or the whole page:

await client.comments.create({
pageId: 'page_123',
workspaceId: 'ws_456',
text: 'This needs review.',
});

Best Practices

  1. Descriptive titles - Make pages easy to find
  2. Use headings - Structure content for scanning
  3. Link liberally - Connect related content
  4. Keep pages focused - One topic per page
  5. Regular updates - Keep content current