refactor the markdown directive using class
fixed code directive's path problem
treat input file as a markdown file
get ```ruby markdown syntax to work
add a "page" content type to project assets

assume "page" as the default content type
serve different layout depending on user agent