Rename cast to "The Corresponding Source", move to URL prefix "/cast/"

Also improved detail view rendering where unclosed <ul> tags in the body
content HTML from the database were affecting the display of footer info.
This commit is contained in:
Ben Sturmfels 2023-10-13 13:08:16 +11:00
parent 45a1f64730
commit cf359b6a64
Signed by: bsturmfels
GPG key ID: 023C05E2C9C068F0
11 changed files with 38 additions and 33 deletions

View file

@ -67,5 +67,5 @@ urlpatterns = [
url(r'^assignment/', include('conservancy.apps.assignment.urls')), url(r'^assignment/', include('conservancy.apps.assignment.urls')),
url(r'^fossy/$', static_views.index), url(r'^fossy/$', static_views.index),
url(r'^fossy/', include('conservancy.apps.fossy.urls')), url(r'^fossy/', include('conservancy.apps.fossy.urls')),
url(r'^faif/', include('podjango.urls')), url(r'^cast/', include('podjango.urls')),
] ]

View file

@ -65,13 +65,13 @@ def for_podcast_feed_extra_kwargs(self, obj):
'iTunesExplicit' : 'No', 'iTunesExplicit' : 'No',
'iTunesBlock' : 'No', 'iTunesBlock' : 'No',
'iTunesImage' : { 'url' : 'http://faif.us/img/cast/faif_300x300.jpg', 'iTunesImage' : { 'url' : 'http://faif.us/img/cast/faif_300x300.jpg',
'title' : 'Free as in Freedom', 'title' : 'The Corresponding Source (formerly Free as in Freedom)',
'link' : self.author_link, 'link' : self.author_link,
'type' : 'video/jpg'}, 'type' : 'video/jpg'},
'category' : { 'name' : 'Government & Organizations', 'scheme' : 'http://www.itunes.com/dtds/podcast-1.0.dtd', 'category' : { 'name' : 'Government & Organizations', 'scheme' : 'http://www.itunes.com/dtds/podcast-1.0.dtd',
'subcats' : [ 'Non-Profit' ] }, 'subcats' : [ 'Non-Profit' ] },
'keywords' : 'open source, opensource, freesoftware, software freedom, legal, law, linux, free, license, gpl, lgpl, agpl, bsd', 'keywords' : 'open source, opensource, freesoftware, software freedom, legal, law, linux, free, license, gpl, lgpl, agpl, bsd',
'iTunesAuthor' : 'Free as in Freedom', 'iTunesAuthor' : 'Software Freedom Conservancy',
'iTunesSubtitle' : 'Bi-Weekly Discussion of Legal, Policy, and Any other Issues in the Free, Libre, and Open Source Software (FLOSS) Community', 'iTunesSubtitle' : 'Bi-Weekly Discussion of Legal, Policy, and Any other Issues in the Free, Libre, and Open Source Software (FLOSS) Community',
'copyrightHolder' : self.copyright_holder(), 'copyrightHolder' : self.copyright_holder(),
'copyrightLicense' : self.license_no_html() } 'copyrightLicense' : self.license_no_html() }
@ -205,7 +205,7 @@ class CastFeed(CastFeedBase):
return "oggcast@faif.us" return "oggcast@faif.us"
def item_author_name(self, obj): def item_author_name(self, obj):
return "Free as in Freedom" return "Software Freedom Conservancy"
def item_author_link(self, obj): def item_author_link(self, obj):
return "http://faif.us" return "http://faif.us"
@ -213,7 +213,7 @@ class CastFeed(CastFeedBase):
def item_categories(self, item): def item_categories(self, item):
return ('Technology',) return ('Technology',)
def copyright_holder(self): return "Free as in Freedom" def copyright_holder(self): return "Software Freedom Conservancy"
def license_no_html(self): return "Licensed under a Creative Commons Attribution-Share Alike 3.0 USA License." def license_no_html(self): return "Licensed under a Creative Commons Attribution-Share Alike 3.0 USA License."

View file

