OwnShip Guide

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

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:

Nested unordered:

Ordered:

  1. First item
  2. Second item
  3. Third item

Nested ordered:

  1. First
    1. First sub-item
    2. Second sub-item
  2. Second
  3. Third

Mixed nested:

  1. Ordered parent
    • Unordered child
    • Another child
  2. 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:

Content indented less than the content column ends the list instead of joining the item.


Task lists


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 AColumn BColumn C
Row 1 ARow 1 BRow 1 C
Row 2 ARow 2 BRow 2 C

Column alignment:

Left alignedCenter alignedRight aligned
L1C1R1
L2C2R2

Table with inline formatting:

FeatureStatus
Boldcode
removeditalic

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:

Test image

Local image — subfolder:

Subfolder image

Image with title attribute:

Alt text


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:

Case 7 — <br> inside a blockquote:

First quoted line

Second quoted line

Case 8 — <br> inside a table cell:

Cell with breakNormal cell
line one
line two
no break

OwnShip-specific

Behaviors that go beyond standard GFM.

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.

Raw URLs in prose are linked automatically:

https://ownship.cc

www.ownship.cc

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 happensUse instead
Setext headings (=== / --- under text)=== shows literally; --- becomes a horizontal rule# / ## headings
Reference links [text][id][id]: urlliteral textinline [text](url)
Reference images ![alt][id]literal textinline ![alt](url)
Indented (4-space) code blocksrenders as a plain paragraphfenced code blocks (```)
Footnotes [^1][^1]: …literal texta normal link or parenthetical
Definition lists (term then : def)literal texta 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.)