mirror of
https://github.com/gmemstr/pogo.git
synced 2024-09-20 01:31:09 +01:00
2.2 KiB
2.2 KiB
Pogo
Podcast RSS feed generator and CMS in Go.
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
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 runningmake
, compiles go code to executablewindows
- creates named compiled .exe (pogoapp.exe)linux
- creates named compiled binary (pogoapp)install
- installs go dependenciesdocker
- build docker image for running elsewhereand 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).