mark down parser with table of content support