Rework to be closer to what Yaml Frontmatter would generate

Only properties inside the first --- block are parsed. Properties after the first block are treated as normal content. This breaks constructs like:
---
title: A
---
option: B
---

I think this is much saner as it allows to use colons and dashes in the content freely without worrying that some parts of the content are unexpectedly treated as properties.