Audio feed generator and CMS
Find a file
2017-09-24 12:04:30 -07:00
assets Added JSON encoding to setup 2017-09-22 08:50:03 -07:00
src Introduced "test bug" to test CI 2017-09-24 12:04:30 -07:00
.dockerignore Moved assets folder for dockerfile 2017-07-25 10:16:47 -07:00
.gitignore Change of name! + better skeleton custom.css 2017-09-11 11:36:40 -07:00
.travis.yml cd .. then make 2017-09-24 12:00:59 -07:00
config.json Add notifications to admin panel 2017-09-19 12:28:59 -07:00
Dockerfile Change of name! + better skeleton custom.css 2017-09-11 11:36:40 -07:00
LICENSE Initial commit 2017-06-13 22:55:41 -07:00
Makefile Beginning work on setup route & page 2017-09-21 15:10:16 -07:00
README.md Change of name! + better skeleton custom.css 2017-09-11 11:36:40 -07:00

Pogo

Podcast RSS feed generator and CMS in Go.

gitgalaxy shield follow

Goal

To produce a product that is easy to deploy and easier to use when hosting a podcast from ones own servers.

Features

  • Auto-generate rss feed
  • Basic frontend for listening to episodes
  • Flat-file directory structure
  • Human readable files
  • Self publishing interface w/ password protection
  • Custom CSS and themeing capabilities
  • JSON feed generation for easier parsing
  • Docker support

Requirements

github.com/gmemstr/feeds this branch contains some fixes for "podcast specific" tags

github.com/fsnotify/fsnotify

github.com/spf13/viper

github.com/gorilla/mux

Building

make install
make
./webserver

Makefile

There are several commands in the Makefile, for various reasons (commands are preceded by the make command).

  • all - also works by just running make, compiles go code to executable
  • windows - creates named compiled .exe (pogoapp.exe)
  • linux - creates named compiled binary (pogoapp)
  • install - installs go dependencies
  • docker - build docker image for running elsewhere
  • and run - build and run the executable (remove .exe in file for *nix)

non-make

go get github.com/gmemstr/feeds
go get github.com/fsnotify/fsnotify
go get github.com/spf13/viper
go get github.com/gorilla/mux
go build webserver.go generate_rss.go admin.go
./webserver

File format

Pogo uses a flat file structure for managing podcast episodes. as such, files have a special naming convention.

For podcast audio files, filenames take the form of YEAR-MONTH-DAY followed by the title. The two values are seperated by underscores (YYYY-MM-DD_TITLE.mp3).

Shownote fils are markdown formatted and simply append _SHOWNOTES.md to the existing filename (sans .mp3 of course).