Changeset - 3cd53e23ae54
[Not reviewed]
0 3 0
Ben Sturmfels (bsturmfels) - 2 years ago 2021-10-13 13:21:44
ben@sturm.com.au
Tune up frontpage news/blog items and term of week, add call out section.
3 files changed with 23 insertions and 7 deletions:
0 comments (0 inline, 0 general)
www/conservancy/static/css/conservancy.css
Show inline comments
...
 
@@ -282,100 +282,99 @@ h3 { margin-top: .6em; margin-bottom: .4em; }
 
#container #sidebar.Applying ul li.Applying,
 
#container #sidebar.VMwareLawsuitAppeal ul li.VMwareLawsuitAppeal,
 
#container #sidebar.VMwareCodeSimilarity ul li.VMwareCodeSimilarity,
 
#container #sidebar.CopyleftPrinciples ul li.CopyleftPrinciples,
 
#container #sidebar.VMwareLawsuitFAQ ul li.VMwareLawsuitFAQ,
 
#container #sidebar.VMwareLawsuitLinks ul li.VMwareLawsuitLinks,
 
#container #sidebar.AboutCompliance ul li.AboutCompliance,
 
#container #sidebar.EnforcementStrategy ul li.EnforcementStrategy,
 
#container #sidebar.LiberateFirmware ul li.LiberateFirmware
 
{
 
    color: #000033;
 
    font-weight: bold;
 
    background: #eaf1f1;
 
    background: -moz-linear-gradient(bottom, #fff, #eaf1f1);
 
    background: -webkit-linear-gradient(bottom, #fff, #eaf1f1);
 
    background: linear-gradient(to top, #fff, #eaf1f1);
 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eaf1f1', endColorstr='#ffffff', GradientType=0);
 
}
 
#container #sidebar h2 {
 
    text-align: center;
 
    font-size: 1.25em;
 
    margin: 1.5em 0 0.8em 0;
 
}
 
#container #sidebar hr {
 
    width: 75%;
 
    float: center;
 
    clear: all;
 
}
 

	
 
/* Navbar Submenus (currently unused) */
 
#navbar li ul { display: none; border: 1px solid #444; }
 
#navbar li:hover ul { display: block; position: absolute; }
 
#navbar li ul li { float: none; }
 
#navbar li ul li a { border: 0px; margin: 0px; }
 

	
 
.shaded { background: #F0FFB8; padding: .1em .5em; margin-bottom: .5em; }
 

	
 
.columns {
 
}
 

	
 
.column h2 { font-size: 1.25em; }
 
.column h3 { font-size: 1.1em; }
 
.column hr { width: 50%; margin-left: auto; margin-right: auto; }
 

	
 
.column h2 a { text-decoration: none; color: #000000; }
 
.column h2 a:hover { text-decoration: underline; }
 

	
 
#conservancyfooter {
 
  margin-top: 1em;
 
  border-top: 1px solid #ccc;
 
  text-align: center;
 
  clear: both;
 
  overflow: auto;
 
}
 

	
 
.continued {
 
  display: block;
 
  font-size: .9em;
 
  font-weight: bold;
 
  margin-top: 1em;
 
  margin-bottom: 1em;
 
}
 

	
 
.date, .blog-tags, .blog-comments {
 
  font-style: italic;
 
  font-size: .9em;
 
  margin-bottom: .3em;
 
  margin-top: .3em;
 
}
 

	
 
a.feedlink /* RSS icon */ { display: block; float: right; font-size: 10pt; }
 

	
 
blockquote, div.quote /* div.quote is used by conservancy whitepaper */ {
 
  margin-left: 2em;
 
  margin-right: 2em;
 
  padding-left: 1em;
 
  padding-right: 1em;
 
  border: 1px solid #fff;
 
  background: #eee;
 
}
 

	
 
.newsgraphic { float: right; }
 
.newsgraphic img { border: 1px solid #000; }
 

	
 
.picture {
 
    text-align: center;
 
    font-style: italic;
 
}
 
.picture img {
 
    margin: 0 auto;
 
    max-width: 100%;
 
}
 
.picture-small {
 
    padding-left: 1em;
 
    border: thin silver solid;
 
    padding: 0.5em;
 
    text-align: center;
 
    font-style: italic;
 
    font-size: 70%;
 
    text-indent: 0;
 
    margin: .25em;
www/conservancy/templates/base_conservancy.html
Show inline comments
 
{% 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 %}">
 
    <div class="flex-ns" style="max-width: 1140px; margin: 0 auto;">
 
      <div class="w-70-ns">
 
        <h1 id="conservancyheader">
 
          <a id="logobutton" href="/">Software Freedom Conservancy</a>
 
        </h1>
 
      </div>
 
      <div class="w-30-ns mb3 mt5-ns tc tl-ns">
 
        <a href="#" class="f5 dib pa2 mb2-ns mr2 ttu b btn-white ba b--gray">Learn</a>
 
        <a href="/donate/" class="f5 dib pa2 mb2-ns ttu b btn-orange">Donate</a>
 
      <div class="w-30-ns mt2 mb4 mt5-ns mh2 flex" style="justify-content: center;">
 
        <div>
 
          <a href="#" class="f5 pa2 mr2 ttu b btn-white ba b--gray">Learn</a>
 
        </div>
 
        <div>
 
          <a href="/donate/" class="f5 pa2 ttu b btn-orange">Donate</a>
 
        </div>
 
      </div>
 
    </div>
 

	
 
    <div id="navbar-outer">
 
      <div id="navbar">
 
        <ul class="f5 b ttu">
 
      <li class="supporter"><a href="/supporter/">Become a Supporter!</a></li>
 
      <li class="donate"><a href="/donate/">Donate</a></li>
 
      <li class="news"><a href="/news/">News</a></li>
 
      <li class="blog"><a href="/blog/">Blog</a></li>
 
      <li class="Projects"><a href="/projects/">Projects</a></li>
 
      <li class="compliance"><a href="/copyleft-compliance/">Copyleft Compliance</a></li>
 
      <li class="npoacct"><a href="/npoacct/">NPOAcct</a></li>
 
      <li class="sponsors"><a href="/sponsors/">Sponsors</a></li>
 
      <li class="About"><a href="/about/">About</a></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 Supporters 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 }} Supporters we earned our full match!
 
          Help us go further to stand up for software freedom &mdash; <a href="/supporter">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="/supporter/">support we receive</a> will be matched!
 

	
 
        {% endif %}
 
      </p>
 

	
 
{% if sitefundgoal.fundraiser_so_far_amount %}
 
<div id="siteprogressbar">
 
<a href="/supporter">
 
  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 %}
 

	
 
      {% block outercontent %}<div id="mainContent"> {% block content %}{% endblock %}</div>{% endblock %}
 
    <div id="conservancyfooter">
 
    <div id="conservancyfooter" class="mt4 pt3">
 
      <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>
www/conservancy/templates/frontpage.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% load date_within %}
 
