Skip to content

Write Textile content

Create Textile sources and use the syntax Oliver supports.

Browse Docs pages

Textile uses the same YAML frontmatter and sidecar lookup as other sources.
Create a source with bash rotkeeper.sh new notes.textile --title "Notes",
edit it, then run bash rotkeeper.sh render and bash rotkeeper.sh links.

A .textile extension always selects Textile. A .md file selects it only
when the site’s input_format is textile. Sources with the same directory
and basename cannot coexist in different formats because they map to the
same HTML page.

Headings and paragraphs

Use h1. through h6. followed by a space and text. Use one page H1 and
H2 sections. A blank line starts a paragraph; a single newline is a soft
break.

Emphasis

Use a single asterisk pair for bold and a single underscore pair for
italic. A hyphen pair makes strikethrough and a plus pair makes
underline. Nested emphasis is supported.

Links

The syntax is "label":target. Internal source links are rewritten to HTML,
as with the Textile showcase. A parenthesized
title after a label becomes the link title; parentheses in target URLs
can interfere with that syntax.

Lists and quotes

  1. Use a leading hash for a numbered list.
  2. Repeat it for another item.

A bq. prefix creates a blockquote:

Review source behavior before documenting a command.

Images and escaping

A URL between exclamation marks creates an image. Oliver does not support
the !alt text!url syntax. When descriptive image alternatives are needed,
use a content format whose supported syntax can express them.

Local image URLs follow the workflow’s local asset depth rule.
They pass through rendering unchanged and are relative to the rendered page:
use !assets/images/shikabane-rotasan-reference.jpg! from a root page,
or !../assets/images/shikabane-rotasan-reference.jpg! from a one-level
nested page such as this guide. Add one ../ per directory level below
the output root, then render and run bash rotkeeper.sh links.

Special characters are escaped; UTF-8 text is preserved. A backslash does
not disable Textile markup. Raw HTML is escaped rather than inserted.

Unsupported syntax

Do not depend on bc. code blocks, pre. preformatted blocks, pipe tables,
fn1. footnotes, definition lists, horizontal rules, styled percent spans,
or notextile. blocks. Unsupported syntax may render as literal text or
lose attributes.

Use Markdown for fenced code blocks and pipe tables. The
Oliver contract defines the supported input surface.

Back to Help · Content workflow