reorganized seasons, updated podcast feed
This commit is contained in:
@@ -42,6 +42,14 @@ module.exports = function(eleventyConfig) {
|
||||
return value;
|
||||
});
|
||||
|
||||
eleventyConfig.addFilter("episodeNumber", function (s, episode) {
|
||||
return episode ? Number(episode) : Number(s.replace(/[^0-9]/,''))
|
||||
});
|
||||
eleventyConfig.addFilter("episodesInSeason", function (season) {
|
||||
return this.eleventy.collection.episode.filter(ep=>ep.season == season)
|
||||
return episode ? Number(episode) : Number(s.replace(/[^0-9]/,''))
|
||||
});
|
||||
|
||||
// Shortcodes
|
||||
eleventyConfig.addPairedShortcode(
|
||||
"prologue",
|
||||
@@ -109,6 +117,7 @@ module.exports = function(eleventyConfig) {
|
||||
});
|
||||
|
||||
return {
|
||||
pathPrefix:"blog",
|
||||
dir: {
|
||||
data: "data",
|
||||
input: "content",
|
||||
|
||||
@@ -7,6 +7,7 @@ system:
|
||||
seasons:
|
||||
- 1
|
||||
- 4
|
||||
date: 2021-04-26
|
||||
---
|
||||
|
||||
It is a dark time for the galaxy. Striking from their hidden base, the Rebel Alliance has destroyed the evil GALACTIC EMPIRE's powerful Death Star. Now, Imperial forces strike back, throwing the galaxy into war.
|
||||
|
||||
@@ -7,6 +7,7 @@ system:
|
||||
seasons:
|
||||
- 3
|
||||
- 5
|
||||
date: 2023-04-05
|
||||
---
|
||||
|
||||
In the electrified, shadowy streets of Doskvol, the Junk Fort Boys—a distinctive crew of eccentrics—tackle a series of misadventures.
|
||||
|
||||
@@ -6,5 +6,6 @@ system:
|
||||
name: Dungeons and Dragons
|
||||
seasons:
|
||||
- 2
|
||||
date: 2022-08-05
|
||||
---
|
||||
When Morty sees a cute girl at school playing Dungeons & Dragons, he asks Rick to show him the ropes, only to discover that his grandfather is a veteran gamer. Next thing he knows, the entire family has been pulled into a campaign that escalates from virtual D&D simulations to alternate universes governed by the rules of the game. And as it turns out, Rick isn't the only one who knows his way around a d20.
|
||||
11
content/episodes/episodes.11tydata.js
Normal file
11
content/episodes/episodes.11tydata.js
Normal file
@@ -0,0 +1,11 @@
|
||||
module.exports = {
|
||||
"layout": "episode",
|
||||
"tags":['episode'],
|
||||
"eleventyComputed": {
|
||||
"episode": "{{page.fileSlug | episodeNumber: episode}}",
|
||||
"podcast": (data) => ({
|
||||
"url": data.podcast.url ||`${data.site.cdn}/s0${data.season}e${data.episode}.mp3`,
|
||||
"title": data.podcast.title || `S0${data.season}E${data.episode}: ${data.title}`
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"layout": "episode",
|
||||
"tags":"episode",
|
||||
"podcast": true
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
title: "46:"
|
||||
episode: 46
|
||||
date: 2022-07-08
|
||||
---
|
||||
|
||||
|
||||
13
content/episodes/s01/s01.11tydata.js
Normal file
13
content/episodes/s01/s01.11tydata.js
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
module.exports = {
|
||||
"season": 1,
|
||||
"tags": [
|
||||
"crew-of-the-kahuna", "season:1"
|
||||
],
|
||||
"stylesheets": ["/css/s04.css"],
|
||||
"eleventyComputed": {
|
||||
"podcast": (data)=>({
|
||||
"title": `E${data.episode}: ${data.title}`
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
|
||||
{
|
||||
"season": 1,
|
||||
"tags": [
|
||||
"crew-of-the-kahuna"
|
||||
],
|
||||
"stylesheets": ["/css/s04.css"]
|
||||
}
|
||||
@@ -1,7 +1,15 @@
|
||||
---
|
||||
layout: podcast-season
|
||||
season: 1
|
||||
date: 2021-04-26
|
||||
override:tags: ["season"]
|
||||
eleventyExcludeFromCollections: ["episode"]
|
||||
pagination:
|
||||
size: 10
|
||||
alias: "episodes"
|
||||
data: "collections.season:1"
|
||||
generatePageOnEmptyData: true
|
||||
reverse: true
|
||||
---
|
||||
|
||||
Escape from Mos Shuuta, Long Arm of the Hutt
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"season": 2,
|
||||
"tags": [
|
||||
"rick-and-morty"
|
||||
"rick-and-morty", "season:2"
|
||||
]
|
||||
}
|
||||
@@ -1,5 +1,13 @@
|
||||
---
|
||||
layout: podcast-season
|
||||
season: 2
|
||||
date: 2022-08-05
|
||||
override:tags: ["season"]
|
||||
eleventyExcludeFromCollections: ["episode"]
|
||||
pagination:
|
||||
size: 10
|
||||
alias: "episodes"
|
||||
data: "collections.season:2"
|
||||
generatePageOnEmptyData: true
|
||||
reverse: true
|
||||
---
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"season": 3,
|
||||
"tags": [
|
||||
"junkfort-boys"
|
||||
"junkfort-boys", "season:3"
|
||||
]
|
||||
}
|
||||
@@ -1,5 +1,13 @@
|
||||
---
|
||||
layout: podcast-season
|
||||
season: 3
|
||||
date: 2023-04-05
|
||||
override:tags: ["season"]
|
||||
eleventyExcludeFromCollections: ["episode"]
|
||||
pagination:
|
||||
size: 10
|
||||
alias: "episodes"
|
||||
data: "collections.season:3"
|
||||
generatePageOnEmptyData: true
|
||||
reverse: true
|
||||
---
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"season": 4,
|
||||
"tags": [
|
||||
"crew-of-the-kahuna"
|
||||
"crew-of-the-kahuna", "season:4"
|
||||
],
|
||||
"stylesheets": ["/css/s04.css"]
|
||||
}
|
||||
@@ -1,5 +1,12 @@
|
||||
---
|
||||
layout: podcast-season
|
||||
season: 4
|
||||
date: 2024-01-03
|
||||
override:tags: ["season"]
|
||||
eleventyExcludeFromCollections: ["episode"]
|
||||
pagination:
|
||||
size: 10
|
||||
alias: "episodes"
|
||||
data: "collections.season:4"
|
||||
generatePageOnEmptyData: true
|
||||
reverse: true
|
||||
---
|
||||
@@ -7,7 +7,7 @@ date: 2024-07-17
|
||||
<section class="prologue">
|
||||
|
||||
Olden Times
|
||||
==========================
|
||||
========================
|
||||
World's Oldest Newspaper
|
||||
|
||||
# Wanted! Gang Terrorizes City
|
||||
|
||||
@@ -4,4 +4,16 @@ episode: 25
|
||||
date: 2024-09-11
|
||||
---
|
||||
|
||||
<p class="newspaper-name">Bon Voyage Bulletin</p> <p class="newspaper-tagline">No, I will not call you Gutenburg</p> <p class="newspaper-date">2024-09-11</p> <h2>A Day At Sea Unravels More Mysteries</h2> <img src="worlds/bridgets-in-the-dark/Screenshot%202024-09-11%20180943.png"> <blockquote> <p>Who is "Maggie?"</p> </blockquote> <div class="newspaper-content"> <p>The crew spent the next day arguing about what to do for their next move. Eventually, it was agreed that they would prepare to travel to Tycheros, despite their misgivings about (both) captains.</p> <p>Squish caught a large angler fish, and Fitzclyde declared they would eat in his cabin tonight. "Plodable" expert Djuckels painted the cannon with some sick flames, which did not increase it's effectivness, but did increase it's coolness. Patches, per usual, spent time cooped up in the bathroom, talking to Neelix, whio suggested that Patches might get further if he connected with his crew mates, and tried to be a bit more honest with them.</p> <p>But Patches isn't the only person hiding something. Djuckles met a mysterious girl named Maggie, who claims to work on the ship. She quicly disapeared somewhere on the ship, and Fitzelyde claims to know nothing about her. He tried telling the crew a story about a harp, but, as usual, they weren't listening, and instead insulted his poor ukelele playing. He regrests inviting them for dinner.</p> <p>But all that will have to wait. Because a migrating school of leviathans stands between the crew and their next stop, and who knows what lies beyond?</p> </div>
|
||||
<p class="newspaper-name">Bon Voyage Bulletin</p>
|
||||
<p class="newspaper-tagline">No, I will not call you Gutenburg</p>
|
||||
<p class="newspaper-date">2024-09-11</p>
|
||||
|
||||
<h2>A Day At Sea Unravels More Mysteries</h2>
|
||||
<img src="worlds/bridgets-in-the-dark/Screenshot%202024-09-11%20180943.png">
|
||||
<blockquote>
|
||||
<p>Who is "Maggie?"</p>
|
||||
</blockquote>
|
||||
<div class="newspaper-content">
|
||||
<p>The crew spent the next day arguing about what to do for their next move. Eventually, it was agreed that they would prepare to travel to Tycheros, despite their misgivings about (both) captains.</p>
|
||||
<p>Squish caught a large angler fish, and Fitzclyde declared they would eat in his cabin tonight. "Plodable" expert Djuckels painted the cannon with some sick flames, which did not increase it's effectivness, but did increase it's coolness. Patches, per usual, spent time cooped up in the bathroom, talking to Neelix, whio suggested that Patches might get further if he connected with his crew mates, and tried to be a bit more honest with them.</p> <p>But Patches isn't the only person hiding something. Djuckles met a mysterious girl named Maggie, who claims to work on the ship. She quicly disapeared somewhere on the ship, and Fitzelyde claims to know nothing about her. He tried telling the crew a story about a harp, but, as usual, they weren't listening, and instead insulted his poor ukelele playing. He regrests inviting them for dinner.</p>
|
||||
<p>But all that will have to wait. Because a migrating school of leviathans stands between the crew and their next stop, and who knows what lies beyond?</p> </div>
|
||||
@@ -6,7 +6,8 @@ date: 2024-09-11
|
||||
|
||||
<section class="prologue">
|
||||
|
||||
# Paradise Periodical
|
||||
Paradise Periodical
|
||||
=====================
|
||||
How do you know what's happening? We're trapped on the ship!
|
||||
|
||||
# Strange Times on Stranger Shores
|
||||
|
||||
@@ -9,7 +9,8 @@ podcast: true
|
||||
|
||||
<section class="prologue">
|
||||
|
||||
# Deep Water Digest
|
||||
Deep Water Digest
|
||||
====================================
|
||||
How do you know what they wished for?
|
||||
|
||||
# Day Saved – Baths Had By All
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
---
|
||||
title:
|
||||
date: 2024-11-18
|
||||
episode: 30
|
||||
---
|
||||
|
||||
<section class="prologue">
|
||||
|
||||
# Dark Water Weekly
|
||||
Dark Water Weekly
|
||||
==========================
|
||||
No, no, don't come in here!
|
||||
|
||||
# Fire In Your House And In Your Heart
|
||||
@@ -23,16 +23,16 @@ As they made a hasty retreat, Lady High Hill warned Djuckels about the true natu
|
||||
|
||||
<section class="alternate-titles">
|
||||
|
||||
* _"I Thought It Was a Fish"_ \- Tiger (GM)
|
||||
* _"I Got Hammocked This Morning"_ \- Tiger (GM)
|
||||
* _"The Mutiny Habits"_ \- Bridget
|
||||
* _"Im Just Moody"_ \- Andy
|
||||
* _"Trying to Cheer up Djuckles"_ \- Tiger (GM)
|
||||
* _"He's Never Liked Any of You"_ \- Tiger (GM)
|
||||
* _"Baked Alaska"_ \- Tiger (GM)
|
||||
* _"Squishlicious over There"_ \- Tiger (GM)
|
||||
* _"What Even Is a Shallot"_ \- Tiger (GM)
|
||||
* _"That Was a Very Touching Moment in My Head"_ \- Tiger (GM)
|
||||
* _"Glittering From the Land"_ \- Tiger (GM)
|
||||
* _"I Thought It Was a Fish"_ \- Tiger (GM)
|
||||
* _"I Got Hammocked This Morning"_ \- Tiger (GM)
|
||||
* _"The Mutiny Habits"_ \- Bridget
|
||||
* _"Im Just Moody"_ \- Andy
|
||||
* _"Trying to Cheer up Djuckles"_ \- Tiger (GM)
|
||||
* _"He's Never Liked Any of You"_ \- Tiger (GM)
|
||||
* _"Baked Alaska"_ \- Tiger (GM)
|
||||
* _"Squishlicious over There"_ \- Tiger (GM)
|
||||
* _"What Even Is a Shallot"_ \- Tiger (GM)
|
||||
* _"That Was a Very Touching Moment in My Head"_ \- Tiger (GM)
|
||||
* _"Glittering From the Land"_ \- Tiger (GM)
|
||||
|
||||
</section>
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"season": 5,
|
||||
"tags": [
|
||||
"junkfort-boyz"
|
||||
"junkfort-boyz", "season:5"
|
||||
],
|
||||
"stylesheets": ["/css/s05.css"]
|
||||
}
|
||||
@@ -1,5 +1,13 @@
|
||||
---
|
||||
layout: podcast-season
|
||||
season: 5
|
||||
date: 2024-07-17
|
||||
override:tags: ["season"]
|
||||
eleventyExcludeFromCollections: ["episode"]
|
||||
pagination:
|
||||
size: 10
|
||||
alias: "episodes"
|
||||
data: "collections.season:5"
|
||||
generatePageOnEmptyData: true
|
||||
reverse: true
|
||||
---
|
||||
@@ -3,6 +3,7 @@ title: Seasons
|
||||
layout: "base-with-heading"
|
||||
permalink: "/seasons/"
|
||||
override:tags: []
|
||||
override:eleventyComputed: []
|
||||
---
|
||||
|
||||
<ul>
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
<!doctype html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{#if title }}{{ title }}{{else}}{{ site.title }}{{/if}} - {{ site.name }}</title>
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
{{#each stylesheets}}
|
||||
<link rel="stylesheet" href="{{this}}">
|
||||
{{/each}}
|
||||
<script>
|
||||
console.log('url with filter', '{{url "/css/style.css"}}')
|
||||
</script>
|
||||
</head>
|
||||
<body class="{{{bodyClasses}}}">
|
||||
<nav class="navbar navbar-expand-lg bg-body-tertiary">
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
layout: base
|
||||
layout: base-with-heading
|
||||
|
||||
---
|
||||
|
||||
{{{content}}}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
layout: base
|
||||
bodyClasses: "season-{{{season}}}"
|
||||
layout: "base"
|
||||
eleventyComputed:
|
||||
bodyClasses: "episode season-{{season}}"
|
||||
---
|
||||
@@ -10,9 +9,9 @@ eleventyComputed:
|
||||
<div class="row">
|
||||
<div class="col"><img src="{{{this.url}}}../image.jpg" class="img-fluid"></div>
|
||||
<div class="col">
|
||||
<h1>{{{title}}}<a href="{{{site.cdn}}}/s0{{{season}}}e{{{episode}}}.mp3" ><i class="bi bi-download m-1"></i></a></h1>
|
||||
<h1>{{{title}}}<a href="{{{podcast.url}}}" ><i class="bi bi-download m-1"></i></a></h1>
|
||||
<audio controls>
|
||||
<source src="{{{site.cdn}}}/s0{{{season}}}e{{{episode}}}.mp3" type="audio/mpeg">
|
||||
<source src="{{{podcast.url}}}" type="audio/mpeg">
|
||||
Your browser does not support the audio element.
|
||||
</audio>
|
||||
<div class="d-flex felx-wrap m-1 gap-1">
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
</section>
|
||||
<section>
|
||||
{{#if links.podcastRss}}
|
||||
<a href="{{{site.url}}}{{{links.podcastRss}}}" class="btn btn-outline-primary"><i class="bi bi-rss-fill me-1"></i>RSS</a>
|
||||
<a href="{{{links.podcastRss}}}" class="btn btn-outline-primary"><i class="bi bi-rss-fill me-1"></i>RSS</a>
|
||||
{{/if}}
|
||||
</section>
|
||||
</div>
|
||||
@@ -25,9 +25,9 @@
|
||||
{{#each (latest_episodes collections.episode)}}
|
||||
<div class="col">
|
||||
<div class="card m-2">
|
||||
<img src="{{this.url}}../image.jpg" class="card-img-left">
|
||||
<img src="{{this.url}}/../image.jpg" class="img-fluid">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title"><a href={{{this.url}}}>{{{data.title}}}</a></h5>
|
||||
<h5 class="card-title"><a href={{{this.url}}}>{{#if data.title}}{{{data.title}}}{{else}}Episode {{data.episode}}{{/if}}</a></h5>
|
||||
<h6 class="card-subtitle mb-2 text-body-secondary"> Season {{{data.season}}}</h6>
|
||||
<span class="card-subtitle mb-2 text-body-secondary"> {{{date this.date "ddd, MMM D, YYYY, LT"}}}</h6>
|
||||
</div>
|
||||
|
||||
@@ -4,15 +4,26 @@ layout: base
|
||||
<h1>Season {{season}}</h1>
|
||||
{{{content}}}
|
||||
<ul>
|
||||
{{#each collections.episode}}
|
||||
{{#ifEquals data.season ../season}}
|
||||
<li>
|
||||
<h2>
|
||||
<a href="{{{this.page.url}}}">
|
||||
{{{formatSeasonEpisode data.season data.episode }}}: {{{ data.title }}}
|
||||
</a>
|
||||
</h2>
|
||||
{{#each episodes}}
|
||||
<li class="card my-2">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<a href="{{{this.page.url}}}">
|
||||
{{{ data.title }}}
|
||||
</a>
|
||||
</h5>
|
||||
<p class="card-text">Season {{data.season}}, Episode {{data.episode}}</p>
|
||||
</div>
|
||||
</li>
|
||||
{{/ifEquals}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</ul>
|
||||
<div aria-label="Page navigation">
|
||||
<ul class="pagination">
|
||||
<li class="page-item {{#eq pagination.pageNumber 0}}disabled{{/eq}}"><a class="page-link" href="{{pagination.previous}}">Previous</a></li>
|
||||
{{#each pagination.hrefs}}
|
||||
|
||||
<li class="page-item {{#is @index ../pagination.pageNumber }}active{{/is}}" page-number="{{../pagination.pageNumber}}" index="{{@index}}"><a class="page-link " href="{{this}}">{{plus @index 1}}</a></li>
|
||||
{{/each}}
|
||||
<li class="page-item"><a class="page-link {{#eq pagination.pageNumber (minus (length pagination.hrefs) 1)}}disabled{{/eq}}" href="{{pagination.next}}">Next</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -48,7 +48,7 @@ class PodcastFeed {
|
||||
itunesImage: data.itunes?.image || data.site.imageUrl || `${data.site.url}${data.page.filePathStem}.jpg`
|
||||
});
|
||||
|
||||
const episodes = data.collections.episode.filter(episode=>episode.data.podcast==true)
|
||||
const episodes = data.collections.episode.filter(episode=>episode.data.podcast!=false)
|
||||
const items = data.tags ? episodes.filter(episode=>data.tags.every(tag=>episode.data.tags.includes(tag))) : episodes
|
||||
|
||||
items.forEach(episode=>{
|
||||
@@ -59,13 +59,13 @@ class PodcastFeed {
|
||||
// const duration = getMp3Duration(`../episodes/s${zero_pad_season}/s${zero_pad_season}e${episode_data.episode}.mp3`)
|
||||
/* loop over data and add to feed */
|
||||
feed.addItem({
|
||||
title: `S${zero_pad_season}E${episode_data.episode}: ${episode_data.title}`,
|
||||
title: `${episode_data.podcast.title}`,
|
||||
description: episode.content,
|
||||
url: episode.url, // link to the item
|
||||
guid: episode.url, // optional - defaults to url
|
||||
date: episode_data.date, // any format that js Date can parse.
|
||||
// enclosure : {url:`${data.site.url}/episodes/s${zero_pad_season}/s${zero_pad_season}e${episode_data.episode}.mp3`}, // optional enclosure
|
||||
enclosure : {url:`${PODCAST_CDN_ROOT}/s${zero_pad_season}e${episode_data.episode}.mp3`}, // optional enclosure
|
||||
enclosure : {url:`${episode_data.podcast.url}`}, // optional enclosure
|
||||
// itunesDuration: duration,
|
||||
});
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user