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.
Nav tree built from your file structure. Files and folders sorted alphabetically, intermixed.
Headings, lists, tables, code blocks, blockquotes, inline formatting. No CDN, no Parsedown dependency — it's all in the file.
Light, Dark, and Sepia. Default set in site.ini; readers can switch and their preference is saved.
Optional. One .htaccess snippet and pages serve as /my-page instead of ?page=my-page.
Drop in a .html file and it renders inside a sandboxed iframe — scripts and all, safely isolated.
Optional _header.md / _footer.html (your choice of format). A {{home}} token wires up the home link automatically.
Put index.php in the folder you want to serve — your domain root, a subdirectory, wherever.
Write .md files. Create subdirectories. Add an index.md for the home page. OwnShip picks it all up automatically.
Create a site.ini next to index.php to set your site title, default theme, and whether to use clean URLs.
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
All files are standalone — no installer, no dependencies to manage.
.md files.
localhost:8080.
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.