No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

107 líneas
2.9 KiB

  1. <!DOCTYPE html>
  2. <!-- Built on Frappe. https://frappe.io/ -->
  3. <html lang="en">
  4. <head>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>{% block title %} {{ title | striptags }} {% endblock %}</title>
  8. <meta name="generator" content="frappe">
  9. {% block favicon %}
  10. <link rel="shortcut icon"
  11. href="{{ (favicon or "/assets/frappe/images/favicon.png") | abs_url }}"
  12. type="image/x-icon">
  13. <link rel="icon"
  14. href="{{ (favicon or "/assets/frappe/images/favicon.png") | abs_url }}"
  15. type="image/x-icon">
  16. {% endblock %}
  17. {%- block head -%}
  18. {% if meta_block is defined -%}
  19. {{ meta_block }}
  20. {%- endif %}
  21. {% if head_html is defined -%}
  22. {{ head_html or "" }}
  23. {%- endif %}
  24. {%- for link in web_include_css %}
  25. <link type="text/css" rel="stylesheet" href="{{ link|abs_url }}">
  26. {%- endfor -%}
  27. {%- block head_include %}{{ head_include or "" }}{% endblock -%}
  28. {%- block style %}{%- endblock -%}
  29. {%- endblock -%}
  30. <script>
  31. window.frappe = {
  32. page_ready_events: {},
  33. ready: function(fn) {
  34. if (!frappe.page_ready_events[location.pathname]) {
  35. frappe.page_ready_events[location.pathname] = []
  36. }
  37. frappe.page_ready_events[location.pathname].push(fn);
  38. }
  39. }
  40. window.dev_server = {{ dev_server }};
  41. </script>
  42. </head>
  43. <body data-path="{{ path }}">
  44. <div class="main-section">
  45. <div>
  46. {%- block banner -%}
  47. {% include "templates/includes/banner_extension.html" ignore missing %}
  48. {% if banner_html -%}
  49. <header class="container">{{ banner_html or "" }}</header>
  50. {%- endif %}
  51. {%- endblock -%}
  52. {%- block navbar -%}
  53. {% include "templates/includes/navbar/navbar.html" %}
  54. {%- endblock -%}
  55. <div class="hero-and-content">
  56. <div data-html-block="hero">
  57. {%- block hero -%}{%- endblock -%}
  58. </div>
  59. <div class="container" data-html-block="content">
  60. {% block content %}{% endblock %}
  61. </div>
  62. </div>
  63. {%- if footer is defined -%}
  64. <footer class="page-footer">
  65. <div class="container">
  66. {{ footer }}
  67. </div>
  68. </footer>
  69. {%- endif -%}
  70. </div>
  71. <div>
  72. {%- block footer -%}{% include "templates/includes/footer/footer.html" %}{%- endblock -%}
  73. </div>
  74. </div>
  75. <!-- js should be loaded in body! -->
  76. <script type="text/javascript"
  77. src="/assets/frappe/js/lib/jquery/jquery.min.js"></script>
  78. <script type="text/javascript"
  79. src="/assets/js/frappe-web.min.js"></script>
  80. {%- if js_globals is defined %}
  81. <script>
  82. {%- for key, value in js_globals.iteritems() %}
  83. window.{{ key }} = "{{ value[0] }}";
  84. {%- endfor -%}
  85. </script>
  86. {% endif -%}
  87. {%- for link in web_include_js %}
  88. <script type="text/javascript" src="{{ link|abs_url }}"></script>
  89. {%- endfor -%}
  90. {%- block script %}{%- endblock %}
  91. <!-- csrf_token -->
  92. {%- block body_include %}{{ body_include or "" }}{% endblock -%}
  93. </body>
  94. </html>