GitDoc is a small Windows console app that you can execute from a directory and it will take any Markdown file it finds (maintaining the same directory structure) and output the parsed results via GitHub's own Markdown API to a folder of your choice.
The result? Awesome documentation.
It searches for Markdown files from the current working directory:
C:\Dev\MyProject\docs> tools\gitdoc
In this case, it'll execute .\tools\gitdoc.exe but GitDoc will discover
files in the docs folder.
You can also pass in the directory you want to process:
gitdoc /b "C:\MyProject"
And the output directory:
gitdoc /o "C:\docs"
Or both:
gitdoc /b ".\docs" /o ".\docs\output"
The paths can be relative or absolute.
- Preserves directory structure of the Markdown files it discovers
- Provides some convenient
{tokens}you can find and replace{author}- The current process' identity{date}- The currentDateTime.Nowtimestamp
- Processes relative links by looking for links to other
.mdfiles - OAuth increased rate limit support
Note: GitDoc only supports .md files at the moment since that's
what I use. It would be trivial to add other extensions.
The default rate limit for GitHub is 60 requests per hour. Chances are, you're going to go above that.
If you pass in your OAuth client secret and ID to GitDoc, it will use it for you and thereby increase your rate limit to 5000 requests per hour.
To create a client ID and secret, you'll have to do so in your GH account settings.
Pass them in like this:
gitdoc /clientid xxx /clientsecret xxx
Note: It's not good to distribute these publicly, but within a team it's probably fine. It's up to you.
I primarily use this to easily create and process a document repository for storage in source control.
Here's what my Sublime Text 2 project file looks like:
{
"build_systems":
[
{
"name": "Markdown",
"cmd": ["tools\\gitdoc", "-ClientId", "xxx", "-ClientSecret", "xxx"]
}
]
}
Then select your build system in Tools > Build System > Markdown. Press Ctrl-B to build.