@ -8,7 +8,7 @@
{% load static %} {% load static %}
{% block head %} {% block head %}
<meta name="description" content="Free as in Freedom is a bi-weekly oggcast about legal, policy and other issues in Free, Libre and Open Source Software" /> <meta name="description" content="The Corresponding Source (formerly Free as in Freedom) is a bi-weekly oggcast about legal, policy and other issues in Free, Libre and Open Source Software" />
<meta name="keywords" content="software, freedom, podjango, open source, gnu, GNU, Open Source, Free and Open Source, Free and Open Source Software, FLOSS, FOSS, protect, protection, help, policy, linux, non-profit, oggcast, podcast" /> <meta name="keywords" content="software, freedom, podjango, open source, gnu, GNU, Open Source, Free and Open Source, Free and Open Source Software, FLOSS, FOSS, protect, protection, help, policy, linux, non-profit, oggcast, podcast" />
<style> <style>
ul { ul {
@ -17,8 +17,8 @@
} }
a.feedlink img { margin-left: 0.5rem } a.feedlink img { margin-left: 0.5rem }
</style> </style>
<link rel="alternate" type="application/rss+xml" title="MP3 Audio Feed for Free as in Freedom" href="{% url 'podjango:feed-mp3' %}" /> <link rel="alternate" type="application/rss+xml" title="MP3 Audio Feed" href="{% url 'podjango:feed-mp3' %}" />
<link rel="alternate" type="application/rss+xml" title="Ogg/Vorbis Audio Feed for Free as in Freedom" href="{% url 'podjango:feed-ogg' %}" /> <link rel="alternate" type="application/rss+xml" title="Ogg/Vorbis Audio Feed" href="{% url 'podjango:feed-ogg' %}" />
{% endblock %} {% endblock %}
{% comment %} {% comment %}

View file

@ -4,14 +4,14 @@
<!-- and/or convey this template in any form. --> <!-- and/or convey this template in any form. -->
{% extends "podjango/base_podcast.html" %} {% extends "podjango/base_podcast.html" %}
{% block subtitle %}Free as in Freedom Archive: {{ day|date:"F j, Y" }} - {% endblock %} {% block subtitle %}Archive: {{ day|date:"F j, Y" }} - {% endblock %}
{% block content %} {% block content %}
<h1>{% include 'podjango/feed_links.inc.html' %} Free as in Freedom</h1> <h1>{% include 'podjango/feed_links.inc.html' %} The Corresponding Source</h1>
<h2>Free as in Freedom Archive: {{ day|date:"F j, Y" }}</h2> <h2>Archive: {{ day|date:"F j, Y" }}</h2>
{% for object in object_list %} {% for object in object_list %}
<div class="pa2 mb2" style="background: #F0FFB8"> <div class="pa2 mb2" style="background: #F0FFB8">

View file

@ -4,14 +4,14 @@
<!-- and/or convey this template in any form. --> <!-- and/or convey this template in any form. -->
{% extends "podjango/base_podcast.html" %} {% extends "podjango/base_podcast.html" %}
{% block subtitle %}Free as in Freedom Archive: {{ month|date:"F, Y" }} - {% endblock %} {% block subtitle %}Archive: {{ month|date:"F, Y" }} - {% endblock %}
{% block content %} {% block content %}
<h1>{% include 'podjango/feed_links.inc.html' %}Free as in Freedom</h1> <h1>{% include 'podjango/feed_links.inc.html' %}The Corresponding Source</h1>
<h2>Free as in Freedom Archive: {{ month|date:"F, Y" }}</h2> <h2>Archive: {{ month|date:"F, Y" }}</h2>
{% for object in object_list %} {% for object in object_list %}
<div class="pa2 mb2" style="background: #F0FFB8"> <div class="pa2 mb2" style="background: #F0FFB8">

View file

@ -4,13 +4,13 @@
<!-- and/or convey this template in any form. --> <!-- and/or convey this template in any form. -->
{% extends "podjango/base_podcast.html" %} {% extends "podjango/base_podcast.html" %}
{% block subtitle %}Free as in Freedom Archive: {{ year }} - {% endblock %} {% block subtitle %}Archive: {{ year }} - {% endblock %}
{% block content %} {% block content %}
<h1>{% include 'podjango/feed_links.inc.html' %} Free as in Freedom</h1> <h1>{% include 'podjango/feed_links.inc.html' %} The Corresponding Source</h1>
<h2>Free as in Freedom Archive: {{ year }}</h2> <h2>Archive: {{ year }}</h2>
<ul> <ul>
{% for object in object_list %} {% for object in object_list %}

