diff --git a/build/engines.js b/build/engines.js
index cf756a8..58cc55e 100644
--- a/build/engines.js
+++ b/build/engines.js
@@ -127,7 +127,8 @@ module.exports = exports = async function (prod) {
     },
     [ENGINE.MARKDOWN]: (source, env) => shrink(pageTemplate({ ...env, contents: markdown('full', source, env) })),
     [ENGINE.OTHER]: (source) => shrink(source),
-    PREVIEW: (source, env) => markdown('preview', source, env),
+    MARKDOWN_CONTENT: (source, env) => markdown('full', source, env),
+    MARKDOWN_PREVIEW: (source, env) => markdown('preview', source, env),
   };
 
   return result;
diff --git a/build/index.js b/build/index.js
index 965d72f..7d1f705 100644
--- a/build/index.js
+++ b/build/index.js
@@ -59,7 +59,7 @@ exports.everything = function (prod = false) {
     await evaluate(tasks.flat(), cache);
     await cache.save();
 
-    await pageWriter([ ...pages, ...posts ], prod);
+    await pageWriter(pages, posts, prod);
   }
 
   fn.displayName = prod ? 'buildForProd' : 'build';
diff --git a/build/page-writer.js b/build/page-writer.js
index e7e8cb7..d71f384 100644
--- a/build/page-writer.js
+++ b/build/page-writer.js
@@ -2,13 +2,17 @@ const path = require('path');
 const Promise = require('bluebird');
 const fs = require('fs-extra');
 const getEngines = require('./engines');
-const { resolve, ROOT } = require('./resolve');
+const { resolve, ROOT, ENGINE } = require('./resolve');
 const { siteInfo }  = require(resolve('package.json'));
 
-module.exports = exports = async function writePageContent (pages, prod) {
+module.exports = exports = async function writePageContent (pages, posts, prod) {
   const engines = await getEngines(prod);
+  await processPages(engines, posts, null, prod);
+  await processPages(engines, pages, posts, prod);
+};
 
-  await Promise.map(pages, async (page) => {
+function processPages (engines, pages, posts, prod) {
+  return Promise.map(pages, async (page) => {
     // page = new Page(page);
 
     var data = {
@@ -27,11 +31,10 @@ module.exports = exports = async function writePageContent (pages, prod) {
         root: ROOT,
         basename: page.basename,
       },
-      pages,
+      posts,
     };
 
-    const html = String(engines[page.engine](data.source, data));
-    const json = page.json && {
+    const json = {
       url: page.fullurl,
       title: page.meta.title,
       subtitle: page.meta.subtitle,
@@ -41,16 +44,21 @@ module.exports = exports = async function writePageContent (pages, prod) {
       dateCreated: page.dateCreated,
       dateModified: page.dateModified,
       titlecard: page.titlecard,
-      preview: page.engine === 'md' && String(engines.preview(data.source, data)),
     };
 
+    const html = String(engines[page.engine](data.source, data));
+    if (page.engine === ENGINE.MARKDOWN) {
+      json.preview = String(engines.MARKDOWN_PREVIEW(data.source, data));
+      page.content = String(engines.MARKDOWN_CONTENT(data.source, data));
+    }
+
     const output = resolve('dist', page.out);
     await fs.ensureDir(path.dirname(output));
     await Promise.all([
       fs.writeFile(output, Buffer.from(html)),
-      json && fs.writeFile(resolve('dist', page.json), Buffer.from(
+      page.json && fs.writeFile(resolve('dist', page.json), Buffer.from(
         prod ? JSON.stringify(json) : JSON.stringify(json, null, 2),
       )),
     ]);
   });
-};
+}