Audio feed generator and CMS
Find a file
Gabriel Simmer 5fbb1e3b4c Merge pull request #3 from gmemstr/add-code-of-conduct-1
Create CODE_OF_CONDUCT.md
2017-10-01 17:39:51 -07:00
assets Simple test for configreader and small tweaks 2017-09-29 11:29:36 -07:00
Godeps Reorganizing file directory structure to match other Golang projects 2017-09-25 11:22:30 -07:00
vendor Reorganizing file directory structure to match other Golang projects 2017-09-25 11:22:30 -07:00
.dockerignore Reorganizing file directory structure to match other Golang projects 2017-09-25 11:22:30 -07:00
.gitignore Change of name! + better skeleton custom.css 2017-09-11 11:36:40 -07:00
.travis.yml Testing new .travis.yml based on feeds configuration 2017-09-29 11:35:10 -07:00
admin.go Simple test for configreader and small tweaks 2017-09-29 11:29:36 -07:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-10-01 17:39:39 -07:00
configreader.go Simple test for configreader and small tweaks 2017-09-29 11:29:36 -07:00
configreader_test.go Simple test for configreader and small tweaks 2017-09-29 11:29:36 -07:00
Dockerfile Simple test for configreader and small tweaks 2017-09-29 11:29:36 -07:00
generate_rss.go Simple test for configreader and small tweaks 2017-09-29 11:29:36 -07:00
LICENSE Initial commit 2017-06-13 22:55:41 -07:00
Makefile Update Makefile with variable for source files 2017-09-25 16:13:41 -07:00
README.md Remove spf13/viper dependecy, replaced with own config reader 2017-09-25 08:58:05 -07:00
setup.go Reorganizing file directory structure to match other Golang projects 2017-09-25 11:22:30 -07:00
webserver.go Simple test for configreader and small tweaks 2017-09-29 11:29:36 -07:00

Pogo

Podcast RSS feed generator and CMS in Go.

Build Status 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/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/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).