View file

@ -4,11 +4,11 @@
<!-- and/or convey this template in any form. --> <!-- and/or convey this template in any form. -->
{% extends "podjango/base_podcast.html" %} {% extends "podjango/base_podcast.html" %}
{% block subtitle %}{{ object.title|striptags }} - Free as in Freedom - {% endblock %} {% block subtitle %}{{ object.title|striptags }} - The Corresponding Source - {% endblock %}
{% block content %} {% block content %}
<h1>{% include 'podjango/feed_links.inc.html' %} Free as in Freedom</h1> <h1>{% include 'podjango/feed_links.inc.html' %} The Corresponding Source</h1>
<h2><a class="feedlink" href="{{ object.ogg_path }}">{% include 'podjango/audio_ogg_button.inc.html' %}</a> <h2><a class="feedlink" href="{{ object.ogg_path }}">{% include 'podjango/audio_ogg_button.inc.html' %}</a>
<a class="feedlink" href="{{ object.mp3_path }}">{% include 'podjango/audio_mp3_button.inc.html' %}</a> <a class="feedlink" href="{{ object.mp3_path }}">{% include 'podjango/audio_mp3_button.inc.html' %}</a>
@ -18,7 +18,9 @@
<h3>Download</h3> <h3>Download</h3>
<p>
<a href="{{ object.ogg_path }}" class="document_format">ogg</a><a href="{{ object.mp3_path }}" class="document_format">mp3</a> <a href="{{ object.ogg_path }}" class="document_format">ogg</a><a href="{{ object.mp3_path }}" class="document_format">mp3</a>
</p>
<h3>Summary</h3> <h3>Summary</h3>
@ -29,15 +31,14 @@ This show was released on {{ object.pub_date|date:"l j F Y" }}; its
running time is {{ object.duration}}.</p> running time is {{ object.duration}}.</p>
<h3>Show Notes</h3> <h3>Show Notes</h3>
<div>
{{ object.body|safe }} {{ object.body|safe }}
<br/> </div>
<hr width="80%"/>
<h3>Feedback</h3>
<p>Send feedback and comments on the oggcast <p>Send feedback and comments on the oggcast
to <a href="mailto:oggcast@faif.us">&lt;oggcast@faif.us&gt;</a>. to <a href="mailto:oggcast@faif.us">&lt;oggcast@faif.us&gt;</a>.
You can keep in touch with <a href="http://faif.us">Free as in Freedom</a> You can keep in touch on our IRC channel, #faif on irc.freenode.net, and
on our IRC channel, #faif on irc.freenode.net, and
by <a href="http://identi.ca/faif">following @faif on identi.ca</a>.</p> by <a href="http://identi.ca/faif">following @faif on identi.ca</a>.</p>
{% if object.tags.all %}<p class="blog-tags">Tags: {% for tag in object.tags.all %}<a href="{{ tag.get_absolute_url }}">{{ tag.label }}</a>{% if not forloop.last %}, {% endif %}{% endfor %}</p>{% endif %} {% if object.tags.all %}<p class="blog-tags">Tags: {% for tag in object.tags.all %}<a href="{{ tag.get_absolute_url }}">{{ tag.label }}</a>{% if not forloop.last %}, {% endif %}{% endfor %}</p>{% endif %}

View file

