From c858e825c0f299a07310c27ee99ee44dfde55216 Mon Sep 17 00:00:00 2001 From: "Bradley M. Kuhn" Date: Sun, 26 Sep 2010 17:20:05 -0400 Subject: [PATCH] Conservancy website as it currently looks; unfortunately, old history before this cannot easily be retrieved --- www/conservancy/__init__.py | 0 www/conservancy/feeds.py | 32 +++ www/conservancy/frontpage.py | 16 ++ www/conservancy/settings.py | 16 ++ www/conservancy/static/401error.html | 10 + www/conservancy/static/403error.html | 10 + www/conservancy/static/404error.html | 10 + www/conservancy/static/500error.html | 1 + .../static/about/contact/index.html | 27 ++ www/conservancy/static/about/index.html | 51 ++++ .../static/about/team/board/index.html | 138 +++++++++ .../static/about/team/officers/index.html | 44 +++ .../static/docs/2010-07-27_dj-opinion.pdf | Bin 0 -> 450508 bytes .../docs/conservancy-CHAR-500-fy-2008.pdf | Bin 0 -> 3203637 bytes .../docs/conservancy-form-990-fy-2008.pdf | Bin 0 -> 1563714 bytes www/conservancy/static/donate/index.html | 74 +++++ www/conservancy/static/favicon.ico | Bin 0 -> 318 bytes .../static/img/feed-icon-14x14.png | Bin 0 -> 689 bytes www/conservancy/static/img/headerbg.png | Bin 0 -> 598 bytes www/conservancy/static/members/index.html | 263 ++++++++++++++++++ www/conservancy/static/overview/index.html | 154 ++++++++++ .../static/privacy-policy/index.html | 39 +++ www/conservancy/static/robots.txt | 0 www/conservancy/static/sfc.css | 35 +++ www/conservancy/templates/500.html | 9 + .../templates/base_conservancy.html | 41 +++ www/conservancy/templates/base_error.html | 1 + www/conservancy/templates/base_news.html | 7 + www/conservancy/templates/base_standard.html | 9 + www/conservancy/templates/feeds.html | 17 ++ .../templates/feeds/news_description.html | 3 + .../templates/feeds/news_title.html | 1 + www/conservancy/templates/frontpage.html | 49 ++++ .../news/pressrelease_archive_day.html | 18 ++ .../news/pressrelease_archive_month.html | 18 ++ .../news/pressrelease_archive_year.html | 18 ++ .../templates/news/pressrelease_detail.html | 17 ++ .../templates/news/pressrelease_list.html | 35 +++ www/conservancy/urls.py | 12 + 39 files changed, 1175 insertions(+) create mode 100644 www/conservancy/__init__.py create mode 100644 www/conservancy/feeds.py create mode 100644 www/conservancy/frontpage.py create mode 100644 www/conservancy/settings.py create mode 100644 www/conservancy/static/401error.html create mode 100644 www/conservancy/static/403error.html create mode 100644 www/conservancy/static/404error.html create mode 100644 www/conservancy/static/500error.html create mode 100644 www/conservancy/static/about/contact/index.html create mode 100644 www/conservancy/static/about/index.html create mode 100644 www/conservancy/static/about/team/board/index.html create mode 100644 www/conservancy/static/about/team/officers/index.html create mode 100644 www/conservancy/static/docs/2010-07-27_dj-opinion.pdf create mode 100644 www/conservancy/static/docs/conservancy-CHAR-500-fy-2008.pdf create mode 100644 www/conservancy/static/docs/conservancy-form-990-fy-2008.pdf create mode 100644 www/conservancy/static/donate/index.html create mode 100644 www/conservancy/static/favicon.ico create mode 100644 www/conservancy/static/img/feed-icon-14x14.png create mode 100644 www/conservancy/static/img/headerbg.png create mode 100644 www/conservancy/static/members/index.html create mode 100644 www/conservancy/static/overview/index.html create mode 100644 www/conservancy/static/privacy-policy/index.html create mode 100644 www/conservancy/static/robots.txt create mode 100644 www/conservancy/static/sfc.css create mode 100644 www/conservancy/templates/500.html create mode 100644 www/conservancy/templates/base_conservancy.html create mode 100644 www/conservancy/templates/base_error.html create mode 100644 www/conservancy/templates/base_news.html create mode 100644 www/conservancy/templates/base_standard.html create mode 100644 www/conservancy/templates/feeds.html create mode 100644 www/conservancy/templates/feeds/news_description.html create mode 100644 www/conservancy/templates/feeds/news_title.html create mode 100644 www/conservancy/templates/frontpage.html create mode 100644 www/conservancy/templates/news/pressrelease_archive_day.html create mode 100644 www/conservancy/templates/news/pressrelease_archive_month.html create mode 100644 www/conservancy/templates/news/pressrelease_archive_year.html create mode 100644 www/conservancy/templates/news/pressrelease_detail.html create mode 100644 www/conservancy/templates/news/pressrelease_list.html create mode 100644 www/conservancy/urls.py diff --git a/www/conservancy/__init__.py b/www/conservancy/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/www/conservancy/feeds.py b/www/conservancy/feeds.py new file mode 100644 index 00000000..699a0251 --- /dev/null +++ b/www/conservancy/feeds.py @@ -0,0 +1,32 @@ +from django.contrib.syndication.feeds import Feed +from sflc.apps.news.models import PressRelease + +from django.shortcuts import render_to_response +from django.conf import settings +import datetime + +class PressReleaseFeed(Feed): + title = "Software Freedom Conservancy News" + link = "/news/" + description = "" + + def items(self): + return PressRelease.objects.filter(pub_date__lte=datetime.datetime.now(), + sites__id__exact=settings.SITE_ID).order_by('-pub_date')[:10] + + def item_pubdate(self, item): + return item.pub_date + +feed_dict = { + 'news': PressReleaseFeed, +} + +# make each feed know its canonical url +for k, v in feed_dict.items(): + v.get_absolute_url = '/feeds/%s/' % k + +def view(request): + """Listing of all available feeds + """ + + return render_to_response("feeds.html", {'feeds': feed_dict.values()}) diff --git a/www/conservancy/frontpage.py b/www/conservancy/frontpage.py new file mode 100644 index 00000000..a07215ec --- /dev/null +++ b/www/conservancy/frontpage.py @@ -0,0 +1,16 @@ +from django.shortcuts import render_to_response +from sflc.apps.news.models import PressRelease +from datetime import datetime, timedelta + +def view(request): + """Conservancy front page view + + Performs all object queries necessary to render the front page. + """ + + press_releases = PressRelease.objects.all().filter(pub_date__lte=datetime.now(), sites=2)[:5] + + c = { + 'press_releases': press_releases, + } + return render_to_response("frontpage.html", c) diff --git a/www/conservancy/settings.py b/www/conservancy/settings.py new file mode 100644 index 00000000..4cfc5267 --- /dev/null +++ b/www/conservancy/settings.py @@ -0,0 +1,16 @@ +from djangocommonsettings import * + +SITE_ID = 2 +MEDIA_ROOT = '/var/www/external-website/conservancy/static/media/' +MEDIA_URL = 'http://conservancy.softwarefreedom.org/media' +ROOT_URLCONF = 'conservancy.urls' +FORCE_CANONICAL_HOSTNAME = "conservancy.softwarefreedom.org" + +TEMPLATE_DIRS = ( + '/var/www/external-website/conservancy/templates', +) + +try: + from djangodebug import conservancy_hostname as FORCE_CANONICAL_HOSTNAME +except: + pass diff --git a/www/conservancy/static/401error.html b/www/conservancy/static/401error.html new file mode 100644 index 00000000..19ad5a38 --- /dev/null +++ b/www/conservancy/static/401error.html @@ -0,0 +1,10 @@ +{% extends "base_error.html" %} +{% block content %} + +

