view website/www/_templates/layout.html @ 6917:fba76e0bba98

set journal mode to wal when creating db. Trying to work around sqlite3.OperationalError: disk I/O error errors in CI that I can't reproduce locally. Also this allows reads to happen while writes are occurring. This should permit using the web interface for browsing while a large write load (e.g. bulk data loading from another tracker) is happening. Right now autogenerating issues locks up the tracker for reading with an error that the database is locked.
author John Rouillard <rouilj@ieee.org>
date Tue, 06 Sep 2022 11:32:13 -0400
parents 1800964b9347
children b5b1f2830e23
line wrap: on
line source

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    {%- if 'name="description"' not in metatags %}
      <meta name="description"
        content="Page {{ pagename }} in documentation on the Roundup issue tracker, version {{ release|e }}.">
    {%- endif %}
    {{ metatags }}
    {%- if builder != 'htmlhelp' %}
      {%- set titlesuffix = docstitle|e %}
      {%- set titlesuffix = " - " + titlesuffix %}
    {%- 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 %}
    <link rel="stylesheet" href="{{ pathto('_static/style.css', 1) }}" type="text/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>
    {%- if pagename == 'search' %}
    {%- for scriptfile in script_files %}
    <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
    {%- endfor %}
    <script type="text/javascript">$('#searchbox').show(0);</script>
    {%- endif %}
    {%- if pageurl %}
    <link rel="canonical" href="{{ pageurl|e }}" />
    {%- endif %}
    {%- 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 %}
  </head>
  <body>
    <div id="skiplink"><a href="#main">Skip to main content</a></div>
    <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" aria-label="Enter search terms"
		   name="q" size="18" autocomplete="on" />
            <input type="submit" value="{{ _('Search') }}" />
            <input type="hidden" name="check_keywords" value="yes" />
            <input type="hidden" name="area" value="default" />
          </form>
        </div>
      {%- endif %}
    </div>
    <div class="navigation">
      <nav>
      <div class="menu">
       {{ toctree() }}
      </div>
      </nav>
    </div>
    <div class="content">
	<div id="subnav">
        {%- if prev %}
           <a title="{{ prev.title|striptags }}" href="{{ prev.link|e }}">
	     Prev</a>
        {%- endif %}
	{%- if next %}
           <a title="{{ next.title|striptags }}" href="{{ next.link|e }}">
	     Next</a>
	{%- endif %}
        <a title="{{ _('Index') }}" href="{{ pathto('genindex') }}">
	  Index</a>
	</div>
	<main id="main" tabindex="-1">
       {% block body %} {% endblock %}
	</main>
    </div>
{%- block footer %}
    <div class="footer">
      <div>
      {%- if show_source and has_source and sourcename %}
        <span class="source">[<a href="{{ pathto('_sources/' + sourcename, true)|e }}" rel="nofollow">{{ _('page source') }}</a>]</span>
      {%- endif %}
      {%- 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>
      <div>
      {%- if last_updated %}
        {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
      {%- endif %}
      <span>Hosted by <a href="https://sourceforge.net"><img src="https://sflogo.sourceforge.net/sflogo.php?group_id=31577&amp;type=1" width="88" height="31" alt="SourceForge.net Logo" /></a></span>
      </div>
    </div>
{%- endblock %}
    <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
    <script>
      /* locally hosted goatcounter https://www.goatcounter.com/ */
      /* include site info in path url to allow multiple sites to be
      tracked together */
      window.goatcounter = {
      path: function(p) { return location.host + p }
      }
    </script>
    <script data-goatcounter="https://stats.rouilj.dynamic-dns.net/count"
	    integrity="sha384-QGgNMMRFTi8ul5kHJ+vXysPe8gySvSA/Y3rpXZiRLzKPIw8CWY+a3ObKmQsyDr+a"
            async="" src="{{ pathto('_static/goatcounter_count.v3.js', 1) }}">
    </script>
    {%- if pagename != 'search' %}
    {%- for scriptfile in script_files %}
    <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
    {%- endfor %}
    <script type="text/javascript">$('#searchbox').show(0);</script>
    {%- endif %}
    {%- block extrahead %} {% endblock %}

  </body>
</html>

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