// 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]
```
what the pipeline handles
wikilinksaliases and heading anchors, resolved across the repo's docs.
calloutsicons, colors, and nesting, straight from Obsidian-flavored syntax.
mermaidflowcharts, sequence diagrams, and ERDs, rendered inline.
katexinline and block math.
front matterYAML, 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 it

A 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.