main.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /**
  2. * @Author: Bachir Soussi Chiadmi <bach>
  3. * @Date: 16-04-2017
  4. * @Email: bachir@figureslibres.io
  5. * @Last modified by: bach
  6. * @Last modified time: 18-04-2017
  7. * @License: GPL-V3
  8. */
  9. require('normalize.css/normalize.css');
  10. require('./fonts/amiri/amiri.css');
  11. require('./fonts/dejavu/dejavu.css');
  12. require('./fonts/opensans/opensans.css');
  13. const m = require('mithril');
  14. // var marked = require('marked');
  15. // var _helpers = require('modules/helpers');
  16. const _dbs = require('./modules/dbs');
  17. const _i18n = require('./modules/i18n');
  18. const _Header = require('./modules/header');
  19. const _Footer = require('./modules/footer');
  20. const _ModeText = require('./modules/ModeText');
  21. const _ModeConnections = require('./modules/ModeConnections');
  22. var Layout = {
  23. view(vn){
  24. // console.log('Layout view : lang', vn.attrs.lang);
  25. _i18n.setLang(vn.attrs.lang);
  26. console.log('Layout view : path', m.route.get());
  27. // matomo
  28. // https://matomo.org/blog/2017/02/how-to-track-single-page-websites-using-piwik-analytics/
  29. if(typeof _paq !== 'undefined'){
  30. _paq.push(['setCustomUrl', m.route.get()]);
  31. // _paq.push(['setDocumentTitle', e.title]);
  32. _paq.push(['trackPageView']);
  33. }
  34. return [
  35. m(_Header, vn.attrs),
  36. vn.children,
  37. m(_Footer, vn.attrs)
  38. ]
  39. }
  40. }
  41. function init(){
  42. _dbs.load(function(){
  43. console.log('init dbs callback');
  44. console.log("Init _dbs.data", _dbs.data);
  45. console.log("Init _dbs.data_byid", _dbs.data_byid);
  46. console.log("Init _dbs.data_strct", _dbs.data_strct);
  47. console.log("Init _dbs.types", _dbs.types);
  48. console.log("Init _dbs.data_bytype", _dbs.data_bytype);
  49. m.route.prefix("");
  50. m.route(document.body, "/fr/connections", {
  51. "/:lang/text": {
  52. render(vn){
  53. // console.log('Routing render : vn', vn);
  54. return m(Layout, vn.attrs, m(_ModeText, vn.attrs));
  55. }
  56. },
  57. "/:lang/connections": {
  58. render(vn){
  59. return m(Layout, vn.attrs, m(_ModeConnections, vn.attrs));
  60. }
  61. }
  62. });
  63. });
  64. };
  65. // ___
  66. // / | ____ ____
  67. // / /| | / __ \/ __ \
  68. // / ___ |/ /_/ / /_/ /
  69. // /_/ |_/ .___/ .___/
  70. // /_/ /_/
  71. // var _App = {
  72. // view(){
  73. // console.log('_App view', _lang);
  74. // return [
  75. // m('header', [
  76. // m('h1', 'Ethica'),
  77. // m('aside', {'id':"menus"}, m(_LangMenu) )
  78. // ]),
  79. // m(_Tree),
  80. // m('footer', [
  81. // m('p', m.trust('© 2017 <a href="./">Ethica Spinoza</a>'))
  82. // ])
  83. // ]
  84. // }
  85. // }
  86. // _ _ __
  87. // (_)___ (_) /_
  88. // / / __ \/ / __/
  89. // / / / / / / /_
  90. // /_/_/ /_/_/\__/
  91. init()