401 Error

+ +

The page you request at conservancy.softwarefreedom.org +requires authorization. Please use the navigation items to find a +page that you are authorized to see.

+ +{% endblock %} diff --git a/www/conservancy/static/403error.html b/www/conservancy/static/403error.html new file mode 100644 index 00000000..74ca56ce --- /dev/null +++ b/www/conservancy/static/403error.html @@ -0,0 +1,10 @@ +{% extends "base_error.html" %} +{% block content %} + +

403 Error

+ +

The page you request at conservancy.softwarefreedom.org +does not have read permission. Please use the navigation items to +find a page that you are authorized to see.

+ +{% endblock %} diff --git a/www/conservancy/static/404error.html b/www/conservancy/static/404error.html new file mode 100644 index 00000000..05abe708 --- /dev/null +++ b/www/conservancy/static/404error.html @@ -0,0 +1,10 @@ +{% extends "base_error.html" %} +{% block content %} + +

404 Error

+ +

The page you request at conservancy.softwarefreedom.org +was not found. Please use the navigation items to find a page that is +available.

+ +{% endblock %} diff --git a/www/conservancy/static/500error.html b/www/conservancy/static/500error.html new file mode 100644 index 00000000..92644de1 --- /dev/null +++ b/www/conservancy/static/500error.html @@ -0,0 +1 @@ +{% extends "500.html" %} diff --git a/www/conservancy/static/about/contact/index.html b/www/conservancy/static/about/contact/index.html new file mode 100644 index 00000000..8676f4e1 --- /dev/null +++ b/www/conservancy/static/about/contact/index.html @@ -0,0 +1,27 @@ +{% extends "base_conservancy.html" %} +{% block subtitle %}Contact - {% endblock %} +{% block category %}contact{% endblock %} +{% block content %} + +

