base.html.twig 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. {% set body_classes = body_class(['header-fixed', 'header-animated', 'header-dark', 'header-transparent', 'sticky-footer']) %}
  2. {% set grid_size = theme_var('grid-size') %}
  3. {% set compress = theme_var('production_mode') ? '.min.css' : '.css' %}
  4. <!DOCTYPE html>
  5. <html lang="{{ grav.language.getActive ?: grav.config.site.default_lang }}">
  6. <head>
  7. {% block head %}
  8. <meta charset="utf-8" />
  9. <title>{% if header.title %}{{ header.title|e('html') }} | {% endif %}{{ site.title|e('html') }}</title>
  10. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  11. <meta name="viewport" content="width=device-width, initial-scale=1">
  12. {% include 'partials/metadata.html.twig' %}
  13. <link rel="icon" type="image/png" href="{{ url('theme://images/favicon.png') }}" />
  14. <link rel="canonical" href="{{ page.url(true, true) }}" />
  15. {% block stylesheets %}
  16. {% do assets.addCss('theme://css/jquery-ui.css') %}
  17. {% do assets.addCss('theme://css-compiled/template.css') %}
  18. {% do assets.addCss('theme://css/styles_3djs.css') %}
  19. {% do assets.addCss('theme://css/styles_paperjs.css') %}
  20. {# % do assets.addCss('theme://css/leaflet.css.css') % #}
  21. <link rel="stylesheet" href="user/themes/r2c/css/leaflet.css" crossorigin=""/>
  22. {% endblock %}
  23. {{ assets.css() }}
  24. <!-- dynamique js variables -->
  25. {# Pour déboguer les variables twig tu peux utiliser dump #}
  26. {# ça apparait dans la console de deboguage grav en bas de l'écran dans "messages" #}
  27. {# pour activer la console grav c'est dans /user/config/system.yalm debugger:enabled:true #}
  28. {% for module in page.collection %}
  29. {{ dump( module.slug )}}
  30. {% for submodule in module.collection %}
  31. {{ dump(submodule.header) }}
  32. {% endfor %}
  33. {% endfor %}
  34. {# le code pour de vrai :) #}
  35. {# définie les tableaux a remplir #}
  36. {% set mappoints = [] %}
  37. {% set links = [] %}
  38. {% set reseauxsociaux = [] %}
  39. {# boucle sur les modules puis les sous modules #}
  40. {# et en fonction du module remplit le bon tableau #}
  41. {% for module in page.collection %}
  42. {% for submodule in module.collection %}
  43. {% if module.slug == "_streetmap" %}
  44. {% set mappoints = mappoints|merge([submodule.header]) %}
  45. {% endif %}
  46. {% if module.slug == "_links" %}
  47. {% set links = links|merge([submodule.header]) %}
  48. {% endif %}
  49. {% if module.slug == "_reseaux-sociaux" %}
  50. {% set reseauxsociaux = reseauxsociaux|merge([submodule.header]) %}
  51. {% endif %}
  52. {% endfor %}
  53. {% endfor %}
  54. {# transforme les variable twig en variables js #}
  55. <script type="text/javascript">
  56. var dyn_data = {
  57. mappoints : {{ mappoints|json_encode() }},
  58. links : {{ links|json_encode() }},
  59. reseauxsociaux : {{ reseauxsociaux|json_encode() }}
  60. };
  61. console.log("dyn_data", dyn_data);
  62. </script>
  63. <!-- js assets -->
  64. {% block javascripts %}
  65. {% do assets.addJs('jquery', 101) %}
  66. {% do assets.addJs('theme://js/jquery-ui.js', {group:'bottom'}) %}
  67. {% do assets.addJs('theme://js/d3.js', {group:'bottom'}) %}
  68. {% do assets.addJs('theme://js/script_d3js.js', {group:'bottom'}) %}
  69. {% do assets.addJs('theme://js/paper_full.js', {group:'bottom'}) %}
  70. {% do assets.addJs('theme://js/jquery.ui.touch-punch.min.js', {group:'bottom'}) %}
  71. {% do assets.addJs('theme://js/script.js', {group:'bottom'}) %}
  72. {# % do assets.addJs('theme://js/leaflet.js', {group:'bottom'}) % #}
  73. {# do assets.addJs('theme://js/script_paperjs.js', {type:'text/paperscript', canvas:'canvas', group:'bottom'}) #}
  74. <script type="text/paperscript" src="user/themes/r2c/js/script_paperjs.js" canvas="canvas"></script>
  75. <script src="user/themes/r2c/js/leaflet.js" crossorigin=""></script>
  76. {% endblock %}
  77. {{ assets.js() }}
  78. {% endblock head %}
  79. </head>
  80. <body id="top">
  81. <div id="page">
  82. {% block header %}
  83. <section id="header" class="section">
  84. <nav class="navbar">
  85. <h1>
  86. <a href="{{ home_url }}" class="navbar-brand mr-10">{{site.title}}</a>
  87. </h1>
  88. <section class="navbar-section">
  89. <nav>
  90. {% block header_navigation %}
  91. {% include 'partials/navigation.html.twig' %}
  92. {% endblock %}
  93. </nav>
  94. {% if config.plugins.login.enabled and grav.user.username %}
  95. <span class="login-status-wrapper"><i class="fa fa-user"></i> {% include 'partials/login-status.html.twig' %}</span>
  96. {% endif %}
  97. </nav>
  98. </section>
  99. </section>
  100. {% endblock %}
  101. {% block hero %}{% endblock %}
  102. <section id="start">
  103. <div id="handlers">
  104. <div class="handler hand1">
  105. <img src="user/themes/r2c/images/handler.svg" alt="">
  106. </div>
  107. <div class="handler hand2">
  108. <img src="user/themes/r2c/images/handler.svg" alt="">
  109. </div>
  110. </div>
  111. {% block body %}
  112. <section id="body-wrapper" class="section">
  113. <section class="container {{ grid_size }}">
  114. {% block messages %}
  115. {% include 'partials/messages.html.twig' ignore missing %}
  116. {% endblock %}
  117. {% block content %}{% endblock %}
  118. </section>
  119. </section>
  120. {% endblock %}
  121. </section>
  122. </div>
  123. {% block footer %}
  124. {% endblock %}
  125. {% block bottom %}
  126. {{ assets.js('bottom') }}
  127. {% endblock %}
  128. </body>