A Markdown site in
one PHP file

Drop index.php into any folder on shared hosting alongside your .md files. That's it.

No composer. No npm. No build step. No database.

Shared hosting is underrated. You already have PHP, a domain, and a directory full of notes or docs. OwnShip turns that directory into a browsable site — with navigation, themes, and clean URLs — without touching your server config or installing anything.

Works beautifully with OwnMark — a local Markdown editor designed as a companion for writing and publishing content with OwnShip.

What you get

📄

Auto-navigation

Nav tree built from your file structure. Files and folders sorted alphabetically, intermixed.

✏️

Markdown rendering

Headings, lists, tables, code blocks, blockquotes, inline formatting. No CDN, no Parsedown dependency — it's all in the file.

🎨

Three themes

Light, Dark, and Sepia. Default set in site.ini; readers can switch and their preference is saved.

🔗

Clean URLs

Optional. One .htaccess snippet and pages serve as /my-page instead of ?page=my-page.

🖼️

HTML files

Drop in a .html file and it renders inside a sandboxed iframe — scripts and all, safely isolated.

🧱

Header & footer

Optional _header.md / _footer.html (your choice of format). A {{home}} token wires up the home link automatically.

Up in three steps

1

Download and drop in

Put index.php in the folder you want to serve — your domain root, a subdirectory, wherever.

2

Add your content

Write .md files. Create subdirectories. Add an index.md for the home page. OwnShip picks it all up automatically.

3

Optionally configure

Create a site.ini next to index.php to set your site title, default theme, and whether to use clean URLs.

site.ini — all options

Plain INI file, lives next to index.php. Every line is optional.

# site.ini
title             = My Site
theme             = light      # light | dark | sepia
clean_urls        = false      # true needs .htaccess on Apache
show_theme_toggle = true       # show/hide the Light/Dark/Sepia buttons
logo_height       = 32         # height in px if you use an image header
show_attribution  = true       # show/hide the "Powered by OwnShip" footer credit

Downloads

All files are standalone — no installer, no dependencies to manage.

index.php The OwnShip app. Drop into any folder on shared hosting alongside your .md files.
OwnShipPreview.bat Local preview for Windows. Double-click to serve your content on localhost:8080.
OwnShipPreview.sh Local preview for bash / WSL. Run from your content directory.

Preview scripts require PHP installed and on PATH. Set clean_urls = false in site.ini for local use — PHP's built-in server does not process .htaccess.