Skip to content

Latest commit

 

History

History
85 lines (61 loc) · 1.82 KB

README.md

File metadata and controls

85 lines (61 loc) · 1.82 KB

Chapters

Build Status

Online Documentation. Github Changelog

Podcast chapter parser and formatter.

Supports:

Changelog

Basic Usage

Decode from mp4chaps

iex(1)> chapters = Chapters.decode(~S"""
...(1)> 00:00:00 Intro
...(1)> 00:01:59 Podlove <http://podlove.org/>
...(1)> """, :mp4chaps)
[
  %Chapters.Chapter{href: nil, image: nil, start: 0, title: "Intro"},
  %Chapters.Chapter{
    href: "http://podlove.org/",
    image: nil,
    start: 119000,
    title: "Podlove"
  }
]

Encode to PSC

iex> Chapters.encode(chapters, :psc) |> IO.puts                 
<?xml version="1.0" encoding="UTF-8"?>
<psc:chapters version="1.2" xmlns:psc="http://podlove.org/simple-chapters">
  <psc:chapter start="00:00:00.000" title="Intro"/>
  <psc:chapter start="00:01:59.000" title="Podlove" href="http://podlove.org/"/>
</psc:chapters>

Encode to mp4chaps

iex> Chapters.encode(chapters, :mp4chaps) |> IO.puts
00:00:00.000 Intro
00:01:59.000 Podlove <http://podlove.org/>

Encode to JSON

iex> Chapters.encode(chapters, :json) |> IO.puts                
[{"start":"00:00:00.000","title":"Intro"},{"start":"00:01:59.000","title":"Podlove","href":"http://podlove.org/"}]

Installation

The package can be installed by adding chapters to your list of dependencies in mix.exs:

def deps do
  [
    {:chapters, "~> 1.0"}
  ]
end

License

Chapters is MIT Licensed.