Files @ 049df7b63e18
Branch filter:

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

bsturmfels
Add mobile menu and DuckDuckGo-based search.
f0acec6304c3
99d3325e3322
d305f5103f4e
9f537579aadf
d305f5103f4e
fffb27d71dcb
c858e825c0f2
a94b34689f07
c858e825c0f2
c858e825c0f2
c858e825c0f2
c858e825c0f2
b3c1517c1add
c858e825c0f2
12780197e5df
c858e825c0f2
9f537579aadf
886e3e7e55a2
a1ec8996701c
e35883505858
1a612c75edd3
e35883505858
e35883505858
1a612c75edd3
1a612c75edd3
034a60be9b5c
c858e825c0f2
c858e825c0f2
c858e825c0f2
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
3cd53e23ae54
bc7219daa4e3
bc7219daa4e3
049df7b63e18
049df7b63e18
049df7b63e18
bc7219daa4e3
bc7219daa4e3
049df7b63e18
049df7b63e18
049df7b63e18
049df7b63e18
3cd53e23ae54
9f537579aadf
bc7219daa4e3
9f537579aadf
049df7b63e18
049df7b63e18
049df7b63e18
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
049df7b63e18
049df7b63e18
049df7b63e18
049df7b63e18
049df7b63e18
049df7b63e18
049df7b63e18
049df7b63e18
049df7b63e18
bc7219daa4e3
049df7b63e18
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
049df7b63e18
bc7219daa4e3
bc7219daa4e3
b36800e0784f
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
bc7219daa4e3
c858e825c0f2
c858e825c0f2
edcde9f05362
c858e825c0f2
5bd39ff31539
5bd39ff31539
67e64d3a6c8f
5bd39ff31539
67e64d3a6c8f
0add4633c153
67e64d3a6c8f
67e64d3a6c8f
67e64d3a6c8f
67e64d3a6c8f
67e64d3a6c8f
3766fbebc6bb
ecff2f38c5ea
67e64d3a6c8f
0add4633c153
67e64d3a6c8f
0add4633c153
67e64d3a6c8f
67e64d3a6c8f
67e64d3a6c8f
67e64d3a6c8f
5bd39ff31539
5bd39ff31539
5bd39ff31539
ecff2f38c5ea
0add4633c153
67e64d3a6c8f
edcde9f05362
828fd09d113f
6e25a6e084d6
3766fbebc6bb
3766fbebc6bb
5bd39ff31539
742850eaf9d7
742850eaf9d7
742850eaf9d7
742850eaf9d7
742850eaf9d7
742850eaf9d7
b81afe467b91
742850eaf9d7
b81afe467b91
8ea3438885fc
742850eaf9d7
3766fbebc6bb
ecff2f38c5ea
7815c083dc91
828fd09d113f
187594829ddf
187594829ddf
cffc81b5d884
3766fbebc6bb
0add4633c153
6e25a6e084d6
0add4633c153
5bd39ff31539
0add4633c153
5bd39ff31539
0add4633c153
0add4633c153
0add4633c153
e60a36fe4333
e60a36fe4333
187594829ddf
187594829ddf
edcde9f05362
6e25a6e084d6
6e25a6e084d6
bf669f563228
bb888146ffac
b36800e0784f
b36800e0784f
b36800e0784f
b36800e0784f
bc7219daa4e3
fdb8162d4402
fdb8162d4402
fdb8162d4402
fdb8162d4402
fdb8162d4402
fdb8162d4402
9e9b8acd1a42
791663c1121e
9e9b8acd1a42
3ea00297ecd7
9f537579aadf
9c5db11d4458
9c5db11d4458
9c5db11d4458
9c5db11d4458
c858e825c0f2
c858e825c0f2
c858e825c0f2
{% 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 %}other{% 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="#fixme" class="f5 mh1 mv1 ph2 pv1 ttu b btn-white">Special</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="what"><a href="#fixme">What we do</a>
            <ul>
              <li><a href="#fixme">Member Projects</a></li>
              <li><a href="/copyleft-compliance/">Copyleft Compliance</a></li>
              <li><a href="#fixme">Special</a></li>
              <li><a href="#fixme">Public Filings</a></li>
              <li><a href="#fixme">FAQs</a></li>
            </ul>
          </li>
          <li class="who"><a href="#fixme">Who we are</a>
            <ul>
              <li><a href="/sponsors/">Sponsors</a></li>
              <li><a href="/sustainer/">Sustainers</a></li>
              <li><a href="#fixme">Board of Directors</a></li>
              <li><a href="#fixme">Staff</a></li>
              <li><a href="#fixme">Evaluation Committee</a></li>
              <li><a href="#fixme">Outside Counsel, et alia</a></li>
              <li><a href="#fixme">Partner Organizations</a></li>
            </ul>
          </li>
          <li class="learn"><a href="#fixme">Learn</a>
            <ul>
              <li><a href="#fixme">Glossary of Terms</a></li>
              <li><a href="#fixme">Q&A</a></li>
              <li><a href="#fixme">Recommended Resources</a></li>
              <li><a href="#fixme">In The News</a></li>
            </ul>
          </li>
          <li class="news"><a href="/news/">News</a>
            <ul>
              <li><a href="#fixme">News Releases</a></li>
              <li><a href="/blog/">Blog</a></li>
              <li><a href="#fixme">In The News</a></li>
              <li><a href="#fixme">Press Kit</a></li>
            </ul>
          </li>
          <li class="about"><a href="/about/">About</a>
            <ul>
              <li><a href="#fixme">Who we are</a></li>
              <li><a href="#fixme">Transparency</a></li>
              <li><a href="#fixme">Contact</a></li>
            </ul>
          </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>