{% load static %}
 

	
 
{% block head %}
 
<link rel="alternate" type="application/rss+xml" title="Software Freedom Conservancy Complete Feed" href="/feeds/omnibus/" />
 
<link rel="alternate" type="application/rss+xml" title="Software Freedom Conservancy News" href="/feeds/news/" />
 
<link rel="alternate" type="application/rss+xml" title="Software Freedom Conservancy Blogs" href="/feeds/blog/" />
 
<style>
 
 #mainContent hr {
 
   /* Hide the <hr> elements in the list of news and blog items. */
 
   display: none;
 
 }
 

	
 
 .date {
 
   font-size: 1em;
 
   margin-top: 0;
 
 }
 

	
 
 .press-release h3, .blog-entry h3 {
 
   margin-bottom: 0;
 
 }
 
</style>
 
{% endblock %}
 

	
 
{% block content %}
 

	
 
<div class="mt4 flex-ns">
 
  <section class="w-70-ns mh2 mb3 mb0-ns pa2 ba bw1 b--light-blue">
 
    <img src="{% static 'img/remote.jpg' %}" alt="" class="fl pr2" style="width: 175px;" />
 
    <p class="mb0">Software Freedom Conservancy is a not-for-profit charity that
 
      helps promote, improve, develop, and defend Free, Libre, and Open Source
 
      Software (FLOSS) projects.  Conservancy provides a non-profit home and
 
      infrastructure for FLOSS projects.  This allows FLOSS developers to
 
      focus on what they do best &mdash; writing and improving FLOSS for the
 
      general public &mdash; while Conservancy takes care of the projects' needs that
 
      do not relate directly to software development and documentation. <a href="#" class="orange">Learn more.</a></p>
 
  </section>
 
  <section class="w-30-ns mh2 pa3 bg-light-blue ba b--gray">
 
    <h2 class="f4 ttu">Special message</h2>
 

	
 
    <p>Special message here special message here special message here special message here special message here.</p>
 
    <a href="#" class="f5 dib pa2 ttu b btn-orange">More information</a>
 
  </section>
 
</div>
 

	
 
