Beautiful documentation, powered by Markdown.
Write a folder of Markdown. Pholio builds the site: static HTML, one theme in light and dark, search that runs in the browser. PHP at build time, nothing at run time.
$ curl -fsSL pholio.lukaloehr.com/install.sh| sh

The docs on this site, and the Markdown they are built from. Click around.
Markdown, plus a few tags.
--- title: Exporting a report description: How to save a report as a file. --- Open the report, then choose **Export** in the toolbar. <Callout type="warn" title="Large reports"> Exports over 10 MB are zipped. </Callout> <Steps> <Step>Pick a format: CSV or PDF.</Step> <Step>Choose where to save it.</Step> </Steps> ```bash title="Terminal" report export --format csv ```
- Components as tagsCallouts, cards, tabs, steps, file trees and type tables, written inline.
- Highlighted at build timeCode titles, line numbers and code tabs. No highlighter in the browser.
- Search in the browserA prebuilt index, queried in a Web Worker. No backend, no service.
- Light and darkOne theme with both schemes, a sidebar, a table of contents and shortcuts.
- Fails loudAn unknown component, icon or language stops the build with file and line.
- Static outputPlain files for any host, with a ready .htaccess for Apache.
Built with the site.
The index is written at build time and loads on the first hover or focus. Queries run in a Web Worker and rank by title, keywords, headings and text, with prefix, inflection and typo matching. No backend, no service. Try it on these docs:
Readable by agents, too.
Assistants and coding agents read your docs as Markdown, not as HTML they have to scrape. Every Pholio build publishes it, with nothing to maintain by hand.
- Every page as MarkdownA clean twin next to each page: getting-started.md.
- llms.txt and llms-full.txtAn index of every page, and every page in one file: llms.txt, llms-full.txt.
- skill.md and an agent cardA skill that tells agents how to read the docs, listed with its digest, plus an A2A agent card.
- Discovery headersEvery response, 404s included, sends
LinkandX-Llms-Txtpointing at the files above. - Markdown on requestPages answer
Accept: text/markdownand assistants like ChatGPT and Claude with the Markdown twin. - Copy page menuNext to every page title: copy the page as Markdown, or open it in ChatGPT or Claude.
- Agent score 100/100These docs pass every check of
verify/agent-score.mjs, modelled onmint score.
# Pholio> Pholio turns a folder of Markdown into a documentation site: static HTML, one theme in light and dark, search in the browser. Plain PHP 8.2 at build time, zero dependencies, MIT.## Notes for agentsInstall Pholio with `curl -fsSL https://pholio.lukaloehr.com/install.sh | sh`. Pages below are the Markdown twins of the HTML docs; prefer them.## Pholio- [Pholio](https://pholio.lukaloehr.com/docs/index.md): Beautiful documentation, powered by Markdown. One polished theme, fast search, zero dependencies.- [Getting started](https://pholio.lukaloehr.com/docs/getting-started.md): Install Pholio, create a project, write a page, build and preview the site.- [Content format](https://pholio.lukaloehr.com/docs/content-format.md): The Markdown Pholio accepts, the component tags it understands and the meta.json tree files.
> Documentation index: https://pholio.lukaloehr.com/docs/llms.txt, a list of every page in this documentation.# Getting started> Install Pholio, create a project, write a page, build and preview the site.## Requirements- PHP 8.2 or newer, command line, with `mbstring` and `ctype`.- PCRE2 10.43 or newer is recommended for full syntax highlighting. It is bundledwith PHP (`php -r 'echo PCRE_VERSION;'`). On an older PCRE2 the build stillsucceeds; the few grammar patterns that need lookbehinds of variable length areswitched off, and Pholio warns once per affected grammar that some syntax
$ curl -H "Accept: text/markdown" https://pholio.lukaloehr.com/docs/getting-started
Five commands.
The installer downloads the release from GitHub, checks it against SHA256SUMS, checks PHP and PCRE2, and links pholio into ~/.local/bin. Requires PHP 8.2+ with mbstring and ctype. Or download v0.1.0 directly.
$ curl -fsSL https://pholio.lukaloehr.com/install.sh | shcurl -fsSL pholio.lukaloehr.com/install.sh| sh $ pholio init my-docs $ cd my-docs $ pholio dev # http://127.0.0.1:8080 $ pholio build # static site in public/