CursivaDocs
Create

Block reference

This is the complete reference for every block you insert in the Cursiva content editor. Each block is listed under the same section it appears in on the / slash menu, with what it does and the rules that apply to it.

How the block menu works

The content body is a free-writing document into which you insert structured blocks. Type / on any line of the body to open the menu; start typing to filter by title, description, or search terms. The menu keeps the canonical section order and ranks the results within each section by relevance.

The menu organizes blocks into six sections, always in this order:

SectionWhat it's for
BasicsText, headings, lists, and basic reading structure
MediaImage, video, audio, files, and embeds
Code & dataCode, diagrams, and equations
InteractiveVisual organization and non-graded interaction
GradedGraded activities that feed progress and mastery
CourseComposing content by reference

Headings (Heading) have an extra role: each heading in the body starts a section of the content, and sections are the steps a learner completes. Content with no headings counts as a single section. See Progress and certificates for how completion is calculated.

Basics

Reading and structure blocks. They form the main narrative of the lesson.

BlockWhat it does
TextA plain-text paragraph
Heading 1Large section heading — starts a step of the content
Heading 2Medium section heading — starts a step of the content
Heading 3Small section heading — starts a step of the content
Bullet listAn unordered list
Numbered listAn ordered list
To-do listA task list with checkable boxes
QuoteA block quote
CalloutA highlight box for notes, tips, and warnings
DividerA horizontal dividing line
TableInserts a 3×3 table with a header row

Media

Visual resources and files. Always pair media with alt text and context.

BlockWhat it does
ImageOpens the file picker and uploads an image
VideoEmbeds a YouTube, Vimeo, or Loom link, or uploads your own video file
AudioAn inline player for lessons, podcasts, and music
FileUploads a file for download (stores name, size, and type)
EmbedEmbeds an interactive iframe from allowed providers

Video

The block recognizes YouTube, Vimeo, and Loom links in their most common URL forms and turns them into an embedded player (YouTube uses the cookieless domain). URLs that point directly to a video file (mp4, webm, ogg, ogv, mov, m4v) play in a native player. Your own uploads are supported too. Any other URL is not recognized.

Embed

Only providers on the allowlist can be embedded, and only over https. Any other host — or a URL without https — is refused with an error message, rather than embedding an arbitrary page.

ProviderAccepts
StackBlitzStackBlitz projects
CodeSandboxSandboxes (new editor or classic)
CodePenPens
FigmaFiles, prototypes, and design
DesmosGraphing calculator
GeoGebraMaterials and apps (calculator, classic)

Code & data

Technical blocks for code, diagrams, and math.

BlockWhat it does
Code blockA formatted code block
Code tabsOne snippet in several dialects (for example, bun or npm), with tabs
Code diffBefore/after with the changes highlighted
DiagramA Mermaid diagram — flowcharts, sequences, and states
MathA display equation in LaTeX, rendered with KaTeX
Inline mathA LaTeX expression inside a line of text

Interactive

Blocks for visual organization and non-graded interaction. They help you present, hide, and navigate content, but they don't produce a grade.

BlockWhat it does
SlidesA navigable presentation of rich slides
TabsRich tabbed panels — for example, Beginner and Advanced
AccordionMultiple collapsible items — FAQs, common mistakes
StepsA numbered walkthrough with a connecting line
TimelineVertical milestones — roadmap, history, phases
RevealContent hidden until the learner clicks — solutions, spoilers
PollA poll for the cohort — the learner votes and sees the distribution
FlashcardsA recall deck with flip-to-reveal

Reveal

Hides rich content until the learner clicks to reveal it — the natural companion to an exercise, with the solution folded away just below the challenge. While editing, the block stays open with a "hidden from the learner" indicator.

Poll

A cohort poll: no grade and no right answer. The learner votes and sees the community distribution. Votes are tied to the block's stable pollId, so republishing the content never loses the votes already recorded. Distributions also show up in the author's analytics. See Insights.

Flashcards