@ -4,11 +4,11 @@
<!-- and/or convey this template in any form. --> <!-- and/or convey this template in any form. -->
{% extends "podjango/base_podcast.html" %} {% extends "podjango/base_podcast.html" %}
{% block subtitle %}Free as in Freedom - {% endblock %} {% block subtitle %}The Corresponding Source - {% endblock %}
{% block content %} {% block content %}
<h1>{% include 'podjango/feed_links.inc.html' %} Free as in Freedom</h1> <h1>{% include 'podjango/feed_links.inc.html' %} The Corresponding Source</h1>
{% if tags %} {% if tags %}
<p>Displaying casts <p>Displaying casts
@ -32,8 +32,10 @@ tagged {% for tag in tags %}{% if not forloop.last %}{% if not forloop.first %},
This show was released on {{ object.pub_date|date:"l j F Y" }}; its This show was released on {{ object.pub_date|date:"l j F Y" }}; its
running time is {{ object.duration}}.</p> running time is {{ object.duration}}.</p>
<h4>Show Notes</h4> <h4>Show Notes</h4>
<div>
{{ object.body|safe }} {{ object.body|safe }}
<br/> </div>
{% if object.tags.all %}<p class="cast-tags small">Tags: {% for tag in object.tags.all %}<a href="{{ tag.get_absolute_url }}">{{ tag.label }}</a>{% if not forloop.last %}, {% endif %}{% endfor %}</p>{% endif %} {% if object.tags.all %}<p class="cast-tags small">Tags: {% for tag in object.tags.all %}<a href="{{ tag.get_absolute_url }}">{{ tag.label }}</a>{% if not forloop.last %}, {% endif %}{% endfor %}</p>{% endif %}
</div> </div>
{% endfor %} {% endfor %}

View file

@ -7,7 +7,9 @@
<p> <p>
{{ obj.summary|safe }} {{ obj.summary|safe }}
</p> </p>
<div>
<h3>Show Notes:</h3> <h3>Show Notes:</h3>
</div>
{{ obj.body|safe }} {{ obj.body|safe }}
@ -15,11 +17,11 @@
<p>Send feedback and comments on the cast <p>Send feedback and comments on the cast
to <a href="mailto:cast@faif.us">&lt;oggcast@faif.us&gt;</a>. to <a href="mailto:cast@faif.us">&lt;oggcast@faif.us&gt;</a>.
You can keep in touch with <a href="http://faif.us">Free as in Freedom</a> on our IRC channel, #faif on irc.freenode.net, and You can keep in touch on our IRC channel, #faif on irc.freenode.net, and
by <a href="http://identi.ca/conservancy">following Conservancy on by <a href="http://identi.ca/conservancy">following Conservancy on
identi.ca</a> and <a href="https://twitter.com/conservancy">and Twitter</a>.</p> identi.ca</a> and <a href="https://twitter.com/conservancy">and Twitter</a>.</p>
<p>Free as in Freedom is produced by <a href="http://danlynch.org/blog/">Dan Lynch</a> <p>The Corresponding Source is produced by <a href="http://danlynch.org/blog/">Dan Lynch</a>
of <a href="http://danlynch.org/">danlynch.org</a>. of <a href="http://danlynch.org/">danlynch.org</a>.
Theme Theme
music written and performed music written and performed

View file

@ -32,7 +32,7 @@ Bradley and Karen to discuss various topics regarding FLOSS.</p>
and <a href="http://gnomg.org">Karen</a> both have blogs you can and <a href="http://gnomg.org">Karen</a> both have blogs you can
read.</p> read.</p>
<h2>{% include 'podjango/feed_links.inc.html' %}<a href="{% url 'podjango:cast' %}">Recent Free as in Freedom Shows</a></h2> <h2>{% include 'podjango/feed_links.inc.html' %}<a href="{% url 'podjango:cast' %}">Recent Shows</a></h2>
{% for cc in cast %} {% for cc in cast %}
<div class="pa2 mb2" style="background: #F0FFB8"> <div class="pa2 mb2" style="background: #F0FFB8">

View file

@ -32,7 +32,7 @@ admin.autodiscover()
app_name = 'podjango' app_name = 'podjango'
urlpatterns = [ urlpatterns = [
url(r'^$', frontpage.view), url(r'^$', frontpage.view),
url(r'^cast/', include('podjango.apps.cast.urls')), url(r'', include('podjango.apps.cast.urls')),
url(r'^feeds/cast-ogg/$', OggCastFeed(), name='feed-ogg'), url(r'^feeds/cast-ogg/$', OggCastFeed(), name='feed-ogg'),
url(r'^feeds/cast-mp3/$', Mp3CastFeed(), name='feed-mp3'), url(r'^feeds/cast-mp3/$', Mp3CastFeed(), name='feed-mp3'),
url(r'^feeds/$', view, name='feeds'), url(r'^feeds/$', view, name='feeds'),