main.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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(['setGenerationTimeMs', 0]);
  33. _paq.push(['trackPageView']);
  34. // _paq.push(['trackEvent', 'Audio', 'play', node.title]);
  35. }
  36. return [
  37. m(_Header, vn.attrs),
  38. vn.children,
  39. m(_Footer, vn.attrs)
  40. ]
  41. }
  42. }
  43. function init(){
  44. _dbs.load(function(){
  45. console.log('init dbs callback');
  46. console.log("Init _dbs.data", _dbs.data);
  47. console.log("Init _dbs.data_byid", _dbs.data_byid);
  48. console.log("Init _dbs.data_strct", _dbs.data_strct);
  49. console.log("Init _dbs.types", _dbs.types);
  50. console.log("Init _dbs.data_bytype", _dbs.data_bytype);
  51. m.route.prefix("");
  52. m.route(document.body, "/fr/connections", {
  53. "/:lang/text": {
  54. render(vn){
  55. // console.log('Routing render : vn', vn);
  56. return m(Layout, vn.attrs, m(_ModeText, vn.attrs));
  57. }
  58. },
  59. "/:lang/connections": {
  60. render(vn){
  61. return m(Layout, vn.attrs, m(_ModeConnections, vn.attrs));
  62. }
  63. }
  64. });
  65. });
  66. };
  67. // ___
  68. // / | ____ ____
  69. // / /| | / __ \/ __ \
  70. // / ___ |/ /_/ / /_/ /
  71. // /_/ |_/ .___/ .___/
  72. // /_/ /_/
  73. // var _App = {
  74. // view(){
  75. // console.log('_App view', _lang);
  76. // return [
  77. // m('header', [
  78. // m('h1', 'Ethica'),
  79. // m('aside', {'id':"menus"}, m(_LangMenu) )
  80. // ]),
  81. // m(_Tree),
  82. // m('footer', [
  83. // m('p', m.trust('© 2017 <a href="./">Ethica Spinoza</a>'))
  84. // ])
  85. // ]
  86. // }
  87. // }
  88. // _ _ __
  89. // (_)___ (_) /_
  90. // / / __ \/ / __/
  91. // / / / / / / /_
  92. // /_/_/ /_/_/\__/
  93. init()