Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

•Data Developer for 20 years •Pony Podcast Producer for 4 years • Formerly: PFC, Pony Tonite, Equestria Now • Currently: /mlp/odcast • Occasionally makes YouTube videos and writes for an infamous fandom news site

Slide 3

Slide 3 text

•Hosted on Amazon Web Services (AWS) Elastic Compute Cloud (EC2) instance running Amazon Linux AMI •Episode MP3 files hosted on AWS Simple Cloud Storage Service (S3) •nginx Web server •PHP generated RSS feed •MySQL for episode metadata

Slide 4

Slide 4 text

•Distribute episodes via iTunes, Google Play, Google Podcasts, etc. •RSS – an XML-based feed format •Client applications can subscribe to the feed and poll for updates • Web browsers, iTunes Podcast Connect, Google Play Podcasts, etc.

Slide 5

Slide 5 text

•Wanted to create podcast Web site: https://mlp.one •Create new PHP interface to serve up same data in RSS feed? •Piggyback on existing RSS feed instead?

Slide 6

Slide 6 text

• XSLT – XML-based transformations • Change any XML document into anything else • Turing-complete language • Transformed RSS feed into HTML

Slide 7

Slide 7 text

• XSLT applied at browser or at server • Browser implementations vary considerably • Opted for nginx-based XSLT using the built-in module

Slide 8

Slide 8 text

• RSS results from PHP cached on server • XSLT transformations cached on server • HTML transform included virtually using Server Side Includes (SSI) • FAST LOAD TIME

Slide 9

Slide 9 text

• RSS feed leveraged with XSLT to create a schema.org compliant JSON-LD document describing podcast episodes • Used XSLT to modify RSS feed slightly to make it compatible with Google sitemaps

Slide 10

Slide 10 text

• Donut Steel Public License: https://donutsteel.pl • Leveraged XSLT to transform XML document that defines license into: • HTML to display the license on the Web site • Markdown and Text formats for download

Slide 11

Slide 11 text

No content