Coder Social home page Coder Social logo

statamic / starter-kit-podcaster Goto Github PK

View Code? Open in Web Editor NEW
10.0 8.0 2.0 44.49 MB

Statamic Starter Kit: Podcaster

Home Page: https://statamic.com/starter-kits/statamic/podcaster

License: Other

PHP 1.47% CSS 11.60% JavaScript 81.92% Vue 0.17% Blade 1.75% Antlers 3.09%
statamic statamic-3 starter-kit statamic-starter-kit podcast

starter-kit-podcaster's Introduction

Podcaster

A Turn-Key Podcasting Starter Kit for Statamic

Features

This kit is deceptively simple – it may look like a 3 page site but there's a whole treasure trove of business logic and UI detail just under the surface.

Livewire Powered

Podcaster's frontend uses Livewire to eliminate full page reloads, allowing the podcast player to persist across page changes without having to build and maintain the site as a SPA (single page application).

The Player

The player is powered by Plyr and Alpine.js.

An Alpine Store is used to configure the player, persist which episode is playing, and show details about it. This store is used by the main player and button components:

  • resources/views/partials/player.antlers.html
  • resources/views/partials/play-buton.antlers.html

Configurable Colors

Your primary and secondary colors are used to generate a color pallet that files the vertical wave graphic that makes your site look awesome. We recommend using a bold color for the primary, and a darker, more desaturated one for secondary, but feel free to experiment. If it looks good, use it.

The primary color is also used as an accent color in the player.

The RSS Feed

A podcast's RSS feed is the only way the world interacts with your podcast when off your site. Advanced features implemented in the feed include:

  • Funding Links
  • Locking
  • Completion
  • Mark as Explicit
  • Spoken Language
  • Google/iTunes Blocking

Your feed URL is set to example.com/feed.xml and is configurable in routes/web.php. You can access the feed URL with the following methods:

route('feed')
{{ route:feed }}

PubSubHubbub

Podcast feeds usually rely on podcast directories crawling their RSS feeds periodically looking for updates. Google's PubHubHubbub helps your podcast update faster by broadcasting updates & new episodes.

Enable PubSubHubbub in config/podcaster.php or with the following ENV variable.

PODCASTER_PUBSUBHUBBUB_ENABLED=true

Additional Frontend Build Details

  • Built with TailwindCSS
  • Dynamic favicon based on your podcast artwork
  • Podcast platform links and badges
  • Configurable social media links and icons
  • Full static site support
  • SEO Pro support with basic meta and Open Graph fallbacks.
  • Mobile/Responsive friendly

Custom Functionality

Just a few extra things built on the PHP/Laravel site to make the experience better.

  • AddSlashes Modifier
  • PubSubHubbub Event Listener
  • Getting Started Dashboard Widget

Customize the Frontend

If you want to customize the frontend (it's a starter kit after all), all you need to do while working on the site is run npm run dev for Vite to watch changes and recompile your Tailwind-driven CSS or JS.

In production, use npm run build in your deploy script instead for Production-ready compiled resources.

starter-kit-podcaster's People

Contributors

edalzell avatar itsjustpw avatar jackmcdade avatar jasonvarga avatar jesseleite avatar robdekort avatar szepeviktor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

starter-kit-podcaster's Issues

Minor issues after upgrading Statamic 4.x

I've upgraded my Podcaster site, in a local dev environment, to Statamic 4.18.0, got Laravel up to v10.x, and PHP to v8.2.x. I have not updated the live/production site. The styling of the CP in my upgraded/updated local site is a bit off—the old/live site's control panel is obviously receiving some styles that are no longer present in my local site.

A bit of exploration revealed that the old site is using cp.scss—a file that's definitely absent from my updated local site. Is there an upgrade path for this starter kit that I need to follow? Is there some aspect of Forma that I'm overlooking?

Invalid XML feed. Unsure how to fix.

Discussed in #2

Originally posted by ItsJustPW October 27, 2021
Not sure if the xml is displaying correctly. It's failing Spotify podcast due to email. When I look at the XML I see this:

<itunes:owner> <itunes:name>XLVets</itunes:name> <itunes:email/> </itunes:owner>

I'm unsure if it's a bug and how to fix it. Any help would be great. Full URL to XML here.

Cannot Install due to owen-oj/laravel-getid3 dependency

I used
statamic new mysite statamic/starter-kit-podcaster

Everything was successful until the following.

@php artisan key:generate --ansi
Application key set successfully.
Validating starter kit license...
Starter kit license valid!
Collections cleared successfully.
Navigations cleared successfully.
Trees cleared successfully.
Taxonomies cleared successfully.
Assets cleared successfully.
Globals cleared successfully.
Forms cleared successfully.
Users cleared successfully.
User groups cleared successfully.
User roles cleared successfully.
Blueprints cleared successfully.
Fieldsets cleared successfully.
Views cleared successfully.
Statamic configs reset successfully.
Preparing starter kit [statamic/starter-kit-podcaster]...
Cleaning up temporary files...
./composer.json has been updated
Running composer update owen-oj/laravel-getid3 --with-dependencies
Loading composer repositories with package information
Dependency laravel/framework is also a root requirement. Package has not been listed as an update argument, so keeping locked at old version. Use --with-all-dependencies (-W) to include root dependencies.
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Root composer.json requires owen-oj/laravel-getid3 ^1.3 -> satisfiable by owen-oj/laravel-getid3[v1.3].
- owen-oj/laravel-getid3 v1.3 requires illuminate/support ^5.0|^6.0|^7.0|^8.0 -> found illuminate/support[v5.0.0, ..., 5.8.x-dev, v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev] but these were not loaded, likely because it conflicts with another require.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.
Cannot install due to error with [owen-oj/laravel-getid3] dependency.

In NewCommand.php line 476:

There was a problem installing Statamic with the chosen starter kit!

new [--dev] [--license [LICENSE]] [--local] [--with-config] [--without-dependencies] [--v2] [-f|--force] [--] []

Can't use the latest version of Alpine because the Turbo bridge breaks

Hi

Me again – back like a bad smell all the way across the Atlantic!

I ran npm production on the server (and I've tried this locally too) and mix breaks the site.js output which borks the player so it stops working – I guess coz the code is already minified. I've commented js out of the webpack file for now as I don't really need it. Just thought I would log it 'ere.

Kind regards

Jon

Uncaught RangeError: Maximum call stack size exceeded
    at t (site.js?id=1a2694795b8318a7f846:25)
    at site.js?id=1a2694795b8318a7f846:25
    at Array.forEach (<anonymous>)
    at t (site.js?id=1a2694795b8318a7f846:25)
    at site.js?id=1a2694795b8318a7f846:25
    at Array.forEach (<anonymous>)
    at t (site.js?id=1a2694795b8318a7f846:25)
    at site.js?id=1a2694795b8318a7f846:25
    at Array.forEach (<anonymous>)
    at t (site.js?id=1a2694795b8318a7f846:25)

ERROR:Target class [App\Listeners\PubSubHubBub] does not exist

Hi

I've just pushed a podcast site to production and am getting the following error. Any ideas on how to clear/fix it? Local server works fine. Production server is on Forge and PODCASTER_PUBSUBHUBBUB_ENABLED=true is set in ENV.

Saving a collection results in a server error modal and the server log gives this error:

production.ERROR:Target class [App\Listeners\PubSubHubBub] does not exist.

All files are on the server and composer is happy.

Disabling the ENV variable does nothing 'n all. Same error.

Help me Obi Wan etc etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.