data is now retrieved as a whole (and cached); custom directive added; markdown parsing is now done by Parsedown