let assert = require('assert') return async (env, _out) => { let pathname = env.parsed_url.pathname assert(pathname.slice(0, 1) === '/') // find number of path components, their positions, and names let components = [{index: 0, name: 'Home'}] for (let i = 1, j; (j = pathname.indexOf('/', i)) !== -1; i = j + 1) { let menu = await env.site.get_menu(`${pathname.slice(0, i)}_menu.json`) let dir = pathname.slice(i, j) components.push({index: j, name: menu.entries[menu.index[dir]].name}) } // present components as breadcrumbs, except last one as text h2 { for (let i = 0; i < components.length - 1; ++i) { a.text-h4( href=`${pathname.slice(0, components[i].index)}/index.html` ) {`${components[i].name}`} ' ' span.text-h5 {'>'} ' ' } `${components[components.length - 1].name}` } }