view doc/_templates/layout.html @ 5211:f4b6a2a3e605

Fix expiration dates and expire csrf tokens properly In client.py: add explicit expiration of csrf tokens to handle_csrf. There is a clean_up() that runs on every client connection before handle)csrf is invoked, but it only cleans every hour. With short lived tokens this is insufficient. Also remove debugging. In templating.py fix values for seconds/week and minutes per week. The original values were shifted/transposed and an order of magnitude off. In test_templating.py again fix seconds/week constant.
author John Rouillard <rouilj@ieee.org>
date Sun, 19 Mar 2017 17:10:13 -0400
parents 515ab1749b14
children 9619d64c0351
line wrap: on
line source

{#
    _templates/layout.html
    ~~~~~~~~~~~~~~~~~~~~~~

    Custom layout template for Roundup.

#}
{%- block doctype -%}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{%- endblock %}
{%- macro relbar(class) %}
    <div class="related {{ class }}">
      <ul>
        {%- for rellink in rellinks %}
        <li class="right" {% if loop.first %}style="margin-right: 10px"{% endif %}>
          <a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags }}"
             accesskey="{{ rellink[2] }}">{{ rellink[3] }}</a>
          {%- if not loop.first %}{{ reldelim2 }}{% endif %}</li>
        {%- endfor %}
        {%- block rootrellink %}
        <li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li>
        {%- endblock %}
        {%- for parent in parents %}
          <li><a href="{{ parent.link|e }}" accesskey="U">{{ parent.title }}</a>{{ reldelim1 }}</li>
        {%- endfor %}
        {%- block relbaritems %} {% endblock %}
      </ul>
    </div>
{%- endmacro %}
{%- macro sidebar() %}
  {%- block sidebartoc %}
  {%- if display_toc %}
    <h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3>
    {{ toc }}
  {%- endif %}
  {%- endblock %}
  {%- block sidebarrel %}
  {%- if prev %}
    <h4>{{ _('Previous topic') }}</h4>
    <p class="topless"><a href="{{ prev.link|e }}"
                          title="{{ _('previous chapter') }}">{{ prev.title }}</a></p>
  {%- endif %}
  {%- if next %}
    <h4>{{ _('Next topic') }}</h4>
    <p class="topless"><a href="{{ next.link|e }}"
                          title="{{ _('next chapter') }}">{{ next.title }}</a></p>
  {%- endif %}
  {%- endblock %}
  {%- block sidebarsourcelink %}
  {%- if show_source and has_source and sourcename %}
    <h3>{{ _('This Page') }}</h3>
    <ul class="this-page-menu">
      <li><a href="{{ pathto('_sources/' + sourcename, true)|e }}"
             rel="nofollow">{{ _('Show Source') }}</a></li>
    </ul>
  {%- endif %}
  {%- endblock %}
  {%- block sidebarsearch %}
  {%- if pagename != "search" %}
  <div id="searchbox" style="display: none">
    <h3>{{ _('Quick search') }}</h3>
      <form class="search" action="{{ pathto('search') }}" method="get">
        <input type="text" name="q" size="18" />
        <input type="submit" value="{{ _('Go') }}" />
        <input type="hidden" name="check_keywords" value="yes" />
        <input type="hidden" name="area" value="default" />
      </form>
      <p style="font-size: 90%">{{ _('Enter search terms or a module, class or function name.') }}</p>
  </div>
  <script type="text/javascript">$('#searchbox').show(0);</script>
  {%- endif %}
  {%- endblock %}
{%- endmacro %}

{%- macro css() %}
    <link rel="stylesheet" href="{{ pathto('_static/basic.css', 1) }}" type="text/css" />
    <link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
    <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
    {%- for cssfile in css_files %}
    <link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
    {%- endfor %}
{%- endmacro %}

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    {{ metatags }}
    {%- if builder != 'htmlhelp' %}
      {%- set titlesuffix = " &mdash; " + docstitle|e %}
    {%- endif %}
    <title>{{ title|striptags }}{{ titlesuffix }}</title>
    {%- if builder == 'web' %}
    <link rel="stylesheet" href="{{ pathto('index') }}?do=stylesheet{%
      if in_admin_panel %}&admin=yes{% endif %}" type="text/css" />
    {%- for link, type, title in page_links %}
    <link rel="alternate" type="{{ type|e(true) }}" title="{{ title|e(true) }}" href="{{ link|e(true) }}" />
    {%- endfor %}
    {%- else %}
    {{ css() }}
    {%- endif %}
    {%- if builder != 'htmlhelp' %}
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
          URL_ROOT:    '{{ pathto("", 1) }}',
          VERSION:     '{{ release|e }}',
          COLLAPSE_MODINDEX: false,
          FILE_SUFFIX: '{{ file_suffix }}'
      };
    </script>
    {%- for scriptfile in script_files %}
    <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
    {%- endfor %}
    {%- if use_opensearch %}
    <link rel="search" type="application/opensearchdescription+xml"
          title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
          href="{{ pathto('_static/opensearch.xml', 1) }}"/>
    {%- endif %}
    {%- if favicon %}
    <link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
    {%- endif %}
    {%- endif %}
{%- block linktags %}
    {%- if hasdoc('about') %}
    <link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
    {%- endif %}
    <link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
    <link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
    {%- if hasdoc('copyright') %}
    <link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
    {%- endif %}
    <link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" />
    {%- if parents %}
    <link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}" />
    {%- endif %}
    {%- if next %}
    <link rel="next" title="{{ next.title|striptags }}" href="{{ next.link|e }}" />
    {%- endif %}
    {%- if prev %}
    <link rel="prev" title="{{ prev.title|striptags }}" href="{{ prev.link|e }}" />
    {%- endif %}
{%- endblock %}
{%- block extrahead %} {% endblock %}
  </head>
  <body>
    <div class="header"><h1>Roundup</h1>
      {%- if pagename != "search" %}
        <div id="searchbox" style="display: none">
          <form class="search" action="{{ pathto('search') }}" method="get">
            <input type="text" name="q" size="18" />
            <input type="submit" value="{{ _('Search') }}" />
            <input type="hidden" name="check_keywords" value="yes" />
            <input type="hidden" name="area" value="default" />
          </form>
        </div>
        <script type="text/javascript">$('#searchbox').show(0);</script>
      {%- endif %}
    </div>
    <div class="navigation">
      <div class="menu">
       {{ sidebar() }}
      </div>
    </div>
    <div class="content">
       {{ relbar('related-top') }}
       {{ body }}
       {{ relbar('related-bottom') }}
    </div>
{%- block footer %}
    <div class="footer">
      {%- if hasdoc('copyright') %}
        {% trans path=pathto('copyright'), copyright=copyright|e %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
      {%- else %}
        {% trans copyright=copyright|e %}&copy; Copyright {{ copyright }}.{% endtrans %}
      {%- endif %}
    </div>
{%- endblock %}
  </body>
</html>

Roundup Issue Tracker: http://roundup-tracker.org/