Rendering Reference
A live reference for every Markdown element OwnShip supports. Load this page to verify your deployment is rendering correctly, or use it as a quick lookup while writing content.
Contents
- Headings
- Inline formatting
- Paragraphs and line breaks
- Blockquotes
- Lists
- Task lists
- Code
- Tables
- Links
- Images
- Horizontal rules
- Inline HTML
- HTML line breaks
- OwnShip-specific
- Not supported
Headings
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Inline formatting
Regular paragraph text for baseline reference.
Bold text and also bold.
Italic text and also italic.
Bold and italic and also bold and italic.
Strikethrough text.
Inline code in a sentence.
Bold with inline code inside.
Italic with inline code inside.
Boldwithinner*asterisks
Bold*with*escaped*asterisks
Italicwithinner*asterisks
Italic*with*escaped*asterisks
Paragraphs and line breaks
Separate paragraphs with a blank line.
This is the first paragraph.
This is the second paragraph, after a blank line.
Every newline inside a paragraph is a line break — you do not need trailing spaces. For example, these two source lines:
First source line, then a newline.
Second source line, directly below.
…render on separate lines. If you don't want breaks, write the paragraph as one continuous line. (See Not supported → line breaks.)
Blockquotes
Single-level blockquote.
Multi-line blockquote.
Second line of the same quote.
Nested blockquote — outer level.
Nested blockquote — inner level.
Back to outer level.
Blockquote containing bold, italic, and
inline code.
Lists
Unordered:
- Item one
- Item two
- Item three
Nested unordered:
- Parent item
- Child item
- Another child
- Grandchild item
- Back to parent
Ordered:
- First item
- Second item
- Third item
Nested ordered:
- First
- First sub-item
- Second sub-item
- Second
- Third
Mixed nested:
- Ordered parent
- Unordered child
- Another child
- Second ordered item
Blocks inside a list item
A list item can hold more than one line of text. Indent the extra content to the item's content column — the column its text starts in, which is 2 spaces for - and 3 for 1. — and it becomes part of that item. Paragraphs, fenced code, and tables all work:
- First step — with a code block and a follow-up paragraph:
some codeAnd another paragraph, still inside the first item.
- Second step — a sibling item, not a continuation.
Content indented less than the content column ends the list instead of joining the item.
Task lists
- Completed task
- Also completed
- Incomplete task
- Another incomplete
Code
Inline: const x = 42;
Fenced — no language hint:
plain text block
no syntax highlighting expected
Fenced — JavaScript:
function greet(name) {
return `Hello, ${name}!`;
}
console.log(greet('OwnShip'));
Fenced — bash:
php -S localhost:8000
Fenced — JSON:
{
"name": "OwnShip",
"version": "0.9.7",
"local": false
}
Tables
Basic:
| Column A | Column B | Column C |
|---|---|---|
| Row 1 A | Row 1 B | Row 1 C |
| Row 2 A | Row 2 B | Row 2 C |
Column alignment:
| Left aligned | Center aligned | Right aligned |
|---|---|---|
| L1 | C1 | R1 |
| L2 | C2 | R2 |
Table with inline formatting:
| Feature | Status |
|---|---|
| Bold | code |
| italic |
Links
External link — opens in new tab
Anchor link to headings section
Images
Images are root-relative — paths resolve from the site root (where index.php lives), not from the current file's location. Place test images in your site root accordingly.
Local image — site root:

Local image — subfolder:

Image with title attribute:

Horizontal rules
Three hyphens:
Three asterisks:
Three underscores:
Inline HTML
Plain text with strong via HTML inline.
Italic via HTML at the start of a paragraph.
HTML line breaks (<br>)
Case 1 — inline at end of line (standard usage):
Line one text
Line two text
Case 2 — <br> on its own line between text:
leading text
trailing text
Case 3 — <br /> self-closing variant, inline:
Line one text
Line two text
Case 4 — multiple <br> in sequence:
Line one
Line three — one blank line above expected
Case 5 — spaces around <br>:
Leading text
trailing text
Case 6 — <br> inside a list item:
- First line of item
second line of same item - Normal item below
Case 7 — <br> inside a blockquote:
First quoted line
Second quoted line
Case 8 — <br> inside a table cell:
| Cell with break | Normal cell |
|---|---|
| line one line two | no break |
OwnShip-specific
Behaviors that go beyond standard GFM.
Link tab behavior
Links to pages on the same host open in the same tab. External http:// and https:// links open in a new tab automatically — no target="_blank" needed.
Bare URL autolinks
Raw URLs in prose are linked automatically:
Trailing punctuation is excluded from the link: https://ownship.cc.
Image paths are root-relative
Image paths in .md files resolve from the site root (where index.php lives), not from the current file's location. Use images/photo.png rather than ../images/photo.png.
.html files
.html files in your site render in a sandboxed <iframe> rather than inline.
.txt files
.txt files render as proportional text (not a <pre> block). A </> button appears in the header to toggle monospaced rendering. Name the file with a .pre.txt, .mono.txt, .fixed.txt, or .code.txt extension to default to monospaced.
Not supported
OwnShip's Markdown parser is hand-rolled and deliberately covers a practical subset of CommonMark/GFM. The constructs below are not supported — they render as literal text (or, where noted, unexpectedly). Use the workaround instead:
| You might try… | What happens | Use instead |
|---|---|---|
Setext headings (=== / --- under text) | === shows literally; --- becomes a horizontal rule | # / ## headings |
Reference links [text][id] … [id]: url | literal text | inline [text](url) |
Reference images ![alt][id] | literal text | inline  |
| Indented (4-space) code blocks | renders as a plain paragraph | fenced code blocks (```) |
Footnotes [^1] … [^1]: … | literal text | a normal link or parenthetical |
Definition lists (term then : def) | literal text | a list or a small table |
Line breaks
OwnShip treats every newline in your source as a line break (<br>). Write each paragraph as one continuous line and separate paragraphs with a blank line — a paragraph you hard-wrap in your editor will show visible breaks. You do not need two trailing spaces for a break; a plain newline already breaks.
Lists render "tight"
Blank lines between list items don't add paragraph spacing — a plain list always renders tight. (An item's continuation content is a separate matter: extra paragraphs indented into an item do render as paragraphs. See Blocks inside a list item.)