You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

241 lines
11 KiB

10 years ago
9 years ago
10 years ago
10 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
7 years ago
7 years ago
10 years ago
10 years ago
9 years ago
10 years ago
  1. <!DOCTYPE html>{% load compress i18n static hc_extras %}
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>{% block title %}{% blocktrans trimmed %}{{ site_name }} - Monitor Cron Jobs. Get Notified When Your Cron Jobs Fail{% endblocktrans %}{% endblock %}</title>
  6. {% block description %}
  7. <meta name="description" content="Monitor and Get Notified When Your Cron Jobs Fail. Free alternative to Cronitor and Dead Man's Snitch.">
  8. {% endblock %}
  9. {% block keywords %}
  10. <meta name="keywords" content="healthchecks, monitor cron jobs, cron monitoring, cron job syntax, health checks, crontab cheat sheet, crontab monitoring, cronjob monitoring, cron dashboard">
  11. {% endblock %}
  12. <meta name="viewport" content="width=device-width, initial-scale=1">
  13. <meta name="apple-mobile-web-app-title" content="{{ site_name }}">
  14. <meta name="application-name" content="{{ site_name }}">
  15. <link rel="icon" type="image/x-icon" href="{% static 'img/favicon.ico' %}">
  16. <link rel="apple-touch-icon" sizes="180x180" href="{% static 'img/apple-touch-180.png' %}">
  17. {% block head %}{% endblock %}
  18. {% compress css %}
  19. <link rel="stylesheet" href="{% static 'css/bootstrap.css' %}" type="text/css">
  20. <link rel="stylesheet" href="{% static 'css/bootstrap-select.min.css' %}" type="text/css">
  21. <link rel="stylesheet" href="{% static 'css/selectize.hc.css' %}" type="text/css">
  22. <link rel="stylesheet" href="{% static 'css/add_project_modal.css' %}" type="text/css">
  23. <link rel="stylesheet" href="{% static 'css/add_pushover.css' %}" type="text/css">
  24. <link rel="stylesheet" href="{% static 'css/webhook_form.css' %}" type="text/css">
  25. <link rel="stylesheet" href="{% static 'css/base.css' %}" type="text/css">
  26. <link rel="stylesheet" href="{% static 'css/billing.css' %}" type="text/css">
  27. <link rel="stylesheet" href="{% static 'css/channel_checks.css' %}" type="text/css">
  28. <link rel="stylesheet" href="{% static 'css/channels.css' %}" type="text/css">
  29. <link rel="stylesheet" href="{% static 'css/checkbox.css' %}" type="text/css">
  30. <link rel="stylesheet" href="{% static 'css/details.css' %}" type="text/css">
  31. <link rel="stylesheet" href="{% static 'css/docs.css' %}" type="text/css">
  32. <link rel="stylesheet" href="{% static 'css/docs_cron.css' %}" type="text/css">
  33. <link rel="stylesheet" href="{% static 'css/icomoon.css' %}" type="text/css">
  34. <link rel="stylesheet" href="{% static 'css/log.css' %}" type="text/css">
  35. <link rel="stylesheet" href="{% static 'css/login.css' %}" type="text/css">
  36. <link rel="stylesheet" href="{% static 'css/my_checks.css' %}" type="text/css">
  37. <link rel="stylesheet" href="{% static 'css/my_checks_desktop.css' %}" type="text/css">
  38. <link rel="stylesheet" href="{% static 'css/nouislider.min.css' %}" type="text/css">
  39. <link rel="stylesheet" href="{% static 'css/nouislider.pips.css' %}" type="text/css">
  40. <link rel="stylesheet" href="{% static 'css/ping_details.css' %}" type="text/css">
  41. <link rel="stylesheet" href="{% static 'css/pricing.css' %}" type="text/css">
  42. <link rel="stylesheet" href="{% static 'css/profile.css' %}" type="text/css">
  43. <link rel="stylesheet" href="{% static 'css/projects.css' %}" type="text/css">
  44. <link rel="stylesheet" href="{% static 'css/radio.css' %}" type="text/css">
  45. <link rel="stylesheet" href="{% static 'css/settings.css' %}" type="text/css">
  46. <link rel="stylesheet" href="{% static 'css/snippet-copy.css' %}" type="text/css">
  47. <link rel="stylesheet" href="{% static 'css/syntax.css' %}" type="text/css">
  48. <link rel="stylesheet" href="{% static 'css/welcome.css' %}" type="text/css">
  49. <link rel="stylesheet" href="{% static 'css/set_password.css' %}" type="text/css">
  50. {% endcompress %}
  51. </head>
  52. <body class="page-{{ page }}">
  53. {% debug_warning %}
  54. <nav class="navbar navbar-default">
  55. <div class="container{% if page == "checks" or page == "details" %}-fluid{% endif %}">
  56. <div class="navbar-header">
  57. <button
  58. type="button"
  59. class="navbar-toggle collapsed"
  60. data-toggle="collapse"
  61. data-target="#navbar"
  62. aria-expanded="false"
  63. aria-controls="navbar">
  64. <span class="sr-only">{% trans "Toggle navigation" %}</span>
  65. <span class="icon-bar"></span>
  66. <span class="icon-bar"></span>
  67. <span class="icon-bar"></span>
  68. </button>
  69. <a id="base-url" class="navbar-brand" href="{% url 'hc-index' %}">
  70. {% if request.user.is_authenticated and project %}
  71. {{ project }}
  72. <span class="caret"></span>
  73. {% elif request.user.is_authenticated%}
  74. <img
  75. id="logo"
  76. height="50"
  77. width="59"
  78. src="{% static 'img/logo.png'%}"
  79. srcset="{% static 'img/logo.png'%} 1x, {% static 'img/[email protected]'%} 2x"
  80. alt="{{ site_name }}">
  81. {% else %}
  82. <img
  83. id="logo"
  84. height="50"
  85. width="200"
  86. src="{% static 'img/logo-full.png'%}"
  87. srcset="{% static 'img/logo-full.png'%} 1x, {% static 'img/[email protected]'%} 2x"
  88. alt="{{ site_name }}">
  89. {% endif %}
  90. </a>
  91. </div>
  92. <div id="navbar" class="navbar-collapse collapse">
  93. {% if project %}
  94. <ul id="nav-main-sections" class="nav navbar-nav">
  95. <li {% if page == 'checks' %} class="active" {% endif %}>
  96. <a href="{% url 'hc-checks' project.code %}">
  97. {% trans "Checks" %}
  98. </a>
  99. </li>
  100. {% with b=project.have_channel_issues %}
  101. <li {% if b %}id="broken-channels"{% endif %} {% if page == 'channels' %}class="active"{% endif %}>
  102. <a href="{% url 'hc-channels' project.code %}">
  103. {% trans "Integrations" %}
  104. {% if b %}<span class="icon-grace"></span>{% endif %}
  105. </a>
  106. </li>
  107. {% endwith %}
  108. <li {% if page == 'badges' %} class="active" {% endif %}>
  109. <a href="{% url 'hc-badges' project.code %}">
  110. {% trans "Badges" %}
  111. </a>
  112. </li>
  113. <li {% if page == 'project' %} class="active" {% endif %}>
  114. <a href="{% url 'hc-project-settings' project.code %}">
  115. {% trans "Settings" %}
  116. </a>
  117. </li>
  118. </ul>
  119. {% endif %}
  120. <ul id="global-links" class="nav navbar-nav navbar-right">
  121. {% if show_pricing %}
  122. <li {% if page == 'pricing' %} class="active" {% endif %}>
  123. {% if project %}
  124. <a href="{% url 'hc-p-pricing' project.code %}">
  125. {% trans "Pricing" %}
  126. </a>
  127. {% else %}
  128. <a href="{% url 'hc-pricing' %}">
  129. {% trans "Pricing" %}
  130. </a>
  131. {% endif %}
  132. </li>
  133. {% endif %}
  134. <li {% if page == 'docs' %} class="active" {% endif %}>
  135. <a href="{% url 'hc-docs' %}">
  136. {% trans "Docs" %}
  137. </a>
  138. </li>
  139. {% if request.user.is_authenticated %}
  140. <li class="dropdown">
  141. <a id="nav-email" href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">
  142. {% trans "Account" %}
  143. <span class="caret"></span>
  144. </a>
  145. <ul class="dropdown-menu">
  146. {% if request.user.is_superuser %}
  147. <li><a href="{% url 'admin:index' %}">
  148. {% trans "Site Administration" %}
  149. </a></li>
  150. <li role="separator" class="divider"></li>
  151. {% endif %}
  152. <li class="dropdown-header">
  153. {% trans "Projects" %}
  154. </li>
  155. {% for project in request.profile.annotated_projects %}
  156. <li class="project-item">
  157. <a href="{% url 'hc-checks' project.code %}">
  158. <span class="name">{{ project }}</span>
  159. {% if project.n_down %}
  160. <span class="badge badge-down pull-right">
  161. {{ project.n_down }}
  162. </span>
  163. {% endif %}
  164. </a>
  165. </li>
  166. {% endfor %}
  167. <li role="separator" class="divider"></li>
  168. <li class="dropdown-header">{{ request.user.email }}</li>
  169. <li>
  170. <a href="{% url 'hc-profile' %}">
  171. {% trans "Account Settings" %}
  172. </a>
  173. </li>
  174. <li>
  175. <a href="{% url 'hc-logout' %}">
  176. {% trans "Log Out" %}
  177. </a>
  178. </li>
  179. </ul>
  180. </li>
  181. {% elif page != "login" %}
  182. <li>
  183. <a href="{% url 'hc-login' %}">
  184. {% trans "Sign In" %}
  185. </a>
  186. </li>
  187. {% endif %}
  188. {% if registration_open %}
  189. {% if page == "welcome" or page == "login" %}
  190. <li>
  191. <a id="nav-sign-up" href="#" data-toggle="modal" data-target="#signup-modal">
  192. <span>{% trans "Sign Up" %}</span>
  193. </a>
  194. </li>
  195. {% endif %}
  196. {% endif %}
  197. </ul>
  198. </div>
  199. </div>
  200. </nav>
  201. {% block containers %}
  202. <div class="container{% if page == "checks" or page == "details" %}-fluid{% endif %}">
  203. {% block content %}{% endblock %}
  204. </div>
  205. {% endblock %}
  206. <footer class="footer">
  207. <div class="container{% if page == "checks" or page == "details" %}-fluid{% endif %}">
  208. <ul>
  209. <li>
  210. {% trans "Powered by Healthchecks open-source project" %}
  211. (<a href="https://github.com/healthchecks/healthchecks">github</a>,
  212. <a href="https://healthchecks.io">healthchecks.io</a>)
  213. </li>
  214. </ul>
  215. </div>
  216. </footer>
  217. {% block scripts %}
  218. {% compress js %}
  219. <script src="{% static 'js/jquery-2.1.4.min.js' %}"></script>
  220. <script src="{% static 'js/bootstrap.min.js' %}"></script>
  221. {% endcompress %}
  222. {% endblock %}
  223. </body>
  224. </html>