Files @ 09a4b021c1f5
Branch filter:

Location: website/www/conservancy/templates/base_conservancy.html

Bradley M. Kuhn
Repair menu highlighting, both for main menu and submenus

During the recent improvements made on the website, the menus and
submenu highlighting for selected menus fell into disarray.
Correction requires changes to the CSS and templates both, because
Django doesn't really have a convenient way to set variables in
templates to use to solve this.

There are still a few submenu items highlighting not working even
after this commit. More work needs to be done.
{% load humanize %}
{% load subtract %}
{% load min %}
{% load static %}

<!DOCTYPE html>

<html lang="en" prefix="og: http://ogp.me/ns#">

  <head>
    <title>{% block title %}{% block subtitle %}{% endblock %}Software Freedom Conservancy{% endblock %}</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <meta name="description" content="The Software Freedom Conservancy provides a non-profit home and services to Free, Libre and Open Source Software (FLOSS) projects." />
    <meta name="keywords" content="software, freedom, conservancy, open source, gnu, GNU, Open Source, Free and Open Source, Free and Open Source Software, FLOSS, FOSS, protect, protection, help, policy, linux, non-profit" />
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="stylesheet" type="text/css" href="{% static 'css/tachyons.css' %}"/>
    <link rel="stylesheet" type="text/css" media="screen" href="/css/conservancy.css" />
    <link rel="stylesheet" type="text/css" media="(min-width: 67em)" href="/css/conservancy-bigscreen.css" />
    <link rel="stylesheet" href="/css/jquery-ui-1.8.22.custom.css" />
    <link rel="stylesheet" href="/css/jquery.ui.multiprogressbar.css" />
    <script type="text/javascript" src="/js/jquery-1.7.2.js"></script>
    <script type="text/javascript" src="/js/jquery-ui-1.8.22.custom.min.js"></script>
    <script type="text/javascript" src="/js/jquery.outerhtml.js"></script>
    <script type="text/javascript" src="/js/jquery.ui.multiprogressbar.js"></script>
    <script type="text/javascript" src="/js/conservancy.js"></script>
    {% block head %}{% endblock %}
  </head>

  <body class="conservancy-{% block category %}{% endblock %}">
    <header>
      <div class="flex-ns center mw8">
        <div class="w-60-ns">
          <h1 id="conservancyheader" class="mt2 mt3-ns mb2 mb3-ns">
            <a href="/">
              <img src="{% static 'img/conservancy-header.svg' %}" alt="Software Freedom Conservancy" class="db center mh3-ns" />
            </a>
          </h1>
        </div>

        <div class="w-40-ns mt2 mt4-ns mb2 mb2-ns mh2 pt1 flex flex-wrap justify-center items-center">
          <span id="menu-icon" class="dn-ns ph2 pointer">
            <svg style="color: var(--orange); width: 30px; height: 30px;"><use href="{% static 'img/font_awesome.svg' %}#bars"></use></svg>
          </span>
          <a href="/donate/" class="f5 mh1 mv1 ph2 pv1 ttu b btn-orange">Donate</a>
          <a href="/sustainer/" class="f5 mh1 mv1 ph2 pv1 ttu b btn-orange">Join</a>
          <a href="/vizio/" class="f5 mh1 mv1 ph2 pv1 ttu b btn-orange">Vizio</a>
          <span id="search-icon" class="dib ph2 pointer">
            <svg style="color: var(--orange); width: 30px; height: 30px;"><use href="{% static 'img/font_awesome.svg' %}#search"></use></svg>
          </span>
        </div>
      </div>
    </header>

    <div id="navbar-outer" class="mt2 mt0-ns mb2">
      <div id="navbar" class="center mw8 nested-list-resetb dn db-ns">
        <ul class="f5 ttu flex flex-wrap justify-center">
          <!-- Remaining previous menu items
          <li class="Projects"><a href="/projects/">Projects</a></li>
          <li class="npoacct"><a href="/npoacct/">NPOAcct</a></li>
          -->

          <li class="search dn-ns">
            <form method="get" action="https://duckduckgo.com" class="ml2 flex mw6">
              <input id="search-query" type="text" name="q" placeholder="Search with DuckDuckGo" class="pa2 ba b--gray br0" style="x-border-right: none; flex: 1 1 auto; width: 1%;" />
              <input type="hidden" name="sites" value="sfconservancy.org" />
              <button type="submit" class="bg-orange bn white pa2 pointer btn-orange" style="margin-left: -1px;">
                <svg style="color: white; width: 20px; height: 20px;"><use href="{% static 'img/font_awesome.svg' %}#search"></use></svg></a>
              </button>
    </form>
          </li>
          <li class="Home dn db-ns"><a href="/">Home</a></li>
          <li class="WhatWeDo"><a href="/activities">What we do</a>
            {% include 'submenus/what_we_do_partial.html' %}
          </li>
          <li class="WhoWeAre"><a href="/about/">Who we are</a>
            {% include 'submenus/who_we_are_partial.html' %}
          </li>
          <li class="Learn"><a href="/learn">Learn</a>
            {% include 'submenus/learn_partial.html' %}
          </li>
          <li class="News"><a href="/news/">News</a>
            {% include 'submenus/news_partial.html' %}
          </li>
        </ul>
      </div>
      <div id="navbar-clear"></div>

    </div>

