           tags: [Tag.t()],
           url: binary(),
           html: binary(),
+          preview: binary(),
           output: binary()
         }
 

      title: header.title,
      tags: tags,
      html: html,
      raw_date: raw_date,
      date: date_str,
      url: Path.join(proj.base_url, filename),
      output: Path.join(proj.dest, filename)
    }
  end

  @spec to_fragment(t(), map()) :: Result.t(Fragment.t())

    :tags,
    :url,
    :html,
    :preview,
    :output
  ]

  @metadata_keys [:title, :date, :raw_date, :preview, :tags, :url]

  @spec new(binary(), map(), binary(), map()) :: t()
  def new(path, header, html, proj) do
