defmodule JOL.Blog.Parser do # Parses blog posts. def parse(_path, content) do %{"attrs" => attrs, "body" => body} = Regex.named_captures(~r/\+\+\+\n(?.*)\n\+\+\+\n\n(?.*)/s, content) {:ok, toml_attrs} = Toml.decode(attrs) parsed_attrs = %{ title: toml_attrs["title"], draft: toml_attrs["draft"], tags: toml_attrs["taxonomies"]["tags"] } parsed_body = String.trim(body) {parsed_attrs, parsed_body} end end