Retention practice: the learner flips each card and does an honest self-assessment. Each card has a rich front and back (they accept headings, code, images) and a stable id that is the grading key. The result feeds the same mastery history used by quizzes: a card marked correct counts as a "hit." Like a quiz, the cards are ordered adaptively — the ones the learner missed lead the session, and the already-mastered ones close it out. The back is not a secret, so the cards are sent in full.

Graded

Graded activities. They all run on the same server-side grading engine and feed the learner's mastery history. The central security point is the same for all of them: the correct answer is never sent to the client — grading happens on the server.

BlockWhat it doesHow it's graded
Question poolMultiple-choice quiz with random samplingPer question, against the server's answer key
Fill in the blankSentences with a gap for the learner to type (cloze)Per blank, normalized free text
MatchingPair up two columnsPer pair, like a quiz
OrderingPut the steps in the right orderOne question, all-or-nothing

Question pool

The author writes N questions and sets how many (reveal) each learner sees. The sample is drawn at render time and is deterministic per learner: a stable seed (for example, user:content) guarantees the same sample and the same option order on every reload, so saved answers stay aligned. Before it's sent to the learner, the correctOptionId is stripped from each question and the options are shuffled, so the order doesn't give away the answer.

Sampling is mastery-adaptive: questions the learner missed come back first, the not-yet-seen ones come next, and the already-mastered ones make room for new material.

Fill in the blank (cloze)

Free-text blanks that go through the same grading and mastery engine as quizzes. Each sentence has a blank with its own stable id, so partial credit and mastery work per blank. The expected answer lives only in the author's document — the learner's document is sent with just the fragments around the blank. Grading normalizes both sides identically: it trims the ends, lowercases, and collapses repeated spaces. Then it compares with strict equality.

Matching

The author writes pairs (left, right). The learner sees the left column in the author's order and chooses, for each row, the correct text from a flat, shuffled list of all the right-hand texts — detached from their pairs. Reconnecting them is the exercise. Grading is per pair, with the same normalization as cloze.

Ordering

The author writes the steps in the correct order — the array order in the author's document is the answer. The learner receives the steps shuffled (with the same stable per-learner seed) and rearranges them. The step ids are opaque and reveal nothing; there's a safeguard so the list is never handed over already in the right order.

Course

Composition: assembling content out of other existing content.

BlockWhat it does
ReferenceEmbeds other content as a navigable module

Reference

References other content by its stable key, to compose courses and paths out of reusable content. Each reference becomes a module card that the learner navigates within the same enrollment — no new sign-up per module. The card stores a denormalized title and slug for display, but the content key is the source of truth, resolved at render time.

The release (pacing) rule belongs to the reference and is owned by the parent document — the same child content can be released in different ways in different courses:

RuleBehavior
Time dripReleases after a number of hours
Drip anchorCounts time from the enrollment or from the completion of the previous step
PrerequisitesRequires other steps to be completed before releasing

See Content and Platform concepts for the relationship between content and reference.

Glossary term (inline menu)

Not every component comes from the / menu. The glossary term is applied to selected text, like a link, from the selection bubble menu — it's not a standalone block. The marked text gets a dotted underline; on hover or focus, the definition floats up. The author clicks the term to edit the word and the definition in place. It's the natural companion for vocabulary-heavy lessons (languages, medicine, tech).

How grading protects answers

Every graded block shares the same guarantees, which are worth knowing when you build assessments:

  • The correct answer never leaves the server. The correct option, the blank's answer, the pair's link, and the right order stay only in the author's document. The document sent to the learner is sanitized before it goes out.
  • Deterministic per-learner sampling. A stable seed per learner and content keeps the sample and the order constant across reloads, so saved answers snap back into place when the learner returns.
  • Adaptive mastery. Question pool and flashcards prioritize what needs work, then the unseen, and finally the already-mastered. Every hit or miss updates that history.
  • Sections with a quiz only complete after submission. A section that carries a graded activity is not marked complete until the learner submits.

Next steps