123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- var m = require('mithril');
- var _dbs = require('./dbs');
- var _i18n = require('./i18n');
- var markdown = require('markdown-it')()
- .use(require('markdown-it-footnote'));
- module.exports = {
-
-
-
- view(vn){
-
- return m('header', [
- m('hgroup', [
- m('h1', 'Ethica'),
- m('h2', 'Benedictus Spinoza')
- ]),
- m('div', {'id':"menus"}, [
- m(_PartsNav),
- m(_RouteMenu),
- m(_LangMenu)
- ])
- ]);
- }
- }
- var _PartsNav = {
- view(vn){
- var lang = m.route.param('lang');
-
- return m('nav', {id:'parts-nav'}, [
-
- m('h3', _i18n.t('Parts')),
- m('ul', _dbs.data[lang].map(function(p){
-
- if(p.id !== "intro"){
- return m('li', [
- m('a', {'href':'#'+p.id}, m.trust(markdown.renderInline(p.title)))
- ]);
- }
- })
- )
- ]);
- }
- };
- var _RouteMenu = {
- view(){
- var lang = m.route.param('lang');
- var path = m.route.get().match(/^(\/[^\/]+)(\/[^\/|#]+)(.*)$/);
-
- return m('nav', {id:'routes'}, [
-
- m('h3', _i18n.t('Mode')),
- m('ul', [
- m('li', m('a', {
- 'href':`/${lang}/text${path[3]}`,
- oncreate : m.route.link,
- onupdate : m.route.link
- }, _i18n.t("Text"))),
- m('li', m('a', {
- 'href':`/${lang}/connections${path[3]}`,
- oncreate : m.route.link,
- onupdate : m.route.link
- }, _i18n.t("Connections"))),
- ])
- ]);
- }
- }
- var _LangMenu = {
- view(){
- var path = m.route.get().match(/^\/[^\/]+(.+)$/);
-
-
-
- return m('nav', {id:'languages'}, [
-
- m('h3', _i18n.t('Language')),
- m('ul', _dbs.langs.map(lang => {
-
- return m('li', m('a', {
- 'lang':lang.lc,
- 'href':`/${lang.lc}${path[1]}`,
- oncreate : m.route.link,
- onupdate : m.route.link
- }, lang.label)
- );
- }))
- ]);
- }
- }
|