Popularity
1.7
Growing
Activity
3.5
Declining
14
2
2
Programming language: Go
License: MIT License
Latest version: v0.1.0
podcasts alternatives and similar packages
Based on the "Utilities" category.
Alternatively, view podcasts alternatives based on common mentions on social networks and blogs.
-
hub
wrap git commands with additional functionality to interact with github from the terminal. -
excelize
Golang library for reading and writing Microsoft Excel (XLSX) files. -
xlsx
Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. -
godropbox
Common libraries for writing Go services/applications from Dropbox. -
godotenv
A Go port of Ruby's dotenv library (Loads environment variables from .env.) -
hystrix-go
Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. -
goreporter
A Golang tool that does static analysis, unit testing, code review and generate code quality report. -
go-funk
A modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...) -
gojson
Automatically generate Go (golang) struct definitions from example JSON. -
mc
Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. -
grequests
An elegant and simple net/http wrapper that follows Python's requests library -
mergo
A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. -
filetype
Small package to infer the file type checking the magic numbers signature. -
boilr
A blazingly fast CLI tool for creating projects from boilerplate templates. -
go-underscore
A useful collection of helpfully functional Go collection utilities. -
beaver
Beaver is a real-time messaging server. With beaver you can easily build scalable in-app notifications, realtime graphs, multiplayer games, chat applications, geotracking and more in web applications and mobile apps. -
JobRunner
Smart and featureful cron job scheduler with job queuing and live monitoring built in. -
git-time-metric
Simple, seamless, lightweight time tracking for Git -
csvtk
Another cross-platform, efficient, practical and pretty CSV/TSV toolkit -
httpcontrol
Package httpcontrol allows for HTTP transport level control around timeouts and retries.
Scout APM - Leading-edge performance monitoring starting at $39/month
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Sponsored
scoutapm.com
Do you think we are missing an alternative of podcasts or a related project?
README
podcasts
Podcast generator written in Go.
Install
go get github.com/jbub/podcasts
Docs
https://godoc.org/github.com/jbub/podcasts
Example usage
package main
import (
"log"
"os"
"time"
"github.com/jbub/podcasts"
)
func main() {
// initialize the podcast
p := &podcasts.Podcast{
Title: "My podcast",
Description: "This is my very simple podcast.",
Language: "EN",
Link: "http://www.example-podcast.com/my-podcast",
Copyright: "2015 My podcast copyright",
}
// add first podcast item
p.AddItem(&podcasts.Item{
Title: "Episode 1",
GUID: "http://www.example-podcast.com/my-podcast/1/episode-one",
PubDate: podcasts.NewPubDate(time.Now()),
Duration: podcasts.NewDuration(time.Second * 230),
Enclosure: &podcasts.Enclosure{
URL: "http://www.example-podcast.com/my-podcast/1/episode.mp3",
Length: "12312",
Type: "MP3",
},
})
// add second podcast item
p.AddItem(&podcasts.Item{
Title: "Episode 2",
GUID: "http://www.example-podcast.com/my-podcast/2/episode-two",
PubDate: podcasts.NewPubDate(time.Now()),
Duration: podcasts.NewDuration(time.Second * 320),
Enclosure: &podcasts.Enclosure{
URL: "http://www.example-podcast.com/my-podcast/2/episode.mp3",
Length: "46732",
Type: "MP3",
},
})
// get podcast feed, you can pass options to customize it
feed, err := p.Feed(
podcasts.Author("Author Name"),
podcasts.Block,
podcasts.Explicit,
podcasts.Complete,
podcasts.NewFeedURL("http://www.example-podcast.com/new-feed-url"),
podcasts.Subtitle("This is my very simple podcast subtitle."),
podcasts.Summary("This is my very simple podcast summary."),
podcasts.Owner("Podcast Owner", "[email protected]"),
podcasts.Image("http://www.example-podcast.com/my-podcast.jpg"),
)
// handle error
if err != nil {
log.Fatal(err)
}
// finally write the xml to any io.Writer
feed.Write(os.Stdout)
}
Which gives us this XML output:
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
<channel>
<title>My podcast</title>
<link>http://www.example-podcast.com/my-podcast</link>
<copyright>2015 My podcast copyright</copyright>
<language>EN</language>
<description>This is my very simple podcast.</description>
<itunes:author>Author Name</itunes:author>
<itunes:block>yes</itunes:block>
<itunes:explicit>yes</itunes:explicit>
<itunes:complete>yes</itunes:complete>
<itunes:new-feed-url>http://www.example-podcast.com/new-feed-url</itunes:new-feed-url>
<itunes:subtitle>This is my very simple podcast subtitle.</itunes:subtitle>
<itunes:summary><![CDATA[This is my very simple podcast summary.]]></itunes:summary>
<itunes:owner>
<itunes:name>Podcast Owner</itunes:name>
<itunes:email>[email protected]</itunes:email>
</itunes:owner>
<itunes:image href="http://www.example-podcast.com/my-podcast.jpg"></itunes:image>
<item>
<title>Episode 1</title>
<guid>http://www.example-podcast.com/my-podcast/1/episode-one</guid>
<pubDate>Tue, 10 Nov 2009 23:00:00 +0000</pubDate>
<itunes:duration>3:50</itunes:duration>
<enclosure url="http://www.example-podcast.com/my-podcast/1/episode.mp3" length="12312" type="MP3"></enclosure>
</item>
<item>
<title>Episode 2</title>
<guid>http://www.example-podcast.com/my-podcast/2/episode-two</guid>
<pubDate>Tue, 10 Nov 2009 23:00:00 +0000</pubDate>
<itunes:duration>5:20</itunes:duration>
<enclosure url="http://www.example-podcast.com/my-podcast/2/episode.mp3" length="46732" type="MP3"></enclosure>
</item>
</channel>
</rss>