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 %}
|
|
|
|
|
2018-08-14 09:05:20 +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-30 19:36:28 +00:00
|
|
|
if ({{ DO_NOT_TRACK_ENABLED | lower }} && 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 -->
|
2018-08-14 09:05:20 +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-08-14 09:05:20 +00:00
|
|
|
<script src="{{ MEDIA_URL }}javascript/base.js"></script>
|
2018-02-05 19:49:18 +00:00
|
|
|
<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
|
|
|
|
2018-06-19 20:07:40 +00:00
|
|
|
<!-- BEGIN notify -->
|
|
|
|
{% block notify %}
|
|
|
|
{% if messages %}
|
|
|
|
<ul class="notifications">
|
|
|
|
{% for message in messages %}
|
|
|
|
<li class="notification notification-{{ message.level }}" {% if message.pk %}data-dismiss-url="{% url 'message_mark_read' message.pk %}{% endif %}">
|
|
|
|
{{ message }}
|
|
|
|
</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
<!-- END notify -->
|
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">
|
2018-05-25 23:28:08 +00:00
|
|
|
<div id="email-signup">
|
|
|
|
<form action="https://readthedocs.us3.list-manage.com/subscribe/post?u=a6a22369cc2b356379cf789ca&id=a85a83a5a5" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
|
|
|
|
<div>
|
2018-05-29 20:52:51 +00:00
|
|
|
<h4>{% trans 'Stay Updated' %}</h4>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<a href="https://blog.readthedocs.com/">{% trans 'Blog' %}</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
2018-05-25 23:42:14 +00:00
|
|
|
<p>{% trans 'Sign up for our newsletter to get our latest blog updates delivered to your inbox weekly.' %}</p>
|
2018-05-25 23:28:08 +00:00
|
|
|
<div>
|
2018-05-25 23:42:14 +00:00
|
|
|
<label for="mce-EMAIL">{% trans 'Email' %}</label>
|
2018-05-25 23:28:08 +00:00
|
|
|
<input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="you@example.com">
|
|
|
|
</div>
|
|
|
|
<div id="mce-responses" class="clear">
|
|
|
|
<div class="response" id="mce-error-response" style="display:none"></div>
|
|
|
|
<div class="response" id="mce-success-response" style="display:none"></div>
|
|
|
|
</div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
|
|
|
|
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_a6a22369cc2b356379cf789ca_a85a83a5a5" tabindex="-1" value=""></div>
|
2018-05-25 23:42:14 +00:00
|
|
|
<div class="clear"><input type="submit" value="{% trans 'Subscribe' %}" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
|
2018-05-25 23:28:08 +00:00
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
2017-10-11 04:55:57 +00:00
|
|
|
|
|
|
|
</div>
|
|
|
|
|
2017-10-14 04:47:42 +00:00
|
|
|
<div class="column-about">
|
2018-05-29 20:52:51 +00:00
|
|
|
<h4>{% trans 'Get Involved' %}</h4>
|
2017-10-11 04:55:57 +00:00
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>
|
2018-05-29 20:52:51 +00:00
|
|
|
<a href="https://docs.readthedocs.io/en/latest/getting_started.html">{% trans 'Getting Started Guide' %}</a>
|
2017-10-11 04:55:57 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2018-05-29 20:52:51 +00:00
|
|
|
<a href="https://docs.readthedocs.io">{% trans 'Documentation' %}</a>
|
2018-04-20 04:48:57 +00:00
|
|
|
</li>
|
2017-10-11 04:55:57 +00:00
|
|
|
<li>
|
2018-05-29 20:52:51 +00:00
|
|
|
<a href="https://docs.readthedocs.io/en/latest/contribute.html">{% trans 'Contributing' %}</a>
|
2017-10-11 04:55:57 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2018-05-29 20:52:51 +00:00
|
|
|
<a href="https://docs.readthedocs.io/en/latest/team.html">{% trans 'Team' %}</a>
|
2017-10-11 04:55:57 +00:00
|
|
|
</li>
|
2018-04-20 04:48:57 +00:00
|
|
|
<li>
|
2018-05-29 20:52:51 +00:00
|
|
|
<a href="https://docs.readthedocs.io/en/latest/open-source-philosophy.html">{% trans 'Open Source Philosophy' %}</a>
|
2017-10-11 04:55:57 +00:00
|
|
|
</li>
|
|
|
|
</ul>
|
2018-05-25 23:28:08 +00:00
|
|
|
|
2017-10-11 04:55:57 +00:00
|
|
|
</div>
|
|
|
|
|
2017-10-14 04:47:42 +00:00
|
|
|
<div class="column-rtd">
|
2018-05-29 20:52:51 +00:00
|
|
|
<h4>{% trans 'Business Info' %}</h4>
|
2017-10-11 04:55:57 +00:00
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>
|
2017-10-28 05:17:35 +00:00
|
|
|
{% url "advertising" as advertising_url %}
|
2018-05-29 20:52:51 +00:00
|
|
|
<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>
|
2018-05-29 20:52:51 +00:00
|
|
|
<a href="https://readthedocs.com">{% trans 'Private Hosting' %}</a>
|
2017-10-11 04:55:57 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2018-05-29 20:52:51 +00:00
|
|
|
{% url "donate" as donate_url %}
|
|
|
|
<a href='{{ donate_url }}'>{% trans 'Supporters' %}</a>
|
2017-10-11 04:55:57 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2018-05-29 20:52:51 +00:00
|
|
|
<a href="https://docs.readthedocs.io/en/latest/privacy-policy.html">{% trans 'Privacy Policy' %}</a>
|
2017-10-11 04:55:57 +00:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="clearfix"></div>
|
|
|
|
|
2018-05-25 23:28:08 +00:00
|
|
|
<div class="social-column">
|
|
|
|
<ul class="social">
|
|
|
|
<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>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="clearfix"></div>
|
|
|
|
|
2017-10-11 04:55:57 +00:00
|
|
|
<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>
|
2018-05-29 20:52:51 +00:00
|
|
|
<small>© Copyright {% now "Y" %}, {% trans 'Read the Docs, Inc & contributors' %}</small>
|
2017-10-11 04:55:57 +00:00
|
|
|
</p>
|
|
|
|
|
2018-05-25 23:28:08 +00:00
|
|
|
<p>
|
2018-06-11 07:47:04 +00:00
|
|
|
<small>{% trans 'Version' %} <a href="http://docs.readthedocs.io/en/latest/changelog.html">{% readthedocs_version %}</a></small>
|
2017-10-11 04:55:57 +00:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
2018-05-29 20:31:15 +00:00
|
|
|
{% block language-select-form %}
|
2018-05-29 20:33:37 +00:00
|
|
|
<div class="column-setlang">
|
|
|
|
{% 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>
|
|
|
|
{% endblock language-select-form %}
|
2017-10-11 04:55:57 +00:00
|
|
|
</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>
|