Git Product home page Git Product logo

eleventy-podcast's People

Contributors

eaton avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

eleventy-podcast's Issues

Switch to NPM import/build for NetlifyCMS

We want to add some extra CMS widgets, so we need to do some fancy things and build it ourselves. The NetlifyCMS site has instructions but our stripped-down site skeleton doesn't have any JS/SASS tooling yet.

Once we get that in place, we'll probably just need to change the /admin.index.html file to point to our custom built version of the file.

Potential NetlifyCMS Widgets

Some of the data types we'll be using for managing Podcast data are trashy to edit using the builtin widgets. Options for improving the creation/editing experience include:

Investigate non-Netlify hosting

Right now the project is structured with the assumption that hosting will happen on Netlify. Things that would probably need to change include:

  • netlify.toml equivalent settings for other services
  • File storage integration with AWS? This would be a huge lift, maybe not justified.
  • Branch defaults and build.js updates to capture non-Netlify context settings

Landing/Index page

No gameplan for the landing page yet, but it should be structured such that it offers some documentation about the eleventy-podcast project, while allowing a user to update the content and produce an acceptable podcast home page.

Review some other standalone podcast sites to see how they handle "Home Page" versus "Episode List Page."

We may want a custom home page template with frontmatter switches to control how the page is built.

External audio hosting

Out of box we're using the vanilla "media library" configuration for NetlifyCMS that stores everything (images, mp3s, etc) in an uploads folder in the git repo itself. It works for the demo site and is probably even fine for some simple podcasts but it'd be great to handle things better for more complex ones.

Issues to consider:

  • NetlifyCMS integration — add a media provider or just turn off library management and let them enter the mp3 filepath as a string?
  • Filesize/Duration detection — we're using an eleventy plugin that checks local files, moving to external hosting would require fancier treatment or manual entry of size/duration in the episode frontmatter. We have properties for that but it feels like better handling would be nice.
  • URL Generation — it'd be nice if the remote/local question was abstracted away by the time "what's the URL for this podcast episode" is asked at the template level. Maybe a helper filter or shortcode that wraps all of the if/then checking.

Episode page and episode list templates

Anticipating three episode-related templates:

  • Dedicated page for a single episode. Include full show notes, etc.
  • Featured Episode template for episode lists
  • Normal Episode template for episode lists

On the general episode listing page, the most recent episode would use the Featured template while all others would use the Normal template.

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.