{% comment %}
# FUNDRAISER VARIABLES AND CONSTANTS GUIDE

## From Local Context

* datetime_now: Current DateTime in UTC
* sitefundgoal: The current FundraisingGoal. Attributes:
  * fundraiser_goal_amount: The amount being matched
  * fundraiser_so_far_amount: The amount contributed so far
  * fundraiser_donation_count: The number of people who have contributed so far
  * fundraiser_donation_count_disclose_threshold: The number of new Sustainers that can be double-matched this fundraiser.
      (No, this name makes no sense. We're repurposing an existing model field for this new reason.)
* sitefundgoal_endtime: DateTime when sitefundgoal ends.

## Local convenience variables

* sitefundgoal_timeleft: TimeDelta for how much time remains in the current fundraiser
* this_match_goal: The amount being matched
* this_match_so_far: The amount contributed so far
* this_match_remaining: this_match_goal - this_match_so_far

{% endcomment %}

{% if sitefundgoal and sitefundgoal.fundraiser_so_far_amount and datetime_now < sitefundgoal_endtime %}
{% with this_match_goal=sitefundgoal.fundraiser_goal_amount this_match_so_far=sitefundgoal.fundraiser_so_far_amount %}
{% with this_match_remaining=this_match_goal|subtract:this_match_so_far sitefundgoal_timeleft=sitefundgoal_endtime|subtract:datetime_now %}
    <div class="fundraiser-top-text">
      <p>
        {% if this_match_remaining <= 0 %}
          Thanks to {{ sitegoal.fundraiser_donation_count|intcomma }} Sustainers we earned our full match!
          Help us go further to stand up for software freedom &mdash; <a href="/sustainer">sign up now</a>!
        {% else %}
          {% if sitefundgoal_timeleft.total_seconds <= 0 %}
            The
          {% elif sitefundgoal_timeleft.days == 0 %}
            Through today only, the
          {% elif sitefundgoal_timeleft.days == 1 %}
            Through tomorrow only, the
          {% elif sitefundgoal_timeleft.days < 14 %}
            For only {{ sitefundgoal_timeleft.days }} more days, the
          {% else %}
            Until January 15, the
          {% endif %}
        next ${{ this_match_remaining|floatformat:0|intcomma }} of <a href="/sustainer/">support we receive</a> will be matched!

        {% endif %}
      </p>

{% if sitefundgoal.fundraiser_so_far_amount %}
<div id="siteprogressbar">
<a href="/sustainer">
  We've matched
  {% if this_match_remaining <= 0 %}
  $<span id="site-fundraiser-match-count">{{ this_match_goal|intcomma }}</span>
  {% else %}
  $<span id="site-fundraiser-match-count">{{ this_match_so_far|intcomma }}</span>
  {% endif %}
  of
  $<span id="site-fundraiser-final-goal">{{ this_match_goal|intcomma }}</span>
  so far!
</a>
</div>
{% endif %}

</div>
{% endwith %}
{% endwith %}
{% endif %}

    <div class="mw8 center ph2 ph3-ns">
      {% block outercontent %}<div id="mainContent"> {% block content %}{% endblock %}</div>{% endblock %}
    </div>

    <div id="conservancyfooter" class="mt4 pt3 ph3 bg-light-gray">
      <p>Connect with Conservancy on
        <a href="https://mastodon.technology/@conservancy">Mastodon</a>,
        <a href="https://twitter.com/conservancy">Twitter</a>,
        <a href="https://www.facebook.com/SoftwareFreedomConservancy/">Facebook</a>,
        and <a href="https://www.youtube.com/channel/UCUEeuNvX2UyTTyTYXR9dm_A">YouTube</a>.</p>

      <p><a href="/">Main Page</a> | <a href="/about/contact/">Contact</a> | <a href="/sponsors/">Sponsors</a> | <a href="/privacy-policy/">Privacy Policy</a> | <a href="/feeds/omnibus/">RSS Feed</a></p>
      <p>Our privacy policy was last updated <strong>22 December 2020</strong>.</p>

      <p class="copyright_info">
      <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a>
      <br />This page, and all contents herein, unless a license is otherwise
      specified, are licensed under a
      <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0">Creative
      Commons Attribution-ShareAlike 4.0 International License</a>.</p>
    </div>
  </body>
</html>