index.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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 := .PluginCss ]]
  15. <link rel="stylesheet" href="[[$.AppSubUrl]]/[[ $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/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. </body>
  41. <script>
  42. window.grafanaBootData = {
  43. user:[[.User]],
  44. settings: [[.Settings]],
  45. pluginModules: [[.PluginJs]],
  46. mainNavLinks: [[.MainNavLinks]]
  47. };
  48. require(['app/app'], function (app) {
  49. app.boot();
  50. })
  51. </script>
  52. [[if .GoogleAnalyticsId]]
  53. <script>
  54. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  55. (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  56. m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  57. })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  58. ga('create', '[[.GoogleAnalyticsId]]', 'auto');
  59. ga('send', 'pageview');
  60. </script>
  61. [[end]]
  62. [[if .GoogleTagManagerId]]
  63. <script>
  64. dataLayer = [{
  65. 'IsSignedIn': '[[.User.IsSignedIn]]',
  66. 'Email': '[[.User.Email]]',
  67. 'Name': '[[.User.Name]]',
  68. 'UserId': '[[.User.Id]]',
  69. 'OrgId': '[[.User.OrgId]]',
  70. 'OrgName': '[[.User.OrgName]]',
  71. }];
  72. </script>
  73. <!-- Google Tag Manager -->
  74. <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-K2MJ65" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  75. <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],
  76. 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);
  77. })(window,document,'script','dataLayer','[[.GoogleTagManagerId]]');</script>
  78. <!-- End Google Tag Manager -->
  79. [[end]]
  80. </html>