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.

246 lines
12 KiB

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