// your repo is already the vault
Obsidian-flavored markdown, rendered straight from your Git repo
Wikilinks, callouts, Mermaid, and KaTeX render from the files already in your repository. No export, no sync, no separate site to host. Point gitian at a repo and the markdown you already committed becomes browsable documentation, in the browser, at the ref you're looking at.
// syntax
The Obsidian conventions, not a subset of them
Markdown that reads correctly in your editor renders correctly here. Wikilinks resolve with aliases and heading anchors, so [[CONTRIBUTING#Auth Flow]] lands on the heading rather than the top of the page. Callouts carry icons and colors and nest inside each other. Mermaid flowcharts, sequence diagrams and ERDs render inline. KaTeX handles inline and block math.
# Auth
Rotation follows [[CONTRIBUTING#Auth Flow]], and the older
handshake is documented at [[legacy-auth|the v1 flow]].
> [!warning] Replay window
> Refresh tokens rotate on use — a replayed token is dead
> on arrival. See $t_{expiry} = t_{issue} + 900s$.
```mermaid
flowchart LR
A[client] --> B{token valid?}
B -->|yes| C[rotate + issue]
B -->|no| D[401]
```| wikilinks | aliases and heading anchors, resolved across the repo's docs. |
|---|---|
| callouts | icons, colors, and nesting, straight from Obsidian-flavored syntax. |
| mermaid | flowcharts, sequence diagrams, and ERDs, rendered inline. |
| katex | inline and block math. |
| front matter | YAML, including per-file overrides of annotation detection settings. |
| directives | {{annotation:@todo}} pulls live annotations into a page at render time. |
Rendered directly from GitHub repositories. GitLab and self-hosted git support are coming soon.
// discovery
Structure comes from a convention, not a config file
gitian scans for docs/ and .docs/ directories at any level and merges every one of them into a single flat map. There is no hierarchy to maintain and no vault to switch between. The pairing rule is one line long: name a file after the source it documents, and the two render together.
repo/
├─ src/
│ ├─ auth.ts
│ └─ docs/
│ └─ auth.ts.md ← documents auth.ts
├─ services/
│ └─ .docs/
│ └─ sync.md ← a standalone page
└─ .gitian/
└─ config.yaml ← optional — safe defaults without itA paired source file renders as a tabbed view: a Docs tab with the rendered markdown, a Source tab with syntax-highlighted code. Click a line number to select it; right-click to copy a gitian link, a GitHub permalink, or the source line itself. The repo dashboard gives the whole repository the same treatment: annotation breakdowns, language stats, recent commits, releases, and documentation, loading progressively.
No config file at all is a supported state, not a degraded one: absent .gitian/config.yaml, gitian falls back to safe defaults.
// the argument
A vault that lives in the repo can't drift from it
Documentation kept anywhere else is documentation kept somewhere that doesn't know when your code changed. In the repo, the doc travels in the same commit, on the same branch, through the same review as the change it describes. A reviewer sees both, and a rename moves both.
- drift
- → impossible to hide in review the doc is in the diff
- ghost pages
- → deleted with their source — nothing outlives the module it described
- context
- → written where it was understood not reconstructed later in a wiki
There's nothing to export, sync, or host separately. Your documentation lives in your repo and updates when your code does.
// access
Point it at a repository
Public repositories browse without signing in at all. Explore the demo repository to see the rendering before you connect anything. For your own repos, sign in and install the GitHub App: it installs on specific repositories or organizations rather than requesting broad OAuth scopes, and it deep-links to files and lines.
Plugins for VS Code, Zed, and Obsidian are coming soon.
// questions
Questions people actually ask
Do I have to restructure my repository?
No. gitian finds docs/ and .docs/ directories wherever they already are, at any depth, and merges them into one flat map. There is no required top-level layout and no index file to maintain.
Will my wikilinks resolve if the files are in different directories?
Yes. Every discovered docs directory merges into a single flat map, so links resolve across the whole repository rather than only within a folder. Aliases and heading anchors both work.
Is there a build step or a site to deploy?
Neither. Rendering happens when you open the page, against the ref you're viewing. Nothing is generated into your repo and there is no separate host to keep alive.
Does it work with GitLab or a self-hosted git server?
Not yet. GitHub works today; GitLab and self-hosted git support are coming soon.
Can a markdown file document a specific source file?
Yes, by name: docs/auth.ts.md pairs with auth.ts and the two render as a tabbed view, rendered docs beside syntax-highlighted source.
Can a page pull in content from the code itself?
Yes. A directive like {{annotation:@todo}} resolves at render time against the live codebase, so a page composed from annotations updates when the code does instead of holding a stale copy.
// how this page is found
This route's own index plan
This is the strongest exact-match wedge in the documentation half of the product, because the thing it describes is unusually specific: Obsidian-flavored syntax, rendered from a Git repository, and it needs no build step. That phrase combination has real search volume and very few pages that honestly satisfy it.
Title and description
Obsidian Markdown Rendered From Your Git Repo | Gitian
Wikilinks, callouts, Mermaid, and KaTeX rendered straight from the files in your GitHub repo — no export, no build step, nothing to host.
The phrases this page is built to own
obsidian flavored markdown renderer, render obsidian notes from a github repo, wikilinks in github markdown, mermaid and katex in repo docs, docs next to code without a build step. Specific and long-tail on purpose. The generic head term "documentation tool" is unwinnable, and the visitors it would bring are the wrong ones.
Structured data and links
A WebPage node, a BreadcrumbList, and the FAQ block emitted as FAQPage, all referencing the site-wide Organization and SoftwareApplication by id. Outbound to /annotations for the comment-tag half, /guide/quickstart for setup, and the demo repository as live proof. Un-noindexing the demo for the GitianDocs owner matters more than any copy change on this page.
An honesty note that belongs on the page
Obsidian is a separate product and its trademark belongs to its owners; gitian is not affiliated with or endorsed by it. "Obsidian-flavored" describes a markdown dialect, and saying so plainly is both accurate and the reason this page can rank for the phrase without misrepresenting anyone.
obsidian is a trademark of its respective owners; gitian is not affiliated.