mindplay/middlemark
PSR-7 Markdown rendering middleware, with support for
front matter, for use with e.g.
mindplay/middleman,
relay/relay or
zend-stratigility middleware dispatcher., (*1)
How it works
The idea is, you point this middleware to a root-folder containing *.md files, and when this
middleware gets a request for e.g. foo/bar.html, it searches for foo/bar.md, and renders it., (*2)
It does this by assembling a simple Document and View model,
which can then be rendered by a renderer implementing a simple interface - the included renderer
integrates mindplay/kisstpl, and integrating any other
renderer or template engine is trivial., (*3)
Adapters
Every third-party component is integrated via an adapter interface - to get a working middleware
component, you need to select a Markdown engine, front-matter adapter, and renderer., (*4)
Markdown Adapters
The available/default engine adapters are cebe/markdown and
kzykhys/ciconia, both of which default to GitHub-flavored Markdown,
though you are free to replace/reconfigure these as needed. Engine adapters are a simple interface, and you
can easily integrate any Markdown engine you wish to., (*5)
Front Matter Adapter
The default engine for Jekyll-style front matter is
kzykhys/yaml-front-matter. Only one (YAML)
front matter engine is currently available, but this is behind an adapter interface as well, and is
easy to replace., (*6)
Renderer Adapter
The default engine for rendering the view-model is mindplay/kisstpl,
and this is currently the only renderer supported - to use any different view engine, implement the
Renderer., (*7)