Create Content Page
thetrevoradams opened this issue · 9 comments
- Page would pull in content from various platforms you have courses/material
- Content would be grouped/categorized
- Content could be searched/filtered/sorted
Ideally, the content pulled in would be able to have a preview/snippet to make a more visually appealing display
Possible Resources:
Awesome @trevoradams42! For those watching, Trevor offered to do this himself over lunch today :)
Here are a bunch of places where you can find my content:
- https://kentcdodds.com/blog (all the source for this is in https://github.com/kentcdodds/kentcdodds.com/blob/master/content/blog
- https://kentcdodds.com/talks (data source: https://github.com/kentcdodds/kentcdodds.com/blob/master/src/data/talks.js)
- https://kentcdodds.com/workshops (data source: https://github.com/kentcdodds/kentcdodds.com/blob/master/src/data/workshops.js)
- https://kentcdodds.com/appearances
- https://testingjavascript.com
- https://kcd.im/youtube
- https://kcd.im/ama
- https://kcd.im/3-mins
- https://javascriptair.com
- https://kcd.im/fem
- https://kcd.im/egghead
- https://github.com/topics/kcd-edu
I think that's everything that I have.
For some of these we can probably use them as data sources (like youtube), but for others we'll probably have to make our own JSON files or something to represent the data (like with Frontend Masters).
Also, it'd be cool to highlight the content that's been featured in newsletters as well. I made this about a year ago: https://gist.github.com/kentcdodds/77159995778796a296bf0f30583c431b I know that more of my content has been featured in newsletters since then so we'd need to look around for more of that and then keep the list updated somehow.
I’ve been able to test out the Gatsby source YouTube
and it works great. Just need to add your channelId
and apiKey
to Gatsby-config. It allows you to use your own local (optimized) thumbnails or use the ones already available from YouTube.
For the GitHub based material, there is a Gatsby Source Github
that seems promising.
For the resources that don’t provide an API, do you imagine the content would change very often that would necessitate web scraping? Otherwise, yeah a JSON file to manage the meta data would be fine.
That sounds great to me. I think that regular JSON files should be fine. At least to start with 👍
I wonder if it would be best to make an entirely new project on GitHub using Netlify Functions that's basically just a graphql endpoint that combines all the data into the single endpoint. That would give you the flexibility to build and test it yourself and it would also expose all the data in a way that's easy to consume for anyone (my site included).
yeah!
Finally have a working version: https://content-api.netlify.com/
I'm working on the schema still - I'll report back when the structure is more finalized
Very cool Trevor! Thanks for the update :)
Hey @tetondev please invite me to collaborate! I volunteer to help.
Awesome @trevoradams42! For those watching, Trevor offered to do this himself over lunch today :)
Here are a bunch of places where you can find my content:
- https://kentcdodds.com/blog (all the source for this is in https://github.com/kentcdodds/kentcdodds.com/blob/master/content/blog
- https://kentcdodds.com/talks (data source: https://github.com/kentcdodds/kentcdodds.com/blob/master/src/data/talks.js)
- https://kentcdodds.com/workshops (data source: https://github.com/kentcdodds/kentcdodds.com/blob/master/src/data/workshops.js)
- https://kentcdodds.com/appearances
- https://testingjavascript.com
- https://kcd.im/youtube
- https://kcd.im/ama
- https://kcd.im/3-mins
- https://javascriptair.com
- https://kcd.im/fem
- https://kcd.im/egghead
- https://github.com/topics/kcd-edu
I think that's everything that I have.
For some of these we can probably use them as data sources (like youtube), but for others we'll probably have to make our own JSON files or something to represent the data (like with Frontend Masters).
Also, it'd be cool to highlight the content that's been featured in newsletters as well. I made this about a year ago: https://gist.github.com/kentcdodds/77159995778796a296bf0f30583c431b I know that more of my content has been featured in newsletters since then so we'd need to look around for more of that and then keep the list updated somehow.
This could still be done in Remix, I assume in just a different way?
Yes, we could definitely do this with remix. The bulk of the work is the same regardless of the framework used.