1
0
mirror of https://github.com/django/django.git synced 2024-12-24 10:05:46 +00:00
django/docs/_templates/layout.html
Luke Plant b09581394e Added hyperlinks for builtin template tags and filters to code samples in docs.
Implemented in javascript because doing it 'properly' is pretty much impossible with Sphinx and Pygments.

Refs #12249



git-svn-id: http://code.djangoproject.com/svn/django/trunk@13135 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-05-08 14:31:20 +00:00

124 lines
4.1 KiB
HTML

{% extends "!layout.html" %}
{%- macro secondnav() %}
{%- if prev %}
&laquo; <a href="{{ prev.link|e }}" title="{{ prev.title|e }}">previous</a>
{{ reldelim2 }}
{%- endif %}
{%- if parents %}
<a href="{{ parents.0.link|e }}" title="{{ parents.0.title|e }}" accesskey="U">up</a>
{%- else %}
<a title="{{ docstitle }}" href="{{ pathto('index') }}" accesskey="U">up</a>
{%- endif %}
{%- if next %}
{{ reldelim2 }}
<a href="{{ next.link|e }}" title="{{ next.title|e }}">next</a> &raquo;
{%- endif %}
{%- endmacro %}
{% block extrahead %}
{{ super() }}
<script type="text/javascript" src="{{ pathto('templatebuiltins.js', 1) }}"></script>
<script type="text/javascript">
(function($) {
if (!django_template_builtins) {
// templatebuiltins.js missing, do nothing.
return;
}
$(document).ready(function() {
// Hyperlink Django template tags and filters
var base = "{{ pathto('ref/templates/builtins') }}";
if (base == "#") {
// Special case for builtins.html itself
base = "";
}
// Tags are keywords, class '.k'
$("div.highlight\\-html\\+django span.k").each(function(i, elem) {
var tagname = $(elem).text();
if ($.inArray(tagname, django_template_builtins.ttags) != -1) {
var fragment = tagname.replace(/_/, '-');
$(elem).html("<a href='" + base + "#" + fragment + "'>" + tagname + "</a>");
}
});
// Filters are functions, class '.nf'
$("div.highlight\\-html\\+django span.nf").each(function(i, elem) {
var filtername = $(elem).text();
if ($.inArray(filtername, django_template_builtins.tfilters) != -1) {
var fragment = filtername.replace(/_/, '-');
$(elem).html("<a href='" + base + "#" + fragment + "'>" + filtername + "</a>");
}
});
});
})(jQuery);
</script>
{% endblock %}
{% block document %}
<div id="custom-doc" class="{% block bodyclass %}{{ 'yui-t6' if pagename != 'index' else '' }}{% endblock %}">
<div id="hd">
<h1><a href="{{ pathto('index') }}">{{ docstitle }}</a></h1>
<div id="global-nav">
<a title="Home page" href="{{ pathto('index') }}">Home</a> {{ reldelim2 }}
<a title="Table of contents" href="{{ pathto('contents') }}">Table of contents</a> {{ reldelim2 }}
<a title="Global index" href="{{ pathto('genindex') }}">Index</a> {{ reldelim2 }}
<a title="Module index" href="{{ pathto('modindex') }}">Modules</a>
</div>
<div class="nav">{{ secondnav() }}</div>
</div>
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<div class="yui-g" id="{{ pagename|replace('/', '-') }}">
{% block body %}{% endblock %}
</div>
</div>
</div>
{% block sidebarwrapper %}
{% if pagename != 'index' %}
<div class="yui-b" id="sidebar">
{{ sidebar() }}
{%- if last_updated %}
<h3>Last update:</h3>
<p class="topless">{{ last_updated }}</p>
{%- endif %}
</div>
{% endif %}
{% endblock %}
</div>
<div id="ft">
<div class="nav">{{ secondnav() }}</div>
</div>
</div>
{% endblock %}
{% block sidebarrel %}
<h3>Browse</h3>
<ul>
{% if prev %}
<li>Prev: <a href="{{ prev.link }}">{{ prev.title }}</a></li>
{% endif %}
{% if next %}
<li>Next: <a href="{{ next.link }}">{{ next.title }}</a></li>
{% endif %}
</ul>
<h3>You are here:</h3>
<ul>
<li>
<a href="{{ pathto('index') }}">{{ docstitle }}</a>
{% for p in parents %}
<ul><li><a href="{{ p.link }}">{{ p.title }}</a>
{% endfor %}
<ul><li>{{ title }}</li></ul>
{% for p in parents %}</li></ul>{% endfor %}
</li>
</ul>
{% endblock %}
{# Empty some default blocks out #}
{% block relbar1 %}{% endblock %}
{% block relbar2 %}{% endblock %}
{% block sidebar1 %}{% endblock %}
{% block sidebar2 %}{% endblock %}
{% block footer %}{% endblock %}