woody 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/woody/compiler.rb +9 -7
- data/lib/woody/version.rb +1 -1
- data/templates/{itunes.xml → feed.xml} +11 -6
- data/templates/index.html +1 -0
- data/templates/woody-config.yml +74 -10
- metadata +2 -2
data/lib/woody/compiler.rb
CHANGED
@@ -9,8 +9,10 @@ module Woody
|
|
9
9
|
meta = YAML.load_file("content/metadata.yml")
|
10
10
|
|
11
11
|
# instantiate the metadata hash so shit doesn't explode in our faces
|
12
|
-
|
13
|
-
|
12
|
+
# WEIRD SHIT: used .empty? here before but fails if used on hash seemingly
|
13
|
+
if meta == false
|
14
|
+
meta = Hash.new
|
15
|
+
end
|
14
16
|
|
15
17
|
episodes = Array.new
|
16
18
|
filesfound = Array.new
|
@@ -83,12 +85,12 @@ module Woody
|
|
83
85
|
puts "Warning: content/iTunes.png missing!"
|
84
86
|
end
|
85
87
|
|
86
|
-
# Update iTunes RSS
|
88
|
+
# Update (iTunes) RSS
|
87
89
|
$config['itunes']['explicit'] = "no" if $config['itunes']['explicit'].nil?
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
write_output_file("
|
90
|
+
feedxml = File.read File.join($source_root, "feed.xml") # Use feed.xml template in gem, not in site's template folder.
|
91
|
+
feed = Erubis::Eruby.new(feedxml)
|
92
|
+
feed_compiled = feed.result(config: $config, episodes: episodes)
|
93
|
+
write_output_file("feed.xml") {|f| f.write(feed_compiled) }
|
92
94
|
|
93
95
|
|
94
96
|
|
data/lib/woody/version.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
|
2
|
+
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
|
3
3
|
<channel>
|
4
4
|
<title><%= config['title'] %></title>
|
5
5
|
<link><%= config['urlbase'] %></link>
|
6
|
-
<language
|
6
|
+
<language><%= config['lang'] %></language>
|
7
|
+
|
7
8
|
<copyright>℗ & © <%= config['author'] %></copyright>
|
8
9
|
<itunes:subtitle><%= config['subtitle'] %></itunes:subtitle>
|
9
10
|
<itunes:author><%= config['author'] %></itunes:author>
|
@@ -18,19 +19,23 @@
|
|
18
19
|
|
19
20
|
<itunes:image href="<%= $config['urlbase'] + "/assets/iTunes.png" %>"/>
|
20
21
|
<itunes:category text="<%= $config['itunes']['category'] %>"/>
|
21
|
-
|
22
|
-
|
23
|
-
|
22
|
+
|
23
|
+
<atom:link href="<%= $config['urlbase'] %>/feed.xml" rel="self" type="application/rss+xml" />
|
24
|
+
|
25
|
+
|
26
|
+
<%- episodes.each do |episode| %>
|
24
27
|
<item>
|
25
28
|
<title><%= episode.title %></title>
|
26
29
|
<itunes:subtitle><%= episode.subtitle %></itunes:subtitle>
|
27
30
|
<itunes:summary><%= episode.synopsis %></itunes:summary>
|
28
|
-
<enclosure url="<%= episode.file_url %>" length="<%= episode.size %>" type="audio/mpeg"/>
|
29
31
|
<pubDate><%= episode.date.rfc2822 %></pubDate>
|
30
32
|
<itunes:duration><%= episode.duration %></itunes:duration>
|
31
33
|
<itunes:keywords><%= episode.keywords %></itunes:keywords>
|
32
34
|
<itunes:explicit><%= episode.explicit_string %></itunes:explicit>
|
35
|
+
<description><%= episode.synopsis %></description>
|
36
|
+
<enclosure url="<%= episode.file_url %>" length="<%= episode.size %>" type="audio/mpeg"/>
|
33
37
|
<guid><%= episode.url %></guid>
|
38
|
+
<category>Podcasts</category>
|
34
39
|
</item>
|
35
40
|
<% end %>
|
36
41
|
|
data/templates/index.html
CHANGED
data/templates/woody-config.yml
CHANGED
@@ -1,29 +1,93 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
#############################################################
|
2
|
+
# #
|
3
|
+
# dP ALPHA #
|
4
|
+
# 88 #
|
5
|
+
# dP dP dP .d8888b. .d8888b. .d888b88 dP dP #
|
6
|
+
# 88 88 88 88' `88 88' `88 88' `88 88 88 #
|
7
|
+
# 88.88b.88' 88. .88 88. .88 88. .88 88. .88 #
|
8
|
+
# 8888P Y8P `88888P' `88888P' `88888P8 `8888P88 #
|
9
|
+
# .88 #
|
10
|
+
# d8888P #
|
11
|
+
# #
|
12
|
+
#############################################################
|
13
|
+
# #
|
14
|
+
# Welcome to Woody, the best way to generate iTunes-ready #
|
15
|
+
# podcast feeds and websites! #
|
16
|
+
# #
|
17
|
+
# To get started, please fill out this wee config file, #
|
18
|
+
# drop some mp3s in the content folder and run: #
|
19
|
+
# #
|
20
|
+
# $ woody compile #
|
21
|
+
# #
|
22
|
+
# To build and compile your site! For more help see the #
|
23
|
+
# readme included. Have fun! #
|
24
|
+
# #
|
25
|
+
# Visit us on github - github.com/davidjrobertson/woody #
|
26
|
+
# #
|
27
|
+
#############################################################
|
4
28
|
|
5
|
-
|
6
|
-
|
29
|
+
################
|
30
|
+
# BASIC INFO #
|
31
|
+
################
|
32
|
+
|
33
|
+
# Title and subtitle of your podcast
|
34
|
+
title: David's World of Spoons
|
35
|
+
subtitle: From Teaspoons to Ladels
|
36
|
+
|
37
|
+
# A short description of your podcast. (Also used for iTunes)
|
38
|
+
summary: Hey there. I'm David, and this is my amazing world of spoons and other crockery!
|
39
|
+
|
40
|
+
# The name of the podcast's author
|
41
|
+
author: David "Spoonmad" Hewitson
|
42
|
+
|
43
|
+
# Primary language of the podcast - please see http://www.w3.org/WAI/ER/IG/ert/iso639.htm
|
44
|
+
lang: en
|
45
|
+
|
46
|
+
# Base URL of the podcast - used to generate links
|
47
|
+
urlbase: http://example.com
|
48
|
+
|
49
|
+
#######################
|
50
|
+
# ID3 CONFIGURATION #
|
51
|
+
#######################
|
7
52
|
|
8
53
|
mp3:
|
9
|
-
#
|
54
|
+
# NYI! Do you want to have ID3v2 tags for artist/title automatically set? N.B., may be truncated.
|
10
55
|
setartist: true
|
11
56
|
settitle: true
|
12
57
|
|
58
|
+
##########################
|
59
|
+
# ITUNES-SPECIFIC INFO #
|
60
|
+
##########################
|
61
|
+
|
13
62
|
itunes:
|
14
|
-
|
63
|
+
# Full name and email address of podcast owner
|
15
64
|
owner:
|
16
65
|
name: Owner
|
17
66
|
email: owner@example.com
|
18
|
-
|
67
|
+
|
68
|
+
# One of the categories listed here: http://www.apple.com/itunes/podcasts/specs.html#categories
|
19
69
|
category: Comedy
|
20
|
-
explicit: "no" # yes/no/clean
|
21
70
|
|
71
|
+
# Is the podcast explicit? (yes/no/clean) You can type 'clean' to have your
|
72
|
+
# podcast show up with a 'clean' icon in iTunes search results
|
73
|
+
explicit: "no"
|
74
|
+
|
75
|
+
###############################
|
76
|
+
# DISTRIBUTION CONFIGURATION #
|
77
|
+
###############################
|
78
|
+
|
79
|
+
# NOTE: currently only Amazon S3 (AWS) is available - more soon!
|
80
|
+
|
81
|
+
distributiontype: s3
|
82
|
+
|
22
83
|
s3:
|
23
|
-
#
|
84
|
+
# Set the relevant s3 endpoint here. For eu-west-1 (Ireland), use this default.
|
24
85
|
hostname: s3-eu-west-1.amazonaws.com
|
25
86
|
#prefix: podcast # Uncomment this to upload in a 'subdirectory' of the S3 bucket?
|
26
87
|
accesskey:
|
88
|
+
# Your AWS access key and secret
|
27
89
|
id: your-aws-access-key-id
|
28
90
|
secret: your-aws-access-key-secret
|
91
|
+
|
92
|
+
# The bucket the podcast site should be uploaded to
|
29
93
|
bucket: example.com
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: woody
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -112,9 +112,9 @@ files:
|
|
112
112
|
- lib/woody/generator.rb
|
113
113
|
- lib/woody/version.rb
|
114
114
|
- templates/episode.html
|
115
|
+
- templates/feed.xml
|
115
116
|
- templates/iTunes.png
|
116
117
|
- templates/index.html
|
117
|
-
- templates/itunes.xml
|
118
118
|
- templates/layout.html
|
119
119
|
- templates/metadata.yml
|
120
120
|
- templates/stylesheet.css
|