"use strict"; import fs from "graceful-fs"; import html from "choo/html"; import fm from "front-matter"; import { require as local } from "app-root-path"; import markdown from "../components/markdown"; import raw from "choo/html/raw"; const redirect404 = local("app/modules/redirect-404"); module.exports = exports = (state, emit) => { // eslint-disable-line const partialPath = state.route === "resources/*" ? `resources/${state.params.wildcard}` : state.params.wildcard; const path = `./documents/${partialPath}.md`; if (!fs.existsSync(path)) { return redirect404(state); } const markdownFile = fs.readFileSync(path, "utf-8"); const markdownFileDetails = fm(markdownFile); if (markdownFileDetails.attributes.meta) { const customMetadata = {}; for (const key in markdownFileDetails.attributes.meta) { if (markdownFileDetails.attributes.meta.hasOwnProperty(key)) { customMetadata[Object.keys(markdownFileDetails.attributes.meta[key])[0]] = markdownFileDetails.attributes.meta[key][Object.keys(markdownFileDetails.attributes.meta[key])[0]]; } } // below seems evil state.lbry = customMetadata; } // below should be refactored into components let pageScript = ""; if (partialPath === "glossary") pageScript = ""; if (partialPath === "overview") pageScript = ""; if (partialPath === "playground") pageScript = ""; return html` ${markdownFileDetails.attributes.title} ${markdown(path)} ${raw(pageScript)} `; };