Mercurial > p > roundup > code
annotate doc/_templates/layout.html @ 5201:a9ace22e0a2f
issue 2550690 - Adding anti-csrf measures to roundup following
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet
and
https://seclab.stanford.edu/websec/csrf/csrf.pdf
Basically implement Synchronizer (CSRF) Tokens per form on a page.
Single use (destroyed once used). Random input data for the token
includes:
system random implementation in python using /dev/urandom
(fallback to random based on timestamp as the seed. Not
as good, but should be ok for the short lifetime of the
token??)
the id (in cpython it's the memory address) of the object
requesting a token. In theory this depends on memory layout, the
history of the process (how many previous objects have been
allocated from the heap etc.) I claim without any proof that for
long running processes this is another source of randomness. For
short running processes with little activity it could be guessed.
last the floating point time.time() value is added. This may
only have 1 second resolution so may be guessable.
Hopefully for a short lived (2 week by default) token this is
sufficient. Also in the current implementation the user is notified when
validation fails and is told why. This allows the roundup admin to find
the log entry (at error level) and try to resolve the issue. In the
future user notification may change but for now this is probably best.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 18 Mar 2017 16:59:01 -0400 |
| parents | 515ab1749b14 |
| children | 9619d64c0351 |
| rev | line source |
|---|---|
|
5030
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
1 {# |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
2 _templates/layout.html |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
3 ~~~~~~~~~~~~~~~~~~~~~~ |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
4 |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
5 Custom layout template for Roundup. |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
6 |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
7 #} |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
8 {%- block doctype -%} |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
9 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
10 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|
5030
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
11 {%- endblock %} |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
12 {%- macro relbar(class) %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
13 <div class="related {{ class }}"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
14 <ul> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
15 {%- for rellink in rellinks %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
16 <li class="right" {% if loop.first %}style="margin-right: 10px"{% endif %}> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
17 <a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags }}" |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
18 accesskey="{{ rellink[2] }}">{{ rellink[3] }}</a> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
19 {%- if not loop.first %}{{ reldelim2 }}{% endif %}</li> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
20 {%- endfor %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
21 {%- block rootrellink %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
22 <li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
23 {%- endblock %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
24 {%- for parent in parents %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
25 <li><a href="{{ parent.link|e }}" accesskey="U">{{ parent.title }}</a>{{ reldelim1 }}</li> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
26 {%- endfor %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
27 {%- block relbaritems %} {% endblock %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
28 </ul> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
29 </div> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
30 {%- endmacro %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
31 {%- macro sidebar() %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
32 {%- block sidebartoc %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
33 {%- if display_toc %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
34 <h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
35 {{ toc }} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
36 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
37 {%- endblock %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
38 {%- block sidebarrel %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
39 {%- if prev %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
40 <h4>{{ _('Previous topic') }}</h4> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
41 <p class="topless"><a href="{{ prev.link|e }}" |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
42 title="{{ _('previous chapter') }}">{{ prev.title }}</a></p> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
43 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
44 {%- if next %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
45 <h4>{{ _('Next topic') }}</h4> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
46 <p class="topless"><a href="{{ next.link|e }}" |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
47 title="{{ _('next chapter') }}">{{ next.title }}</a></p> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
48 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
49 {%- endblock %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
50 {%- block sidebarsourcelink %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
51 {%- if show_source and has_source and sourcename %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
52 <h3>{{ _('This Page') }}</h3> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
53 <ul class="this-page-menu"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
54 <li><a href="{{ pathto('_sources/' + sourcename, true)|e }}" |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
55 rel="nofollow">{{ _('Show Source') }}</a></li> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
56 </ul> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
57 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
58 {%- endblock %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
59 {%- block sidebarsearch %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
60 {%- if pagename != "search" %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
61 <div id="searchbox" style="display: none"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
62 <h3>{{ _('Quick search') }}</h3> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
63 <form class="search" action="{{ pathto('search') }}" method="get"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
64 <input type="text" name="q" size="18" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
65 <input type="submit" value="{{ _('Go') }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
66 <input type="hidden" name="check_keywords" value="yes" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
67 <input type="hidden" name="area" value="default" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
68 </form> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
69 <p style="font-size: 90%">{{ _('Enter search terms or a module, class or function name.') }}</p> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
70 </div> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
71 <script type="text/javascript">$('#searchbox').show(0);</script> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
72 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
73 {%- endblock %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
74 {%- endmacro %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
75 |
|
5030
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
76 {%- macro css() %} |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
77 <link rel="stylesheet" href="{{ pathto('_static/basic.css', 1) }}" type="text/css" /> |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
78 <link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" /> |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
79 <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" /> |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
80 {%- for cssfile in css_files %} |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
81 <link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" /> |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
82 {%- endfor %} |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
83 {%- endmacro %} |
|
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
84 |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
85 <html xmlns="http://www.w3.org/1999/xhtml"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
86 <head> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
87 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
88 {{ metatags }} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
89 {%- if builder != 'htmlhelp' %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
90 {%- set titlesuffix = " — " + docstitle|e %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
91 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
92 <title>{{ title|striptags }}{{ titlesuffix }}</title> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
93 {%- if builder == 'web' %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
94 <link rel="stylesheet" href="{{ pathto('index') }}?do=stylesheet{% |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
95 if in_admin_panel %}&admin=yes{% endif %}" type="text/css" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
96 {%- for link, type, title in page_links %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
97 <link rel="alternate" type="{{ type|e(true) }}" title="{{ title|e(true) }}" href="{{ link|e(true) }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
98 {%- endfor %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
99 {%- else %} |
|
5030
515ab1749b14
Preparing 1.5.1 steps 7/16
anatoly techtonik <techtonik@gmail.com>
parents:
4811
diff
changeset
|
100 {{ css() }} |
|
4033
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
101 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
102 {%- if builder != 'htmlhelp' %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
103 <script type="text/javascript"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
104 var DOCUMENTATION_OPTIONS = { |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
105 URL_ROOT: '{{ pathto("", 1) }}', |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
106 VERSION: '{{ release|e }}', |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
107 COLLAPSE_MODINDEX: false, |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
108 FILE_SUFFIX: '{{ file_suffix }}' |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
109 }; |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
110 </script> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
111 {%- for scriptfile in script_files %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
112 <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
113 {%- endfor %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
114 {%- if use_opensearch %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
115 <link rel="search" type="application/opensearchdescription+xml" |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
116 title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}" |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
117 href="{{ pathto('_static/opensearch.xml', 1) }}"/> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
118 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
119 {%- if favicon %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
120 <link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
121 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
122 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
123 {%- block linktags %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
124 {%- if hasdoc('about') %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
125 <link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
126 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
127 <link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
128 <link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
129 {%- if hasdoc('copyright') %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
130 <link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
131 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
132 <link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
133 {%- if parents %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
134 <link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
135 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
136 {%- if next %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
137 <link rel="next" title="{{ next.title|striptags }}" href="{{ next.link|e }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
138 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
139 {%- if prev %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
140 <link rel="prev" title="{{ prev.title|striptags }}" href="{{ prev.link|e }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
141 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
142 {%- endblock %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
143 {%- block extrahead %} {% endblock %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
144 </head> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
145 <body> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
146 <div class="header"><h1>Roundup</h1> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
147 {%- if pagename != "search" %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
148 <div id="searchbox" style="display: none"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
149 <form class="search" action="{{ pathto('search') }}" method="get"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
150 <input type="text" name="q" size="18" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
151 <input type="submit" value="{{ _('Search') }}" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
152 <input type="hidden" name="check_keywords" value="yes" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
153 <input type="hidden" name="area" value="default" /> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
154 </form> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
155 </div> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
156 <script type="text/javascript">$('#searchbox').show(0);</script> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
157 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
158 </div> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
159 <div class="navigation"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
160 <div class="menu"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
161 {{ sidebar() }} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
162 </div> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
163 </div> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
164 <div class="content"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
165 {{ relbar('related-top') }} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
166 {{ body }} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
167 {{ relbar('related-bottom') }} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
168 </div> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
169 {%- block footer %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
170 <div class="footer"> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
171 {%- if hasdoc('copyright') %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
172 {% trans path=pathto('copyright'), copyright=copyright|e %}© <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
173 {%- else %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
174 {% trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
175 {%- endif %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
176 </div> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
177 {%- endblock %} |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
178 </body> |
|
bca7c59ac400
Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff
changeset
|
179 </html> |