<div class="mt3 flex-ns">
 
  <div class="w-70-ns mh2">
 
  <section class="mh0 pa3 bg-light-blue ba b--gray">
 
    <h2 class="f4 ma0 ttu">Additional links / call-outs here, if needed</h2>
 
  </section>
 

	
 
    <section class="mv3 ph2">
 
<h2 class="f4 mt0 mb2 ttu"><!--<a href="/feeds/news/" class="feedlink"><img src="/img/feed-icon-14x14.png" alt="[RSS]"/></a>--> <a href="/news/" class="dark-gray">News</a></h2>
 
{% for pressr in press_releases|slice:":5" %}
 
  {% if forloop.first or pressr.pub_date|date_within_past_days:365 %}
 
    {% if not forloop.first %}<hr class="clear">{% endif %}
 
    {% include "news/pressrelease_partial.html" with pressr=pressr show="dateline" only %}
 
  {% endif %}
 
{% endfor %}
 

	
 
<!-- <p><span class="continued"><a href="/news/">Conservancy News Archive&hellip;</a></span></p> -->
 
</section>
 

	
 
<section class="mt4 mb3 ph2">
 
<h2 class="f4 mb2 ttu"><!-- <a href="/feeds/blog/" class="feedlink"><img src="/img/feed-icon-14x14.png" alt="[RSS]"/></a> --> <a href="/blog/" class="dark-gray">Articles</a></h2>
 
{% for entry in blog|slice:":5" %}
 
  {% if forloop.first or entry.pub_date|date_within_past_days:180 %}
 
    {% if not forloop.first %}<hr class="clear">{% endif %}
 
    {% include "blog/entry_partial.html" with entry=entry show="dateline" only %}
 
  {% endif %}
 
{% endfor %}
 

	
 
<!-- <p><span class="continued"><a href="/blog/">Conservancy Blog Archive&hellip;</a></span></p> -->
 
</section>
 
</div>
 

	
 
<div class="w-30-ns mh2">
 
  <div class="ph3 pv2 ba b--gray">
 
    <h3 class="ttu">Term of the week</h3>
 
    <h4 class="f5 i navy">auditability</h4>
 
    <h4 class="f4 mt3 mb2 i navy">auditability</h4>
 
    <p>Ability to inspect the exact software running on a device. This includes version information, modifications and licensing information.</p>
 
    <p><a href="#" class="orange ttu">Visit our glossary of terms</a></p>
 
  </div>
 

	
 
  <div class="mh3 pt3">
 
    <h2 class="f6 ttu mb1">Subscribe to our email list</h2>
 
    <form method="post" action="#" class="ml2" style="display: flex;">
 
      <input type="email" class="pa2 ba b--gray br0" style="x-border-right: none; flex: 1 1 auto; width: 1%;">
 
      <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' %}#envelope"></use></svg></a>
 
        </button>
 
    </form>
 

	
 
    <h2 class="f6 ttu mt2 mb1">RSS feed</h2>
 
    <div class="ml2">
 
      <a href="/feeds/omnibus" class="mr2"><svg class="orange" style="width: 30px; height: 30px;"><use href="{% static 'img/font_awesome.svg#rss-square' %}"></use></svg></a>
 
    </div>
 

	
 
    <h2 class="f6 ttu mt2 mb1">Follow us</h2>
 
    <div class="ml2">
 
      {% include 'socials_partial.html' %}
 
    </div>
 

	
 
<!-- <h2>Support Conservancy</h2>
 
     <p>As a 501(c)(3) non-profit charity, Conservancy relies on
 
     charitable donations for its operations.
 
     Please join {{supporters_count|safe}} others and <a href="/supporter/"><strong>become a Conservancy Supporter
 
     today</strong></a> and/or <a href="/donate/">donate generously</a> to help our work!
 
     </p>
 

	
 
     <h2>Learn More about Conservancy</h2>
 
     <p>
 
     <span class="continued"><a href="/about/">An Overview of Conservancy&hellip;</a></span>
 
     <span class="continued"><a href="/members/current/">Conservancy's current member projects&hellip;</a></span>
 
     <span class="continued"><a href="/members/services/">Services Conservancy provides to its member projects&hellip;</a></span>
 
     <span class="continued"><a href="/copyleft-compliance/">Conservancy's unique work  defending and upholding  copyleft licenses (e.g., the GPL) &hellip;</a></span>
 
     <span class="continued"><a href="/npoacct/">Conservancy's Non-Profit Accounting Project &hellip;</a></span>
 
     </p> -->
 
</div>
 
</div>
 
</div>
 
{% endblock %}
0 comments (0 inline, 0 general)