var m = require('mithril'); var _dbs = require('./dbs'); var markdown = require('markdown-it')() .use(require('markdown-it-footnote')); // __ __ __ // / / / /__ ____ _____/ /__ _____ // / /_/ / _ \/ __ `/ __ / _ \/ ___/ // / __ / __/ /_/ / /_/ / __/ / // /_/ /_/\___/\__,_/\__,_/\___/_/ module.exports = { view: function(vn){ return m('header', [ m('h1', 'Ethica'), // m('nav', {'id':'parts-nav'}, [ // // ]), m('div', {'id':"menus"}, [ m(_PartsNav), m(_RouteMenu), m(_LangMenu) ]) ]); } } // ____ __ // / __ \____ ______/ /______ ____ ___ ___ ____ __ __ // / /_/ / __ `/ ___/ __/ ___/ / __ `__ \/ _ \/ __ \/ / / / // / ____/ /_/ / / / /_(__ ) / / / / / / __/ / / / /_/ / // /_/ \__,_/_/ \__/____/ /_/ /_/ /_/\___/_/ /_/\__,_/ var _PartsNav = { view: function(vn){ var lang = m.route.param('lang'); console.log('partsmenu', lang); return m('nav', {id:'parts-nav'}, [ // TODO: replaced labels with localized content m('h3', 'Parts'), m('ul', _dbs.data[lang].map(function(p){ // console.log("anchors, part", p); return m('li', [ m('a', {'href':'#'+p.id}, m.trust(markdown.renderInline(p.title))) ]); }) ) ]); } }; // ____ __ // / __ \____ __ __/ /____ ____ ___ ___ ____ __ __ // / /_/ / __ \/ / / / __/ _ \ / __ `__ \/ _ \/ __ \/ / / / // / _, _/ /_/ / /_/ / /_/ __/ / / / / / / __/ / / / /_/ / // /_/ |_|\____/\__,_/\__/\___/ /_/ /_/ /_/\___/_/ /_/\__,_/ var _RouteMenu = { view: function(){ var lang = m.route.param('lang'); var path = m.route.get().match(/^(\/[^\/]+)(\/[^\/|#]+)(.*)$/); console.log('Route menu Path', path); return m('nav', {id:'routes'}, [ // TODO: replaced labels with localized content m('h3', 'Routes'), m('ul', [ m('li', m('a', { 'href':'/'+lang+'/inline'+path[3], oncreate : m.route.link, onupdate : m.route.link }, "inline")), m('li', m('a', { 'href':'/'+lang+'/tree'+path[3], oncreate : m.route.link, onupdate : m.route.link }, "tree")), ]) ]); } } // __ __ ___ // / / ____ _____ ____ _/ |/ /__ ____ __ __ // / / / __ `/ __ \/ __ `/ /|_/ / _ \/ __ \/ / / / // / /___/ /_/ / / / / /_/ / / / / __/ / / / /_/ / // /_____/\__,_/_/ /_/\__, /_/ /_/\___/_/ /_/\__,_/ // /____/ var _LangMenu = { view: function(){ var path = m.route.get().match(/^\/[^\/]+(.+)$/); // console.log('Lang menu Path', path); // create ul dom return m('nav', {id:'languages'}, [ // TODO: replaced labels with localized content m('h3', 'languages'), m('ul', _dbs.langs.map(function(lang){ // create li dom for each lank link return m('li', // create a dom m('a', { 'lang':lang.lc, 'href':'/'+lang.lc+path[1] // onclick:function(e){ // e.preventDefault(); // // console.log('click lang', e); // var lang = e.target.getAttribute('lang'); // // console.log(lang); // if(lang != _dbs.lang){ // // change url variable // // change db // _dbs.lang = lang; // // redraw UI // // m.redraw(); // } // return false; // } }, lang.label) ); })) ]); } }