I find watching technical videos a good way to learn. I wanted a way to have one place where I could manage all these videos, and a place to keep notes on what I've watched. I also wanted an excuse to play a bit with Elixir & Phoenix & Vuejs ;)
Caster has built-in support for Vimcasts and custom youtube/vimeo files (using youtube-dl). Videos are downloaded locally, and then viewed using vlc. There's a simple modal for taking notes on what you're learning.
- You need to have Elixir installed.
- You need to have youtube-dl installed
- You need to have a node environment setup.
- You need to have a database (I use postgres)
- You need to have vlc available on your path.
- Probably some other things ;) (send a PR to update the docs)
- Clone this repo somewhere.
$ mix deps.get
$ npm install
- Before moving on, configure your database in
config/dev.exs
and run:$ mix ecto.create
$ mix ecto.migrate
- Run
mix phoenix.server
You can configure a few things at the moment, PR's definitely welcome for any RSS feeds out there. In your config/dev.secret.exs there are a few settings you can do. Here's a sample
config :caster,
notes_export_file: "~/somedir/notes_file.md",
video_export_directory: "~/Desktop/interesting_videos"
config :caster, Caster.Sources,
local_folders: [
%{source: :some_other_casts,
directory: "/path-to-caster/caster/priv/downloads/foobar",
removeable: false,
order: [desc: :title],
title: "FooBar",
wildcard_match: "**/*.mov"}
]
- notes_export_file is a file which any notes you make will be concatenated into.
- video_export_directory is a directory where videos (marked interesting) can be copied to. Why would you bother? Well, it was handy for me to mark a few videos as interesting and then copy them off onto a phone / tablet / whatever to have handy.
local_folders
just contain an array of structs that you can use to point to folders which contain videos you have already downloaded from somewhere.
- Adding different feeds (e.g. Ruby Tapas)
- Ability to archive casts.
- Other cool stuff ;)