Skip to main content

Quick Reference

A fast, scannable cheat sheet for OmniScript Format blocks, directives, and syntax.

OSF in 60 Seconds

@meta {
  title: "My First Document";
  author: "Your Name";
  date: "2025-10-16";
  theme: corporate;
}

@doc {
  # Welcome
  This is **bold**, this is *italic*, and this is `code`.

  - Bullet one
  - Bullet two
}

@slide {
  title: "Quick Start";
  layout: TitleAndBullets;
  bullets {
    "Edit this text";
    "Add blocks";
    "Export to PDF";
  }
}

Blocks at a Glance

@meta

Document metadata: title, author, date, theme.

@doc

Markdown-like document content and narrative text.

@slide

Presentation slides with layouts and bullets.

@sheet

Spreadsheet-style data tables and formulas.

@table

Markdown pipe tables with caption and styling.

@chart

Bar/line/pie charts from structured series data.

@diagram

Mermaid or Graphviz diagrams.

@code

Code blocks with language, caption, and highlights.

@table

@table {
  caption: "Regional Performance";
  style: "bordered";
  alignment: ["left", "right", "right", "center"];

  | Region | Q3 Revenue | Q4 Revenue | Growth |
  | --- | --- | --- | --- |
  | North America | $975K | $1,150K | +18% |
  | Europe | $748K | $880K | +17% |
  | APAC | $477K | $592K | +24% |
}

@slide

Common layouts: TitleOnly, TitleAndContent, TitleAndBullets, TwoColumn.

@slide {
  title: "Key Metrics";
  layout: TitleAndBullets;
  bullets {
    "Revenue up 20%";
    "Churn down to 2%";
    "New @table support";
  }
}

@sheet

@sheet {
  name: "Budget";
  cols: [Item, Cost, Qty, Total];

  A2 = "Hosting";
  B2 = 120;
  C2 = 12;
  D2 = =B2*C2;
}

@include

Compose larger documents from modular files.

@include { path: "./sections/intro.osf"; }
@include { path: "./sections/body.osf"; }
@include { path: "./sections/conclusion.osf"; }

CLI Commands

osf parse file.osf

Parse OSF into AST JSON.

osf render file.osf --format pdf

Export to PDF/DOCX/PPTX/XLSX/HTML.

osf lint file.osf

Validate syntax and schema.

osf format file.osf

Normalize formatting.

Next Steps