index.html 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width">
  7. <meta name="theme-color" content="#000">
  8. <title>Grafana</title>
  9. [[if .User.LightTheme]]
  10. <link rel="stylesheet" href="[[.AppSubUrl]]/css/grafana.light.min.css">
  11. [[else]]
  12. <link rel="stylesheet" href="[[.AppSubUrl]]/css/grafana.dark.min.css">
  13. [[end]]
  14. [[ range $css := .ExternalPluginCss ]]
  15. <link rel="stylesheet" href="[[$.AppSubUrl]]/plugins[[ $css ]]">
  16. [[ end ]]
  17. <link rel="icon" type="image/png" href="[[.AppSubUrl]]/img/fav32.png">
  18. <base href="[[.AppSubUrl]]/" />
  19. <!-- build:js [[.AppSubUrl]]/app/app.js -->
  20. <script src="[[.AppSubUrl]]/public/vendor/requirejs/require.js"></script>
  21. <script src="[[.AppSubUrl]]/public/app/components/require.config.js"></script>
  22. <!-- endbuild -->
  23. </head>
  24. <body ng-cloak ng-controller="GrafanaCtrl" ng-class="{'sidemenu-open': contextSrv.sidemenu}">
  25. <div class="sidemenu-canvas">
  26. <aside class="sidemenu-wrapper" ng-if="contextSrv.sidemenu">
  27. <div ng-include="'app/partials/sidemenu.html'"></div>
  28. </aside>
  29. <div class="page-alert-list">
  30. <div ng-repeat='alert in dashAlerts.list' class="alert-{{alert.severity}} alert">
  31. <button type="button" class="alert-close" ng-click="dashAlerts.clear(alert)">
  32. <i class="fa fa-times-circle"></i>
  33. </button>
  34. <div class="alert-title">{{alert.title}}</div>
  35. <div ng-bind='alert.text'></div>
  36. </div>
  37. </div>
  38. <div ng-view class="main-view"></div>
  39. </div>
  40. </div>
  41. </body>
  42. <script>
  43. window.grafanaBootData = {
  44. user:[[.User]],
  45. settings: [[.Settings]],
  46. };
  47. window.externalPlugins = {
  48. MainLinks: [[.ExternalPluginMenu]]
  49. };
  50. require(['app/app'], function (app) {
  51. app.boot();
  52. })
  53. </script>
  54. [[ range $js := .ExternalPluginJs]]
  55. <script src="[[$.AppSubUrl]]/plugins[[ $js ]]"></script>
  56. [[ end ]]
  57. [[if .GoogleAnalyticsId]]
  58. <script>
  59. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  60. (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  61. m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  62. })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  63. ga('create', '[[.GoogleAnalyticsId]]', 'auto');
  64. ga('send', 'pageview');
  65. </script>
  66. [[end]]
  67. [[if .GoogleTagManagerId]]
  68. <script>
  69. dataLayer = [{
  70. 'IsSignedIn': '[[.User.IsSignedIn]]',
  71. 'Email': '[[.User.Email]]',
  72. 'Name': '[[.User.Name]]',
  73. 'UserId': '[[.User.Id]]',
  74. 'OrgId': '[[.User.OrgId]]',
  75. 'OrgName': '[[.User.OrgName]]',
  76. }];
  77. </script>
  78. <!-- Google Tag Manager -->
  79. <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-K2MJ65" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  80. <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  81. j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  82. })(window,document,'script','dataLayer','[[.GoogleTagManagerId]]');</script>
  83. <!-- End Google Tag Manager -->
  84. [[end]]
  85. </html>