2011-07-25 17:33:49 +00:00
|
|
|
{% load i18n %}
|
2017-12-07 18:03:00 +00:00
|
|
|
{% load core_tags %}
|
2015-07-19 00:47:39 +00:00
|
|
|
{% load static %}
|
2010-08-14 15:11:06 +00:00
|
|
|
<!DOCTYPE html>
|
2012-10-13 23:56:49 +00:00
|
|
|
<html>
|
2010-08-14 15:11:06 +00:00
|
|
|
|
|
|
|
<head>
|
2011-10-17 02:11:12 +00:00
|
|
|
|
2010-08-14 15:11:06 +00:00
|
|
|
<!-- meta -->
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
2018-02-05 19:49:18 +00:00
|
|
|
{% block extra_metas %}{% endblock extra_metas %}
|
|
|
|
|
2010-08-19 05:22:04 +00:00
|
|
|
<link rel="icon" type="image/png" href="{{ MEDIA_URL }}images/favicon.png">
|
2010-08-14 15:11:06 +00:00
|
|
|
|
|
|
|
<!-- title -->
|
2017-06-11 14:05:29 +00:00
|
|
|
<title>{% block title %}{% endblock %}{% block head_title %}{% endblock %} | {% block branding %}Read the Docs {% endblock %}</title>
|
2010-08-14 15:11:06 +00:00
|
|
|
|
2017-09-06 12:41:27 +00:00
|
|
|
<!-- Google Analytics -->
|
2018-02-05 19:49:18 +00:00
|
|
|
<script>
|
2018-05-18 19:06:43 +00:00
|
|
|
if (navigator.doNotTrack === '1') {
|
2018-05-01 03:24:31 +00:00
|
|
|
console.log('Respecting DNT with respect to analytics...');
|
|
|
|
} else {
|
|
|
|
// For more details on analytics at Read the Docs, please see:
|
|
|
|
// https://docs.readthedocs.io/en/latest/advertising-details.html#analytics
|
|
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
|
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
|
|
|
|
|
|
ga('create', '{{ GLOBAL_ANALYTICS_CODE }}', 'auto', 'rtfd', {
|
2018-05-01 03:47:15 +00:00
|
|
|
'cookieExpires': 30 * 24 * 60 * 60
|
2018-05-01 03:24:31 +00:00
|
|
|
});
|
|
|
|
ga('rtfd.set', 'anonymizeIp', true);
|
|
|
|
ga('rtfd.send', 'pageview');
|
|
|
|
|
|
|
|
{% if DASHBOARD_ANALYTICS_CODE %}
|
|
|
|
// Dashboard Analytics Code
|
|
|
|
ga('create', '{{ DASHBOARD_ANALYTICS_CODE }}', 'auto', 'user', {
|
2018-05-01 03:47:15 +00:00
|
|
|
'cookieExpires': 30 * 24 * 60 * 60
|
2018-05-01 03:24:31 +00:00
|
|
|
});
|
|
|
|
ga('user.set', 'anonymizeIp', true);
|
|
|
|
ga('user.send', 'pageview');
|
|
|
|
// End Dashboard Analytics Code
|
|
|
|
{% endif %}
|
|
|
|
}
|
2017-09-06 12:41:27 +00:00
|
|
|
</script>
|
|
|
|
<!-- End Google Analytics -->
|
|
|
|
|
2010-08-14 15:11:06 +00:00
|
|
|
<!-- css -->
|
2010-08-14 15:17:45 +00:00
|
|
|
<link rel="stylesheet" href="{{ MEDIA_URL }}css/core.css">
|
2010-08-15 17:32:45 +00:00
|
|
|
{% block extra_links %}{% endblock %}
|
2012-03-28 22:40:19 +00:00
|
|
|
|
|
|
|
<!-- jquery -->
|
2018-02-05 19:49:18 +00:00
|
|
|
<script src="{% static 'vendor/jquery.js' %}"></script>
|
|
|
|
<script src="{% static 'vendor/jquery-migrate.js' %}"></script>
|
|
|
|
<script src="{% static 'vendor/jquery-ui.js' %}"></script>
|
|
|
|
<script >
|
2015-08-23 19:16:13 +00:00
|
|
|
require('jquery');
|
|
|
|
</script>
|
2012-12-07 03:39:31 +00:00
|
|
|
|
2018-02-05 19:49:18 +00:00
|
|
|
<script src="{{ MEDIA_URL }}javascript/instantsearch.js"></script>
|
|
|
|
<script src="{{ MEDIA_URL }}javascript/base.js"></script>
|
|
|
|
<script src="{% static 'core/js/site.js' %}"></script>
|
|
|
|
<script>
|
Integrate on-site messaging that is persistent, combine message transports (#2406)
* WIP for integrating persistent messaging for users
Combines notifications so that email/on site messaging will all be maintained in
the same place, and can extend from each other using normal template semantics.
* Add email support, clean up implementation
* Add reqs
* Drop unnecessary string conversion
* Change admin email form to look at templates, not ask for template source
* Add docs, tests, views for processing redirects
* Do the thing I meant to do
* Drop views, just use javascript instead
This adds javascript that intercepts link clicks in notifications,
hits the dismiss url defined on the dom object, and then redirects
to the correct url of the original link.
* Move classes around and rename module
* Drop unused notification for testing
* Clean up usage, drop test uses of the views/notifications
* Add example usage that will be used for notification on resource usage
* Fix mock module path
* Add more docs around implementation
2016-10-01 17:19:51 +00:00
|
|
|
var site = require('core/site');
|
|
|
|
site.handle_notification_dismiss();
|
|
|
|
</script>
|
2012-12-07 03:39:31 +00:00
|
|
|
|
2012-03-28 22:40:19 +00:00
|
|
|
{% block extra_scripts %}{% endblock %}
|
2012-12-07 03:39:31 +00:00
|
|
|
|
2010-08-14 15:11:06 +00:00
|
|
|
</head>
|
|
|
|
|
2010-08-15 04:33:12 +00:00
|
|
|
<body class="{% block body_class %}{% endblock %}">
|
|
|
|
|
2012-12-07 03:39:31 +00:00
|
|
|
{% block header-wrapper %}
|
|
|
|
{% include "core/header.html" %}
|
|
|
|
{% endblock %}
|
2010-08-14 16:35:16 +00:00
|
|
|
|
2014-09-22 19:05:15 +00:00
|
|
|
{% block subnav-bar %}{% endblock %}
|
2010-08-16 04:07:40 +00:00
|
|
|
|
2010-08-15 05:42:32 +00:00
|
|
|
{% block project_editing %}{% endblock %}
|
2010-08-14 17:11:25 +00:00
|
|
|
|
2014-09-19 22:54:19 +00:00
|
|
|
|
2010-08-14 16:35:16 +00:00
|
|
|
<!-- BEGIN content-->
|
|
|
|
<div id="content">
|
2010-08-14 17:11:25 +00:00
|
|
|
<div class="wrapper">
|
2010-08-16 04:07:40 +00:00
|
|
|
|
2014-09-29 22:00:25 +00:00
|
|
|
{% if messages %}
|
2014-09-12 18:40:11 +00:00
|
|
|
<ul class="notifications">
|
|
|
|
{% for message in messages %}
|
Integrate on-site messaging that is persistent, combine message transports (#2406)
* WIP for integrating persistent messaging for users
Combines notifications so that email/on site messaging will all be maintained in
the same place, and can extend from each other using normal template semantics.
* Add email support, clean up implementation
* Add reqs
* Drop unnecessary string conversion
* Change admin email form to look at templates, not ask for template source
* Add docs, tests, views for processing redirects
* Do the thing I meant to do
* Drop views, just use javascript instead
This adds javascript that intercepts link clicks in notifications,
hits the dismiss url defined on the dom object, and then redirects
to the correct url of the original link.
* Move classes around and rename module
* Drop unused notification for testing
* Clean up usage, drop test uses of the views/notifications
* Add example usage that will be used for notification on resource usage
* Fix mock module path
* Add more docs around implementation
2016-10-01 17:19:51 +00:00
|
|
|
<li class="notification notification-{{ message.level }}" {% if message.pk %}data-dismiss-url="{% url 'message_mark_read' message.pk %}{% endif %}">
|
2014-09-12 18:40:11 +00:00
|
|
|
{{ message }}
|
|
|
|
</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
2010-08-16 04:22:03 +00:00
|
|
|
{% endif %}
|
2010-08-16 04:07:40 +00:00
|
|
|
|
2010-08-14 17:55:53 +00:00
|
|
|
{% block content-header %}
|
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block content %}
|
|
|
|
{% endblock %}
|
|
|
|
|
2010-08-14 17:11:25 +00:00
|
|
|
</div>
|
2010-08-14 16:35:16 +00:00
|
|
|
</div>
|
|
|
|
<!-- END content-->
|
|
|
|
|
2010-08-14 21:40:05 +00:00
|
|
|
<!-- BEGIN footer-->
|
|
|
|
<div id="footer">
|
|
|
|
<div class="wrapper">
|
2011-10-17 02:11:12 +00:00
|
|
|
|
2010-08-14 21:40:05 +00:00
|
|
|
<hr>
|
|
|
|
|
2014-01-17 08:15:58 +00:00
|
|
|
|
|
|
|
{% block footer-content %}
|
|
|
|
|
2017-10-14 04:47:42 +00:00
|
|
|
<div class="column-logo">
|
2017-10-11 04:55:57 +00:00
|
|
|
<div class="footerlogo"></div>
|
|
|
|
|
|
|
|
<ul class="social">
|
2017-10-13 04:12:44 +00:00
|
|
|
<li><a href="https://github.com/rtfd/readthedocs.org" rel="noopener noreferrer"><span class="icon github"></span></a></li>
|
|
|
|
<li><a href="https://twitter.com/readthedocs" rel="noopener noreferrer"><span class="icon twitter"></span></a></li>
|
2017-10-11 04:55:57 +00:00
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
2017-10-14 04:47:42 +00:00
|
|
|
<div class="column-about">
|
2017-10-11 04:55:57 +00:00
|
|
|
<h4>{% trans "About Us" %}</h4>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<a href="https://docs.readthedocs.io/en/latest/team.html">{% trans "Team" %}</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="https://docs.readthedocs.io/en/latest/open-source-philosophy.html">{% trans "Open Source Philosophy" %}</a>
|
2018-04-20 04:48:57 +00:00
|
|
|
</li>
|
2017-10-11 04:55:57 +00:00
|
|
|
<li>
|
|
|
|
<a href="http://blog.readthedocs.com/">{% trans "Blog" %}</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="https://docs.readthedocs.io/en/latest/sponsors.html">{% trans "Our Sponsors" %}</a>
|
|
|
|
</li>
|
2018-04-20 04:48:57 +00:00
|
|
|
<li>
|
|
|
|
<a href="https://docs.readthedocs.io/en/latest/privacy-policy.html">{% trans "Privacy Policy" %}</a>
|
|
|
|
</li>
|
2017-10-11 04:55:57 +00:00
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
2017-10-14 04:47:42 +00:00
|
|
|
<div class="column-rtd">
|
2017-10-11 04:55:57 +00:00
|
|
|
<h4>{% trans "Read the Docs" %}</h4>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<a href="https://docs.readthedocs.io/en/latest/getting_started.html">{% trans "Getting Started Guide" %}</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="https://docs.readthedocs.io">{% trans "Documentation" %}</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="https://docs.readthedocs.io/en/latest/contribute.html">{% trans "Contributing" %}</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
2017-10-28 05:17:35 +00:00
|
|
|
{% url "advertising" as advertising_url %}
|
|
|
|
<a href="{{ advertising_url | default:'https://readthedocs.org/sustainability/advertising/' }}">{% trans "Advertise with Us" %}</a>
|
2017-10-11 04:55:57 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="https://readthedocs.com">{% trans "Commercial Support" %}</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
{% url "gold_detail" as gold_detail %}
|
|
|
|
<a href="{{ gold_detail }}">{% trans "Read the Docs Gold" %}</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
2017-10-12 04:04:42 +00:00
|
|
|
{% url "donate" as donate_url %}
|
|
|
|
<a href='{{ donate_url }}'>{% trans "Donate" %}</a>
|
2017-10-11 04:55:57 +00:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="clearfix"></div>
|
|
|
|
|
|
|
|
<div class="footer-bottom">
|
2017-10-14 04:47:42 +00:00
|
|
|
<div class="column-copyright">
|
2017-10-11 04:55:57 +00:00
|
|
|
<p>
|
2017-12-07 18:03:00 +00:00
|
|
|
<small>
|
|
|
|
© Copyright {% now "Y" %}, {% trans "Read the Docs, Inc & contributors" %} -
|
|
|
|
{% trans "Version" %} {% readthedocs_version %}
|
|
|
|
</small>
|
2017-10-11 04:55:57 +00:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
2017-10-14 04:47:42 +00:00
|
|
|
<div class="column-setlang">
|
2017-10-11 04:55:57 +00:00
|
|
|
{% get_current_language as current_lang %}
|
|
|
|
<form action="/i18n/setlang/" method="post" style="float: right">
|
|
|
|
<input name="next" type="hidden" value="/" />
|
|
|
|
{% csrf_token %}
|
|
|
|
<select name="language">
|
|
|
|
{% for lang in LANGUAGES %}
|
|
|
|
{% if lang.0 == current_lang %}
|
|
|
|
<option selected="selected" value="{{ lang.0 }}">{{ lang.0|language_name_local }} [{{ lang.1 }}]</option>
|
|
|
|
{% else %}
|
|
|
|
<option value="{{ lang.0 }}">{{ lang.0|language_name_local }} [{{ lang.1 }}]</option>
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
</select>
|
|
|
|
<input type="submit" value="{% trans 'Change Language' %}" name="submit">
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
2014-01-17 08:15:58 +00:00
|
|
|
|
2017-10-11 04:55:57 +00:00
|
|
|
{% endblock %}
|
2014-01-17 08:07:32 +00:00
|
|
|
|
2010-08-14 21:40:05 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- END footer-->
|
|
|
|
|
2018-02-05 19:49:18 +00:00
|
|
|
<script>
|
|
|
|
{% block footerjs %}{% endblock %}
|
|
|
|
</script>
|
2010-08-15 05:59:23 +00:00
|
|
|
|
2018-02-05 19:49:18 +00:00
|
|
|
</body>
|
2010-08-14 15:11:06 +00:00
|
|
|
|
2010-08-14 05:48:55 +00:00
|
|
|
</html>
|