Contact the Conservancy

+ +

The best way to contact the Conservancy is via email to <info@sfconservancy.org>. +We do our best to respond to all email within a reasonable time +period. If you don't hear from us within a few days, please try +again.

+ +

Telephone

+

+1-212-461-3245 tel
++1-212-580-0898 fax

+ +

Postal Address

+

Software Freedom Conservancy
+1995 Broadway FL 17
+New York, NY 10023-5882

+ +

Internet Relay Chat

+ +

Our IRC room is #conservancy on irc.freenode.net.

+ +{% endblock %} diff --git a/www/conservancy/static/about/index.html b/www/conservancy/static/about/index.html new file mode 100644 index 00000000..359fde77 --- /dev/null +++ b/www/conservancy/static/about/index.html @@ -0,0 +1,51 @@ +{% comment %}THIS PAGE IS UNLINKED +{% extends "base_conservancy.html" %} +{% block subtitle %}About - {% endblock %} +{% block content %} + +

About

+ +

The Software Freedom Conservancy, Inc. is a not-for-profit organization +that promotes the use and development of free and open source software by +providing a range of pro-bono services to Free, Libre and Open Source +Software (FLOSS) projects.

+ +

We hold, protect and manage copyrights and trademarks for FLOSS +projects. Conservancy aims to act as long-term caretakers for our member +projects, ensuring that free software stays free.

+ +

Conservancy frees FLOSS projects to concentrate on what they do best: +writing code. We do this by shouldering some of the administrative burden +that comes with running a FOSS project. Our fiscal sponsorship program +gives projects all the benefits of a not-for-profit structure without the +overhead of managing a corporation. We can help projects with +organizational structure, contributor's license agreements, financial +controls, accounting, fund-raising and more.

+ +

In addition to our relationship with individual projects, Conservancy +facilitates communication and coordination between FLOSS projects. We act +as a central store of knowledge and experience and help advance the goals +of both individual FOSS projects and the movement as a whole.

+ +

If we might be able to help your FLOSS project, email us +at conservancy@softwarefreedom.org.

+ +

Public Filings

+ +

Like all USA non-profits, the Conservancy files an annual Form 990 and, as +a non-profit in the State of New York, files an annual CHAR-500 with New +York State. Below, Conservancy makes available these filings for public +inspection:

+ +