Wednesday 22 October 2014

Automate mkdocs html files build process

At work I needed to find a way of writing a lot of documentation easily and quickly. The system was going to be used by technical and non-technical people.

For this I am current looking at a great project called mkdocs. This is a python program that allows for all documentation to be created in markdown syntax and then built into a flat html website.

Markdown is a text to html processor that has an easy to learn syntax . Markdown files can be created in any text editor. So users can be focused on creating documentation rather than getting distracted.

My idea was to allow all user to create documentation and see the changes instantly on the website. mkdocs has a setting that dynamically shows how your pages will look in a browser while creating the documentation source files.

This works great but I needed to be able to build flat html files and copy them to a web server.

Below is the batch file (windows)
REM Automate the build process of creating a website from mkdocs markdown

REM Change to source drive
X:

REM path to docs site to convert
cd X:\DocSource\admin

REM covert to flat html website (this creates a 'site' folder)
c:\Python27\python.exe c:\Python27\Scripts\mkdocs build

REM copy site to web server folder
xcopy site\* c:\inetpub\wwwroot\admin\* /s /e /y
This can run on a schedule or even could be set up to run when something changes in the document source location.