zacharyvoase / markdoc

A lightweight Markdown-based wiki system. Current status: abandoned.
http://markdoc.org/
The Unlicense
347 stars 74 forks source link

Include the canonical path to the current document when rendering. #25

Open ojacobson opened 11 years ago

ojacobson commented 11 years ago

Given a document in WIKI_ROOT/foo/bar.md, it's tricky to reconsruct "foo/bar" or "foo/bar.html" or "foo/bar.md" from the breadcrumbs. A similar bit of context (named "directory") is already passed to directory templates; now markdoc passes the document path to the document template too.

I'm using this in my own markdoc instance to generate "page history" links (to github) for each page.

I'm not sure my implementation is entirely correct; while my experiments only show that path is a wiki-root-relative path (given ~/bliki/wiki/git/survival.md, path was always git/survival.md) other code makes me suspect that it's possible for path to be absolute. Needs the opinion of someone with more experience with this code than I have.

ojacobson commented 11 years ago

I'm using this to generate the Github links in the footer of, for example, http://grimoire.ca/dev/builds. The relevant template bit looks like

<a href="https://raw.github.com/ojacobson/grimoiredotca/master/wiki/{{ path }}.md">See this page on GitHub</a> (<a href="https://github.com/ojacobson/grimoiredotca/commits/master/wiki/{{ path }}.md">history</a>).